📜 ⬆️ ⬇️

How we beat the category tree

You probably encountered such an element of the interface. In places of sale, on discussion platforms, and almost everywhere this element is found. Even here, on the hub, the hubs are in the form of a tree.

No exception and freelance exchanges . Orders must somehow be grouped so that performers do not view a huge tape of orders for other specialties.


')
The mechanism is wonderful, if not for one “but”. For a user who encounters such a tree for the first time or turns to an unfamiliar part of this tree, it’s not just a tree, it’s a whole dark forest. The reason is simple - a tree can be built according to different principles, the placement of elements in this structure usually corresponds to some logic, but the user may not understand by what particular principle all this is arranged, and in order to understand it you need to look through this tree with your eyes, often reading the name of almost everyone items in search of suitable.

Yes, the search form for such lists relieves suffering, but does not solve the problem completely - the name of the elements may also be different, the user may not find any element not because it is not in the list, but he assumed a different name.

This problem is expressed in varying degrees, depending on the scenario. For example, in the online store it is not necessary to use the category tree, you can use the search. Or, you get to the page of the desired product directly from the search engine and do not encounter the category tree at all.

Another thing is when you have to choose a category. This usually happens when a new item is added to the list. When adding products, articles, orders for freelance exchange or ads on the online board. There is no choice - for placement you need to specify a category, section, often not in the singular.

After habituation occurs, the algorithm for constructing this structure becomes clear, or the user simply remembers where everything is, the problem goes into the background. But what if this does not happen? For example, most users are new and the tree is never seen?

We faced the same problem. Freelancers, for the most part, get used to it. But the newly arrived customers or customers who order something new are faced with the problem of choice in full growth.

Nesting depth


The desire to systematize undermine everything to invest and sort through. Years of programming also deform the mind and putting one into the other seems like a good idea. But the more difficult it is to deal with such a tree.

We stopped at two. For some time they tried to invent a third level, its support was even laid down at the level of the code, but that there was no good to add there. Freelancers who offered to do this did not help either.

Although with three levels, some get along fine:



Amount of elements


First of all, we tried to make the tree as compact as possible and not inflate the number of elements to make it easier to search. On the other side of this solution is a reduction in the quality of filtering.

The contractor wants to be more precise, but this will not only increase the burden on the customer, but also increase the number of errors in the choice of category. As a result, the contractor risks not seeing the order that suits him, and the customer will not receive relevant offers.

Reduce difficult. It is necessary to preserve the logic, combine that which does not require a separate category. Wording is also very important.

Reducing the number of elements, of course, simplifies the search and reduces the scale of the problem, but does not solve it completely.

But it’s better not to do so:



List organization


Initially, when choosing a category in the add form, we had a long list of all categories, where all the second level categories were located under the first level category. The list was long and it was difficult to look for it. Oh yes, there were two such lists - the main and additional categories.

The old approach remained in the forum, there are few sections:



Then we began to place two drop-down lists, the first of which contains the first-level categories, and when selecting a category in it, the subcategories are loaded into the second list.



It is also important to sort the categories alphabetically. This is not all, unfortunately. In a list that is not sorted, you can find what you need only by reading each line. And this is a pain.
Categories containing multiple entities were called slashes.

It was: Audio / Video / Multimedia, became: Audio, Video and Multimedia. Slightly hurts the eye. Does anyone else say “multimedia”?

The name of the new category with a capital letter. “Printing and Identity” from large, and in “Website Design” the second word from small. All this, too, in theory, should somewhat facilitate navigation through this list.

On the left, what the categories look like; on the right, how they might look. Figures had to be returned at the request of workers.



No tree - no problem! The first approach to the projectile


If the customer does not offer to choose a category, do not force him to look for the right one, then there is no problem, right? So we did. We stopped demanding to specify a category and the default category was indicated by the moderator when checking the order.

This decision makes the moderation time more critical, because the order will be published only after checking and indicating the category, and this takes time. Even if it is small, it is still better not to make the user wait.

There is a problem with this - we cannot yet provide moderation 24/7 and it was necessary to do something with it. On weekends and at night, the customer still had to specify the category on their own. Then we could automatically skip orders from trusted customers and check them after publication.

Another snag is that moderators are people, and rarely, but they are still mistaken.

Glory to the robots!




At the moment, we are running in the system of automatic category determination by the contents of the order.

Again, we do not force the customer to deal with the category tree, waste time and nerves. All that is required of him is the usual title and description of the problem. That's all the required fields that remained in the form of publication of the order.

Since it is not always possible to determine where the order belongs, in case of failure, we suggest the customer specify the category by himself. And of course, if the customer wants with his hands, then he can with his hands.

Profits are obvious - the new customer does not need to deal with the tree, freelancers get the usual categories. Moderators are not uploaded with an order definition, and soon they will check orders after the fact at all. Prohibited orders will also be determined automatically. In most cases, the order will be published instantly.

Of the shortcomings - so far all this is driven around and in some cases may not work correctly. Unfortunately, even a person is not always able to determine what category to determine the order. The description may contain definitions suitable for several categories, or they may not fit anywhere at all.

It’s not possible to completely exclude a person from the chain, you have to look, but one thing is to entrust the whole work to a person (customer or moderator), and another thing is when robots inject, and not human

Source: https://habr.com/ru/post/459482/


All Articles