Remote control
Right now, to control my TV, DVD player, VCR, cable box and TV I use the Remote Commander. It’s great and all, but it doesn’t have a good sense of workflow. It offers tons of customization, is programmable against any other remote there is, and helped me consolidate my five remote controls into one unit.
It didn’t solve the main problem with componentized systems, though: the user still needs to know to set the amplifier to DVD, make sure the TV is on, make sure the TV is set to line input instead of channel input, turn on the DVD player… into this bleak user experience, enter the Logitech Harmony. This control is USB programmable and, even better, remembers the state of each component in the system. Rather than entering a macro that assumes that your system is in one state and must transition to another, this remote control remembers what state every component is in and transitions it to a point where it can accomplish certain tasks, like “Play a Movie” or “Listen to Music”, all with one button press. Beautiful!
I see a similar progression in software. As more and more options become available (because customization is key) the system becomes too complex to effectively wield anymore. Options and customizations are great, but we need a better sense of workflow.
For instance, in the great P2P program eMule, the user is trying to download something from a P2P network. That is their goal. What is their workflow? They must connect, succeed in connecting, possibly download a new version of eMule itself and install that, possibly download a new server list, then go to the search page, then type in what they want and finally select what form they want it to be in (Documents, Music, Software… would my mom know the difference?). After all that, when the user presses “Search” a (hopefully) lengthy list of cryptic filenames lists out… double-clicking on of these turns it red so that you can go to the Transfers window to see that it is, indeed, transferring. When it is done, double-clicking the transferred file does nothing. To open the directory that the file is in you must click another button on the toolbar.
Isn’t there a way to simplify all that?
I have this vision of a software layer on top of the Windows OS that provides to application developers the means to quickly develop easy-to-use, customizable, workflow-oriented programs that have a minimum of fuss. In studying UI paradigms (of which computers as file cabinets is becoming very, very old) it seems like users are ready to move away from a strictly physical interpretation of a computer screen and are ready to be exposed to just a little more depth. I think it’s wrong to express that depth in a blistering array of menu choices, buttons and other so-called “hot” locations where a mouse click produces an action… if we know what the user wants to do we should commit ourselves as developers to helping them do that thing. If our program doesn’t quite capture the workflow adequately then maybe we need to study the market more before we release.
This is all just a rehash of the “making the user save something they’ve been typing for three hours doesn’t make sense” soapbox. Why force the user to do some arbitrary step that we chose to call “Save” when they want to preserve their work? Chances are they want to preserve their work, so why are we making them tell us? Microsoft OneNote does an excellent job at capturing the feel of a paper noteboox: I never have to hit “Save”, I can write anywhere I want to, I can organize things any way I wish, I can paste a snapshot of anything on my desktop, I can embed sound and movie files… all seamlessly, all with the same UI paradigm of, basically, making a scrapbook. Try it out, it’s great.
Meanwhile, I’m gonna get myself one of those Harmony remotes.