Time is extremely important for the users, reason why we should care. On every project, we should ask ourselves the questions: “Do I save myself a few development hours at the expense of the user?” and “How could I improve the user experience?”
People hate wasting time, especially online. We spend so much time online that even the smallest interactions take time. A small inconvenient doesn’t seem much, but more of them put together may lead to frustration and increase the probability for the users to give up using the service you are trying to provide.
We are careful with our time when we start a project. We have milestones to reach, demos to make, bugs to fix and, if these weren’t enough, we also have Internet Explorer. We are forgetting an essential aspect: everything we are doing has a positive or a negative effect on the user experience. We shouldn’t allow our feelings regarding the project prevail over user experience. In most of the cases, the user suffers because we do not like the project, we don’t have enough time and so on. Often, little and good is all you need as compared to a lot and bad.
Steve Jobs used to say that, by improving the starting time of Macintosh, one could save lives. Jobs was obsessed not to waste the time of the users of his products. We should be as careful as he was when it comes to our products.
Probably millions of people will not use your site, but millions do use the www. We are all stealing people’s lives by faulty interactions. When I am working on a site, the question that is constantly bothering me is: “Do I save myself a few development hours at the expense of the user?”.
This is the bottom of the problem. Out of the despair not to exceed the deadline or the budget, we save ourselves and everything is reflected upon the user. Let’s have a closer look at the effects our decisions have on the users.
The most obvious and painful way you can frustrate the users is the loading time of a site, and when we are talking about performance, it is not only the users who suffer, but the client also. The story of the performance is a bit more complicated, as most of us blame the server and the internet or we repeat the classical excuse: “It works just fine on my computer!” As a matter of fact, the argument that the server or the internet is to blame is valid, but at the same time there are a lot of native applications which come to our help (HTML5 API - câteva exemple - http://www.sitepoint.com/10-html5-apis-worth-looking/). We can detect whether the user is on a mobile device or not, whether he is connected to WI-FI or mobile internet and so on. We have so many resources that can come to our help, but most of us do not use them. Based on everything we know about the user – whether he is mobile or not, whether he has a high speed internet or if he still has battery on his device – we can improve performance and at the same time provide unique experiences.
The trouble is that the improvement of the performance is often the last thing we think about and, at the same time, one that the developers avoid the most. We have become lazy with the spreading of the high speed internet. We are cheating on optimizing the images, reducing the HTTP requests and the JavaScript libraries. All these are happening because many of us know how to develop many things on the web, but we don’t know an essential thing: how a browser works and how it returns the content, elementary information in order to be able to build a performant web-browser.
So, questions such as “How can I optimize the loading of this file?”, “How can I make this piece of code more performant?”, “How can I write the same javascript function in fewer lines?”, are those encompassed by an attitude preoccupied by the performance of the site.
Each form has its specific, with its rules and problems it shares with the rest of the forms. There is no standard, and probably it would be useful to have one, but, unfortunately, things are different. Everyone is free to do whatever they want on the web, more or less. And when it comes to forms, each service has its own algorithms, some of them more complicated than the others. We should appreciate, however, the attempt to facilitate the registration and log in process by using the social profiles.
Many of us stop filling in a form when we come to a certain suspicious CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart).
It was invented in the year 2000, based on a rather simple process, which is useless at the same time. You get a picture of some characters which only a human being can recognize, you introduce them, and then you move on to the next step. It was very useful in blocking robots in 2000. But 14 years have passed since then, and we have considerably progressed. I don’t think it is necessary any more to waste users’ time with the introduction of CAPTCHA. Millions of hours have been wasted simply because users were forced many times to fill in a field, just to be able to send a poor form.
And all these because we haven’t been able to solve the robot issue yet. I am not talking here only about the CAPTCHA, but about any system which forces users to prove they are human beings. Firstly, why should users prove they are people?
The issue of the robots could have been solved, had we allotted a little time. “The honeytrap technique” is a very good example in this line. Moreover, there are server-side solutions which help us to filter the automated requests. The truth is that throwing in a CAPTCHA on the page takes less time and the effort is comparatively minimal.
CAPTCHA is usually the last thing in a form, which is good.
Most of us would reply: “Out of security reasons”. It is true that passwords must be safe. But lately, almost everyone forces you to make your password in a certain way.
Why am I forced to have as password a mix of numbers, letters, special characters, capital letters, no capital letters, etc.? Why isn’t it up to the user to choose his password, be it a combination of characters or a sentence? “My password is this one and I dare you to guess it!” The number of characters makes the password more secure and a password like the one in the example is also easier to remember. And if the system doesn’t allow spaces, just ignore them. We could also provide the option of seeing what you are writing in the password field.
We should appreciate it when they are making attempts to prepopulate the content of a field. For instance, based on the postal code, they could almost generate your complete address. This may let the user off from filling in four or five fields. It is a rather interesting thing, but unfortunately not many people put in into practice. A part of the scripts that populate the address based on your postal code require that the information be introduced without any spaces, commas, etc. Instead of taking all the characters except for the numbers out of the script configuration, the user is compelled to “correct his mistake”. Why should the user introduce the data in a certain way? Why do we waste their time and force them to reintroduce the data in a certain way? Why don’t we format the respective data? If a field cannot contain characters such as full stop, comma, it is much easier for us to format correctly from the script instead of forcing the user to correct a mistake which may not even be his fault.
The country selectors are a pain in the neck and they should be considerably improved. Why not have the most common countries on top of the list or introduce a research field which should filter the countries while the user is filling in that field? There are many solutions which could improve the quality of the country selectors; all we have to do is pay a little more attention to the small things.
One thing that we should also take into consideration is the interaction with a form on the mobile devices. We should think about alternative controls (swipe, pull, push, etc.) in order to facilitate a little bit the manner in which the user fills in a form. Time and again I have seen forms that are impossible to fill in on mobiles.
There would be much more to tell about the forms, but I will stop here, as the article would become too long.
We must be careful with the elementary interactions. Can we reduce a fraction of a second from the repeating interactions? The searching of a site, for instance. Does the user have to click the “Search” button or does it also work by pressing the “Return” key? First of all, he shouldn’t have to press the search button in order to get the results. Nowadays, most of the research forms work both ways, but just because the Search button is near the search field, most of the users are tempted to click on it.
We have started to neglect the “Remember me” option and this is because modern browsers come to our help, which is not a bad thing. Still, what do we do if the user uses a public computer? A relatively simple answer would be: “Use a private session!”. Private sessions in the browser are something comparatively new, and occasional users are not familiar enough with this option.
Surfing and the dropdown type menus. How many times have the three level menus brought us to our wits’ end and how difficult was it to reach the last level? If you have more than two dropdown levels, even though two are a bit much, too, it is clear that you are doing something wrong, and what should initially have been something simple and quick turns into a process meant for a surgeon’s skills, where the hair precision prevails. In most of the cases, a difficult navigation is the main reason why users leave the site.
We waste so much of our users’ time with a large amount of content which is so badly written that it is impossible for them to find the pieces of information they need. For a start, we could better use the titles, paragraphs, lists, quotes, big spaces between the texts, much more clear areas and so on, so that we edit the content in a way in which users could scan it and extract the relevant information as quickly as possible.
It is very easy to distract the user’s attention from what is important and take him to areas where you can lose him, which is why we should be very careful with what we place around the areas of interest. In the design process, we divide the content into three areas:
The 1st area: Navigation, search field, log in area, account, shopping basket if it is an online shop, product list, item list, service list and sometimes contact page and so on.
The 2nd area: Useful information, secondary pages (about us, frequent questions, help, social profiles, newsletter, etc.).
The 3rd area is usually the footer area, which only few people pay attention to.
Let’s take the example of an online shop, which has the following sequence as the main path: choose product, add to the shopping cart, pay. The more complicated the process, the more time the user wastes and he loses patience, eventually abandoning the order.
All the above mentioned are but a small part of the problems users deal with every day, because of us, in their search for information. We could do a lot more, in every domain of the web. Most of the times, we are aware of the fact that we are wasting our users’ time, but we do not take any action. This is why we should be vigilant and ask ourselves one thing: “How could I save a little of the user’s time in this situation?”. And we should not forget what Steve Jobs said: “Things don’t have to change the world to be important.”