📜 ⬆️ ⬇️

The seven deadly sins of software systems, which in 2011 is a shame not to notice

I myself, as an interface designer and programmer, on the one hand see problems, and on the other I understand that they cannot be solved with one wave of the hand, and in many cases there are objective reasons for the compromise. But I suggest not to chew snot, but to gather the will into a fist and walk together in a bright future. In the end, who if not us?

So, sins:
  1. Slowness
  2. Blocking interaction
  3. Inappropriate restrictions
  4. Unsettled
  5. Lack of independence
  6. Forgetfulness
  7. Pride

Of course, there are a lot more problems, but these are chosen taking into account fashion trends and what the mainstream is gradually becoming aware of. Under the cat more:

1. Slowness

Programs must run fast. Now it is clear how much speed is a feature. Users leave even slow web pages. And when the program is engaged in an eruda out of the blue - this is a guaranteed parting for life. And most importantly - the interface always, no matter what happens, should respond to user actions. Otherwise, the program is declared dead.
')

2. Blocking interaction

In the general case, while the program is doing something (even for nothing), it makes you wait “just in case”, you never know what's going to ruin it. The apotheosis of this sin is modal windows - the program does nothing , but does not allow it to go anywhere. The recipe is simple - work in the background, so it's harder to apply.

Positive example: Final Cut Pro X , to the tenth version, which acquired background rendering of materials. You should see an ovation at the presentation of this feature.

3. Inappropriate restrictions

In the general case, one person pointed to the sky and gave birth to restrictions. Also calls it “thought about use cases”. The best restrictions are those that are not. We are not Baitics on diskettes save in the 21st century. It's time to get used to it, that instead of “vasya_poopkin” I can log in using the much more beautiful “Vasily Pupkin”. If you can make, say, a description of a product of any length (and it can) - do it, no need to guess that most likely no one will need more than 1000. Never guess.

4. Unsettling

In general, the program in the initial configuration is inconvenient / unpleasant / unsuitable for use. People are used to, that first of all you need to get into the settings. But this does not mean that it is good. The stores do not sell shovels, which must first be forged. You do not change the handle of the hammer immediately after purchase. The program is the same tool, and the obligation of the seller (read the developer) to make it use immediately. By the way, if you think about it, then 50..90% of the settings can be thrown out as useless.

A positive example: iA Writer , a text editor without the settings panel.

5. Insolvency

In general, the program does not make something simple and expects an obvious command from the user. Worse, if the task is frequent, or if it occurs during a long process, when a person is not around. The user, of course, will get used to everything, but a little intelligence and decisiveness of the programs would not hurt. Usually, programs have plenty of free time between user interactions, and it would be good to do something useful at this time (index / update / check / add), which will speed up subsequent interaction.

A positive example: Safari browser itself unpacks the archives and mounts the images immediately after the download. Google Chrome itself downloads and installs updates without a single window.

6. Forgetfulness

In general, I should not take any additional actions so that what I enter (in any form - information, settings, window configuration, screen brightness) is preserved. Gentlemen programmers need to raise the ass from a chair and go and make sure that it is. This is the default behavior, damn it!

Positive example: IndDesign CS5 even after a fall rises exactly in the place where you finished, regardless of whether you were saved or not.

7. Pride

In general, the program considers itself to be the center of the universe and worries the user about any event, so that he scratches behind the ear, download the update, even informs him that everything is going well (!). Programs blink in the taskbar, jump in the dock, shove their icons (I look at you, adobe reader), they demand something from you (arrogantly, not so much?). As a result, if you did not boot into the system for six months, then you will be blocked by a dozen of some stupid windows, and you just need to pick up the file, for example. Still, a computer for a person or a person for a computer? Sometimes it seems to me that my answer differs from the opinion of most developers.

Bonus

Seven examples of enchanting stupidity from the collection of the author.
  1. Slowness You ask Windows to go to the samba and wait for half an hour first so she asked you for a password, then for another half an hour she will “try to join” the neighboring computer. Feeling as if the border guard took your passport and secretly went to dinner.
  2. Blocking interaction Entire modal for browser alert / http basic auth form - such that you can not switch to another tab to copy the password.
  3. Inappropriate restrictions. What should I do if the name given to me at birth does not satisfy the criteria of this nameless analyst?
  4. Unsettled. All weather sites that do not even try to determine the city by ip.
  5. Lack of independence. Enter the phone number without spaces or special characters.
  6. Forgetfulness. Save the document you wrote 7 hours? Well no? Oops.
  7. Pride. Windows Vista: installed update, are you here? Ok, 10 minutes no one, nailing everything and rebooting. - Hey, man, and what, the electricity was cut off?


If the thoughts expressed here seemed to someone a little interesting, I recommend to continue reading here:

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


All Articles