📜 ⬆️ ⬇️

Cancellation of registration

Most intelligent web developers have long known that compulsory registration is evil. But some still unnecessarily close the content from the users or do not allow them to buy goods until they register. This approach is justified in the case of paid services or services such as RuTreker. But for the most part it is extremely harmful or even destructive for the resource.

Modern guys are trying to simplify the registration process with the help of various openings, and this simplifies the situation, but it is a symptomatic treatment, but the problem remains unsolved.

In this article I will set out my view on how the registration should take place on resources with an average attendance. At once I will make a reservation that the reasoning does not apply to resources with paid or user-generated content (like Habra).
')


In general, where did the idea come from that users have to register for something on the site (online store, information resource, etc.)? The logic is approximately as follows: the user wants to get something from the resource and therefore he is ready to overcome the obstacle in the form of registration. When the user has overcome it, he will not want to overcome such obstacles in other places, and therefore the next time he will come back.

In fact, everything does not work as expected. First of all, half of the users are too lazy to register and simply go to where they do not need to register. Secondly, even those who register, if they do not immediately become regular visitors (which is rare), will immediately forget this site forever.

In general, the gain to zero, and the disadvantages are obvious.

In addition, if you completely close the content, then it will not see the search engines, which means users will not come to the site. And if you open it only for search engines, then it will be possible to view it through the cache without registration (a live example of such idiocy is, for example, http://demiart.ru/ ).

Another no less harmful opposite is the situation when the site treats each user as if he had logged in for the first time. Especially such sclerosis is harmful for online stores, because for them every click of a user is valuable information that can raise sales, and it is simply criminal to forget such information.

To understand how the application should behave, you need to imagine that it plays the role of a polite person who is trying to help you. Such a person will not annoy you with endless unnecessary questions and mandatory fields. At the same time, he is attentive and treats you with regard to previous communication experience, and not as if he sees you for the first time.

Technically, such a system should look like this. As soon as the user has logged into the site for the first time, an anonymous account is created for him, in which all information about his actions is saved. When he next visits the site, the system will recognize him and offer something based on his previous actions (for example, by default, he will show cameras that he had viewed last time). If the user decides to fill in some fields (for example, necessary for delivery), the system will also carefully fill in these data, not forcing the user to fill them in again next time, but always giving them the opportunity to correct them.

If the user wants to protect his data with a password, he needs to be given this opportunity, but you cannot demand it. In order for a user to use his data from another computer or if he loses a cookie, he must send a secret link to his account by mail, through which he can log in again if something happens.

If the user filled out some long form, but decided to leave the site - you need to carefully save this data so that when he returns he can continue from the point at which he finished.

Despite the fact that all the points seem to be logical and simple, I could not yet find any ready-made implementation of such a mechanism. I use a similar approach in my projects, but as a server programmer, I only insofar as I cannot write a complete solution that can be easily integrated into any project without dancing with a tambourine and writing code.

If someone knows Yii well and is ready to participate in the development or at least provide advice on the quality of the code, I will be very happy and will try to make such a module.

UPD: About what data and how to ask the user. To ask the user need not the data that you want to receive just in case, and those that are needed to provide services to the user. And at the same time you need to explain why you need this data. Rarely does any user then indicate them.

For example, the same case with a link to a profile. You can simply show it to the user on the page (let him remember, write it down or whatever you like), and next to give the opportunity to send it to the post office, promising that you will not send SPAM (if you break the promise - burn in hell figs SPAMER). If you need a call to confirm the order - explain to the user that for this you need his phone number. And if the user does not want to enter it - give him the opportunity to call your number yourself and confirm the order, and there already ask for the delivery number. Well, everything like that.

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


All Articles