QuickTime X: Rebuilding the Player and the Backend
Apple's QuickTime has been around long enough to be called venerable. I remember seeing the first postage-stamp size videos and wondering how long it would be until the video could be played full screen.
It took less than two years.
Fast forward a few years and Apple was showing off movie trailers, via progressive download, but it was a few years again until the movie trailers were full screen.
Go forward a few more years, and Apple was advocating streaming (and high-definition content) via H.264, hinting—pun intended—at streaming the same images full screen, but it server software was still only streaming in less than full-screen windows.
During this whole time, even when Apple made the move from the PowerPC to the Intel chip, the QuickTime technology—both on the server and the desktop—remained static.
It took the introduction of an appliance—the iPhone, which has now sold over 40 million units—to force an update of QuickTime on the desktop as well. Apple built a version of QuickTime for the iPhone and iPod touch that allowed viewing of streaming content via HTTP.
Today, however, at Apple's Worldwide Developers Conference (WWDC) in San Francisco Apple announced it had both rewritten the code for its desktop QuickTime application—renaming it QuickTime X—based on the iPhone QuickTime technology. In addition, the company has added a few features to its server software as part of an update to its OS X operating system.
"We're using a new technology called HTTP streaming," said Bertrand Serlet, senior vice president of software engineering at Apple Inc.. "It works with any server. Since we had such a change on the backend, we decided to change the look of the player as well."
While HTTP streaming has been around for quite some time, Apple's move to HTTP streaming means that all the major streaming servers will now have HTTP streaming ability.
Serlet's demonstrations focused on the desktop QuickTime X application during today's keynote.
"As soon as I start playing a QuickTime file, the controls and titlebar fade away. When I want to go back, they fade back in," said Bertrand Serlet, describing the visual elements of the new QuickTime X player.
"Another great feature is the ability to trim and share my video," said Serlet. "I get a visual timeline and can grab ends of the clip region and trim it right down for easy export to MobileMe, YouTube and other locations."
Part of the reason the new player is possible is thanks to Safari, Apple's browser, whose version 4 recently passed that Acid 3 WWC compatibility test with 100% compatibility (compared to Internet Explorer 8's 21% compatibility).
"Safari 4 is shipping for Leopard, Tiger, and Windows today," said Serlet. "Safari 4 also has crash resistance in our new operating system. We feel browser plugins are primary cause of crashes in the Mac OS X operating system, so Safari 4 lets the plugin crash without losing your browser window."
Safari 4 also takes advantage of the Macintosh's hardware acceleration, thanks to QuickTime X and something Apple is dubbing OpenCL.
"The way to use GPU power is OpenGL," said Serlet, "but we want to move beyond that. We've devised a technology called OpenCL and have decided to make it an open standard.All the top manufacturers of graphics cards are involved."
A final reason for hardware acceleration in the new QuickTime X architecture is Apple's approach to multi-threaded code. As we discussed with Intel and HP a few months back, the newer Intel Nehalem architecture provides a way for threads to be dynamically allocated depending on need, and Apple appears to be exploiting this capability as well.
"Multithreaded code is really hard," said Serlet. "For instances, threads in our current operating system (Leopard) don't disappear when an application is idle. In our new operating system, an application may use more threads but give them up when the application is idle."
On the iPhone front, the video editing tools could very well be a part of QuickTime on the iPhone in a future release, since the code base isnow similar between QuickTime on the iPhone and QuickTime X.
"We have been tracking the HTML 5 standard," said Scott Forstall, senior vice president of iPhone software at Apple, "and now we're adding support for new standards like audio and video tags to the iPhone, as well as full HTTP streaming."
[Update: At the end of today's keynote, Phil Schiller, Apple's Senior VP of Worldwide Marketing, announced the new iPhone 3GS - the S stands for "speed" - with video capture, editing and uploading capabilities based around the same QuickTime architecture.]
Back on the QuickTime X front, Serlet also said that, in order to get QuickTime X, users will need to upgrade from Leopard (OS X 10.5) to the new operating system, Snow Leopard (OS 10.6). While Apple has previously charged $99 - $129 for the upgrade, Serlet said that a reduced upgrade price will be in force for current Leopard users.
"Upgrades will be $29 for all Leopard users," said Serlet, "and $49 for a family pack upgrade for up to five computers."
QuickTime X and OS X 10.6 will be available in September, 2009, while the iPhone 3.0 firmware update will be available on June 17, 2009.