TiVo's CTO develops tools in-house to stay flexible and keep up with the fast pace of change At the cutting edge of technology and entertainment, TiVo is a technologist’s playground. As co-founder, CTO, and senior vice president, Jim Barton oversees R&D as well as strategic development at the Alviso, Calif.-based company, which provides digital video recording services to 510,000 subscribers, allowing them to record their favorite television shows. Barton, one of InfoWorld‘s 25 Most Influential CTOs in 2002, talked with InfoWorld CTO Chad Dickerson about some of the technology choices he has made.What kinds of tools are your developers using to develop TiVo? We all know it’s based on Linux, but when it first came out, there weren’t a lot of tools built for Linux. I’m just curious to what you’re using now and what you used to use.We haven’t really changed our overall development strategy since the beginning. [We] build a lot of our own tools. One of the best ways to look at it is that when we started, and I used Linux, it was just an operating system. You know, you sort of scraped the top off — everything off the top — and just populated TiVo with those components that were needed for its operation. We use the GNU tool chain, and we build across three different chip architectures, X86, MIPS, and Power PC, as well as across the different flavors of Linux. And we have a fairly extensible build environment; we use Perforce for all of our source code management; we built our own configuration management system directly into the build process. So out of one software source tree, we essentially can build an image for any of the TiVo products. We typically build frequently here. The rate of change that we have here is so large [that] in order to get the best software, we have to feel confident and make sure everything’s tested and working. So are you actually releasing to the boxes in production after testing to upgrade the software?Well, we do a phased rollout. You can imagine that updating 600,000 people all at once is not a good idea. So we do a gradual phase rollout where we roll out 200, and a few thousand, and 10,000. And if everything’s looking stable, and we’re not getting high call volumes … we say OK. We can never test too much.Makes a lot of sense.So you’re almost like the world’s largest IT department, in some ways. Well, in a way, yeah, because there’s not really good, solid lines between IT and engineering and our service back-end.From a technology standpoint, what made Linux the choice over something like FreeBSD, for example?Well, at the time, in looking at everything going on … I felt that Linux was going to be a better candidate for us, from the embedded system side. The direction that BSD has been pointed for a long time has been sort of a world-class server operating system. And Linux was an operating system that I knew well, and I could find other people that had worked with it. The tools were all well-integrated with it. And at the time, I just felt that given what work we might have to do in terms of tweaking the kernel … real-time response, size considerations, and other things, that Linux was just a better choice for us. How is TiVo addressing issues with the DMCA, from a technology perspective, not necessarily from a political perspective?From a basic engineering perspective, the DMCA is not something you think about. … But we want to keep a tether on it. And if somebody doesn’t pay their bill, we want to be able to shut off their service. We don’t want people to steal the service, and as much as we can, we like to keep people just from generally accessing and hacking it. And over time, we’ve escalated our efforts, and we’ve got actually great help from the hacking community. They find our mistakes really quickly. And rather than running around suing people, we think it’s much better that we just take advantage of that, and fix where the problem was, and keep going.What are you most excited about in the world of technology or at TiVo? Well, I mean technology is an awful broad span. I’ll limit my answer to my world, which is television. The interesting thing is, right now with digital television technologies, you’ve got the plug-and-play initiative between CE and cable companies, and it will be a while before it sorts itself out. ATSC is starting to look a little more real; the tuner is being mandated by the FCC in new televisions and things like that. We’re right there in the middle of all that, a growing company, the first successful computer interface on television. How to manage the company in the midst of all this stuff going on, without losing track of the fact that five years from now, analog TV will still be the biggest delivery vehicle. It’s a very exciting time. Software DevelopmentTechnology Industry