Intuitive to have a simple interface. OOO Technical Documentation

Publication date: 05/12/2008

People use many different devices and systems to do their jobs. Since the advent of computers, most of our time has been spent interacting with program interfaces. And once I coined the term "intuitive interface"...

But what is meant by the word "intuitive"? Most interfaces are built on metaphors, i.e. on the use of already familiar objects and techniques. It is for this reason that icons are drawn to look like real objects. But metaphors are far from always and far from all concepts can be used. Let's say a magnifying glass image can mean both a search function and a print preview function. And, in the case when there is no suitable metaphor or it is ambiguous, one has to either use crutches in the form of tooltips, or come up with new images that are absent in the real world.

As soon as something new and unfamiliar appears, then all intuitiveness disappears - it is required education and then there is such a thing as learning curve directly related to the quality of the interface. The more complex the interface, the longer it takes to master it and the fewer people will get to the finish line, which means that many will be doomed to use the program inefficiently.

But how should the interface be complex or simple? The answer is not so simple and depends on the complexity of the problem being solved. The interface, first of all, should be adequate to the task being solved! Problems arise when we either over-complicate a task or over-simplify it. Complication is usually much more common.

No matter how smart you are, but if you do not have knowledge in a certain area, say in organic chemistry, then the program for drawing chemical formulas is unlikely to seem intuitive to you. And here we come to a very important consequence - the interface should help to use knowledge, but not replace it.

Any program is designed to solve a specific problem and assumes that the user has certain skills. On this basis, professional and ordinary programs can be distinguished. The interface of the former is usually quite complicated and requires special preliminary training. These programs include: Adobe PhotoShop, Autodesk AutoCAD, various programming languages ​​and environments. The tasks they solve are complex and therefore the interface of such programs is also complex, but once mastered, it begins to bring professionals their dividends by accelerating work.

On the other hand, there is a much larger class of general purpose programs that does not impose any special requirements on the user. Such programs most often use the phrase "intuitive interface" in their description. But in fact, everything is much worse here and much less time is spent on a convenient interface than in professional programs. The expression "there is no special requirement for the user" should be taken as the fact that each software manufacturer interprets the basic user skills in its own way.

Very often there is a substitution of the concept of convenience of the interface, the fact of using buttons, drop-down lists, checkboxes and other elements of the graphical interface of the operating system. Any program is designed to perform a very specific task, therefore, before designing an interface, this task must be defined and understood. But after all, the same task is solved by different people in completely different ways - depending on their level of knowledge.

Let's say it's possible to make an almost perfect MP3 encoding using the many different technical settings provided in the codec, but in 95% of the cases users need to just encode this audio cd in normal quality. And all they need for this is just a program with one big "Create MP3" button. But does this mean that such a program is not suitable for professional use? Not at all, it's just that the interface should be designed to hide unnecessary complexity. If we take the above example with encoding to MP3, then the solution to this problem is remarkably implemented using profile mechanism, which includes the optimal settings for a particular encoding quality. And to make this program more professional, it is enough to provide a mechanism for editing these profiles.

The problem of creating an interface by programmers is that they are guided primarily by their level of knowledge and skills. But after all, a programmer is far from being an average user of the program and the level of his knowledge is an order of magnitude higher. Moreover, some actions that seem trivial to him are not at all trivial for everyone else. For this reason, when developing programs, it is necessary to involve "ordinary users" in their testing and carefully watch how and what they do. To solve the problem of creating a user-friendly interface, large corporations allocate many millions of dollars, and any really successful solution found is then quickly copied by everyone.

December 26, 2016 at 10:23 pm

Intuitive Programming

  • Debugging ,
  • programming,
  • Perfect code

During my relatively short work experience (about 6 years), I quite often heard the phrases of experienced and novice programmers - “I feel that this should work”, “I have a feeling that this method will not work”, “Let's make an intuitive clear interface" and so on. All this is a manifestation of intuition in the development and programming process.
It will be discussed further about her.

Taken from oprah.com

To begin with, I would like to define the very concept of "intuition".

Intuition (late Latin intuitio - “contemplation”, from the verb intueor - I look closely) - a method of solving problems through a one-time subconscious conclusion, based on imagination, empathy and prior experience, “feel”, insight.

