At the first Apple Worldwide Developers Conference to be billed as a joint event for both Mac and iPhone developers, the iPhone took centre-stage and Apple dropped some breadcrumbs of information regarding the next major version of Mac OS X: Snow Leopard.
Psychologists will tell you of the sibling rivalry that can occur when an older child reacts to a new and younger arrival in the family. The undivided attention once lavished on the elder becomes redirected, and the outside world, for a moment, seems besotted and absorbed with the latest addition. Sound familiar?
If the Mac turned into a petulant child it wouldn't be hard to understand why. After Steve Jobs' unveiling of a touch-screen iPod, a phone, and a breakthrough Internet communications device at Macworld 2007 (that's MACworld), this year's Worldwide Developer's Conference (WWDC), another formerly Mac-centric event, was also dominated by the newest and youngest member of Apple's family: the iPhone.
There has, perhaps, never been so much media attention bestowed upon Apple's developers' conference as there has been this year; with the announcement of the iPhone 3G, it was impossible to visit a technology-related web site on the day of the keynote without seeing some mention of WWDC or the iPhone 3G. However, while the improved hardware is welcome, adding features such as improved battery life, a more convenient headphone jack, and, of course, 3G (which many handsets had two years ago!), these improvements are not, perhaps, as exciting as the iPhone platform itself.
While the pre-Touch iPods could be considered more as family pets (they played with Macs but weren't really stand-alone platforms in their own right), the iPhone is truly the new child in the family, because it also runs OS X. This is why the iPhone is relevant to Mac users, and especially Mac developers.
The iPhone OS uses the Mac OS X kernel and shares many of the same frameworks, including a special version of Cocoa called Cocoa Touch, which facilitates applications in supporting the iPhone's multi-touch user interface. Cocoa is a framework that allows developers to build applications for Mac OS X, and the fact that iPhone applications can be built with the same tools as Mac applications gives Mac developers an interesting perspective from which to create new mobile software.
In addition to announcing the iPhone 3G, Apple also used the WWDC keynote to highlight some of the applications that third-party developers have been creating since the release of the iPhone Software Development Kit (SDK) in March. There were a number of interesting applications demonstrated — ranging from games to the visualisation of medical data — but perhaps the most interesting from the Apple Notes perspective was an application called Band.
Developed by an Englishman named Mark Terry (under the banner of Cow Music), Band recreates a number of instruments on your iPhone, such as a drum kit, a piano and a bass guitar. You can play the instruments via the touch-screen and make recordings, or overdub instruments on top of each other. There's even a novel 12-bar-blues mode that lets you jam along to a backing track. Band will be available from the AppStore — Apple's elegant application that will handle the distribution of iPhone software when the version 2.0 OS is made available — and you can find out more from the author's web site at www.moocowmusic.com.
While I was somewhat sceptical about running musical applications on the iPhone when the product was first released, the SDK has turned the iPhone into a truly viable platform for the creation of innovative tools. And while Band looks like it will be a great deal of fun to play with, I wonder how long it will be before we see more complex music-creation software running on the iPhone. With games developers such as Id Software successfully redeploying older desktop-originated intellectual properties on mobile devices, it would be great to see music and audio software developers following the same model. If Propellerhead were to resurrect ReBirth for the iPhone, for example, I'm sure I wouldn't be the only one clicking on AppStore to make a purchase.
As a footnote, embracing iPhone applications doesn't mean you have to purchase an iPhone or commit to a multi-year contract with your cellular provider. The iPod Touch is, in many ways, the PDA Apple said it would never build, and essentially has the same capabilities as the iPhone, except that it can only connect to the Internet via WiFi and can't be used as a phone. With the version 2.0 OS upgrade it will be able to run the same applications as the iPhone, and this will be a great way for users to take advantage of the platform even if they don't want to purchase a new (or another) phone.
A revamp of Apple's .Mac service, which provides email, online storage and other synchronisation services, has long been rumoured, and the company used the WWDC keynote as an opportunity to introduce Mobile Me, a new online service that replaces .Mac. Mobile Me was introduced as "Exchange for the rest of us" by Phil Schiller, Apple's Senior Vice President of Worldwide Product Marketing, referring to Microsoft's Exchange technology that provides email, contact and calendar sharing for corporate IT infrastructures.
The .Mac service enabled you to synchronise email, contacts and calendar data with multiple Macs via the Internet, but Mobile Me now enables this data to be shared with your iPhone. And rather than just using periodic checks to keep your email, contacts and calendar up to date, Mobile Me implements a so-called 'push' technology that means new email (along with changes to contacts or your calendar) will be automatically (and instantly) sent to your iPhone.
Mobile Me also offers updated web applications for Mail, Contacts, Calendar and Gallery, and Apple have endeavoured to make these web applications seem as fully functional as if they were regular applications running natively on your desktop. The service will be available on July 11th, and, like .Mac, will cost $99 per year with 20GB of storage. Existing .Mac subscribers will be automatically moved over to Mobile Me.
While the announcement of Snow Leopard only received a cursory mention by Jobs in the morning keynote speech at the WWDC, Apple's Senior Vice President of Software Engineering, Bertrand Serlet, was to present a session to developers that afternoon to outline Apple's plans for the next major release of OS X. The details of that session are not publicly available, but Apple did issue a press release and post information to their web site to give the rest of us a taste of what's to come.
According to Apple, "Rather than focusing primarily on new features, Snow Leopard will enhance the performance of OS X" and deliver "a new generation of core software technologies." As someone who, on occasion, is a little bit of a purist, I think the idea of Apple turning their developers' attention to under-the-bonnet technology is a good one, and something that's going to be far more beneficial to users than, say, a translucent menu bar.
One of the ways in which Apple intends to improve performance in Snow Leopard is through a new set of technologies for better supporting multiple cores, called Grand Central. This will apparently optimise the way in which OS X assigns tasks to the multiple cores available on modern processors, while also making it easier for developers to fully utilise the power of a multi-core Mac.
Apart from the fact that it adds another friendly-sounding technology to Mac OS X, it's hard to speculate at this stage what Grand Central will mean for music and audio software. Leopard already included a new scheduler to improve the way in which the different threads of an application are assigned to different cores, and the models for developing real-time audio software to utilise multiple cores — unlike some types of software — are fairly well proven at this point. On the other hand, the under-the-bonnet changes in Leopard have certainly caused compatibility issues for many music and audio applications (although things seem to be settling down a little with the release of 10.5.3), and perhaps Grand Central will rationalise multi-core development so that applications that have a hard time making the most of an eight-core Mac Pro today — such as Apple's own Logic Pro — will be able to see more dramatic performance improvements.
With the continuing advancements in graphics hardware, there has been much interest in recent years from programmers looking to carry out general-purpose computing tasks on a GPU (Graphics Processing Unit), instead of simply using them to render graphics. So in addition to improving the way Mac OS X takes advantage of the computer's main processors (also known as CPUs — Central Processing Units), Snow Leopard will also introduce a technology known as OpenCL (Open Computing Language), enabling developers to harness the power of GPUs.
This is a potentially exciting area for audio applications, because music and audio software tends not to overtax the power available in a modern GPU, particularly those found on high-end iMacs, MacBook Pros and Mac Pros. While OS X's graphics technologies, such as Core Animation, Core Image, Quartz and, of course, OpenGL, offload graphical tasks to the GPU, it's possible there will be a number of free cycles available for using the GPU as a DSP co-processor as well. And although using the GPU is not going to be a magical panacea for improving performance for all types of DSP algorithms, there are many situations, especially where filters and EQ are concerned, in which it could be helpful.
Many companies have been looking into the potential of general-purpose computing on GPUs for a number of years, and one of the most notable examples is Nvidia's CUDA (Compute Unified Device Architecture), which allows developers to write algorithms in the C programming language that can be executed on a supported GPU. Perhaps the interesting thing about Apple proposing a presumably rival technology is that while CUDA is intended for use with Nvidia's own GPUs, Apple makes use of graphics hardware from a number of different companies for various products (including Nvidia). And considering that OpenCL contains the word 'open' (much like OpenGL), one would assume that the goal is to allow developers to take advantage of GPU-based acceleration without having to write different code for different flavours of general-purpose GPU technologies.
A new version of QuickTime called QuickTime X (which I'm guessing, like OS X, is meant to be a roman numeral) will be introduced in Snow Leopard. According to Apple, QuickTime X will use "media technology pioneered in OS X iPhone" to create "a streamlined, next-generation platform that advances modern media and Internet standards" — whatever that means. Hopefully more information will be forthcoming.
Last, but not least, Snow Leopard will also offer improved support for 64-bit memory addressing, and the theoretical memory limit will be raised to 16TB. To purchase this amount of memory would cost around £50,000 right now (although a current Mac Pro won't support more than 32GB in any case); not that there's anything wrong in being prepared for the future. Maybe by the time Snow Leopard ships, "in about a year", a terabyte of memory will mean as much as a gigabyte does today, much as a gigabyte of memory means as much as a megabyte did not so long ago. Watch this space.