It’s timely that Jeff Jarvis, Fred Wilson, and Om Malik have started kvetching about how to save TiVo. Just last night, I downloaded the TiVo Home Media Engine SDK to see if there was something worthwhile tinkering with. To be honest, I was kind of shocked at limited functionality provided by the SDK.
I was originally interested in creating a nice little application to destroy the TV broadcast model – you know, for fun! When I heard the TiVo SDK was based on Java, I figured I’d have everything I needed. I knew that the TiVo SDK didn’t allow video playback, but I thought I would be able to use the Java Media Framework to render Flash content. With a little tinkering, I figured I should be able to stitch together a simple app to push vodcasting a little closer to reality. Boy was I wrong.
The whole approach taken by the TiVo HME SDK is extremely limiting. Basically it’s a client-server approach that requires an application to live on a separate PC running the application, which sends commands over TCP/IP to the receiver (i.e. the TiVo box). While an application can stream audio or send images to the TiVo, no capabilities are provided for displaying video. Oh, I suppose if you were really desperate for this capability, you could hack together a solution that renders frames to a Graphics2D context, which could then be rendered as an image on the TiVo – but I’m guessing the performance would be horrible. And, anyway, as a developer I’m really not interested in hacking together codecs, I’m interested in writing applications.
I guess what bugs me about the SDK more than anything is that TiVo seems to be operating under the delusion that erecting fences around what a developer can access on a TiVo is a good idea. If TiVo is really serious, they need to look at allowing developers on the device itself (legitimately, I mean, as opposed to the current method for extending TiVo’s capabilities). Of course, TiVo seems to be happy enough to snub the cable companies, but not ballsy enough to really take on the established model – maybe we’ll have to wait for Akimbo for that?
C’mon TiVo, if you want a million flowers to bloom, you’ve got to give us everything! Give us a method to put code on the device (I mean, seriously, what average consumer is going to run stuff on another machine). Let us manipulate data! Let applications like mGrok (Disclosure: the guys behind mGrok are friends of mine) get access to raw MPEG data and build applications that enable people to get more out of their TiVo, their recorded shows, or content downloaded from the net. If you really want to beat Windows Media Center and continue to lead the industry you created, you’re going have to provide unlimited access (maybe you should follow Scoble’s suggestion and allow media-centric companies like Orb to solutions on top of your platform that don’t require yet another application on their home computer).
If you’re not prepared to bet all of your chips, it’s time to get out of the game.