"Wikipedia"


Intuition (from lat. intueri - to look closely, carefully) is a thought process consisting in almost instantaneous finding of a solution to a problem with insufficient awareness of logical connections.

Intuition (from Latin intueri - to look closely, carefully) is knowledge that arises without awareness of the ways and conditions for obtaining it, due to which the subject has it as a result of "direct discretion"

The basis of these definitions is that intuition is a certain way of making a decision. There may be several grounds for this method: it is previous experience, and imagination, and irrational "flair", etc.

And each of these ways is reflected in the programming process, and can have both a positive and a negative impact.

Therefore, first of all, I would like to divide "intuitive" programming into 2 components: - optimistic and pessimistic

Optimistic Intuitive Programming

Its essence lies in the optimistic or positive influence of intuition on the process of creating code. In this case, intuition is an assistant, a "good friend", a tool in the developer's hands.

Intuition based on experience

The main idea here is that in the process of accumulating development experience, we develop certain stereotypes, associations associated with the code, which we are able to determine without deepening into the thought process.

A large number of examples of the use of such intuition in work processes were described by Dmitry Chepel from Acronis in his . If you haven't read it yet, be sure to read it.

I would like to offer you another example-experiment. Below is an example code in Sidef language (I hope not many of you know it). Try not really delving into the details, guess what it is:

Loop ( var swapped = false ( |i| if (arr > arr[i]) ( arr = arr swapped = true ) ) * arr.end swapped || break ) return arr

Perhaps some of you guessed what it was about by seeing familiar parts in the code, maybe some not. I tried to conduct this experiment on a small group of my fellow programmers and the result is that more than half (about 65%) of people were able to understand what was at stake in a very short time.

I asked them how they could guess - and the most popular answer was:
“We saw familiar pieces of code and immediately assumed what it was.”

Thus, by accumulating experience, our brain is able to very quickly, without additional mental effort, make decisions regarding the code with which we work.

It is because of this that it seems to us that more experienced programmers have a certain “feel” about the project or any programming language.

Intuition based on logic

Try to continue the next row:
Surely you have not thought for a second what number will be next.
This is a simple example of a pattern that we can literally continue without thinking.

But what if we take the following piece of Python code as an example:

Def sum(a, b): ... def mult(a, b): ... def subtract(a, b): ... def divide(a, b): ... def calculate(a, b , strategy): ... calculate(4, 2, sum) #6 calculate(4, 2, mult) #8 calculate(4, 2, subtract) #2 calculate(4, 2, divide) #??
Even without seeing the source code, we “intuitively” feel what the result of executing the last function in the list will be.

This is due to the fact that we analyze the names of functions, compare them with the result obtained, and thus build some patterns, assumptions about the analyzed code. Thus, we connect our intuition, supported by logic, to read such code.

Here I would like to note that the code that corresponds to our assumptions, our intuition, we usually call "readable", "understandable" code. This is due to the fact that we use not only the resource of our brain, but also our intuition, thereby making it easier to read and understand the code.

Intuitive interface

And now I would like to move on to such a frequently used expression as “an intuitive interface”. This applies to both the software and the user interface.
Given the above points, we can say that an intuitive interface is an interface that meets the expectations of the user, whether it be a programmer or an end user.

These expectations are formed on the basis of 2 components - our previous experience and logical patterns and assumptions.

If all the pages of your website had the menu on top, but on the Feedback page the menu was on the left, then the end user might get a little confused because "his intuition" tells him that the menu should be on top.

But why is it that sometimes when we go to a website with an original design or a new mobile application, we get the feeling that this site looks cool or terrible?

Intuition as irrational

The basis of such a judgment is that often intuition is born as just a feeling of something, not supported by any conclusions, logic or experience.

This kind of intuition is the most dangerous in development, but at the same time it is a way to quickly solve complex problems.

This is exactly what is called "magic" in programming - we change the value of one variable or flag and miraculously our code starts working, although this decision was made absolutely instinctively. And just this kind of intuition is its true manifestation.

Pessimistic instinctive programming

But intuition can also be negative in development.

As mentioned above, "irrational" intuition is both a lifesaver and a dangerous tool in the hands of a programmer.

