Vornasblogi

Eadem mutata resurgo

All Operating System User Interfaces Suck – I Want Something Task-Oriented

| 5 Comments

Some time ago a pal peeked over my shoulder when I was working on my home office computer and went “whoa, dude, your Dock is full!” I’m so used to seeing the 30 or so icons stuffed into the lower part of my desktop that it took me a moment to realise what he was talking about. Now and then I go through the icons, trying to prune them a bit, but every time I reach the conclusion that I’m down to bare basics – stuff I need pretty much weekly.

The conversation made me remember one of my pet peeves about operating system user interfaces: you really can’t customize them to suit the task you are doing. No matter if I’m using the computer for editing video, surfing the web, watching movies or playing games, the thing I get when I boot up is the same exact desktop and menus  for all of these tasks. This is of course about as sensible as carrying two full toolboxes with you although you know the only things you need are a screwdriver and pliers.

Screen shot 2009-12-01 at 14.34.28

All right, I have to admit that maybe I use my computers in a rather more diverse way than an average user. When I was a full time freelancer and working mostly on Windows platform, I used the computer for writing and researching articles, doing translation work, gaming, listening to music, watching videos, doing web design, programming, surfing the net just for fun, and so on. All of these tasks required different applications, different source material and different work processes. The result was that my two monitor desktop was full of icons, which I tried to keep in check with toolbars attached to the sides of the screens. When I got out of the full time freelancer gig and switched to Macs, I added video editing to the mix of stuff I do with the computer – the result being a chock full Dock and an icon filled desktop.

TASK ORIENTED USER INTERFACE

The solution for my problem is actually kind of easy: I would like to create several modes which govern what shortcuts and icons do I have on the desktop or Dock/Start menu, and what programs should be running or switched off automatically. I want an easy to use menu where I can choose a task I’m doing at the computer: “Video Editing”, “Lazing & Web Browsing”, “Gaming”, “Movies” etc. and I want the menus, the desktop and certain settings of the computer to reflect that choice.

When I switch to, say, Video Editing mode I want to see all the editing programs in my Dock, I want BOINC and other resource hogging programs turned off and I want my browser to give me a page with the relevant video editing resources I’ve chosen. When I choose “Gaming”, I want every application to shut down, my Raptr client to fire up and the shortcuts for all my games on the Dock, and so on. When I turn on the laptop in the morning and kick it into the “Morning” mode, I want it to open up email, my list of webcomics and Spotify for the morning music. You get the gist.

USING SEPARATE USER PROFILES

When I bitched about this to a pal, he suggested I create different user profiles for the different tasks. I tried that briefly, but it turned out to be a complete mess on both Windows and Mac. First of all the user profiles don’t really share information. You’ll have to set up e-mail, the browser, instant messengers etc individually for each profile, logging out of them shuts everything down and letting them run on the background consumes resources and is generally confusing.

Besides it’s the wrong paradigm. I want the modes to reflect the reality: there is one user with one set of information, who does different tasks and needs different tools and a different operating environment for those. When I add a browser bookmark in one mode, I want it to be available in every mode. When I add an instant messenger contact, I want it to be available in all the modes, and so on. It’s important to realise that what I’m referring to here is just a change to the user interface and maybe some other settings. I don’t want to hide the existance of certain files or programs completely, I just want to regulate what I see on the Desktop and the associated toolbars and quick menus.

MODES IN USER INTERFACE AND APPLICATION LEVEL

Most of the things the modes require can be done simply in the operating system user interface level. If the operating system supports virtual desktops (such as Mac’s Spaces), a basic way to do the mode based thing is to allow the user to create a different Dock or other quick menu for each virtual desktop.

Close, but no cigar

Close, but no cigar

In my ideal system there would be one master mode, which corresponds to how the user interface is set up nowadays – as in every goddamn thing being visible. With a hotkey you can get up a menu with all the available modes. Dragging and dropping items from the desktop, Dock, Start-menu or whatever on top of the button for another mode adds the items in that mode, in the respective place. This could also be done simply by right clicking the item and checking all the modes it should be visible in.

