scotfl.ca

January, 2007

iTV Speculation

Dan Benjamin, at Hivelogic.com, has speculated that the iTV will run an embedded Mac OS X. I disagree, and will now attempt to sway you, gentle reader, to my side.

To start with, we need to figure out what hardware the iTV probably has, before we can guess at an OS for it. The XBox 360 and PS3 are embedded devices, but they’re also costly and much bigger than the iTV. The two embedded devices I use most often are my iPod video and my router (which runs an embedded Linux). The iPod has 64MB of RAM split between the OS and the buffer, a 30GB HD that holds media and the OS and a dual core 90MHz ARM7 CPU. The router has 16MB of flash to hold the OS, 32MB of RAM and a 100MHz MIPS CPU. The iPod is smaller than the iTV, the router is a bit larger.

So, I’d say it’s a safe bet the iTV has a dual core CPU at around 100MHz and a maximum of 128MB of RAM. For storage it probably has a maximum of 128MB of flash and might have a 30+ GB hard disk. For comparison, the original, 1998 iMac had a 233MHz G3, a maximum of 256MB of RAM and a 4GB hard drive.

The easiest way to embed OS X would be to make it so efficient that it runs nicely — unmodified — on the target device. I would suggest that if Apple could make Leopard run nicely on a bondi blue iMac, it would positively scream on a Mac Pro. Thus, if they could do this, they already would have done it.

The harder way is to slim OS X down, throw out the unessential bits. The problem with this is that OS X is the ‘unessential’ bits. Take away AppKit, Cocoa, CoreVideo, CoreImage, CoreAudio, CoreAnimation, Quartz, and QuickTime and you have a much smaller OS. It’s called Darwin and it has no graphics libraries. The whole point of embedding OS X (in my mind) would be to utilize Quartz and Cocoa and CoreAnimation and all the other cool stuff that defines OS X. And we can’t do that because they need too much RAM and CPU power.

In addition, Apple has to pay its engineers to do the stripping out, and then test the slimmed-down OS. And then fix the bugs. Which takes time, and money. A lot of money. It would be much easier to just buy an off-the-shelf embedded RTOS that has already been thoroughly debugged. In fact, it’s so much easier to buy the OS that Apple already did it: one OS runs the AirPort Base Stations, and the other runs the iPod family.

Consider the iTV features

Now, consider the intersection with the iPod with Video + Universal Dock feature set:

Which leaves:

An internal power supply is not a big deal. And, since the iTV is mains-powered and larger than the iPod it can add a video processor for real-time effects beyond what the iPod’s codec chip can do. Heck, they could probably add three. There are off-the-shelf network stacks designed specifically for use in embedded systems. Apple has engineers experienced with embedded network stacks thanks to the Airport family, so buying a network stack and adding it would be relatively cheap. Once the network stack is in pace, adding wifi and ethernet NIC drivers would be trivial. The iTunes Sharing Protocol support is, again, simple thanks to the AirPort Express: Apple already has engineers experienced with supporting the protocols on embedded systems.

As an aside, the ‘Zune effect’: the idea that Apple has to add wifi to the iPod or the Zune will win the market. If the iTV runs the iPod OS, then the heavy lifting is already done. All Apple would have to do is figure out how to shove the wifi transceiver into the iPod’s case. In addition, moving a more powerful graphics chip into the iPod would allow it to mach the Zune’s whiz-bang menu system, again with the heavy lifting done by the iTV project.

The iPod OS seems to be the perfect fit for the iTV. Every feature is either already there or expected to be added shortly. But then again, WinCE + iTunes 7 also supports everything the iTV is supposed to do…

Posted on 4 January 2007 in Uncategorized

Comments Off