Geir Arne Brevik, January 29 2006:
Five things I want from my next OS
A favorite theme among some Mac bloggers are what improvements they’d like to see in the next iteration of The Mac OS (now 10.5 “Leopard”, slated for late 2006/early 2007). The thing most of them agree about is that the Finder should be redesigned/rewritten.
I agree, the Finder sucks. And Microsoft’s Windows Explorer, for that matter. But I want more than just GUI adjustments and a performance boost. I want some fundamental changes, not only in the Finder, but in the way the OS handles data. I want an OS that takes note of the following:
- Today’s computers are still far too difficult to use
- I have millions of files
- Because of the internet, the computer can be a collaborative tool
- My computer have enormous amounts of memory, hard drive space and processing power
The last point is interesting, because too much attention have been directed to using the computing resources to power graphics and various other effects. Just look at the gloss and translucency-fever that started with Mac OS X, and now have reached ridiculous heights with Windows Vista. Don’t get me wrong; graphic effects can be both fun and useful, but why not use the power to make the computer easier to use?
I have some ideas. Well, I’ve probably picked them up from various places around the web or in books, so it’s more like a collection of the ideas I find the most important. The most inspiring book I’ve read about this is Jef Raskin’s The Humane Interface. It’s radical, and made me question stupid things in my computer I used to just accept.
Raskin’s book suggests a complete rewrite and re-approach to human-computer interfaces, and has resulted in a project called Archy. That’s cool, but I want backwards-compability. So my suggestions are based on things I think can be possible within a regular OS upgrade.
Too much talk already! Here are my humble suggestions:
1: Why boot? Why not session saving?
Responsiveness and predictability are two very important usability aspects. I want my applications to start over where I left them when I quit them. Many applications, like iTunes, do that already. Saft gives me that functionality in Safari. I want that in every application, and in the system itself.
And I want instant boot; a computer that starts up in about a second. Jef Raskin designed a computer named Canon Cat that had this functionality in 1987. If that was possible almost twenty years ago, it should be possible now.
2: I want auto-save! Why should my data be in limbo?
Have you met a computer user that not once have lost data because she forgot to save before a crash? How many times have you lost data that way? Come on. Be honest.
The problem is easily solved with auto saving; the concept that input data is saved once it’s entered into the computer. Why? Because when you enter something into your computer, you don’t do it because you want to lose it. Make delete an option, and saving default!
3: Versioning, sharing, forking
I work as a programmer, and use Subversion for version control. It’s ok to use, and certainly better than it’s predecessor CVS, but it’s not as easy to use as I’d want to. I find it really, really strange that not Microsoft or Apple has built this into their OSs, considering that the software itself was written with the help of version control systems and how incredible useful such a system is.
Version control is cool enough when you’re working alone (think really unlimited undo), but shines as a life- and project-saver when you’re working together with someone else. So the version control system in my dream OS should have close ties with the file sharing features. Here, you should be able to share a file or a project (“tag”, see under) on either a local network or over the Internet, for “read-only” or “group editing with versioning”. It should be possible with one click.
A cool feature with version control systems, is forking, the ability to use one file/project as the source for two or more new projects. Think of it as a very adaptable template-system, ready for any filetype.
4: Advanced search / Reborn command line
Forget everything Steve Jobs has told you. The search in Spotlight is not advanced. OK, the indexing is advanced (and a resource hog), but it still faster to find things on the web than on your own hard drive. The main problem is; you can’t exclude items from your search, for instance make a smart folder that holds all files that contain the word lego, except e-mails.
But the ability to write smarter search queries should just be the beginning. Because, what is a search field, other than a dumbed down command line interface? (CLI)? The OS makers should take a note from the popularity of tools such as LaunchBar and Quicksilver, that really are cool CLIs in a graphical user interface (GUI). But wait, aren’t CLIs user-unfriendly and a ghost from the past? Well, no, not always.
One notable way a CLI differs from GUI, is that you can add as many functions you’d like in a CLI, without cluttering the interface. If you keep adding features (buttons or menu items) to a GUI, you easily end up in a confusing rubble (Microsoft Office somehow comes to mind). An example is Google’s search bar (the world’s most popular CLI), where the ability to search for site:no "pineapple juice" -sugar does not make it harder to search for pineapple juice.
We should be able to make a query for a file and say what to do with it, like this: do:email image.jpg to:friend@friend.com (yes, I know I used a file extension there, but it was easier to make this point that way) That’s just an example. If you open the possibilities of bridging the gap between the CLI and the GUI, any kinds of cool things could happen.
Why not put the search field/command line up in the menu line, always accessible?
5: Tagging, not folders
When Spotlight came with Tiger, some started predicting the death of folders. Search would be enough, and smart folders would auto-update those search results. Guess what; it didn’t change that much. For two reasons:
- The search query language is not powerful enough (see over)
- It’s way too cumbersome to add metadata (data about data)
You can add arbitrary metadata to files in today’s Mac OS through the Finder’s Get Info-window, but who uses that? We should be able to enter metadata when we save and edit a file.
But what kind of metadata? I suggest “tags”; keywords that are defined on the fly by the user (as opposed to a pre-defined set of categories/labels). For examples on the power of tags, look no further than popular “web 2.0”-applications like digg, Flickr and Technorati.
In a file browser, each tag should be accessible, much like a folder. But unlike regular folders, one file can reside in several “tag folders”. This is comparable to labels in Gmail and playlists in iTunes, two extremely successful applications.
You should also be able to select multiple tags at once, to filter your searches, and easily edit tags within this file browser.
Tagging is adaptable, as you can change a file’s tags as the content of the file changes. You can focus on building your own vocabulary, rather than struggling with a hierarchy that’s probably not very well thought trough, unless you’re a librarian. And as Vannevar Bush observed a problem with hierarchal information structures is that it doesn’t reflect how the human mind works with free and wild associations. If you do tagging right, you would end up with a more human-friendly computer interface.
Wrapping it up
That was a lot. I really hope I will see all this features on my computer within a couple of years. I know that Windows Vista will have a much improved metadata feature set, but my concern is that the Microsoft-ish user interface will kill off any usability/efficency effects. Because that is really the problem with suggestion 3, 4 and 5. A built-in versioning system is useless without a extremely user-friendly interface. A powerful search interface won’t be used if it’s too slow. A system with “tag folders” is not very cool if it alienates the users.
Maybe I’ll revisit implementation of these concepts in later blogposts. Until then, I think you should tell me what you wish for in your operating system.
