Tivo Home Network Applications

8/22/05 Tivo has begun rolling out system software 7.2 which activates HME. Individual HME widgets are being referred to as Home Network Applications

What is the Tivo Home Media Engine and what is this web page?
HME sounds pretty cool, how do I get it?
I'm in, where are the good programs?
This sucks, why won't it work?
This is a good start, what's next?
I'm a programmer, how do I write apps?

What is Tivo Home Media Engine and what is this web page?
The Tivo folks have basically opened up the Series 2 platform to developers to allow a variety of PC/Tivo interactions. That broad mission falls under the name Home Media Engine, or HME. This web page is intended to clue you in to HME functionality and setup, link some top applications, and point the programmers amongst us in the right direction. At the moment HME apps will run off your home computers... getting info off Tivo and/or sending info to Tivo. Eventually Tivo company servers and perhaps other companies will host applications. Mac and Linux users of the world rejoice - HME is platform agnostic. All kinds of cool widgets are already available such as Google Maps, your Netflix queue, and iTunes controlled and displayed through the TV screen courtesy of your Tivo box. Currently, Home Network Applications are free for the taking but expect this to change as they get more polish and power.

HME sounds pretty cool, how do I get it?
If you have a networked Series 2 stand-alone Tivo unit (without a DVD burner) and a computer, you're all set. HME itself is free free free, though it's currently a hidden beta of system software 7.1 - otherwise officially known as a Developer's Release. In order to get HME up and running you need only three small things
1. Activate HME on your Tivo unit.
2. Install Java on your home computer.
3. Run some sort of Home Network Application.
1. To turn HME with system software 7.1 on you must navigate to Tivo Central > Setup > System Information and press clear, clear, 0, 0 on your remote. You will not hear any sort of audio confirmation, but if you go back to Tivo Central you should now see Music, Photos, & More listed instead of Music & Photos. If your Tivo is rebooted, you will have to follow these steps again to reactivate HME.

With system software 7.2 navigate to Tivo Central > Music, Photos & More and Enable Home Network Applications.

2. You'll need to download and install the current runtime version of Java. Many computers come preinstalled with Java and many webpages require it - so you may already have it on your system.

3. Currently you will be hosting HME applications on your computer, so these have to be run through your web browser or downloaded. When HME goes live in the near future Tivo, and ultimately other companies, will also be hosting apps.

If you haven't already enabled transfers on your Tivo for either Tivo To Go or Multi-Room Viewing (MRV), then you need to Manage Your Tivo at Tivo Central Online to allow transfers. If you're already using TTG or MRV, no worries here.

System software 7.2 enables HME on all Series 2 units, including DVD-burning models. You can sign up for the software priority list here.

What are the good apps?
Beauty is in the eye of the beholder! Actually I do have a few HNA's to recommend and a location to find others.

Matt, over at PVRBlog, has put together a page where folks can download and rate applications. If you're a developer looking to share your app, you can add a listing to the site. It's not a comprehensive collection, but it's a pretty good repository and the only one we've got until Tivo launches theirs.

The first application, or rather set of applications, you should start off with is Tivo's own sample set. This will help you troubleshoot HME with a known stable, working program. It's also pretty neat. Another stable sample to test your setup with is PonyPoker - a simple but addictive 5 card draw poker game built by a Tivo employee. "TivoPony" has also put together another pretty cool application which grabs the guests of various late night talk shows for quick reference on your Tivo.

The dude over at bitrazor.com has put together two very clever and potentially useful apps. His Netflix RSS Reader allows you to view various Netflix information including your personal DVD Queue. TrafficCam Viewer grabs those traffic camera video feeds from the region you select and cycles through them.

iSeeiTunes, since renamed AudioFaucet, was the first major application for HME. Originally designed as a Tivo-based iTunes and AirTunes remote control while displaying album art on the TV, it is growing to soon play music directly through your Tivo. Get it while it's still free! Kyle was Tivo's Grand Prize winner in the developer's challenge and has a spiffy Segway to prove it. Maybe he'll let me ride it one day since I got him slashdotted. ;)

Last on my list, but not certainly not least, is Galleon. Formerly known as JavaHMO, Galleon is like a Tivo Swiss Army knife - this thing does just about everything. Not only does it integrate with HMO (serving up photos and music) it is extensible, allowing you to load up other HME apps. It will even retrieve and display things like your local weather and email on the TV - how cool is that?

This sucks, why won't it work?
Remember... HME is still in its infancy - you're working with an early release. Because of that there are times when you Tivo or computer may freeze or even puke. Also many of the current apps are being written by hobbyists for fun - you're going to experience programs of varying quality and completeness. Additionally, there are various firewall and networking issues which may crop up and require some tweaking. When in doubt... reboot! That goes for both the computer and the Tivo.

This is a good start, what's next?
Supposedly in the next few months your Tivo will download a software upgrade with a fully functional and enhanced version of HME (happened 8/22). Rumor has it that release will also bring both HME and Tivo To Go support to Tivo models with DVD burners. When released we can expect Tivo to begin hosting applications and services (hasn't happened yet). Additionally, programs that were free may require payment, such as the confirmed AudioFaucet. In general as time goes on we can expect more polished, functional, and clever applications. I'm also holding out hope that Tivo servers (via Tivo) or webpages (via PC) will provide a centralized location to retrieve applications from, instead of requiring us to scour the Internet for leads. In fact Tivo is implying they may rent out space on their host computers to serve up Home Network Apps.

I'm a programmer, how do I write apps?
Heck if I know! My knowledge of HME programming begins and ends with the word Java. Fortunately A. Cassidy Napoli, aka gonzotek of the TCF, has provided me some very good info which I probably mangled during editing...

Eclipse is a freely available development environment, like Visual Studio. It's primarily for Java development, but can be used for other languages; since it's extensible and open source it has a lot of features. There's a post in the HME Developer's Corner that describes how to set up HME development in Eclipse, so you can get syntax highlighting, easy compiling and automatic launching and the like.

Bananas is a UI toolkit for HME development, and essentially is source code and image resources for things like the scroll widgets, buttons, standard screens, and one of those ouija board text entry gizmos (with an autocomplete function and a dictionary of common words). To use Bananas in an app, you would include the relevant class files into your program and call its methods to create objects for your program's UI. There are Bananas samples similar to the HME samples in the Bananas distribution file.

So a beginning developer should first install the latest Java Standard Edition and the Eclipse IDE, then download the HME SDK and the Bananas toolkit, followed by configuring the development environment according to the instructions in the developer's corner, and finally compile the samples from the SDK and Bananas kit to get started.

If you're an experienced Java developer, obviously you can utilize the environment or editor of your choice with the SDKs and toolkits provided at Tivo's home on Sourceforge. There they are maintaining a developer community which includes the most recent software resources, news, and mailing lists. A fellow developer known as "F8ster" has posted some helpful information including a Flash Eclipse demo and a walk-thru of building an application.