What follows is an interview that I had with JavaHMO creator Leon Nicholls. I sent Leon the following questions and he was gracious enough to answer them for me.
1. What do you do for a living?
I’m a software engineer for a company that does VOIP products for phone
companies. I program mostly in Java and develop mostly web interfaces for
our products.
2. Why did you create JavaHMO?
I started using HMO during August 2003 while TiVo had a free trial period and got hooked into the possibilities of the product. I thought it would be interesting to dynamically generate images which could be displayed on TiVo. These images could contain all kinds of interesting content from the internet. I discovered that TiVo had published the specifications of the HMO protocol and so I started writing my own media server in Java. The code I wrote worked so well that I thought I would share it by creating JavaHMO as an open source project.
3. What is your favorite feature about your TiVo? I would guess it is HMO
however, I thought I would ask :).
HMO is both my favorite and my most frustrating feature of TiVo
Its my favorite since it is such a simple product that is very nicely integrated with the excellent TiVo interface. However, as a developer it is very frustrating not being able to do so many things in HMO that would enhance the user experience. I have posted some suggestions on how HMO could be improved for developers (http://www.tivocommunity.com/tivo-vb/showthread.php?s=&threadid=160431&highlight=javahmo).
However, since HMO was released, TiVo has not made any improvements to the product.
4. How much time do you spend on JavaHMO per week/day?
The time I spend on JavaHMO varies dramatically depending on how busy I am at work and how tired I feel when I get home. Some weeks I’ll spend several hours per week on the product, other times weeks might go by before I do any work on it. This year it has been particularly busy at work so the time between the version 1.2 and 2.0 of JavaHMO has been much longer than I anticipated.
5. Why is JavaHMO better then any other HMO server?
JavaHMO is open source which means its free and you can get all of the source code. Since it is written in Java, the same code will run on multiple operating systems. The product has been used by many people and is quite stable. Any serious bugs are usually fixed quickly. There are several useful resources for the product at the project homepage (http://javahmo.sourceforge.net) or at the TiVo Community Forum (http://www.tivocommunity.com/tivo-vb/forumdisplay.php?s=&forumid=35) JavaHMO has been maintained regularly and has had several releases. The project is still very active and the 2.0 version will be released in the near future. Many of the features that JavaHMO supports have been suggested by users.
6. Can you describe some of the new features in version 2.0?
The main motivation for the 2.0 release was to make it easier to add new kinds of content to JavaHMO. So it was decided to make the JavaHMO content pluggable. This required that the architecture of the product be significantly improved. Most of these changes will not be visible to users, although there will be some improvements in performance. Version 2.0 will allow developers to add new content without having to know the HMO protocol.
All of the existing content will also be available in 2.0 as plugins:
Desktop viewer, Games, Image viewer, Internet images, Movie listings, MP3 player, MP3 organizer, M3U and PLS playlist support, Shoutcast streams, and local weather conditions.
In addition, 2.0 introduces numerous new plugins:
– Email: read your incoming email on the TiVo interface,
– Image organizer: similar to the audio organizer to allow you to categorize
your images by dates
– iTunes playlists (MP3 files only)
– Jukebox: this plugin will allow you to pick your favorite songs using the
HMO interface to create a dynamic playlists
– NNTP: download and view NNTP (News server) images automatically
– RSS: view RSS published content on the internet
– Web pages: view fullscreen versions of any web page
– Expanded weather: alerts for your county from the National Weather
Service will be part of the weather plugin
– Stocks: view the daily trading information of stocks
JavaHMO will also be able to run alongside the TiVo Publisher since it will support the TiVo Beacon API that TiVo released recently
(http://tivo.com/developer/i/TiVoBeaconSdk.zip)
Version 2.0 will also include a new configuration GUI which will elliminate all of the problems that the currently HMTL version has.
Numerous bugs fixes and feature requests will also be included.
7. When do you expect version 2.0 to be released?
The last bit of development work that needs to be completed is the new configuration GUI. The GUI had gone through several developers hands but never got anywhere. So I have taken up the task of developing the GUI. The coding is going well and I hope to have it completed within a week. I expect to then have several beta releases which will be tested by the developers and other interested users. If that goes well, version 2.0 will be publicly released soon afterwards.
8. What are some of the future features you plan on implementing?
Since TiVo has not updated the HMO specification since it was released, there would be no need to do any additional development of the media server
components of JavaHMO. However, I do anticipate that more content will be regularly added to JavaHMO over time. Realistically, I dont anticipate that TiVo will be making any more investments in HMO. I am hoping that their investment in Strangeberry will result in some product in the near future that will go beyond HMO and will turn TiVo into a true internet appliance.
9. Do you have any idea of the number of people using JavaHMO?
I dont have any way to track the number of active users. The only numbers I have are the page view statistics (http://sourceforge.net/project/stats/?group_id=87487) and the download statistics (http://sourceforge.net/project/showfiles.php?group_id=87487&package_id=91178&release_id=218106)
that Sourceforge maintiains for the project. I also get several support
requests by email each day from users of JavaHMO.
10. Have you ever been contacted by TiVo?
I have not been officially been contacted by TiVo. However, I do know that several of TiVo’s employees have used JavaHMO.
11. How is JavaHMO developed?
For each version I make up a wishlist of features that have come from the other developers or from the users (http://sourceforge.net/tracker/?atid=583315&group_id=87487&func=browse).
The developers will then tackle the features and bugs. Over the lifetime of the project I have contributed most of the code, however some of the other developers have made significant contributions. Some developers have contributed new or improved functionality; some have fixed numerous bugs; some have made small contributions and then disappeared; some are more involved during the beta testing and release phases of the project.