Archive for the 'Computers' Category

Snow Leopard is Unleashed

Just about two years ago, I posted about the release of Mac OS X Leopard. What have I been up to since then? Making it even better! Today, Mac OS X 10.6, “Snow Leopard” is available to the public for the amazing price of $29!

Since Microsoft had to go back and fix glaring problems with Windows Vista and re-brand and re-market it to make it fit for sale to real people, Apple had the amazing opportunity to go back and re-architect key parts of Mac OS X to make them work even better and to set the stage for future innovation. Of course, it wouldn’t be Apple if we didn’t put a lot of effort into refinements and enhancements. What does this mean for you the customer? Everything just feels faster and smoother, and the already stable system is even more rock-solid.

The reviews are in:

All of this, and it’s delivered to customers a month earlier than promised. Hey Microsoft: Surprise!

Working on the project management team for Mac OS X over the past year and a half to get Snow Leopard out the door was challenging and exhilarating, and I am proud of what we were able to achieve. But, as the song goes, “You ain’t seen nothing yet!”

Peter Principle FTW

After four years doing mostly low-level technical work on Mac OS X as an individual contributor, I’m now an engineering project manager working in the Mac OS X Program Office. I’ve replaced hours of being hunched over in front of my screen figuring out bugs with hours being hunched over in front of my screen sending emails. Ah, and the meetings, let’s not forget about the meetings. All jokes aside, I am enjoying the challenge of working at a high level, collaborating with dozens of managers and hundreds of engineers throughout the company on a multitude of projects. Looking back at my past experience and my interests, I suppose that management was inevitable. Fear not, I’ll still work on the occasional bug to stay sharp :)

Mac OS X Leopard Roars

Mac OS X 10.5 “Leopard” is available on store shelves tomorrow, and tech journalists are already gushing about it in their reviews.

Something that touched me was to have the work that my team is responsible in part for called out in Walt Mossberg’s review:

In fact, every piece of software and hardware I tried on two Leopard-equipped Macs — a loaned laptop from Apple and my own upgraded iMac — worked fine, exhibiting none of the compatibility problems that continue to plague Vista. My old Hewlett-Packard inkjet printer, for which Vista lacks the proper software, worked instantly in Leopard, even over the network. And, unlike with Vista, it was able to print on both sides of the page. I popped my old Verizon cellphone modem card into the test Leopard laptop and it worked, too, with no software installation or tweaking.”

I can’t be prouder of my colleagues and all of their hard work and dedication to excellence.

Binary (In)Compatibility

A coworker forwarded me an interesting piece from OSNews on how Microsoft can prevent another poor development cycle like it had for Vista when it engineers “Windows 7.” The crux of the piece is that Windows should abandon its current userland code and break binary compatibility with the mountains of code that has been written for the WinTel platform ever since DOS was all the rage.

Quoth the article:

… For programmers, however, this desire to maintain backwards compatibility is a potential hell. This means that if you, as a Microsoft employee, have come up with a new killer feature, or maybe something less significant like a fix for long-standing minor bug, it needs to pass through a long process of testing to ensure backwards compatibility is not affected by your code. And if it does affect compatibility, your code needs to be rewritten, or, new patches need to be made to fix the compatibility breakage caused by your original patch. You can easily see how something like this is a restraint on many developers, and how it can hold back many envisioned improvements.

The author suggests freezing the “legacy edition” codebase with Vista or Windows Server 2003 and then only maintaining it with bug fixes and security updates while pressing on with development of a new codebase that is based on the NT kernel but with a new userland to be filled with new APIs and applications:

… Removing backwards compatibility means business users would never buy into Windows 7, and that would mean a serious lack of cash-flow for Microsoft. Therefore, Microsoft needs to cater to business users and other people concerned about backwards compatibility by maintaining a version of Windows based on the ‘old’ Windows NT; call it Windows Legacy, if you will. This version of Windows would be Vista (or, more preferably, Windows Server 2003), receiving only security updates and bug fixes.

An alternate and arguably preferable solution would be a black-box compatibility environment for the old apps, similar to Classic and Rosetta, which have helped ease Apple through some operating system and hardware architecture transitions.

The author somewhat underestimates the engineering effort involved with maintaining an operating system fork (winning quote: “Would this require more developers than are currently needed? I doubt it.”) and too easily casts aside the reasons for application compatibility. A particular failure is that the author only seems to consider how businesses would handle the issue, and doesn’t consider end-user impact. Namely, every user would be forced to replace every application they own, and a large number of “fringe” applications will never be revised. The user is left with the choice of paying to stay on an outdated operating system (no sale, frustrated user) or paying more to get onto an incompatible one (sale, frustrated user).

My take, of course, is that maintaining compatibility with at least the bulk of the most important apps on the platform is worth the engineering effort. I could be biased, though, given that it’s part of my job :)