As a software developer, I can give some reasons as filtering directly on the search bar can be ineffective on some situations.
Computational effort: When searching through many products at a time, the search may be slow (if not optimized). This means that the server processing the search data needs to apply the filter to every single product that matches the user's search. For example, when dealing with 500 items at a time, a server may become overloaded, resulting in an ineffective response. To address this issue, several websites set a limit to the number of products you can see on a page at a time. However, this limitation can negatively impact the user experience when the server gets overloaded. In such cases, the server becomes less efficient, and data is delivered slowly to the client, causing wait times of around 4-5 seconds, while the normal processing time is usually near or under 1 second.
Use of AI and auto-learning algorithms Some sites, just like Amazon, use AI on their search filters and results, the reason of this is to improve the UX, that AI algorithms are trained to understand deep-learning, specific cases and day-to-day cases, normally, they give fast response, just like 0.08 seconds or less, that sounds good for a search, however these response seconds are applied for every single product, as you can see, this topic is related with the previous point too, when the algorithm needs to process massive data, the server and response time may be ineffective, that can damage the UX too. Applying both, topics, in a live search (that changes when the user writes), it is ineffective, because the AI will need to process every single result, and then apply the filter that the user wanted, that means that if 500 products at time needs to be processed, the response time will be long.
Costless server In your example, Amazon have its own server provided called Amazon Web Services that is a fully-managed cloud platform. In cloud computing, there is a term called “horizontal” and “vertical” scaling, both have different features.
- Vertical Scaling This means that the computational hardware will be increased, based in the clients demand, in fact, when the server needs to be scaled to process correctly the demand (clients making requests to the server), system resources (such as RAM or SSD) will be added automatically.
- Horizontal Scaling By the other side, the horizontal scaling means that the computer will be replicated. In fact, that a copy of the same server will be added automatically when the demand increases, and copies will be deleted when the demand decreases. This allows balancing the demand between multiple servers that ensure scalability and uptime.
Even with this scaling features, the cost of the server will be high. To save resources and money, some websites just run the AI and make the filters in a separate section, that means that system will not have to carry live changes and the resources used will be costless.
In fact, on your Mac, the live search is running locally, that means that your own computer carry the charge, and the request for will not be sent to any server on the internet. That explains how the load time is instantly, because your own computer process the information with your available resources and will give a fast response.
Now, you can absolutely add this, however, when the demand increases, the server will need to he optimized. UX is an important part of program designs. That is why some sites just don’t add the request you mean.
As alternative ideas, I can give you some of these:
- Don’t use advanced and high-cost algorithms. If you’re just a startup, searching just by matches like “dress” can be a effective. Deep-learning algorithms require several research and training time. Just use a 🔎 Search bar, and group items by categories, so that users can search what they really want to search.