Don't leave your users hanging

command prompt can show actions as they are taken
If you create software one of the worst experiences you can create for your users is the "hanging" dialog. Recently I obtained a somewhat older MP3 player; to be specific it is a SanDisk Sansa Express 2GB. The device itself is on pair with most MP3 players that are not an iPod. One interesting feature is that you can record from the radio and it just so happen that the weekend past I had a need to record some audio from an FM station being used to broadcast at an assembly I was attending. To skip to the interesting point I found myself attempting to install new firmware to make it possible to listed to the WAV files created from the recording. After installing something to install something else (can you say inception) I found myself in a state of frustration because it "seemed" like the firmware update was going through just fine; however, the dialog box which indicates the progress had been "seemingly" stuck for quite a bit of time. So as any rational person would do I ignored all the warnings on the screen telling me NOT to remove the device while it is being updated, I yanked the cord out of the plug and started over, after turning my computer on and off again at least twice as any good technician will tell you is critical after just about any action you take. After attempting to install the firmware the "easy" way (using other software from the vendor) I again got "stuck" and gave up. At this point I believed I could overcome the problem by "manually" installing the firmware.

Sansa Updater dialog without any progress (in oh so many ways)
Sansa Express - SanDisk (c) 2006-2008
After jumping through the seemingly random steps of extracting the various ZIP files and installing different drivers and ensuring I held down the "volume down button" (a.k.a. -) while plugging in the device I managed to get back to the same install screen that had haunted me before. Oh, and somewhere along the way I had to format the drive to continue so I lost the file I was attempting to use in the first place.

While weaving through the various steps I realized that I may have cause myself a great deal of frustration simply because I was impatient, but is that really my fault? Well in some small way yes, after all patience is a virtue. However, I tend to think most of the blame rests with the software developers who created such an uninformative update process. If this had just been a command dialog via dos and they just listed of each file being impacted or perhaps a list of actions being taken I may have been more patient. Now to be fair this is a simple firmware update for a seemingly simply MP3 player and so the thought put into making sure a progress bar was accurately capturing the progress of the installation may have been a lower priority, but if there is nothing moving, no blinking indicator that something is still happening it is easy to expect that a user will abandon the cause and move on to something more shiny.

So don't leave your users hanging. Give them the ability to peer into the goings on and inform them of what to expect in terms of responsiveness.

UPDATE: After 10 minutes after writing this post I came across additional information that outlined that the underlying issue with updating the firmware was it had to be done using a windows XP machine. Fortunatlly I have an old laptop with the legacy OS (along with various versions of Ubuntu) so I was able to get everything working and update the firmware, I did mange to lose a recording that I didn't have a back-up of, but such is life.