It’s shit like this, developers. Part II

Some time ago I experienced how a certain company (that shall rename nameless) updates the software on the desktops/laptops of their employees. It was such a good example of how a bad user interface design can break your workflow that I felt compelled to put ink on paper (or bytes on a screen).
Imagine you are happily working in Visual Studio, Microsoft Word or Project and all of a sudden the following dialog pops up (in front of your current window of course).

This thing pops up and basically says: “Hey, I’m going to install some update for you. How nice is that? Now, if you would kindly press ‘next’ so I can continue.”
What’s wrong with this?
  • It breaks my workflow by presenting information I don’t care about. I don’t care about McAfee VirusScan Enterprise 8 Patch 5 Update. Why didn’t you simply start the update process in the background?
  • It asks me to acknowledge its existence by selecting ‘next’.
    I have visions of the programmer working on this updater and wanting some recognition for his work. Best way to achieve that is to put this screen in there.
  • Never mind that the ONLY thing I can do is selecting ‘next’. When you press ‘next’ the updater will start installing the update. Then why do I have to start that process by pressing ‘next’? Seems to me that the updater could have simply started without waiting for me to press that button.
When installing, the updater keeps you informed that it is in fact installing. How kind.

After installation, another dialog presents itself (modally of course, so your work is again being interrupted). This one basically tells you that the installation is complete. It even lets you click on the ‘Finish’ button…

after which you are presented with the ‘reboot’ dialog. This one is a real gem. It shows you that the installation needs to reboot your computer. You can reboot immediately or you can postpone the reboot for a limited number of times. You can even adjust the number of minutes after which this dialog will present itself again.

Note that the 15 minutes is a maximum. You can only lower this number, not increase it.

  • Again, a nice big modal screen that interrupts your work. As an added bonus, if you click ‘Wait’ you know that you will be interrupted again in 15 minutes time. Something to look forward to.
  • What is the rationale for being able to lower the number of minutes? Is there actually anyone that will say “Hey, I want to be bothered again over 10 minutes, so let me change 15 into 10 before clicking ‘Wait’”? Seems to me that anyone will either reboot immediately or click on ‘Wait’.
Programmers and user interaction designers should think really hard before deciding to use a modal dialog. I hate to say it but your application is simply not that important. Present the information in a non-obtrusive way instead.


Popular posts from this blog

Small tip: use QueueBackgroundWorkItem for asynchronous work in ASP.NET

Why you should use git merge --no-ff when rebasing.

Set default merge options for Git branches