Saturday, December 18, 2010

Breaking Down User Interface (UI) Metaphors: an Intro to Chrome OS


    I recently got a Chrome OS Pilot Program netbook, and as I have showed it to people I consistently get the same questions and complaints. People ask me things like, "Where is the desktop?" and, "How do I minimize this whole window?" and even, "How do I get to Microsoft Word?" It is these questions that make me realize how Google has an uphill battle when it comes to selling people on the idea of a web-based computing experience. I think the main problem with getting people to understand Chrome OS is that they don't actually understand the desktop computing experience. It is because of this that it is so difficult to talk about Chrome OS. It is an injustice to say that it's just Chrome browser on top of a light linux kernel, and yet I fear that will be the explanation given when people go to Best Buy and ask if a Chrome OS netbook is right for them. 
    I am going to make a radical claim here: from a UI perspective, all modern desktop OSes are nearly the same, be they Mac OS X, Microsoft Windows, or GNOME/KDE based linux. And I think my claim will become more reasonable as I break down the tired desktop metaphors that characterize the OS rut the software world has (mostly unknowingly) been in since the release of Windows 95. The OS has relied on fundamental metaphors like the desktop, the folder, the program, the icon, etc, for so long that people sub consciously believe that is how computing must be, at least most of the time. I will now enumerate some of these metaphors, and then show how Google uses other metaphors.

The Desktop
    This is a real shocker, the desktop is nothing but a folder, a folder which has been forced to maximize and given some extra bells and whistles, ok, a lot of bells and whistles. You boot up your computer, sign in, and suddenly you see a photo, or an attempt at a photo. You see some icons, and text under them. You can drag them around like play toys, or double click them to open a program, a photo, a document, or even yet another folder. Overlayed are some toolbars, maybe a dock, or some other programs that shows icons for mor programs or folders, and allows you to manage open windows. None of that has to be there, nothing requires it, it is that way because it tries to rely on concepts you already understand. All these processes are hogging system resources, but only because they make the computer instantly usable. The desktop metaphor has a problem though, it is inevitably tied to computing as a local experience. Google wants to make a web experience, and so the desktop is unnecessary. But Google still knows the importance of some sort of 'home' base, people always want a ground-zero, it's become part of the psychology of computing.

The Folder
    Let's face it, we all love folders. So some UI expert decided that it would be great to design storage filesystems, and UIs around the concept. It didn't have to be this way(and in fact at one point, there were no folders, just a large collection of files all on the same level), but isn't it so much less confusing to reuse the metaphor of a physical folder in a virtual world. Then you can have a folder in a folder in a folder, etc.,etc. This is very organized but also clunky, slow, and inefficient; but it instantly makes sense to people. Unbeknown to many people, Google is slowly changing this with the concept of labels. I'm sure that to most GMail users folders and labels seem the same, but believe me, they are very different. With a folder, there is only one way to access a file, and many times it is a very arduous path (ex. C:\Users\John Doe\My Documents\Music\Beatles\White Album\Lady Madonna.mp3). No software company really considers this user friendly, because they all put in prearranged shortcuts.(like Start...Music) But even then you still have to click ~\Beatles\White Album\Lady Madonna.mp3 which isn't a whole lot better, so people simply use a program such as iTunes, Zune, or Rhythmbox to easily browse many artists, and their subsequent albums and songs, at once, without the arduous task of going into a folder and then back out again, then into another folder, rinse and repeat till you find the file. Even with a program for music the situation is still pretty much out of control, so then all major OSes implemented techniques for indexing/journaling the contents of a hard drive, such that it can be searched somewhat instantly. 
    A label system throws out the folder concept. The song Lady Madonna could have the following "labels:" Beatles, White, Lady Madonna, rock, british, 60s, my favs, party music. In a label system everything is stored on the surface level, but viewed by toggling labels on and off. So that instead of fooling around with a search program to dig up the song i want, because it is already tagged I could find it by searching for any of the above terms. (Note: Google loves this because it involves using a Google search engine to find files). But aside of just finding that song, you could search for 'british' and 'my favs' and find all your favorite British songs, or you could search for 'rock' and 'party music' and find all the sweet rock songs you think would be great to play at your birthday party. You can have even more labels on any one file, and as all the labels pile up, playlists basically make themselves, with your collection already crossreferenced so many different ways. In short, the biggest benefits of a label system are: no more looking through a 20 level hierarchy to find the file you need, and being able to view and compare your files quickly and easily.

The Icon
    The icon was always a link, you just didn't think of it that way because it typically pointed to a file already on your computer. You would click a big 'W' and Microsoft Word would magically appear, but the magic just wasn't there when you clicked a bookmark inside a web browser, because a website wasn't an application, it was just a page, and the web browser was the application, not the page, but the browser it self, or so you thought. This is the biggest thing Google wants to change with Chrome OS. Chrome's javascript rendering engine is so fast that a javascript web app can very nearly equal the performance of a desktop app. It is because of this that Google is making Chrome OS. To Google, many web pages are applications, GMail is an application, it has so many features that make it feel like a desktop email client such as Outlook (though I hate Outlook). In GMail you can watch youtube videos embedded in an email, you can go to the contacts and easily play around with the data in there, if you're running a decent browser it all happens very quickly, and the same goes for GDocs. With GDocs you can do powerful word processing without lag, as it automatically saves as you work, all with the ability to collaborate with someone else in the document, all within the GDocs app. It is time to approach the web as housing full desktop-caliber apps and to start breaking ties to local storage and applications.