Based on such instinctive decisions, we lose confidence in the code we write, in which “magic” begins to happen.

Importantly, such decisions create some level of anxiety when making subsequent decisions. The predominance of feelings, sensations, irrationality in development leads to the impossibility of justifying everything with the help of logic, and as a result, complicating the understanding of the code, loss of readability.

As a conclusion

In general, the issue of intuition in software development is not raised for the first time.
This is due to the fact that the problem of the influence of processes that are not related to logic and thinking on the process of writing code will remain relevant, since this process is occupied by a person with feelings, prejudices, "irrational".

P.S. For those who are interested in the topic of intuition in software development, I advise you to read

phrase intuitively - clear interface , which is found in almost all current technical specifications, acts on technically literate people like a red rag on a bull. This is understandable: during O but, when GOSTs were mandatory for use, it was unrealistic to subtract such nonsense anywhere. And the reaction of these people is natural - and where, then, are the requirements for such an "intuitively understandable" in terms of his (user's) understanding and intuition ?! Let's solve the question of the intuitive once and for all Edition of 06/20/2018.

What is an intuitive interface?

Created on 08/08/2016 16:50:33

About the intuitive interface, which was talked about so much... no, not the Bolsheviks, but the usability, see The Terrible Truth About Usability. Part I, The Ugly Truth About Usability. Part II and The Terrible Truth About Usability. Ten years later. Here is one of the discussions that unfolded in the circle of these, so to speak, "specialists" who have everything up to their ears in usability

So let's go point by point. The first and second are fair: yes, it is clear how a comrade is consistently trying to comprehend the truth in its final instance. We skip the third point for now. Point four - totally agree! And the fifth too. But!

Now let's see what GOST 21480-76 says. . . General ergonomic requirements, we quote:

Under the habitual understand the connection between ideas that arise in a person on the basis of past experience. For example, a person is used to displaying any one, presenting its development from left to right. When laying out the mnemonic diagram, this familiar representation should be taken into account and the development should be displayed from left to right.

This is from Appendix 1 GOST 21480-76. We immediately look at the picture, namely at pp. 1, 2 and 5. Does everything match? With the utmost precision!

In this way, intuitively - clear interface - the lot of technically illiterate people, a literate public would call it habitually -associated You can, of course, try to object ... But isn't the interface a mnemonic and is not assembled from the same elements of the mnemonic, using the same and?

That's the whole problem. But one question remained: WHY in 2010 a discussion was required (paragraph 3) about what was clearly formulated already in 1976 year ?! And then, to ... see item 4 in the picture.

Conclusion: slang intuitively - clear interface according to all sorts of raskins and Normans, there is a completely legalized by the state habitually -associated interface . The war is over, thank you all!

PS. By the way, the pictogram with a knife and fork is nothing more than an element of a mnemonic diagram

P.P.S. Why is everyone so attracted to the scribbles of some kind of Ruskins, Normans and other rootless and outbred John Smiths, when there is, let's say, their own Mikhail Lomonosov? Low worship before the West? Or is this generation corrupted by the Americans and rotten at the root? (

Intuitive interface. Well, count how often do you hear / read this phrase? Or maybe you talk often? ;)

At the same time, I always ask myself various insidious questions: who understands? How understandable? And so on... I remember that we argued more than once, for example, with the Captain about websites in general (the last such case).

This is a hint. And here is the fairy tale. I have not written and do not plan to write paid posts: posts in which I have to speak positively about who will pay me. This is how I answer everyone who wants to buy a post. But sometimes - to my joy - I come across adequate people who are ready take a chance. I do not take money, but I promise to express what I think about the service / site / company. Honest risk? :))

I am glad that this time it was the Belarusian service that fell into my bait. And I decided not just to describe what I see, but to conduct such a micro-usability experiment.

I don't drive a car myself (and, oh gods, I don't intend to). But I have a great test subject: my mother is an experienced driver and an inexperienced Internet user :) I put my mother at my computer, opened the zavodi.by website and offered to find tires that are relevant for her now ...

So, after a brief instruction - what kind of site is this - my mother began to look for ...

The discoveries she made were revelations for me too.

