Fractals and GUI


    Considering the various existing ways to build user interfaces, I was suddenly struck by the thought that the wrong path might have been chosen in principle. Once again, people have chosen the “square” model for displaying information, as in almost all other areas of their activity. I do not call for a revolution in building user interfaces, but perhaps many people will find the idea of ​​fractals interesting.

    For millennia, people have created various man-made objects, operating with just a few simple geometric shapes and their combinations. The main objects were: a rectangle, a circle, a triangle, and their three-dimensional analogues - parallelepiped, ball, pyramid. Examples can be given endlessly. but the easiest way to look at the buildings that surround us. Starting from the elements from which we create buildings:


    And ending with the buildings themselves:


    Perhaps our civilization can be called “square”, or, if desired, “rectangular”. This happened over the thousands of years of development of society and will probably last, if not forever, then many more hundreds or thousands of years. But the basic forms chosen by man are far from ideal and nature operates with a completely different class of objects - fractals.


    A fractal is an infinitely self-similar geometric figure, each fragment of which is repeated when zoomed out.


    The fractal form is optimal for living objects and we can meet it everywhere. Man discovered this magnificence of forms quite recently. Since the publication of the work “Fractal Geometry of Nature” by Benoit Mandelbrot in 1977, only a few dozen years have passed. A moment in comparing the cultural eras of man. And it is not surprising that a person takes only small steps, trying to master the possibilities that fractal mathematics and new geometric forms give him.

    For example, the fractal device of the antenna allows it to receive a wide range of frequencies, and we actively use this fractality in cell phones.


    And now I want to timidly hint at the idea of ​​the possibility of using fractals in our communication with the computer. In the presentation of information and graphical interfaces. I am not ready to express a complete idea, but maybe I will prepare someone for this. :) The

    graphical interfaces of many applications are ugly, if you look at them strictly. They are uncomfortable, forcing the eyes to slide along the rows of buttons, looking for the desired element. They look awful when changing resolutions, font sizes. What do I say, not so much about errors in the programs that I described here , but about the fundamental difficulty of creating a program that can adequately display itself on various devices. This problem is growing with the popularity of various portable devices.- laptops, phones, digital cameras.

    So that one program can really look beautiful on different gadgets, its interface needs to be modified each time for a specific device. Somewhere to arrange in a different element, somewhere to remove non-basic buttons. And all this is connected with the newly chosen ideology of "squareness." After all, if you look closely, the interface of a typical program consists of square elements:


    And even if circles or ellipses are used, this has little effect on the essence. These are just decorations, and not at all a new approach to creating interfaces.

    And now let's move on to the essence of the issue and fractals. The main trouble with modern interfaces is their congestion and the complexity of finding the right elements. That is navigation. They are trying to deal with this in various ways. I will give a few examples.
    1. In the Start menu in Windows, the most frequently launched programs are displayed, and for launching more rare ones it is suggested to look at the “All Programs” tab.
    2. In the new Word 2007 interface, a number of elements allow you to perform both a standard action and, if desired, allow you to refine the command.


    This means that we have to artificially divide the elements according to the importance of their use. And the number of elements that should be displayed and hidden is determined by the font size and screen resolution. Working with a classic menu with several nested levels is even more terrible.

    One of the properties of a fractal is a clear allocation of large and small elements. And if in “square” interfaces we must artificially introduce the concept of large / small, visible / hidden elements, then in fractals this can happen by itself. Moreover, each part of the fractal is similar and therefore the interface will be uniform, regardless of the depth of immersion, for example, in menu items or settings.

    I find it difficult to draw a fractal interface, all the more beautiful. I will only try to schematically reflect my thought. Take the abstract phone interface. It has a top-level menu represented by icons. Clicking the icon opens a submenu and so on. With the fractal option, everything seems to be the same, but in it we can quickly navigate, knowing approximately the area in which the object of interest to us is located. That is, a fractal element denoting a deep-lying submenu or finite element may not be visible on the screen at all, or may be indicated by a set of colored dots. Knowing what we are looking for, we can quickly move to the area we need. Without knowing, we can move gradually.


    I am sure that something similar already exists, but is clearly not widespread. Large objects are signed or have large icons. Smaller ones can be displayed with small icons. Very small - just colored triangles. We can move deep into the fractal gradually by clicking, for example, the “games” section. And then we will be shown an enlarged part of the fractal:


    But what is wonderful, we can navigate much faster if we remember where the game we need is located. For example, we can immediately go from the main menu to the races by selecting the triangle of the desired color.

    Since I pictured it, it may not look very convenient, but I hope the idea is clear. And now an important advantage of such a selection interface. It scales easily for various resolutions! Just the smaller the screen, the less detailed we will see a fractal.

    I hope my thoughts seem interesting to someone and they will take them into service. If for typical applications, such an interface does not seem so useful, then for example for games running on various devices, it can be very interesting.

    Also popular now: