UI Evolution

I interested an interesting trend these days. It seems that the evolution of the user interface came about a full circle and we are more or less at the starting point again. But on our journey we learned a thing or two about usability and so our revised UI design is somewhat more polished.

The early interfaces were mostly CLI – you were presented with a minimalistic prompt and had to type in a command to do anything:

CLI

This type of interface is not very user friendly, and the barrier of entry for new users is high. For one, you have to remember set of commands. If you make
a typo the UI punishes you with the dreaded “command not found” response. It is a bit intimidating for the beginners.

This is where our traditional GUI with buttons, windows, sliders, check boxes and visual boxes improved user experience. However it also has a downside. GUI dumbs down the user experience. If the UI designer did not create a button for it, then there is no easy way to do it. The design is crucial, and things like button and menu layout affect user experience. If you hide some functionality under nested sub-menus and give it a cryptic name, most users will never find it. So GUI is not a perfect interface. Not by a long shot. But it is much more intuitive than CLI.

Now we are seeing a new form of UI coming along. I call it search based UI:

Launchy

Launchy and Quicksilver are good examples of this. On one hand they are your command line interface. You interact with them not by clicking and dragging, but by typing. However they are more user accessible than your good old CLI. They are completely intuitive, allowing you to start applications and open documents by simply typing few characters of their name, or their purpose (for example the word browser may pull up Firefox and etc). They are context sensitive, so the user is never faced with the unfriendly “command not found”. You don’t have to memorize commands, and the visual prompts help you to adjust the command as you type it.

It is still a type of GUI, but an evolved one – one that tries to work with the user, and guess his needs rather than present him with a rigid structure that has to be learned. I think that search based program/document launchers combined with limited subset traditional GUI elements will be the UI of the future.

I suspect that working with your computer will become more and more like browsing the web. Right now with the advent of AJAX the web experience is getting closer and closer to the desktop experience. I think the two will continue getting closer, until they merge into a single, seamless user interface. Browsing the files on your hard drive will be no different than browsing the web. Using a local application will be no different than using a rich online application. In fact they might become one and the same.

Thing Google Gears on speed – local caching of your data from online applications, and remote caching of the data edited by the local apps. All bound together by a simple search box which can parse through both your local and remote data, and start both local and online applications. Users no longer will need to learn the interface – they will just start typing what they want to do, and adjust their query according to the visual suggestions till they get what they want. They will no longer need to look for saved documents because they will just need to search for them, and they will pop up. They will no longer need to worry about saving files, because applications will simply save it somewhere (be it local drive, or online storage), then cache and index it where needed. Next time you want it, you just need to search for it.

This is my prediction for the future. Mac is already on track here with their Quicksilver. Microsoft is not far behind – or at least they seem to have the right idea with their WinFS. Yes, that fabled file system is still vaporware but it seems like a step in the right direction if we want to have a search based UI.

What sometimes worries me is that we don’t see much of that push forward in the Linux world. Sure there is Beagle and bunch of Quicksilver and Google Desktop clones. There seem to also be various projects for a database driven filesystem such as Fuse, RelFS and etc. But I’m sometimes worried that we are playing catchup to the big proprietary OS makers. And I don’t like that.

Feel free to disagree with any of this here, and prove me wrong.

Update 06/12/2007 01:48:38 AM

It’s funny but I haven’t read Jeff Artwood’s article about online applications becoming faster and more user friendly than desktop applications before I wrote this post. What he talks about is very relevant to my point here. He describes how his wife opted to use Google Maps instead of MS Streets and Tips because of usability. Jeff points out that allot of UI innovation right now is happening on the web right now – and that Desktop apps should try to catch up.

This is essentially the same point I was trying to get across here. Online applications try to ape desktop apps with Ajax, while desktop apps learn about simplicity and minimalism from the web. Soon the experience will be seamless – and most of us won’t even notice or care if an application is running in the browser, or locally. :P

