GuidesDeveloping for Television: TiVo Announces an SDK!

Developing for Television: TiVo Announces an SDK!

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

In simple terms, TiVo is a system that works on digital video recorders to allow you to manipulate live television—including recording pausing, rewinding, and more. Additionally, the TiVo service gives you the ability to do such things as specify your favorite actor and it will then start looking for and recording shows for you if that actor will be on a specific show. These are just a few of the services that TiVo can do.

If you have a Series 2 TiVo and you hook it into your home network, you then can display images or listen to your favorite music on your television through the TiVo system. The music is stored on your PC, so if you have multiple TiVos, you can access it from any of them on your network.

Just added to the TiVo services is the ability to record shows from your TiVo/television onto your computer so that you can watch them on your computer, or take them with you on a notebook computer or DVD. Prior to this addition (called TivoToGo), you could transfer a television show from one TiVo (Series 2) to another through your network, but you could not pull copies onto your computer.

To fully understand a TiVo, you have to play with one. An in-law of mine has just received their first TiVo. When she mentioned it to a friend, her friend responded that her [my in-law’s] life was going to change.

That is a pretty strong statement.

The truth is, a TiVo does change how you watch television. I’m not here to sell you on TiVo, though.

Rather, this announcement is about the fact that TiVo is working to change how you can interact with the television on an even greater level. I’ve talked about programming platforms and various clients. TiVo has now added the television as a viable, possible target for your applications.

On January 31st, TiVo released an SDK. This allows you to start developing applications that will work with TiVo Series 2 devices. In simple terms, a TiVo is simply a Linux box with a hard drive for storing television programs. By using the SDK, you will be able to tap into this system and create applications that can work on the television using any TiVo Series 2 device that is hooked into a network. There are a few other requirements for making this work as well, but all are easily obtained:

  • You must be using a Series 2 TiVo.
  • It must be hooked into a network and have the TiVo server running (free).
  • If you are already running the TiVo server (needed for home media options), you may need to upgrade it to 2.0.
  • It must have Java 1.4 or later.
  • You must have the software in your TiVo updated.

development is done by using standard Java and the SDK can be downloaded now from here.

The only critical issue is that software in your TiVo has to be updated to the most recent version. This is an automatic update that you can get by requesting it on the TiVo site. If you have updated your Tivo for TivoToGo, you already have it.

With everything in place, you can begin developing applications that will run on your PC and interact with your TiVo Series 2 to display on your television. You can use a number of the keys on the TiVo remote to interact with the developed applications.

The end result is that you can use your television to run applications and the TiVo remote to interact with them. Expectations are that there will be games and applications that take advantage of single and multiple users. Additionally, you’ll be able to tap into advanced program and movie guides, giving the ability to deliver a different style of application. The possibilities are open.

Of course, if you haven’t requested the update for TivoToGo, then you will hit a roadblock—a roadblock I consider very serious because it has implications. In the words of TiVo customer service:

Even with being on the list for the priority, it can still take three to four weeks to receive the download for the new software that will enable the TiVoToGo feature.

If you request the update to your TiVo today, you will be put on a waiting list. You can ask to be put onto a priority list; however, the stated wait time for being on the priority list is up to three to four weeks. I don’t know what the wait time is if you are not prioritized.

In other words, download the SDK, upgrade the software on your PC, and then wait a month before you can see how it looks on your TiVo. This is a delay that the developers at TiVo will need to overcome if this is to be considered a serious platform. While I believe that this is a very cool SDK with huge potential, I have to step back and question the viability of a system that could take a month to update. With many TiVo’s wired into the Internet for updates, this delay seems outrageous.

I’m currently working on a basic tutorial for writing a program for TiVo. As a teaser, here is a TiVo application:

public class HelloWorld extends Application {   protected void init(Context context)    {      root.setResource(createText("default-36-bold.font",                                  Color.white,                                   "Hello, world!"));   }}

As you can see, this is straightforward Java. This is your standard “Hello World” application written for TiVo.

# # #

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories