The TiVo Desktop

After years of using plain TiVo Series 2 (and being pretty satisfied with it), I decided to try out their next logical procession - the TiVo Desktop 2.2. My primary motivation is to free up space on the TiVo box to allow me to record shows through a weekend (such as time in Vancouver...) without worrying about space (I'm currently watching the winter olympics, and CBC/NBC coverage goes in 5-6 hour marathons, which at High Quality really chews up space fast).

After futzing around with the TiVo software for some 12 hours now, I have to say that I am very disappointed with the entire TiVo desktop experience. It simply does not feel like RTM quality to me.

First, I made the mistake of not installing it on a machine that has a DVD Player installed. Apparently, the downloaded .tivo files need some special codec for playback. I cannot just copy the .tivo file to another machine without TiVo Desktop installed and use it. I also cannot playback the .tivo file on a machine with TiVo Desktop without a DVD Player installed. Well guess what... my X41 does not come with a DVD drive nor DVD Player software, so I had to be clever to make this one work...

The installation process for TiVo Desktop was also not smooth. As you all know, I run as non-administrator and use a special "administrator" console window to install programs, so I ran the TiVo installer as usual. Well, at the end of installation the "TiVo Server" fails to register/startup in this configuration, nor was my Windows Firewall configured to open necessary ports to make it work (The TiVo does not detect that machine as having TiVo Desktop installed/running). I have no idea what features I am potentially missing, but I really care less at this point since it probably does not affect my ability to copy from the TiVo.

And oddly enough, even though TiVoToGo depends on the .tivo extension being registered, it was not registered by TiVo Desktop setup. I had to manually copy the registry keys for "mpegfile" and renamed it "tivofile", and then TiVo Desktop was able to play the content it captured. This is such a show-stopper bug that I am surprised it is even shipped.

My biggest gripe with TiVo Desktop has to be its download speed. I have a pure 802.11g environment, with the standard NetGear WS111 (TiVo certified) attached on the TiVo, my X41 wired directly onto my wireless router, and all other network devices off. I wager that this is the fastest possible configuration I can provide for TiVo. I know that wireless-to-wireless copy does not perform well (I've hit that limit when copying pictures off a digicam onto my storage server, both wireless - I quickly learned to tether one end to be wired if I want to copy fast).

Well, it does not seem to matter. I could only muster 2.4Mbit/sec = 300Kb/s = 18MB/min with this configuration. With even the most basic 30 minute show recordings at ~370MB (basic quality), it means that I have to wait 20 minutes for a 30 minute basic recording. For anything High Quality (like sports broadcasting), the wait easily goes into hours (i.e. for a 200min Olympic recording, it would take 400+ minutes to download...). For grins, I XCOPY some of the .tivo files to/from the X41 that is receiving download from the TiVo, and I easily saw 5x more network utilization by the simple XCOPY. I also tried an older 802.11b wireless adapter for TiVo and managed to get 50Kb/s faster performance. I have no idea what TiVo is doing, but simple SMB and HTTP can copy faster than this... I thought Linux is supposed to be performant?

Even worse is the fact that during TiVoToGo transfer, actions you take on the TiVo drain network bandwidth from the copy. For example, watching another recording took off about 100Kb/s in performance, and hitting fast-forward or the 30-second skip literally takes the bandwidth to 0%. The fastest performance seems to happen when you are sitting OUTSIDE of any recording and doing absolutely nothing on the TiVo.

Frankly, the only time I see this performance pattern useful is during the night while I am sleeping and nothing is using it, which I can deal with... except for the fact that TiVo seems to lose its IP address after an hour or so of copying. I do not believe it is a problem with my router because all my other wireless/wired devices have no problems hanging onto an IP address during intensive use... but due to the copying of 4GB+ data, this fragility shows front and center. I have yet to successfully copy >30 min of that 200 min Olympic recorded at High Quality...

Oh, and TiVo seems to crash far more often now. I have already seen it crash and reboot twice on its own the past 12 hours, once while in the middle of a recording, and I have had to reboot it two more times myself just to get it to see the network adaptor again (it had just copied 1GB each time and then mysteriously dropped off the network). It seems that sustained network access (or CPU access) must really strain the TiVo box.

The TiVo Task Scheduler does not understand error-recovery, and it frequently has troubles finding my TiVo (how hard is it? There is a single TiVo on the local subnet and you have the IP address!) Whenever I cancel a recording, I inevitably get "Error reading details" on subsequent attempts, which I read on TiVo Help Forums means I need to go nuke this temporary directory under the user's "Local Settings" folder. What? It almost sounds like the Task Scheduler tries too hard to cache data locally and flubs when something "unexpected" happens... but uh, indecision happens with normal users...

Then, TiVoDesktop.exe refuses to close and die when I tell it to; I always have to wonder into Task Manager to kill it. I have to do this because if I just believe TiVo and hit "close", the old process never goes away, and if you try to open a new TiVo Desktop with the old one still running, nothing shows up and you wonder what happened. I disdain programs that require me to kill it with Task Manager to close it correctly. It tells me that its developers did not do due diligence.

Finally, my system is strangely "sluggish" after installing TiVo Desktop... as in the mouse pointer is dragging along and not snappy, and the disk is constantly churning but nothing obvious taking CPU cycles. This has NEVER happened before and I have not figured out why yet.

Overall, I am very disappointed with the TiVo Desktop. The only thing preventing me from chucking it out the window and reformatting/re-installing my X41 to get rid TiVo software (which as you recall from this blog entry, I can do this in about half-hour) is the fact that I still want to save recordings off the 80GB TiVo hard drive onto my half-terabyte of space on my storage server, and this is the only way I can do that (I do not have a VCR). I just do not understand how this can be that hard to do... there should be very few interacting pieces:

  1. "Web Service" providing the "Now Showing" listing of recorded progams and metadata. This should be trivial to provide with reliability.
  2. "Web Service" to copy the data stream. SMB or HTTP should be sufficient enough for the target market place, and do it performantly.
  3. Error-Recovering for data-stream copying, and the "Now Showing" metadata listing should update easily.

I simply do not see how doing just the above can be that hard... but TiVo Desktop is proving just that. I mean, I expect these sort of "compatibility" or "configuration" issues on more generic, open platforms like Windows and Linux, but I have higher expectations of "it just works" on closed platforms based off of generic platforms, like XBox or TiVo. TiVoToGo is definitely not yet a feature I would pay for; fortunately, it is just a free download.

//David