Why I switched to Macs (Part 2)

In my first article, I focused more on the topic of "Why I do not want another Microsoft OS". The reasons generally boils down to the general feeling that Microsoft is more interested in its own profit than listening and fulfilling its consumer's needs. Today, I will talk solely about Mac OS X and the reasons why I finally settled on it and Apple computers as my computer system of choice.

Solid Architecture
Building any complex software such as an operating system is sort of like building a house. And like a house, nothing is more important than a solid foundation. The foundation of Mac OS X is an Apple open source project called Darwin and Darwin in turn is based largely upon a relatively unknown operating system called FreeBSD.

Even tech circles, very few people know about FreeBSD's complicated origins that can be traced all the way back to the great grandfather of most operating systems, AT&T's UNIX. Thankfully, quite a lot more people know that FreeBSD has been built from ground up with system security and stability as its number one objective. And FreeBSD developers have done a good job in delivering both security and stability for FreeBSD has consistently had the least number of reported issues for the past few years and is commonly cited as the OS with some of the longest uptime (of years) when used as a web server.

As a result, not only has Mac OS X inherited some of FreeBSD's security and stability, it has also inherited the underpinnings of a modern Unix operating system. On top of this solid foundation, Apple has added on its own software stacks for graphical user interfaces, codenamed Aqua, and various innovations from NEXTSTEP (another operating system developed by Steve Job's prior company before returning to Apple, NeXT). All these factors combined made a compelling case to me that Mac OS X is a well designed, modern operating system.

One more thing before I move on. In today's world of hackers, scammers, viruses and spyware, I feel that commodity software that is used by just about everyone with a computer must be audited for security loopholes. And because the foundation of Mac OS X, Darwin, is open sourced, computing professionals can look at its freely available source code (blueprint and construction plans) While most users will never need to view these blueprints, it is an added level of reassurance that any computing professional can review these blueprints for potential vulnerabilities or exploitable loopholes. As an aside, Microsoft was required to open up its Windows operating system source code for review by third party experts in the anti-trust case for this exact same reason.

Common Standards
Standards are very important to the computing industry. They are sort of similar languages such as English or French and allow different computers to communicate with each other. Unlike human beings where anyone who understands English is likely to understand a regional dialect like Singlish, computers need standards specified clearly and distinctly. Any change, however minor, would essentially be treated as a totally different language by the computer.

If you have read my first article, you would know that one of my pet peeves with Microsoft is its habit of intentionally introducing incompatibilities when they implement computing standards. This in turn results in Windows computers that can only communicate with other Microsoft computers and is a bad thing for me. It means that I am stuck with using only Microsoft products and is unable to use any other alternative products, regardless of how good these products are. In a way, Microsoft's tactics can almost be considered racist (that is, if Microsoft is a race).

Apple can almost be considered a saint in comparison to Microsoft for they recognize the importance of standards. So far, every piece of hardware I own works with my MacBook. One additional bonus I found was that so far I have not needed to install nor scrounge around for any device drivers. Right out of the box, Mac OS X was able to automatically detect and use to my home wireless network (I just had to provide the password), print on any network printer, exchange data with my Nokia mobile phone via bluetooth, use any USB device that I plug in.
All this standards compliance applies to its software too. Mac OS X comes with web surfing, email, address book and calendar applications. All of them follow whatever common computing standards there are to follow. So I could easily swap calendar data with Google Calendar, contact information with my mobile phone. I have not tried this but I've read that with a software called Parallels, I can even run almost any Windows application. Even more, because Mac OS X has Unix as its foundation, most software written for Unix can probably run on Mac OS X. Before you laugh, consider that this includes software written for all Linux distributions (Ubuntu, Suse, Fedora, etc..), all BSD variants (FreeBSD, OpenBSD, NetBSD), Sun Microsystem's Solaris and many more. And I do use quite a lot of Unix software so this is all a plus to me.

The Leopard Advantage
What I have said so far applies to every version of Mac OS X. In this final section, I deal specifically with the advantages offered by the latest version, Mac OS X Leopard. I have read some articles about Leopard before I made the jump to Apple laptops, and in general most people say that Leopard offers better eye candy and Time Machine, an easy to use automated backup solution.

My take stems largely from a developer's perspective and from that angle, Leopard's main advantage over other operating systems such as Vista or Ubuntu is something called "Core Animation". In order to explain Core Animation, I will need to delve in to some history regarding graphical user interfaces.

As some of you may know, a computer screen is a rectangular grid of dots, or "picture cells" (pixels for short). In the early days, what we did to create graphical user interfaces was literally to draw them dot by dot. It is tedious and error prone. This is why modern operating systems have "windowing toolkits" that allow us application developers to simply say, "I want a window of size 500 by 300, containing a button at..." and the operating system would take over and draw the window and its contents for us. Besides simply drawing windows and such, the windowing toolkit would also handle common graphical operations like simulating a button being pressed, maximizing or minimizing a window. Windowing toolkits allow application developers to create applications faster because we no longer have to handle every minute on screen detail that needs to be drawn.


Simply put, Core Animation is Apple's "toolkit" for 3d animations such as the now famous iTunes album browsing "Cover Flow" feature. With Core Animation, I as an application developer just need to say in my application that "I want a cover flow containing these 26 images, at this location, and tell me which image the user selects", and Core Animation would handle the details of drawing 3d boxes, rotating and juggling their positions on screen, animating them based on user input, and so on. Core Animation makes 3d animations very accessible to application developers. I am quite willing to bet that in 2008 to 2009 we will see many Leopard only applications integrating 3d elements that no other operating system can currently reproduce and that, to me, is Leopard's advantage.

Mac OS X 10.5, aka Leopard, is a forward looking operating system that has taken the first step to move applications into a 3D animated paradigm. Ladies and gentlement, this is the cutting edge. The next few years should prove to be exciting.

0 comments: