Good day!
Today, our conversation will focus on designing user interfaces and will concern the design of search for both websites (in particular search engines) and software products.
Since the design of interfaces is designed to solve problems, then we will start with their formulation:
Simplify the search engineDannost')
Search form in our usual form:

It is a familiar form, consisting of a search line and a search button. You can find millions of design decisions on the design, but the usual elements will always be present in one form or another.
For all, this form of search has become familiar and understandable, and the scenario has been worked out over the years:
They entered the query - clicked the button - got the result.
This script and search engine is used everywhere. We will call it traditional.
Problems of traditional search.It would seem that the 10th anniversary of the development of search technologies on the Internet, even more in various software products - should have brought such an important part of the interfaces to perfection. But unfortunately not.
1. The main problem of traditional search is the lack of instant feedback. Let us clarify: by entering a request, we spend the n-th amount of time, and we are not exactly sure of getting the necessary result. And if during the request we made a spelling error, we need to wait until the search process is completed and only then introduce a correction.
2. Another problem, no matter how ridiculous or stupid it may seem, is waiting for a search. When we entered a query, it takes 1-2 seconds to get the result (in modern search algorithms, what can we say about outdated ones).
Alternative. Step by step search.Back in 1993, for the first time, EMACS used a different approach to the search engine — a step-by-step search. The essence of this mechanism is as follows:
By entering the first letter of the search query (thereby creating a search pattern), the search algorithm begins to search for everything related to this pattern. This is the first step. By entering the next letter, the algorithm searches for a new pattern, forming the second step, and so on ...
This search engine solves all the problems of the traditional:
1. We receive instant feedback: Entering a request, we, already at the input stage, can see if there is a result on our request or not. If we make a mistake, then using the Backspace button, we stop the algorithm, returning it to the previous step (the result of which has already been formed earlier), and we can enter the corrected value immediately.
2. The search algorithm starts working instantly as soon as we enter the first letter, which reduces the time spent waiting for the search result.
3. Allows you to remove the search button from the mechanism, reducing the search script to the required minimum: They entered the query and got the result.
I am sure that this search mechanism will soon prevail over the traditional one. There are prerequisites, the main one being the introduction of this mechanism in Google search engine.
If everything is so good, then why can't we come to it?In addition to the technologically complex implementation, there will have to overcome the main enemy - the
habit is a useful experience of interaction. (More about him in the next article)
In short: We are used to the fact that if we see a field for input, and next to the search button, then this is a search form. For us, it has become so familiar that when only an input field appears in front of us, this will cause us discomfort. The solution can be to enter hints:
For example:
start typing to search
But we understand that these are crutches.
The guys from Google came up with a very cool solution: they left the search button, thereby killing two birds with one stone (they introduced a new search mechanism, they did not change the usual idea). I’m sure that over time Google (for some reason I believe that this company will become mainstream and set a new fashion) will refuse the search button. This day can be called a victory of step by step search over the traditional one.