Now a Review of Chrome OS
    Having established the issues with traditional desktop OSes, I will now introduce Chrome OS it what is hopefully a favorable light. You boot up Chrome OS, and after a 10 second chrome-logo splash screen, you are prompted to sign in with a Google account. If you have been using Chrome, you can link all your theme, bookmark, and extension data to your Google account; you can then have all this on your Chrome OS netbook all just as it was on your other computer. So I signed in with my google account and all the data was synced quickly and without a hitch. From here it is familiar ground for existing Chrome users. The newtab page, however, has been slightly tweaked, as it still shows most visited and recently closed pages, but also has a section for web apps. Google makes the distinction between a web page and a web app by how interactive it is, so youtube, facebook, gmail, gdocs, and games would all be considered apps. Espn.com or yahoo.com still fall under the category of just a web page because the only interactive elements are predefined links to other pages. Google has added some nice aesthetic options, such as being able to change the size and placement of apps, most visited, and recently closed to a small extent.
    Overall, if you have used Chrome, you have used Chrome OS, so I won't retread familiar ground (but if you haven't tried Chrome you can get it for free at 'http://www.google.com/chrome') but I will point out where Chrome OS differs or goes beyond the Chrome browser. As I stated earlier, Chrome OS is a lightweight version of linux with all but the base-level features stripped away. Then Chrome is simply used as the Graphical Environment. If you are an familiar with linux you will occasionally see it shine through, such as in the full file browser that you occasionally get when uploading something to various websites such as the Pixlr online photo editor. The biggest additions from just the browser are clock, wireless, and battery icons in the top-right corner, and the very beefed up (when compared to the browser, but still very basic) settings menu. In the settings menu you can adjust date and time settings, clickpad sensitivity, toggle tap-to-click, change the language, edit network and proxy settings, and add or delete which Google accounts are synced to the netbook. 
    I could stray further into the technical side, but I will get back to the UI metaphor side of things. The largest UI addition is the ability to "pin" a tap. This makes a tab permanently open and active, but as a 1/4 size mini-tab in the top left corner. It is a great idea, as you can leave a settings tab and a GMail tab always open and ready. There are a few points where Google is forced to fall back partially on some desktop metaphors, such as the super basic file-browser used to upload files to most websites. The file browser comes up as a small window (which is amazing, as almost everything else comes up in another tab) that only shows what it is in the downloads folder and doesn't even allow you to go back up a level in the folder hierarchy (a large note here: I have talked already about Google's work on a label-based file. Google has implemented this in GMail but no one has had the resources as of yet to step up to the large challenge of designing a machine level file system which uses this concept, however work is currently being done towards achieving this.) unless you are intrepid enough to enable the 'advance file system' in the 'about:flags' menu, as I did. You will also get a small window for a notification such as failure to connect to a network. Perhaps the best use of reverting back to the 'window' metaphor is in the google-talk extension. The google-talk extension allows you to have gchats, or video or audio calls in a window which is not tied to the GMail tab, this is great for chats as you aren't constantly going back to the gmail tab, and did I mention that you don't have to keep...going...back to the GMail tab to chat with people. The feature is still very much beta as sometimes it freezes and other times it fades in and out inconsistently, though I am sure google will have the bugs worked out for launch. Google talk is currently considered an 'extension' in the task manager, which gives me hope that developers will be given access to right extensions which can use windows as well. The last thing you will see as a windows is the only, to my knowledge, actual local application (though even it is tied to the internet as I will shortly explain), it is 'Scratchpad.' Scratchpad is a very simple word processor, and I mean very simple, there is one font and support for save, delete, bold, italic, underline, as well as bullet and numbered lists. It is indeed very simple, but it is what I am using to write this review. It does have automatic syncing with your Google account (if you haven't noticed, everything in Chrome OS syncs with your Google account). 
    Now for some broad conclusions, which I hope you find satisfactory. I think that Google has accurately diagnosed the main thing holding netbooks back, and also given a fitting solution, which now makes netbooks very viable computing machines. The lightweight linux base with nothing but Chrome atop it provide a stable and snappy experience. Really, the performance truly rivals traditional desktops by cutting out all the heavy local software, leaving the horribly underpowered atome processor to devote all it has to very few tasks. On top of the lightweight OS, google has made definite strides in Google Chrome javascript performance as well with the new Crankshaft engine. In all of this I want to make one thing clear, I am not condemning the desktop. I still rely on the desktop for many things (Windows for games, and ubuntu for computer-geeky stuff) but I want to broaden your understanding of computing, such that you correctly interpret the aim of Chrome OS. Instead of looking at the UI metaphors which Chrome OS lacks, look at how it pioneers new UI metaphors in the browser. It showcases the web as an up and coming, and completely viable alternative, laying the framework for more intensive web-based apps as internet connection speeds and javascript execution improve. I think that Google has made the right decision by developing a web-platform early, and not waiting until it is too late. 

I apologize for not making any recent blog posts, and I hope that this HUGE post makes up for it.


4 comments:

  1. I like the idea of a web-based OS, but I don't honestly think it will be too popular with the masses, especially with the older, more-used-to-the-Windows/Mac-way-of-doing-things crowd, or even with me. Of course, I'll try it and give it a solid chance.

    ReplyDelete
  2. @Taylor
    I write a 2400 word blog post and all you have to say is that you think a web based os will not succeed. Surely you have something more meaningful to bring to the discussion. But if not, it's ok.

    ReplyDelete
  3. Am I never allowed to hold my beliefs publicly like most? I almost always praise the good of things, and now it's my turn to criticize the bad.

    ReplyDelete
  4. Fair enough Taylor, fair enough. I think what Matthew is trying to say is that it's completely fine to bring criticism to the table, he just wants a little more criticism than no one will buy it.

    ReplyDelete