There's a new cat in town

+ Click here to enlarge

Apple’s newest version of Mac OS X, called Leopard, was released into the wild at 6pm local time on October 26th. I’ve seen a number of people asking about how compatible Mac Office is with Leopard, and I thought I’d chime in to say a few words about it. One of my roles as development lead is to coordinate with several other MacBU developers, testers, and program managers to work with Apple and their seeding program. We get the chance to test early releases of Mac OS X, the Xcode toolset, and other software updates in order to both report issues back to Apple and to identify areas of our own code that we need to change.

The news is that Mac Office is very compatible with Leopard! Mac Office 2004 works just as it always has. Over the course of Leopard testing, we ran thousands of scenarios in our lab to verify that Office 2004 ran with no adverse behavior on Leopard. Its performance running inside the Rosetta compatibility layer is quite good. As is normal with any major software release, we found issues here and there and accordingly reported them to Apple, and Apple’s engineering staff did a fantastic job in fixing up regressions. We found a few issues in our own code as well, and plan to update Mac Office 2004 shortly.

With regard to Office 2008, we’re also in great shape. We’ve made some tremendous architectural changes to the product to take advantage of newer technologies in Mac OS X that have come out since Office 2004 was released to run on Mac OS X 10.2. Because of those changes, we’ve given seeds of Mac Office 2008 to Apple so that they can run their own tests against it. Since these early builds of Mac Office and Leopard contain pre-release code and may contain features that have not been made totally public yet, both we and Apple are very careful to keep access to these seeds confined to a small group of people.  This mutual seeding arrangement provides a way for the developers at both of our companies to ensure the best user experience for our mutual customers. We’ve been able to use this seeding time to make sure that Mac Office 2008 looks great on Leopard (picking up the new Leopard UI theme), works with new Apple technologies like Time Machine, Spaces, WebKit 3, AppleScript (ok, AppleScript isn’t new itself, but Apple made some big changes under the hood), and cooperates with lots of other smaller changes in various parts of the OS.

In order to make the most of this arrangement, I have the privilege and responsibility of attending periodic meetings with my MacBU peers and Apple contacts (Oh yes, with every increase in responsibility comes an increase in meetings. I’ve got a great Dilbert cartoon on my door about it…). During these meetings, we kibitz about the latest news ("Hey Matt, when can I get a seed of the iPhone SDK?") and run down a list of our current hot topics. These can range from a status request on list of bugs that are important to us or to Apple, a request for information on some new feature or API, or perhaps a discussion of why a particular bug fix request is so important to either of our respective companies.

It’s generally a very friendly, casual meeting, and the benefits of such close communication are tremendous for both of our companies. I’ve discussed this a while ago on my personal blog, and it still holds true today.

One anecdote from a few months ago demonstrates this really well. Apple has made some large changes to the configuration for the Networking pane in the System Preferences application. One particular seed that we received from them had some bugs in the network proxies support, such that once Leopard was installed, we couldn’t actually connect to any other server on our corporate network. This meant that I couldn’t access source code or test files, make check-ins, or in general connec to to anything else to fix bugs on my Leopard machine. Of course, I was able to continue Office 2008 work on my Tiger machine, but the problem meant that Leopard investigations were halted unless we rolled back to an earlier seed. I filed a bug report with Apple’s online reporting system and sent a quick email off to our contacts at Apple. Shortly after that Apple asked me a few questions about our network proxy configuration here at Microsoft and, based on my answers said they thought we were being affected by a known bug with that seed. Within a few days I got back an unofficial one-off build of an updated Network preference pane to test. I copied it into place on my Leopard install and sure enough, the problem had been resolved; I could access our source code, and was off and running again.

I’ve also been keeping up with the seeds of Xcode 3. Apple has made some significant improvements to Xcode in this release (I’m personally most happy about the performance improvements when viewing and stepping through code in a very large file, and the popup inspector bubbles that show current variable values are very cool.) When I led our transition from CodeWarrior to Xcode back in late 2005, I noted just how picky the tools were. I’m pleased to note that the gcc toolset is even pickier now, and has helped us find and fix a few bugs that Xcode 2.4 missed.

As others have noted here on Mac Mojo, Mac Office 2008 is rolling along quickly toward its own release to the public. I’m happy to have the opportunity to show you a little bit of our relationship with Apple, how we handled Office 2008 development on the latest big cat from Apple, and to confirm that Office 2004 itself works just fine with Leopard too.