[tags]user interface, ui, gui, quicksilver, launchy, beagle, relfs, fuse, winfs, search based ui[/tags]

This entry was posted in technology. Bookmark the permalink.



5 Responses to UI Evolution

  1. Matt` UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    If I’m looking for a file I normally find it easier to remember (or work out) what folder it’s in than what I named it..

    and RIAs don’t really to appeal to me since I’d prefer to keep my stuff where I have control over it, and the applications to use it similarly need to be somewhere I can do what I want with them.

    Maybe if ultra high speed broadband was being broadcast wirelessly across the entire face of the country… but until then, I’m keeping my stuff on my hard drive where I know I can get at it.

    Reply  |  Quote
  2. Luke UNITED STATES Mozilla Firefox Ubuntu Linux says:

    [quote comment=”4749″]If I’m looking for a file I normally find it easier to remember (or work out) what folder it’s in than what I named it..[/quote]

    To tell you the truth, these relational filesystems scare the living shit out of me. I’m terrified of giving up control over my storage to a database. Still, I think this is where we are heading – because those are the usage patterns I see among the end user population.

    And the popularity of applications which organize your files for you supports it. People just dump all their pictures into “My Pictures” and let Picassa or other app like that to tag them and sort them. They dump all their music into the iTunes folder, and let it manage them.

    I’m not saying this is a good or a bad trend. I just thing this is where we are heading.

    [quote comment=”4749″]but until then, I’m keeping my stuff on my hard drive where I know I can get at it.[/quote]

    True, but remote caching of your documents by some online app is a very attractive option. As a rule, people are usually very bad about doing backups. And almost no one has off-site backups of their private shit. I do, but only of my important stuff. But if most applications have their online counterparts…

    What I mean is that some next generation Office Live will save your document both locally (for fast access) and remotely (so you can get it when you are not home).

    Say you are writing an essay or an article, and your power goes down. So you go over to your friends house. There it turns out that he/she doesn’t have office installed, but you simply log into the online app, and finish writing using an interface that is almost identical to the native one – only running in the browser. Then you come back home, and your Office automatically syncs up with the server and pulls down your paper so that you can print it. I’m pretty confident this is a model that we will see surfacing in the next 3-4 years.

    Reply  |  Quote
  3. Matt` UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    In that scenario I can see the use of remote storage, a service that automatically backups everything I save would be awesome (if it was free, which is unlikely to happen soon for a hard-drive sized stash of data) or the remote caching you were talking about.

    I hadn’t thought of the auto-save to a server and sync when online thing, but for working across 2 computers it could be very useful. Minor example is the Firefox extension Foxmarks that backups and synchronises your bookmarks with a remote server, although that raises some issues with what you do when you want most stuff to sync automatically but not everything, shouldn’t be too hard to get around though.

    Even so, I’d always like to have my own copy of everything along with all the application software to do stuff with it – don’t want to lose my data or be locked out of it by the shifting sands of the computer industry. Oh, and there’s always the issue of whether remotely storing gigabytes of torrented stuff of dubious legality is a clever thing to do :wink: (depends on the policy of the storer)

    Reply  |  Quote
  4. Matt` UNITED KINGDOM Mozilla Firefox Windows Terminalist says:

    Oh, and I still have no email notifications

    Reply  |  Quote
  5. Luke UNITED STATES Mozilla Firefox Ubuntu Linux says:

    Well, I think that some stuff would have to be stored locally, at least for the time being. I’m guessing that the caching would be done on per-application basis. So your Office Suite would be doing it’s own storage on Microsoft servers, your Email would be doing it’s thing and etc.

    Torrent clients would still work in the good old fashioned way saving shit locally. :)

    Re: notifications – Ugh I have no clue why this happens. They are not getting bounced – I don’t get return messages back for them. So I don’t think it’s the mail server. Now is it the plugin, wordpress or my PHP installation. Sigh… Will need to look into this some more.

    Reply  |  Quote

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>