For example, an inexperienced Internet user does not immediately understand how can i search:)) Especially since "quick search" () is actually not that small, right? And it differs from the extended () by quite a bit ... To be honest, a QUICK search personally, I (together with my mother :)) would have done less ...

The second opening of the evening: although my mother is an avid driver, she does not remember by heart all the parameters of the tires (yes, there is something to remember anyway ...) Therefore, the main hitch was remembering the correct parameters ... A small link " Interval"Even for me it seemed unobvious (although I'm not a motorist, but I live on the Web all the time ...)

By the way, a good solution to the problem in this predicament is ... well, a very high-speed search in a separate menu, when you can immediately choose what is most relevant (by price, by condition, by type, and so on) ().

Separately, I want to note the page on which the site owners report that there are no suitable tires in the database. An ordinary user at this moment is struck by what is larger and brighter, that is: the Nokian logo and text about them. And that's all... If I were the developers, I would pay attention to this small but important page, highlighting at least a little brighter the message itself and the instruction "What to do next?" ().

Having found suitable tires, my mother carefully (yes, this is also important for her) read the description and could well have already ordered ... If it weren’t just an experiment for now :) Here I will continue on my own behalf.

Separately, I want to note that the service is made in such a way that " tires are ordered through our manager! This is done in order to serve your request as quickly and efficiently as possible.» This approach saves us, the buyers, time and nerves (remember the frequent conflicts of such sites, for example, as Onliner, on the subject of “who is to blame”: the site or the sellers in each case).

What will be important for most Belarusians: the site is “light” and loads quite quickly and without difficulty (as you know: “While the Russians are watching YouTube, the Belarusians are reading Wikipedia.” So zavodi.by by weight quite corresponds to the Wiki level :))).

My verdict? zavodi.by took the risk not in vain (especially considering that they are not even a month old, as far as I understand). I mean that such services are useful in many areas. And how much easier my life will be now, when I don’t have to look for suitable tires for my mom all over the baynet :-D Of course, there is still a lot of work on the project, there is room to grow and develop, but the starting point, in my opinion, is not bad.

The simpler the site, the more users it has. Ease of use is determined by an intuitive understanding of user site interface.

The main thing about intuitive design is that it is invisible. The design is clear when users can focus on the task without stopping even for a second. This design directs people's attention to important tasks.

Imagine that you are in a car rental shop and they show you the car you are going to rent. You approach her and want to sit in the salon, you reach out your hand to open the door, but there is no door handle! How to get into the car?


This is an example of a non-intuitive design that confuses the user. He wanted to get into the car, but this process was hindered by an unfamiliar situation with no obvious solution to the problem.

The same goes for web design. As long as users can complete tasks without delay and thought, everything is in order. Intuitive design goes unnoticed, but non-intuitive design catches the eye.

Since the intuitive design is invisible, so people will not appreciate it, but they will immediately notice if it is missing. Non-intuitive design forces people to focus on elements that are not related to their tasks.

The Problem with Interface Design: Intuitive to Whom?

Why are there so many sites that annoy people? The point is to create an intuitive user-friendly website interface really difficult. What is clear to one person is not at all clear to another. A design can't be intuitive, it's up to the user to think it is, or vice versa.

I believe that most websites are designed with good intentions. They were expected to be intuitive, but usually for a designer! The average developer or designer doesn't spend time watching people use what they've created.


Creating an intuitive design starts with understanding your users. First you need to figure out what is intuitive for them. An important concept to understand is current knowledge and target knowledge.

Current knowledge and target knowledge

The difference between the two is called the "knowledge gap". Your task - develop website interface, which minimizes the gap between the knowledge a user already has when they land on your site and what they need to know to use it successfully.


The difficulty lies in the fact that you can have a variety of users. Some of them are technically advanced "geeks", and some are completely unfamiliar with the computer.

Concept Models

Just because users have visited a site for the first time, it does not mean that their current knowledge about it is zero. Chances are they've used a similar site or product before. Let's say you have never made online purchases, but in the real world you have made them a million times.

In such a situation, people will use the conceptual model of real-life shopping and try to take advantage of the experience. Their idea of ​​online shopping comes from a mental model of brick-and-mortar shopping, the most similar experience they have.


