I took the Tivo Java API for a test drive recently, not because I thought I had the next killer Tivo app, but because I think the API itself could prove to be an important development.
I don't think it's important for the reason most developers will point out - it empowers developers to write applications that run on a Tivo (which is really a linux box under the covers). It is important because developers everywhere can now write applications for a home appliance.
We have a Tivo at home, and my wife and I use it just like any other appliance or electronic device that isn't a computer; we turn it on and use it: record shows, watch shows, change channels. We don't think about it being a computer inside.
In reality, most users don't think about it being a computer - most don't know how it works. (Of course, they don't know how their computer works either, but they know a computer is a computer.) They don't recognize their Tivo as a computer - it's just a Tivo. It records things. It's an appliance, taking its place alongside the family DVD player.
Tivo is the first mainstream appliance that allows home users not only to dictate how they use it, but to dictate what they use on it. Users can now extend their tivo to show them virtually anything, from a grocery list to the latest RSS feeds to games written for Tivo.
"Ho hum." you say. "The Tivo might be an appliance, but other appliances don't need an API." Well, maybe you're right. Maybe Tivo is just using developers to find a way to sell more Tivos. (And developers will have to go through Tivo get their applications deployed to the mainstream user base.)
But maybe the Tivo isn't the only appliance that could benefit from a public programming interface. I certainly don't want to run custom code on my coffee maker, but it's not out of the question that other applicances will take on more traits of a Tivo in terms of user programming and control.
And, in case you're wondering, the API is pretty good. I wrote a simple application in just a few minutes. It doesn't offer hooks into the really interesting Tivo data, like season passes and what's queued to be recorded, but it's a start...
Did you run your app on your personal Tivo? How do you upload it? If you could, that would be really cool...
ReplyDeleteIn order to run it directly on my own Tivo, the nice folks at Tivo have to push a software upgrade to my machine (it's hooked directly to my home network via wireless card, and calls home once a day, at which time it gets all its updates).
ReplyDeleteOnce they update me to the API-compatible version software, I can run the app directly on my Tivo. The Tivo discovers apps available locally, which broadcast themselves from my computer using multicast DNS.
The app doesn't really "run" on my local Tivo - it's all event driven over a wire protocol, so it's actually client-server. They will certainly have to change this as they move apps into general distribution, of course, so the apps can run locally using only local system resources.