Something that sits in between OS and applications is the possibility to shut down or start certain applications when the user changes the mode, and to tinker with the OS settings. Maybe in one mode the volume should be higher or lower, maybe some processes would automatically be bumped to highter priority than the others.

If and when we make applications aware of the mode, the possibilites are endless. Off the top of my hat, what I’d like to do is to have an instant messenger hide me from all the instant messenger work contacts when I’m not in any of my “working” modes – and when I am, I’d like to automatically appear as offline for some chatty online pals.  When I’m on my “Translation Work” or “Web Programming” modes, I’d like the browser to default to a portal page with relevant resources I’ve myself added there. I’d also like to have my e-mail program give the main focus to either my private or work e-mail accounts depending on the mode I’m in.

OVERSIMPLIFICATION AND SPEED BLINDNESS

The risk in developing task based UIs is that they try to do too much for the user. Someone gets an attack of overdevelopenitis, which usually results in a watered down “media and entertainment mode”, where the user can’t choose which media players he uses and the whole mode feels like trying to do a Tour de France with a tricycle and training wheels glued on your face. What you should give the user is a simple toolset for creating operating modes that suit his own tasks and processes – and not a toolset that’s spread all over the OS, but something that can be accessed mostly in one menu, or at least in a very standardized way across the system.

On the other hand I’m vaguely surprised if I don’t get any replies to this where someone suggests installing this and that open source tool, configuring the system this way and that, using all these handy scripts and generally going “the tools are out there and it’s really simple to do yourself, and don’t forget to recompile the kernel”. Sorry, but no. I want to spend hours and hours doing a non standard modification in my operating system about as much as I want to drive a hoopty that has to be hotwired to get it to start and requires an hour of tinkering and repairs for every 100 kilometers driven. I’ve spent almost a decade jumping through the weirdest hoops with computers, and if I’m not being paid for the actual tinkering, the threshold of doing that is really high – so I want something that works out of the box.

I honestly hope I’ll see something like this on either Mac OS X or Windows in the future.

5 Comments

  1. Well, your problem is that you are limited to MS and MAC OSes, the functionality you are describing has existed for years in GNOME and KDE desktops.

  2. I have actually been using Linux now and then for some tasks, but got rid of the dual boot a while ago simply because I used it so rarely that it didn’t make any sense to keep it. Most of my work and hobby related tasks are more or less reliant on Mac/Windows environments. Also I tended to still run a bit too often into situations where editing config-files with Emacs was the only resolution to the problem (like trying to get Ubuntu find a second monitor and extend the desktop on it – this was a few years back, true, but still fucking absurd). This something I just don’t want to do anymore in my free time just to accomplish something that I feel should work right out of the box. Tinkering with stuff out of my free will, that’s a different thing of course and it can be fun, but being forced to do it, blahh.

  3. So, Janos, tell us, was it really necessary to add emacs to your sentence? Did you want to attract attention to the fact that you’re using EMACS as an editor as opposed to VI or are you oblivious to that whole story and just think that using EMACS makes you cooler?
    Don’t you think that something like, say: “sometimes I had to edit config files to get xxx working” is sufficient?

    K? Thx! Bye, and greetings from the 90’s.

  4. A weird point to get hung on, I have to say. I said “emacs” only because when I edit something in *nix, I tend to use Emacs (which, BTW, is in no way easy, handy or anything else like that except for totally speed blind *nix users .). I couldn’t care less about editor wars or other such stuff. If I ever drop a goddamn text editor name to “sound cool”, I’m ready to be taken to the glue factory.

  5. Janos — You might want to take a look at Mylyn for Eclipse IDE.

    http://wiki.eclipse.org/Mylyn/User_Guide#Task-Focused_Interface

    It basically makes Eclipse only show what is relevant to the development ticket you’re currently working on. It’s not an entire OS and the interface adapts per ticket rather than with what you’re calling an ‘operating mode’ but I thought you might find it interesting anyway.

Leave a Reply

Required fields are marked *.