We hail those who attempt to create new operating systems from scratch. They are the leaders, the visionaries, the influencers of this great tech-age. There will always be only 2 areas of how an OS can be great – great marketing (which provides great third party support), and great design. Microsoft has always invested more in the former, and Apple in the latter. This article discusses some design aspects. Update: The article has been updated at several places.
The most important thing during a startup I believe, is to learn from the experts who have created great operating systems before. Like Mac OSX or BeOS.
Designing an OS for the masses is about creating that ultimate user experience. It is about designing something to increase workflow and productivity, without having the users fiddling around with the default settings just to get some tasks done. The masses are those who are afraid of a command-line interface (CLI), and if a Graphical User Interface (GUI) is designed with a CLI as a central core or generator for everything else, it is designed to fail in its mass appeal.
Although I’m primarily a Windows user, I believe I know why the Mac GUIs have such a long standing in their user friendliness. Many users who have had no prior computer experience have been captivated by the Mac GUI and stuck with it over the years despite the instability and sluggish performance. The secret to this success lies in the hiding of its CLI. The Mac OS designers have gone to great lengths to either eliminate the CLI (older Mac OS), or hide the CLI (Mac OSX). Microsoft knew from the start the importance of hiding the CLI (DOS) and “borrowed” the idea from Apple. Hiding the CLI meant that everything that could possibly be done should now be possible with the GUI. With this regard, Linux may never take off as a desktop OS, as long as the CLI is kept in the foreground, and that users would still have to grapple with it, even if it’s a simple command.
Everybody knows and has seen the three ugly, top right buttons found on Windows, whichever version it may be. Apple and BeOS designers know that although the buttons work, they’re unappealing. They know that the ultimate user experience is formed by locking together design and function. They’ve endeavoured to design smarter, slicker and more beautiful looking navigational qualities that do not detract from the function. Although the issue of aesthetics is subjective, I’m sure that many agree that the Mac OSX Aqua aesthetics beat the Windows equivalent hands down. I remember when I first used the Mac Classic interface, everything worked like charm – I knew how to click, I knew what to click. It was easy to get things done. This wasn’t so with Windows95 – it took slightly longer to grasp the essentials before actually being productive, and boy it was sure ugly in comparison to the Mac’s interface.
What has aesthetics got to do with GUI design? Everything. Aesthetics are what people are willing to pay for in this world – designer clothing, designer cars, designer goods, designer houses. Image is what many companies and corporations set out to create. A good-looking GUI will entice the user. It would drive some obsessed users to put up with it no matter how painfully slow the system is.
In my humble opinion, the Macintosh OSX and BeOS user interfaces are THE GUIs to learn from. Not Windows. Taking a calculated guess, Microsoft may have a team of UI designers tearing Mac OSX and BeOS apart to “borrow” some
ideas from these great operating systems. Microsoft has been doing this for so long – “borrowing” open source code and ideas from others and turning them into huge profits that it’s not funny anymore. I’m therefore trying to
understand why UI designers or start-up OS creators strive to make their designs look more Windows oriented: it’s like taking the leftovers and throwing it back into the stew pot again.
Scot Hacker’s article, “Tales of a BeOS Refugee” was the best OS article I have ever read. This bit about interface design is excellent:
“…it is difficult to describe how visually beautiful OS X is. Screen shots don’t do it justice. Much has been said about animated elements in OS X — dialogs that slide into position, the “genie” effect upon window
minimization, the poof of smoke that appears as you drag an item out of the Dock, etc. But the important point about these animations is that they aren’t just eye candy. Each of them is a carefully designed quantum of feedback. The OS is informing you non-verbally where something has gone or what needs to be done next. These UI cues are clear enough to speak for themselves, but unobtrusive enough not to annoy power users.”
I observed that on the average only 1/1000 actually did something to the initial interface of Windows when I worked as a tech-support in a large telephone company servicing 1000+ users. That means that general users either didn’t know how to modify the look of their GUI, or only cared about work productivity and management. Some may say that this isn’t so for home users, and that home users prefer customised design. I beg to differ. All my non-technically abled friends and family seldom, if ever, alter the
aesthetics of their home computers, be it Mac or Windows. My brother’s computer of which I’m typing this article from, is running the standard original blue-colored WindowsXP. He finds it annoying when I perform changes
to the default interface or when I demonstrate to him that it’s possible. The most I have seen general users been able to do or be bothered about is changing the wallpaper.
With these observations in mind, default interfaces should be attractive, slick and extremely easily to grasp. Be it navigation, file searches, opening and closing applications, window positioning, resizing, maximising,
minimising, drag dropping.
My greatest peeve about Windows apart from the three ugly buttons, is the ability to resize windows by simply highlighting the mouse over the edges, as this has created my fear of accidental clicking. Another dislike is that there are sometimes too many ways to do to something specific, or having too many ways to get to one place (like components of the Control Panel in Windows) as this confuses users. Sometimes, having things too customisable or feature packed isn’t necessarily a good thing. Mac and BeOS have done this right, having the right balance by not having overly bloated or inefficient GUIs. The ability to skin everything would be great of course, but here we are primarily dealing with default interfaces. These are the initial impressions people get when they’re pulling the GUIs out of the box, or when they’re looking at a screenshot.
These important default initital impressions are:
– dialogue boxes,
– text editor screens,
– hierachial menu design,
– navigational buttons design (close, open, back, forward, resize),
– icon scalability (new vector based OSX icons are amazing),
– scrollbar design,
– newly opened windows that correctly fit within the screen resolution
– window positions are remembered when closed and re-opened.
– simplicity in default design eg. simple window borders
– pulldown menus
– radio buttons, crosses, ticks
– confirmation buttons
– virtual workspace navigation
– universal drag and drop ability (Windows)
– proper well known keyboard shortcuts
– taskbar or docking area (BeOS has its at the top right which is also very nice)
– typography and correct font usage. Serif fonts are much better than Roman fonts for UIs for wider mass appeal, however it varies at different sizes, Apple design employs a special Roman styled font when the font gets larger, and is Serif when used for smaller bit. There is a whole market on industry that resolves around correct typography usage and design (including anti-aliasing).
– the ability to hide things easily (correct right-clicking usage)
– settings, customizations and or preferences all in one easy to access place.
– last but not least, correct colour employment, proper or no gradients, pixel lines and anti-aliasing.
…and the list goes on. When the OS starts up for the first time, everything should look complete and function perfectly using one’s common sense. The last thing a new user wants to do is to contact tech-support and
discover that the implementation was in fact there, but common sense couldn’t get him or her there. Keeping in line with the old adage, “Keep It Simple Stupid”, is a good strategy to follow.
This is the part where it gets tricky – hardware support, application support, and what the OS should be able to do on initial boot up without the need of third party software. With today’s computing power and cool hardware, I believe the basics of a good mass appeal OS that should allow you to perform these things at a click of a button, hassle free:
– Networking (plug in the Ethernet cables and you’re done)
– Proper Application binding (extensions) and Filenaming systems
– File system navigation (learn from BeOS FileSystem including image viewing and previewing)
– File tracking and searching (learn from the good points of BeOS Tracker, OSX Finder and Sherlock)
– Watch and edit DVDs, MPEG, Quicktime (Learn from iMovie, iDVD, personalStudio)
– Simple image editing (Mini-Photoshop)
– Listen to 5.1 DTS Dolby enabled sound (learn from Mac iTunes and BeOS Soundplay)
– Encode music (learn from Mac iTunes)
– Email (learn from BeOS/AppleMail)
– Internet Browsing and FTP (learn from Internet Explorer and Mac)
– ICQ and IRC
– DVD & CD burning (yes, you heard it – DVD)
– Creating disk images (like Norton Ghost but simpler)
– USB support (instant plug and play for digital video cam, digicam, webcam, printer, scanner, joystick, gamepad controller)
– Scripting (learn from BeOS scripting)
– It should come an optional of a Office Suite (Office X).
And this list is only the beginning, basic computer needs and usage are constantly changing and growing. But the list represents what a “basic” user OS of today (Dec 2001) should contain.
The essential core of a new OS would only work well if it is fast, lightweight and employs efficient multithreading and multitasking. Mac OSX does not perform so well in this area but BeOS sure does.
Other functions that are important for possible “Server” editions include support for multiple processors, all the common networking protocols and formats, dumb terminals (which are great for internet cafes, libraries, information kiosks), multiple-users, restricted access and security. The possibilites are endless.
Imagine all this for free…
We conclude the article with this tongue-in-cheek question -Is this too much to ask for?
About the Author:
Desmond is currently studying architecture at an Australian university. Due to the changing nature of the architectural industry, architects have to learn and grasp different computer technologies and different types of OS. He has to engage and learn different multimedia, CAD, and documentation applications between systems and file formats all the time. He currently runs a small personal web site, http://dezzo.net (often offline) from an AMD AthlonXP 1500 running IIS v5, and has maintained an interest in OS development since the DOS running on XTs days. Desmond can be reached on firstname.lastname@example.org.