TiVo - Don't Buy One Just Yet
Phil Karn

Note: This page, originally written in January 2000, is out of date; it's here only for historical completeness. See TiVo Revisited, written in October 2001, to see how the TiVo/DirecTV combination is a vast improvement over the unit I reviewed below. --Phil

In early January 2000 I bought a TiVo Philips Personal TV Receiver, model HDR312. They're heavily promoted; a TiVo infomercial has been running full time on DirecTV for several months. I held off until the larger (30 hour) model was available. It was expensive ($999) but I really wanted the larger disk.

I had also heard that the HDR312 and its sister model (the HDR112 with 14-hour disk capacity) used Linux internally. I thought this was a Very Good Thing that deserved my business, even though the TiVo application itself is closed-source.

Two days later, I returned the unit. I'll wait for a better design.

The TiVo concept is certainly a good one. Some time ago I realized that hard disks would someday become big and cheap enough to use in consumer digital video recorders, and that this would create all sorts of interesting possibilities. Unfortunately, the HDR312 has both software and hardware problems that prevent it from fully realizing this vision.


Connecting the unit was easy enough. I have a Sony DirecTV receiver plus Time Warner basic cable, and the unit was easily connected to both. S-video inputs and outputs are provided, which I believed (incorrectly, as it turned out) would provide good video quality. I already had a phone line in my entertainment center for my DirecTV receiver, and Philips thoughtfully provided a RJ-11 splitter plus all of the necessary cables.

Guided Setup Hell (or at least purgatory)

When I turned on the unit and entered the "guided setup" procedure, the unit made two phone calls to download setup and programming information. These calls lasted a total of 15 minutes or so. Oh well, that's not really their fault, dialup modems are inherently slow and there's a lot of program material to download. Too bad this thing lacks an Ethernet connection to use my DSL line or my cable modem.

But then came the real shock. After the phone call completed, the unit went on crunching for TWO HOURS just to "import" and "index" the data it had downloaded. This wasn't a fluke; the manual and screen clearly indicated that it would take this long. Watching the "percent done" counter was like watching my electric car charge...

I just can't imagine how any modern computer system -- undistracted by any other task -- can take two hours to index the equivalent of an issue or two of TV Guide. Supposedly there's a PowerPC inside this thing running Linux, so you can't blame the hardware or the OS. Highly inefficient data structures and/or algorithms must be to blame. TiVo's main competitor, Replay TV, reportedly does a similar indexing operation in just a few minutes. Unfortunately both units are closed, proprietary boxes so there's no easy way to compare (or fix) their implementations.

When the unit was finally ready for use, I discovered that I had made a serious mistake. I had correctly specified my location, but I accidentally selected the "off-air antenna" configuration instead of my cable plus DirecTV receiver setup. So all that crunching was for naught. I had only a relative handful of local stations in my guide. I could recover only by rerunning the entire "guided setup" operation. This time it took more like four hours to crunch the much bigger volume of program material.

Whew. Oh well, at least I won't have to do that again.

Trying it out

Finally I could play with the unit. I had connected the control cable to my DirecTV receiver's 9-pin serial data port as instructed in the manual, but the Philips TiVo channel buttons wouldn't change the DirecTV channel. I found a 9-15 pin adapter in the TiVo accessory pack, and on a hunch I used it to connect the control cable to the 15-pin "Wideband data" connector on my DirecTV receiver. This worked; the TiVo could now tune the DirecTV receiver.


Anyone with a DirecTV receiver knows how slowly they change channels. Actually, the program banner (if enabled) changes immediately, but takes a second or so for the picture and sound to appear. (I understand this is the time needed to obtain the new program key and decrypt it in the smart card). This is annoying, but you get used to it. But when you control the DirecTV receiver through the TiVo, it adds yet another second or so of delay to the process. This makes DirecTV channel surfing excruciatingly slow. (The reason is discussed in the next section).

On the plus side, the TiVo "integrates" DirecTV and cable channels in a fairly nice fashion. You see a single "channel space", with the cable having channel numbers below 100 and DirecTV those above 100, and you no longer have to switch the TV between its tuner and the video input from the DirecTV receiver. DirecTV and cable channels all have uniform program banners generated by the TiVo unit. But even on regular analog TV, where my TV and VCRs change channels almost instantly in response to their remotes, the TiVo remote introduces a most annoying lag.

Video Quality

As before, I could use my DirecTV remote to control the DirecTV receiver's own channel guide. But then I noticed that the DirecTV banners looked fuzzy. This puzzled me since the path was S-video from the DirecTV receiver to the TiVo and from the TiVo to the TV set, and I was watching the DirecTV receiver in real time (so there shouldn't be any recording artifacts).

Ah ha! I realized that the TiVo video codec must be in the signal path all the time, even when you watch the input in real time. That would explain both the signal degradation and those annoying delays when channel surfing. I confirmed this with a picture-in-picture comparison of the same cable channel as received by the TV's own tuner with that received by the TiVo; the TiVo's picture noticeably lags that of the TV.

Some claim that with TiVo, you'll never want to channel surf again. That's horse hockey. Sure, I may record all my regular programs, but I will still want to channel surf live news shows, if nothing else.

