Who made who: Apple vs Microsoft vs all others

June 20, 2007

The “who stole from whom” on Microsoft vs. Apple UI discussion seem to renew again with the release of Windows Vista and the upcoming release of OS X 10.5 “Leopard”. With implementation of hardware destkop acceleration in Linux (thanks to Beryl/Compiz project) overall mess has only increased, so some freaks even state that Apple “stole” cube effect from Linux (sic!).

Fortunately, we have internet, books and other media to help us find the truth out.

Short story

As you may already know, today’s GUI is a far offspring of Star UI developped by Xerox PARC. That’s it: during the 70th, PARC used to be a blacksmith of what we now call “graphical user interfaces”. Nevertheless, with Xerox losing interest to its own computers and concentrating on copier machines people started leaving.

If you try to trace biographies of some of PARC’s leading UI researches you’ll also ind out that many of them used to work in Apple as well. This looks familiar, right? Apple not only managed to get some of the best designers in the industry, but also got rights to use some graphical interfaces already created by Xerox.

So, what does Microsoft have to do with all this? The thing is that Apple has licensed Microsoft some of its UI in return for some investments and the promise to continue development of the Office suite for Mac.

So, Apple made it first. But even before Apple there was PARC. Microsoft “lent” some ideas from Apple and often had a “catching” role. But if you think Microsoft is researchers are only working with photocopiers and steal Apple GUI (I’m not talking on Linux as in general it has brought nothing new into the UI world) try to look at this page 😉

Long story

Some references you may find useful:

Further reading

To anyone having interest in the history of graphical interfaces let me recommend some interesting reading sources:

http://www.designinginteractions.com/ Site, dedicated to a book with the same name, “Designing Interactions”. Even though somechapters are available for free I do strongly recommend buying the book itself. Some of its most interesting parts cover the history of the very first computers’ creation, the appearance of the Desktop metaphor and interviews with people benind these wonderful inventions.

http://www.guidebookgallery.org/ – a visual guide to the history of modern operating systems. Ever wanted to compare interfaces of Apple II and Windows 1.0? Go and try it yourself. Must be bookmarked by any GUI


Smart grid control idea

June 20, 2007

Enough talking of fruit operating systems: there’re some other interesting things to discuss.

A couple of years ago, when working on some applications’ UI I’ve found out that existing grid controls utilize space very ineffectively. In fact, they waste it: even if there’s enough space to display all needful data, user must manually adjust columns’ width each time:

iTunes grid

Annoying? For me, it is.

So, in order to solve the above problem, I tried to describe a rough draft of  the new control’s logic.

As a result I’ve got the following document: Smart Grid Control mock-up (PDF, 200kb).

To my shame, this document has never been finished and so far I know no implementation of similar logic in real life. So, if you have any interest in this work, pick it up and feel free to share your ideas.

Think different: some hints to Mac switchers

June 10, 2007

Even though all modern Desktop operating systems use the same 30 year old metaphor of an office desk with folders and files on it the resulting experience of using them differs greatly. And while Windows Desktops hold about 90 per cent of the market Mac OS X might be the most interesting and worthy alternative to it unless you’re a poor student or OSS zealot.

No matter if you’re coming from Linux or Windows you must be ready to face some challenges. No, Mac OS is not harder to use, its just different. So, say good-bye to your old habits and welcome to the real world.

Here’re some basics to ease your migration process:

Mac is not Windows (neither it is Linux)

