For nearly the last year I’ve been using my Mac Book Pro with OSX Leopard as my primary operating system, which replaced years and years of Windows XP. I still had to run XP for work development, which I did in a virtual machine. A few months ago I had to move the VM to Vista to help ensure our application compatibility. So now the Windows 7 public beta was available, I decided to try it out as my work VM. Of course I have a handy backup of my old Vista VM – just in case. However after a week of use, I don’t think I’ll need the backup. Windows 7 should really be called Vista SP2 and it optimises and polishes off the Vista core. In-fact I would say now that Windows 7 finally catches up to OSX, in terms of being a polished, good looking, efficient, practical modern operating system. Having said that, I will not be moving back to the windows platform as my primary operating system any time soon. I really prefer OSX, and here’s why…
When I first moved to Macs, I thought “everything looks better, text is easier to read without straining my eyes”. So I googled and found that there’s a ideological difference with how Microsoft and Apple go about rendering their fonts. To get a clear understanding of the differences see “Font smoothing, anti-aliasing, and sub-pixel rendering”. Personally, after over ten years of viewing fonts the Microsoft way, it took less than a month to become used to and much prefer Apple’s way.
Finally, Microsoft have realised the advantage of a combined application launcher and switcher. The new taskbar acts very much like the Dock now – and personally I think this is a great thing. Icons stay in the same place. Apple dock gives a dot under or next to running applications, while the TaskBar draws a box around running applications. Microsoft have this new ‘jumplist’ feature – but this has always been present with the Dock by right clicking the app icon to access application specific functionality. However the OSX dock can contain ‘stacks‘, or folders. Just drop a directory on it and you’ve got an easy menu heirachy, this is not possible with the new windows 7 taskbar.
As for switching tasks, on the OSX side you have exposé, which will display all windows so you can see which one you want. On the windows side you have thumbnails and Aero Peak. Both effectively function to let you see what’s going on and find the application you want. Personally, I don’t really use either. I use spaces in OX and generally have one application per space. If I want to go to my email, I go straight there by pressing command-3. For my browser its command-4, and so on. On windows I stick to good old alt-tab.
To me, Apple provide user interface elements that are straight forward, look great and encourage intuitive operation. You don’t see a lot of badly designed software for OSX because the SDK and developer documentation heavily promote not only good user interface design, but good development design. The single menu bar at the top of the screen had always appealed to me, harking back to my Amiga days. Using windows applications always makes me think “what a waste of screen real-estate”. OSX’s window decorations are minimal and sleak compared to any of the styles offered in Windows 7. Even OSX application toolbars can be quickly toggled visible or hidden with one click (clicking the button in the top right) to maximise screen space. There is a much greater consistency with application look and feel in OSX than there is in the windows world.
The core of OSX is UNIX-like. With this comes great power, flexibility and history. Not only can it easily support any UNIX-based software, I can get to the guts of the OS at a terminal. Configuration files are generally standalone, log files are all in the same place and we have powerful standardised permission systems. Being familiar with linux means its easy to grapple into the core of the OS directly with command line tools. Microsoft do things their own way, and everything is stored in the registry. I always thought that the registry was the worst idea ever and it remains one of the weakest parts of Windows.
With OSX I have some great choices to automating tasks. I can write a standard UNIX shell script. I can write some Apple Script to ‘remote control’ any application. Or I can even use Automator to create automatic tasks by ‘drag’n’drop’. Windows has classic batch files, Windows Script Hosting and the new PowerShell. But can you write a script that takes control of any application to automate behaviour? And do so in a way that doesn’t just move the mouse around and simulate mouse clicks and keystrokes? Like most things in the windows world, solutions exist, but they feel clunky. I am constantly impressed with how powerful and embedded AppleScript is.
OSX for me
These are all, of course, just my personal preferences. The great thing about operating systems in 2009 is that the main three options (OSX, Windows, Linux) are all perfectly capable of letting you do whatever you need to do. The choice really comes down your preference of operation.