Several other TiVo users have reported the same degradation of video resolution on DirecTV, but not on other video sources. The word is that TiVo does it deliberately. (It knows when its being fed a DirecTV video signal because you told it when you set up the unit.) The idea was to reduce the higher frequency artifacts of tandem coding. (Tandem coding is when two compress/decompress operations are performed serially, i.e., over the DirecTV link and then in the TiVo). So this is a fixable misfeature.

Philips has announced an integrated DirecTV/TiVo unit that would record the MPEG encoded video directly from the satellite without decompressing and then recompressing it. This should make the TiVo playback of a DirecTV signal just as good as the original. As a bonus, the DirecTV text banners would go direct to the output. That would be a big win. It's not clear when this unit would be available, though.

I believe that this unit could be greatly improved by incorporating a video switch that would feed the TV set directly from the input of the MPEG encoder when the user is watching real-time TV. The unit would still record the signal onto the hard disk in case the user hits pause, slo-motion or rewind. If that happens, the output would switch to the MPEG decoder where it would remain until the user hits the ->| (return to real-time viewing) button. This is how I had originally assumed the unit worked, and this is how it should work.

This would greatly improve the live TV mode by providing the best possible video quality and by eliminating much of the lag when changing channels.

Ack! #@!! RFI!

I record cable channel 6 almost exclusively. That's the local Fox affiliate, and I'm a big fan of The Simpsons, Futurama and King of the Hill. It turns out that the digital hardware inside the TiVo unit generates substantial RF interference that gets into its own tuner. But this interference is only found on one channel -- you guessed it, channel 6!

That was the last straw. I checked that the RF cables were tight, and I even tried connecting my cable lead-in directly to the TiVo instead of through the splitter, just to give it a somewhat stronger signal to work with. The video quality on channel 6 was still unacceptable. Just to be sure, I tried feeding the TV with the TiVo's RF output on both channels 3 and 4 instead of with a direct S-video feed. This lessened the interference somewhat when viewing channel 6, but only because the RF video bandwidth is lower than S-video and much of the interference was in the higher video frequencies.

Others have reported the same problem, mainly on channel 6 but sometimes also on channel 4. Apparently the problem does not affect all units, so it may be simply a manufacturing defect. Hopefully it is one that they can soon fix. Without this problem, I might not have returned my unit.

TiVo variously claims the problem is due to either to an "out of spec" channel 6 signal from my cable system, or to excessive solder flux left on one part of the circuit board during manufacturing. I find the latter explanation much more plausible. Channel 6 looks just fine on my JVC VCR, my Sony VCR and my JVC TV set. And channel 6's visual and aural carriers check out OK on my wideband scanning receiver (Icom IC-7000).

Other problems

Others have pointed out some other TiVo drawbacks: the need to pay for a subscription to the program guide, the inability to distinguish syndicated repeats from first-showings of the same program, and the lack of a commercial skip button. To this I would add the slowness and overall tediousness of the user interface. The cute graphics and sound effects may help sell the product, but they provide no real value.

To be fair, a lot of effort clearly went into the design of the TiVo's user interface. But I conclude that it's simply impossible to provide a really good user interface to something as complex as a TiVo with just a hand-held remote control. A web browser on a PC with a keyboard and a mouse would be far faster and easier to use, and that's a second reason that this box really needs an Ethernet interface (the first being the ability to use a fast DSL or cable modem to download program information across the Internet).

Sure, keep the existing user interface. But give us the option to bypass it. Imagine, for example, forgetting to program the unit before leaving home for work. With an Internet connection to your TiVo, you'd just get on the PC in your office at work, fire up a web browser and program your unit from there.

Anybody wanna do it right?

I am always greatly frustrated by products like the TiVo. They have greatness within their grasp, and you really want to support their makers for doing something different. But when they fall short, my engineering instincts kick in and I'm seized with the urge to void the warranty, tear the product apart and fix its shortcomings. That sure would be a lot more fun than trying to convince their marketdroids that their product isn't already perfect, eh?

But in this case, why bother? Why help (or beg) some company (to) improve a closed, proprietary product when, with Linux and (mostly) standard PC components, we could build our own digital hard disk video recorders? With open source software driving it, there would be no reason it couldn't work as it should, and in ways that might not be in sync with TiVo's business models. E.g., it could use the many existing TV program guides found free on the Internet instead of having to pay TiVo every month for the same information.

The critical missing element is a full NTSC-quality MPEG encoder card for the PC running in real time. The PC video capture cards I've seen on the consumer market all seem to produce only uncompressed video (e.g., AVI). If you want MPEG, they give you software that runs much slower than real-time. There are rumors of PC cards that can do MPEG compression in real time, but I don't think they're available yet on the consumer market.

If you're willing to limit yourself at first to recording DirecTV, though, you wouldn't need an MPEG encoder card if you can figure out how to get the MPEG bits directly out of the receiver. Decoding MPEG is much easier than encoding it, so this could be done in any of the MPEG video decoder cards already available in the PC market. This would give you the ability to make recordings off DirecTV that when played are indistinguishable from the original showings.

Phil Karn
9 Jan 2000
14 Aug 2001 (updated)
Back to Phil Karn's home page