Apple TV under the hood: first look
First, as expected, there's no SpringBoard.app in Core Services. SpringBoard is the application that runs your iPhone's home screen, letting you launch applications by touching them. Instead, Apple TV seems to run Lowtide, an application responsible for all user interactions, which is derived from the previous Front Row application. Lowtide handles media playback, rentals, DRM management (Fair Play, of course), and other basic services.
Lowtide remains very similar to its original OS X Tiger parent, Front Row, even though the new Apple TV runs on an A4 chip using ARM instructions instead of the Intel chips used by most OS X desktops.
For example, inside the application, AppleTV continues to support Quartz-powered frss-style screen savers. There are photo and slideshow screen savers built into Lowtide, along with a private retail screen saver option that's intended for use at stores. The retail version uses haro522, bellissiimo96, johnap19, and lovetohike78's Flickr accounts and adam.turner, emilysmiles, and konasurfer's MobileMe pictures. Anne Haro, Katie Bell, and John Appleseed should be familiar names to anyone who has worked with Apple's stock samples before.
Similarly, Lowtide continues to support frappliance extensions (i.e., Front Row "appliances," which are basically software add-ons). The new Apple TV ships with frappliances for Computers, Internet, Movies, Settings, and TV. Hobbyists will likely add onto these and install their own custom items into the standard Apple TV menus, as they have for the previous generations of Apple TV. Here at TUAW, we can't wait for Boxee to be ported to the ARM-based new Apple TV. (We also want a box, but that's another story.)
There are, however, several new frameworks specific to Apple TV that are not found on the iPhone, iPad, or iPod. These include ATVDaapClient (for the digital audio access protocol) , ATVData, ATVSlideshow, AppleTV, AppleTVMCU, BackRow (which has always powered Front Row on various OS installs), and MediaControl frameworks.
We were surprised to see the inclusion of the Bluetooth, ApplePushService and OfficeImport frameworks since many standard iPhone frameworks (such as Core Location, Game Kit, and Core Telephony) are missing in action. It could be that these were included for compiler convenience or as an oversight (such as the voice services plug-ins for a system that ships without a microphone to use them) but they did make us go "hmmmm." It would be lovely if some of these turned out to be functional rather than simply available.
TUAW did not find any super-secret hints of new devices in its inspection of the file system. Three products do remain missing in action from Engadget's original reveal of the iPod 2,2 and the iPhone 3,2 and iPhone 3,3 devices last April.
Looking at an OS dump doesn't always translate to the final live interaction and exploration experience, but it does offer tantalizing hints as to what is to come and what will be possible for those willing to start programming and hacking. In this case, Apple TV's sneak peek provides two promises. First, the system itself will be somewhat customizable and programmable for people who wish to extend its use beyond the built-in features. Second, we're looking at the future of OS X installs. Apple TV's iOS shows that non-mobile devices without touch screens can leverage iOS's newer, more modern frameworks without sacrificing general computability.
It's really exciting to see the first desktop-style iOS installation. There aren't a lot of differences between the two OSes (iOS and Mac OS X) other than the generational shift into iOS's updated API. And seeing the iOS version of Apple TV hints that some standard Mac computers (even if they're not the flagship Mac products such as MacBook Air or Mac Pro) may be making the transition into the iOS family some time in the future.
In a related note, Apple's mobile Remote application for iPhone, iPod, and iPad just got updated to version 2.0 and includes support for the updated Apple TV.
UPDATE: TUAW reader and iPhone hacker AriX has gotten airplayd working on his iPhone.
UPDATE: Oh, that's interesting. In the Lowtide property list, the UIDeviceFamily lists entries for both 3 (Apple TV family) and 2 (iPad family). That means Lowtide can nominally be run on both devices, should the right frameworks be there to support the application. As you might guess, the 1 device family includes the iPhone and iPod touch. A further discussion of this point can be found in this separate post.
UIDeviceFamily = (
As TUAW posted earlier, the iOS 4.1 firmware distribution for Apple TV has just gone live on Apple's Phobos web server. TUAW downloaded a...