The Daily Tea Biscuit

Tuesday, February 13, 2007

Macworld San Francisco

Last month, I was surprised with an inexpensive plane ticket and the opportunity to heed the call of the mothership by visiting MacWorld in San Francisco. For a geek like me, the experience was simply amazing. The conference took place in the Mosconi Center (ironically named for a politician who opposed its construction) and I spent the day and night in beautiful Union Square.

The stars of the conference for me were Apple (yay iPhone), Microsoft, and the modded Macbook with the touch screen. As I sat in front of the huge screen displaying the repeated iPhone keynote, it was hard not to be in awe of how Apple has miniaturized the Mac experience into a tiny iPod form factor. The iPhone could even be said to encapsulate the "best of" the Mac user experience. As the presenter reviewed the functionality, I couldn't help but smile as I viewed bits and pieces of Mail, Dashboard widgets, and other pieces of Mac OS X gracefully glide across its screen. I wish more had been said of Leopard, but I'm probably not the only one wishing that.

Microsoft was another star for me, but not necessarily for the right reasons. I was happy to finally see a long overdue Office update for the Mac. Now, remember, I programmed for the Windows platform for many years. They provided me with a paycheck, albeit indirectly. I WANT to like Microsoft. But post-Windows 2000, they seem to have lost their edge in the computer industry. I am not sure what behind-the-scenes shakeups happened post Win2k, but I can almost always predict when a particular sector of technology is on it's way out or is dying by when Microsoft enters the fray for it. They bought WebTV on its way out. They became the leader in the PDA world, but only because people were not buying Palms since cell phones became more powerful and PDA feature packed. Vista seems another me-too effort, for while they have modernized with 3D acceleration, much of it is altered OS X features.

I think a lot of Microsoft's problems have to do with the fact that as a public company, they have lost sight of the good of the customer to gain the favor of the shareholders and bean counters. When I started programming for a private company, the customer was king. We programmers were "cowboys" and creativity was highly encouraged, praised, and acknowledged, and the useful things we dreamed of integrated into our programs. While this lead to development that might be considered haphazard at times, the bonzai tree of our code was skillfully pruned and managed by our development leader and we won many awards for our innovation. The instant this private company was acquired by a public company, it was a complete 180. A corporate culture of fear dominated our development process. Us "cowboys" came up with dazzling and useful new features, but our creativity was squashed by the fact that features take time to implement and we had to get 17 bosses (for a programming team of 4) all aligned on if something was to be included. The way that costs were implemented on paper, even the smallest change for a patch ended up costing an inflated amount of money. This particular company had gone from private to public in the early 90s, and the lack of any modernization since then reflected in its dated appearance.

I hope that Microsoft does something to become more agile and less like the IBM of the 80s. Apple, while public, seems to have grasped the fact that in order to become wildly successful and please the shareholders in the long term, you have to be brave and not let the bean counters intimidate you. The flat hierarchy of the company that is well documented seems to eliminate a lot of political strife that could potentially mire an innovative product and strip it of any Not Invented By Me features that would make it truly good on the market. Apple also seems to be comfortable in leading, even keeping secrets, and not producing a product by marketing consensus.

One thing I wish that MS would do, but will probably never happen because of the bureaucracy is doing away with 32 bit APIs and rebuilding the OS from scratch, much like how OS X was created. They could have a discrete "classic" layer to ease the transition to a new, improved, more secure set of APIs, like how OS 9 functionality was temporarily supported in OS X. With virtual PCs and virtualization being the big thing, I think it is time for them to do some housecleaning and prune out vintage technology from the 80s and early 90s.