Published at 6:13pm on 20 Mar 2007
Mozilla has been used as the basis of a revolutionary web browser and email client. Now it seems set to take on the operating system too. But is the Mozilla brand of innovation really what is needed to inject new life into desktop operating systems, or do we need to look backwards, not forwards to make progress...?
A recent discussion on the mozilla.dev.planning forum has given rise to the idea of creating a new desktop operating system using Mozilla as a base.
In some ways, using Mozilla as a base for the GUI part of an Operating System (OS) makes a lot of sense. Mozilla makes it easy to write data-driven applications that need to display pictures and formatted text arranged in multiple windows - which is pretty much all an OS does from an interface perspective. The more sophisticated aspects of an OS, such as memory management, file handling, application linking, etc are all quite performance critical, but these would presumably be implemented by using an existing open source UNIX kernel, such as FreeBSD or Darwin (the kernel used by Mac OS X).
The idea has met with an enthusiastic reception on Slashdot, but already from the article posted there I can see why this may be doomed to fail:
Mozilla has to expand some of the applications for this to work, though, like adding local file management with Firefox.
WTF? Do these open source hippies really have such a poor understanding of what a graphical operating system is that they still don't get that web browsing and desktop "browsing" are distinct activities? No wonder I've never seen a Linux distro with a good GUI.
The merging of Internet Explorer with the desktop window manager is generally regarded as one of Microsoft's least brilliant UI decisions. Apple are still getting flack for making the OSX Finder more browser-like and losing the spatial consistency of the Classic Finder.
You can't make a web browser, even a very good browser into a decent desktop operating system by just slapping on local file access capabilities. For a start this approach immediately leads to security issues:
The Internet is untrustworthy. I don't mean that it's a sinister government conspiracy or anything, I mean that you can't trust that everyone on the Internet isn't out to screw you. Web pages can contain all kinds of malware. Files you download may contain viruses or trojans. Your browser is designed act as barrier between the safety and comfort of your desktop and the dangers lurking on the Web. When browsing you can (or at least you should) always be certain of the difference between local and remote files. A web site cannot access your information unless you specifically give it permission, and even then it doesn't let you sign your security away, it makes you manually approve each data transaction, even when it may seem inconvenient:
Are you sure you want to download this? Yes. Are you really sure? you know it's got an application in it, right? Yes. Please select a file to upload, etc.
Sometimes it would be nicer if a browser could just save and read files without asking every time, but as Microsoft demonstrated with their ActiveX debacle, sacrificing security for convenience is a bad compromise.
Now I'll give the Linux guys some credit, they get security. I have no doubt that they can build local file browsing into Firefox in a secure way, and (eventually) track down any and all exploits that emerge. What I don't understand however, is why they would want to.
Because, security aside, Firefox would make a terrible Finder replacement. When searching the Internet, you are generally looking for information, not documents. People often use Google search to find sites that they are too lazy to bookmark or remember the URL for, but this is really just a sign that bookmarks and URLs aren't very well implemented in their browser. The primary purpose of a search engine is to find specific nuggets of information that you don't know are there.
Lets say you perform a Google search for "dog training". Are you looking for dogtraining.com? Probably not. You may end up there if it turns out that it's any good, but you might equally end up at doghandlers.org, or johnsdogs.co.uk or even genericpettraining.net. What you are looking for is a good source for information - you don't know what that source is until you find it. Google's job is to give you a kind of democratically elected top-ten list of dog training sites and let you pick the one you like best.
Compare that to a desktop search. When you search for "dog training" you aren't looking for a useful resource about dogs, you are much more likely to be looking for the specific document you wrote (or your friend sent you) last week which you now can't find because you put it somewhere stupid, or didn't give it a sensible file name. You already know that the document exists, and which document it is, just not where you put it.
So what has Google got to do with browsers? Well, I've demonstrated that the desktop search and Internet search paradigms are different, but this is equally true of browsers. A web browser is designed for searching an unfamiliar archive of hierarchical files. These files are (hopefully) designed so as to make it easier to navigate them. They are primarily textual, with each file providing a description of its content and purpose, and containing links to all related files.
But on a desktop it's a completely different situation. Every file and folder in your document archive is there because you put it there. You named them all, you placed them all, and you created them all (or at least had some idea of there content when you downloaded them or got them from a friend). You shouldn't have to search these files to find the one you want. When you browse them, you are usually browsing them by name, not content. You don't need to open a file called "index.htm" every time you open a folder on your hard disk in order to know what's inside, as you do with a web site.
Browsing content that you are familiar with is a completely different experience than browsing content that you aren't, and requires a very different approach. The web is like a giant disorganised heap. There are pockets of order in it, but to find some specific content you first have to locate one of those pockets using a search engine or bookmark, and then you have to navigate though it, usually in whatever order the designer intended you to. Your desktop however is already organised according to how you think. It may be messy, but any structure it does have will be based on your own rationale, and hopefully that means that most of the time you know where to look for things.
At the risk of sounding like an anachronistic old fogey, old operating systems didn't have metadata, or search-by-content facilities, yet everybody managed to find things okay - better in fact than they can now. That's because back before we could search we were forced to put things in sensible places, and give them sensible names. (Okay, so it's also partly because we had less data back then...)
And the OS (at least, the Mac OS) respected that. Folders were not just collections of files as they are now, they had a definite 2-dimensional structure and position on the desktop. You could put all your important applications next to each other and there was a reasonable expectation that they would still be there when you came back to them later. Sometimes something logically belonged in more than one place, and this is where aliases came in. Aliases (or "shortcuts" for you Windows folks) let you put a file in more than one place, so that you could browse according to different paradigms depending on your mode of thinking. This as known as the spatial Finder, and its demise is why people still whinge about wanting to FTFF.
Windows, Linux and Mac OS X changed all that. Desktop windows are merely disposable views into the file system, not representative of its structure. And file locations are now typically sorted according to document type, as defined by the OS or application that created them. Applications go in the applications folder. It doesn't matter if it's a game or a word processor or a graphics package - if it's an application it goes in "Applications". Pictures go in the pictures folder, music in the music folder, iTunes music in the iTunes music folder, etc. You can sometimes override these decisions, creating sub folders or even moving files to another location, but often this breaks things. Your desktop is organised how your applications want it to be, not how you want it to be.
Aliases still exist, but I don't know anyone who uses them for any purpose other than putting commonly used items on the desktop. Even this is now discouraged, with specific places on the computer now allocated for placing aliases (the sidebar and Dock in OSX, the Start bar in Windows, the whatever idea they've ripped off in Linux). Of course these often don't look like aliases, which just adds to user confusion.
Aliases have been replaced by new concepts such as smart search folders. Rather than a folder full of aliases to commonly used files, you have a folder whose contents are the result of a search, which is dynamically updated every time files are created or modified. It's clever, but it seems to me like an Internet-type solution, not a desktop solution. If you want to keep all your invoices together, why can't you put them all in a folder called "invoices"? If you want to keep each one together with other related documents as well, use aliases. Why don't we do this any more? Is it just that we are too lazy, or is it because operating systems have evolved in a way that makes this kind of association-building seem less worthwhile? Do we not bother arranging our desktops so carefully now because we have less confidence that our OS will preserve the spatial associations we have spent so much time constructing?
Another problem is that the question of what exactly constitutes a "document" is now less certain than it once was. To my mind an email is a document, just like a music file, a photo or a spreadsheet. So why is it that spreadsheets get saved as individual files, with the user given complete control over their location and naming, and yet with music and photos we let iTunes or iPhoto completely decide where they get put and what names they are given? And emails are even worse, they are often munged into a single, possibly non-human-readable file, saved in a non-obvious location with a meaningless file name. Why is this? Is it purely for reasons of performance, or is it a tacit admission by the application designers that the Finder (or Windows Explorer, or whatever) is not fit for purpose as a general file browser, so every application must instead take complete control of browsing and archiving its own documents?
I think we need to rewind. I want control of my files back. I want to be able to see and manipulate every document from every application in any way I choose. I want to always be able to tell at a glance whether a file is an alias or the original. I want to know for certain when I delete a file in iTunes whether I'm deleting it from my hard disk or just my music collection. I don't want applications that look like file browsers but aren't, or vice versa. And I want a file or folder to retain its exact position on my desktop - it's not enough to just remember that it's in a folder, I want it to preserve the placement and positioning of files in there as well.
The only problem though is how to handle the millions of contexts and applications in which we might want to deal with these files - updating alias lists would become a full time job.
There are some web technologies that I believe may enhance the desktop experience (though I don't think web browsers or search engines are amongst them). I like the idea of tags. Tags are short (typically single-word) text descriptions for a file or web page. I think this kind of meta-data could be great, but only if done properly.
My idea is this: Your OS should have a global list of tags, such as "game", "spreadsheet", "puzzle", "shootemup", "text", "graphics", etc. Every time you save a file you should be prompted to add one or more tags in the file dialog. You'd select these tags from a list, or create new ones if none of the standard ones applied. Applications would also add their own tags, so Photoshop might tag an image with "photoshop adobe image jpeg cmyk", and then it would be up to you to add "llama tree lake egypt", etc.
This wouldn't replace existing file metadata such as creation date, or dimensions for an image, but it would be explicitly designed for the purpose of organising files into multiple context-dependent organisational sets without disrupting its primary hierarchy. Smart folders would now really come into their own. Instead of the (relatively useless) function of creating folders containing any file with the word "invoice" in it, you could now create a folder with files tagged invoice. That's much more desirable because it wouldn't automatically be filled with emails asking you about invoices, or a PDF you downloaded about how to write invoices.
What if that one tag wasn't sufficient (someone might have tagged the PDF you downloaded with "invoice" as well after all)? Then you would just create a new tag to indicate invoices of the correct type, such as "charcoaldesigninvoice", or set up the folder to only show files that are tagged "charcoaldesign" and "invoice".
To really work well, it might make sense to add name spacing to these tags. You could then create user-specific tags such as "nick:invoice" without conflicting with other more generic tag definitions.
Using an approach such as this we could avoid the horrors of modern desktop navigation. iTunes wouldn't have to copy all your MP3s into a new folder hierarchy, or maintain a list of aliases to files which might be deleted or renamed at any time. Instead it would simply show any file on your hard disk that has the "itunes" tag. Don't want the file in itunes any more? Delete it within itunes and the itunes tag gets removed (or, more importantly, remove the "itunes" tag from within the Finder and iTunes magically removes it from its database). Want to get it back but can't remember what it's called? Search for all music files that don't have the "itunes" tag. Easy. And most importantly you could switch between iTunes and some other music browser without having to completely reorganise your music collection.
Email would be the same: Keep all your emails in any folder structure that you like on disk. To add them to a new folder, just tag them with the folder name and they magically appear there. To remove it from that folder, remove the tag. To delete it completely, just trash the file.
The desktop is not the Internet, and you shouldn't be expected to secede management of your files to the strange and alien whims of 3rd party application developers. You shouldn't be reduced to searching for files you wrote by content because you never had any say in the name or location of the file. And if you put something somewhere on your desktop, you should expect it to stay there, not quietly disappear and re-appear magically somewhere else in a different context. It's time to take back our desktops and bring back the spatial Finder.
Disclaimer: The opinions expressed here are those of the author and are not shared by Charcoal Design unless specifically stated. The material is for general information only and does not constitute investment, tax, legal or other form of advice. You should not rely on this information to make (or refrain from making) any decisions. Always obtain independent, professional advice for your own particular situation.
How has this changed?
That's very interesting.
Isn't this still true of icon view?:
"Folders were not just lists of files as they are now, they had a definite 2-dimensional structure. You could put all your important applications next to each other and there was a reasonable expectation that they would still be there when you came back to them later."
So, what has changed on the Mac in that respect? There always were list views and icon views weren't there?
"I think we need to rewind. I want control of my files back. I want to be able to see and manipulate every document from every application in any way I choose. I want to always be able to tell at a glance whether a file is an alias or the original. I want to know for certain when I delete a file in iTunes whether I'm deleting it from my hard disk or just my music collection. I don't want applications that look like file browsers but aren't, or vice versa."
Yes, yes, yes! I hear choirs of angels endorsing this as I read it.Reply
Posted by David at 04:44am on 22 Mar 2007
Re: How has this changed?
"That's very interesting.Isn't this still true of icon view?:"
No, not exactly. The actual 2D positioning of Icons is preserved still, but in Mac OS X, unlike Mac OS 9, you can have multiple views of a single folder. On mac OS 9 if you opened a folder many times it would always take you back to the same window - on X it treats the window as one of many possible views of the folder - not the folder itself.
List view is therefore a property of the window, not the folder. If the icons are sorted in list view it just means that that particular view is sorted that way - if you close the window and later open that folder again in another window it won't preserve those settings.
It also doesn't remember where on screen the window was supposed to be, or its size, or its scroll position. Basically nothing about the folder view is preserved as as a property of the folder, only as a property of the particular view you are using. If you use the back or forward buttons, the association between that view and that folder are discarded, and instead that view's properties are transferred to whatever the new folder you are viewing is.
"So, what has changed on the Mac in that respect? There always were list views and icon views weren't there?"
Yes, but before a folder was either in list view or icon view - it couldn't be both simultaneously in different windows on screen. You cannot now *keep* a window in list view, let alone keep it in list view, sorted by date with a window 200pixels wide and located in the bottom left hand corner of your screen. If you do, any finder browsing action you take is liable to destroy those settings.Reply
Posted by Nick at 09:21am on 23 Mar 2007
I always hated...
...the old spatial finder thing. Seemed like every time I opened a folder, the files were scattered all over the place. Why couldn't Mac OS X put them in an alphabetic grid? Alphabetic lists make SENSE and they're easy to use!Reply
Posted by Yakov Hadash at 3:27pm on 31 Mar 2007
Re: I always hated...
Yakov Hadash wrote:
"Why couldn't Mac OS X put them in an alphabetic grid? Alphabetic lists make SENSE and they're easy to use!"
Well yes, that's true. But date-ordered lists, or lists ordered by popularity, or lists that have the most important items at the top all make sense as well to the person who ordered them. The Mac never *stopped* you ordering your lists alphabetically - it just didn't do it without asking you first.Reply
Posted by Nick at 4:23pm on 31 Mar 2007
I'm not sure you're right
... yet I agree with you entirely. I've been using the Finder since 1.0 and can't say it's gotten better since then, yet I've always had a nagging suspicion that this was my fault for not knowing how to use it correctly. You seem to have confirmed my worst fears about this: it's not me, the Finder really does just suck.
I was at MacWorld Expo when they introduced this idea of a side-scrolling columns view, and my reaction then was the same: this must be smart and maybe I just don't get it. I still don't. Why again is it revolutionarily better to have folders contents open to the right?
I've been wishing for a decent tagging system for as long as I can remember. It should be an embarrassment to Apple that the best they can do is a "color label" system of 7 colors, a feature that is essentially identical to what it was the day it was first introduced back in the pre-OS X days.
I've had to install a third party extension into Mail.app (called MailTags) that does what Apple should have done, but in fact, now that you bring it up, they should do it for the Finder as well.Reply
Posted by Michael at 08:26am on 08 Apr 2007
I have always found that OS X tiger respects my file browsing preferences.
Once I tell a folder that I want it to show me the icon view organized how I want it for this folder, every time I open said folder, it resizes and switches to that view. Of course, this is probably because I tend to use the finder in OS 9ish mode (click the little thingamy on the top right of the window and hit cmd-1)
Shortcuts also are fairly obvious, they have a little arrow in the corner, which I seem to remember they always have had.
A good thing the new finder has brought us, however, is that we no longer have the horrors of Icon Pictures on installer CDs, as OS X allows you to set backgrounds for the folders.
Posted by a reader at 12:39pm on 19 Aug 2007
Re: Folder Views
a reader wrote:
"A good thing the new finder has brought us, however, is that we no longer have the horrors of Icon Pictures on installer CDs, as OS X allows you to set backgrounds for the folders."
I don't have a problem with anything that OS X has *added* to the Finder, except where it encourages sloppy design of other applications, but I do object to the things it has taken away or changed without reason.
And though I agree that with the sidebar hidden, Finder windows do offer a reasonable approximation of Mac OS 9 behaviour, this is clearly a legacy option. Any innovations made to the Finder now will assume that you are using the browser window paradigm, and if you choose to use the classic window style then you can be pretty sure that your Finder experience will be stuck in the 1980s until such time as Apple drop the option altogether - it's a dead end.Reply
Posted by Nick at 11:33pm on 19 Aug 2007