Your Windows and/or Linux habits usually won’t work with Mac GUI. Think different!

  • The three magic buttons in OS X are located on the left side of each windows, contrary to Linux (KDE/GNOME) and Windows. IMHO this way they take less attention. At the same time the rightmost oval button usually works for displaying/hiding the application’s toolbar.
  • The “Red cross” button doesn’t necessarily close the application. In most cases it offers “get out of my signt” functionality i.e. closes current document and hides the program into Dock. In order to quit you’ll either have to press CMD+Q hotkey or quit the program from the Dock menu.
  • The “Green plus” button is not minimize! Instead it switches between the application-defined and user-defined window sizes. It might be confusing to Windows users at first, but thankfully there’s a working workaround to make “zoom” behave like “maximize” for some applications.
  • Dock is not Taskbar. Instead, it combines functionality of an application launcher with simple Window management features. Discussions about which approach is “more correct” may last for years, but I’m sure the Dock is step forward and this is good. You may need some time to get used to this functionality though…
  • Menubar’s right part works somewhat like Windows System Tray area: some applications place their windows there instead of Dock. And even though this area cannot be minimized, you may drag some icons off it to reduce clutter (which is rarely needful).
  • Not all versions of cross-platform software look (and feel) good on Mac. For example, you may prefer to replace Firefox with Camino, GIMP with Seashore and OpenOffice.org with NeoOffice.
  • Even though Mac OS X might be comfortably operated with a one-button mouse, it does know of existance of three-button mices with two-direction wheels as well. You won’t even have to install additional drivers in many cases. Though, left mouse button might become your #1 instrument abd you may often replace the riht button’s functionality with it.

Mac OS X heavily relies on direct object manipulation

I.e. you may perform lots of operations by using drag’n’drop. Surely, this is true to Windows and (to some extent) to Linux but in OS X this model has been moved a bit further. Here’re just few samples:

  • Select text (or image) from an application and drag it to the Desktop to save it to a file.
  • Select video fragment in QuickTime and drag the movie screen to create a clip.
  • Drag an URL text to browser’s icon to open that URL.
  • Drag and drop an Address book contact to save it as a file.
  • Drag and drop an Audio CD icon to rip the CD as aiff files.

Believe me, you can do much more than just that!

Apps are different

First of all, OS X applications are often seen to end user as bundles. Bundle is a special folder with all application’s data (except for configuration files) that looks and behaves to user like a single file. In other words, even such applications as Firefox or iTunes looks like a single file for those using it. And that’s just great: no need for users to mess with lots of garbage he shouldn’t even know about. Other interesting info:

  • Most OS X applications are distributed as disk images: double click to mount the image and then drag the application to desired location (usually Applications folder). Then unmound the disk image and you’re done.
  • Many applications may be easily moved to a different location without losing their functionality.
  • Even though installers for OS X exist, they’re usually used for complex applications and frameworks.
  • Most applications may be removed by dropping them to the Trash bin. Complete uninstallation (erasing all related data like configuration files left) is possible with programs like AppZapper or uApp.
  • Unlike Windows, OS X bundled applications are really useful.
  • Contrary to a popular belief there’re lots of alternatives for your Windows or Linux programs for OS X (more on this later).

Zero configuration and interportability

It’s a fact: OS X and many of its applications ahve very good default settings and rarely require any configuration at all. Non-critical data is usually hidden from user thus making it harder to make mess something (although there’s doubtly any protection from an idiot with root password). Interesting facts:

  • Most applications (and system itself!) “just work” without a need to spend lots of time on preconfiguration. OS X apps are written by sane people and most have excellent default you don’t need to touch.
  • There’s no registry to configure hidden settings although you may find some tweakers or Terminal commands to get more control on your system.
  • Applications usually rely on system data, so you won’t need to enter your name each time (it’s taken from the Address book) or configure proxy settings for each application.
  • Many devices work by just pluggin them in, without drivers or additional efforts from your side.
  • Using wireless protocols like Bluetooth or Wi-Fi is often painless.
  • Unless you’re an expert (I doubt so) you don’t need to mess with “hidden configuration” or something.
  • Most files of standard types (i.e. MP3, MPEG-4, PDF, PNG, etc…) may be accessed with build-in functionality. For example, you don’t even need an Adobe Reader in order to view PDF files.


While on Windows you must install a third-party firewall and antivirus software in order to get more-less safe. For Mac users life is easier:

  • Firewall is bundled and on by default, you don’t even need to know of its existence.
  • Despite of some antivirus software “experts'” thoughts there’re no viruses for OS X. Windows viruses won’t harm your Mac either.
  • Most sensitive operations explicitly require administrator’s password, so unless you’re a complete idiot with root rights you’ll unlikely blow up your system.
  • System passwords and site passwords are kept encrypted so thiefs would unlikely to get them.
  • OS X has a decent access control system build-in in order to keep an eye on your children.

So, don’t be afraid of new functionality and giving up your old habits. In a short time you’ll understand that Mac approach is usually more user friendly 🙂