But suppose they've shopped online before, just not on Amazon. In this case, their conceptual model will be different, as will their idea of ​​shopping on the Amazon site.

If the majority of users have never used a site or online service similar to yours, then you need to rely on a conceptual model. You need to find out what is the closest experience they have to using your site.

If the site does not match the user's mental model, he will find the site difficult to use, not intuitive.

Study your users

To create website interface, which will be intuitive for users, you need to understand what their current and target knowledge is. What users already know and what they need to know.

There are two great ways to find out:

Observation. Reach out to your customers and observe how they use the site in a familiar environment. This will give you an idea of ​​their current knowledge.

Usability test "Standing over the shoulder". Ask people to use the site, complete a set of tasks, and comment on their thought process. This can also be done remotely. This will determine the target knowledge.

In both cases, you observe and record without interfering. You will quickly identify the main problems. 10 subjects usually give an idea of ​​90% of the difficulties.

When can a site be considered intuitive?

Design is intuitive when current knowledge matches target knowledge.

There are two conditions under which users say that website interface seems "intuitive" to them:

  1. Current knowledge is identical to the target. When a user sees a design, they know everything they need to work with it and complete their task.
  2. Current knowledge does not match the target, but the user does not realize that the design helps him to bridge this gap. The user learns naturally.

In other words, you either make the UI so simple that it does not require learning, or you add clear instructions, hints that are easy to notice.

The best example of the first condition is Google search. It cannot be misused.


A good example of the second condition is Wufoo . When you start creating your first mold, the instructions guide you and the learning process feels natural.


There are two options for intuitive design. You can reduce the requirements for target knowledge to match current knowledge by simplifying the design, or pull current knowledge to target through instructions.

Intuitive navigation and search

76% of users say that the most important thing for them in website design is "so that I can easily find what I want."

How do they find what they need? With navigation, of course. This is where the difficulty arises: if there is a lot of content on the site, how to structure it in a way that makes sense?

A great way to figure out which content which menu item should follow is card sorting. . This is a reliable and inexpensive method for finding patterns in how users perceive the content or functionality of a site. It will also help you choose the names of menu items when website interface design.

It's important to name the menu items correctly so that people know what's behind the link. Interestingly, 50% of all users abandon purchases because they cannot find what they are looking for. This is why search is extremely important. Your site should have a search engine that is easy to find. Amazon has a huge inventory of products and has made search a centerpiece of their site.

And don't forget to enable site tracking in Google Analytics. With it, you will find that users who use search have a higher conversion rate.

People are more comfortable using the sites they are used to

People spend most of their time on other sites. Therefore, they are used to the fact that the site looks a certain way (current knowledge). If you break this rule, then you yourself are asking for trouble.

Typical familiar elements:

  • Clicking on the logo located in the upper left corner should always return to the main page.
  • The last link in the horizontal menu or the bottom link in the vertical menu is contacts.
  • Contact information should be provided at the bottom of the site.
  • Be consistent: navigation and other important elements should stay in the same place on any page of the site.
  • Links stand out against the background of regular text.
  • If users can scroll down, the scrollbar should be clearly visible.
  • Left-aligned text is easier to read than right-aligned text.
  • Display pop-up help messages and notifications,
  • At designing web site interfaces use clear ones that users can understand.

There are exceptions to every rule, but innovations are difficult and risky. Make sure that the interface of the site meets the expectations of people.

Be careful with redesign

20% of users spend 80% of their income online. And it is these people that are affected by the design change. They're used to the way things work, and when you redesign a site, you're changing it for them in the first place.

People hate changes that make their current knowledge unusable. Intuitive design works when you don't force your users to adapt to change.

A major seller spent $100 million on a redesign that resulted in a 20% drop in sales. The law firm had to close. There are serious delays in the schedule of the doctor and the airline. Their websites/apps are no longer intuitive for most users.

You need to target your most important customers. The site interface should be the most intuitive for them. Don't try to please everyone.

Small changes to a site over time are often a better approach than major redesigns. This will allow you to quickly evaluate and understand whether they have brought positive or negative results. “Success for us will be if no one notices this on the day of the launch of the redesign”.

This rule works if you have a large audience. If your site has little traffic due to design, feel free to change it.