Why hasn’t Tivo taken off

Mark Canter asks “why hasn’t Tivo taken off?”

It hasn’t taken off because the acquisition and implementation cost are too high for most people. Look at the rats nest of wires behind most AV systems and you’ll see just what I mean.

Also, most people are scared of technology. Seriously. You really gotta get on planes and talk to average users to really understand this one. via [Scobleizer: Microsoft Geek Blogger]

The first point’s right on. The second point (“scared of technology”) is only correct as a subset of the first. People aren’t scared of the technology in a high-definition plasma screen TV are they? Because (they think) they’ll plug it in and get the experience. I don’t have a Tivo because (a) I’d have to run a second cable under my house, fish it through my walls to my set-top box, and rewire the A/V routing. And (b) the cost is something like $400, once you add the service, which I take it is mandatory. For what? A digital VCR.  

You can lead a programmer to .NET, but you can’t make them code

Jason Haley asks: What do you do with people who are still putting off learning .NET?

From my standpoint, you keep improving .NET until they start getting the message that .NET is +the+ platform of the future.

But what constitutes “improvement” in a programming platform turns out to defy common wisdom. Look at the most successful languages in the last 25 years: Java, C++, Visual Basic, dBase, Turbo Pascal, Basic, and C. There are two obvious tracks: ease of use (Basic, dBase, VB) and power (C, C++). But Turbo Pascal and Java balance ease of use and power. And while most will grant C/C++ the crown on the “power” axis, “ease of use” clearly fails to capture elements of the success of Basic, dBase, and VB: if it’s ease of use, why didn’t Smalltalk achieve mass success? If Turbo Pascal, why not Modula-2? If “powerful programming constructs” why not Oz?
 
One of the “common wisdom” sayings is that programming language syntax is no longer as important as it once was, because the behavior of programs are now governed much more by the abstractions embodied in the standard library (in .NET, the Base Class Library). This is true, but programming passion attaches to syntax. Nonsense like “Python is twice as productive as C# or Java” is taken at face value.
 
Improving .NET is not (just) a matter of increasing the power of and introducing more abstractions into the BCL. It’s true that making it clear that managed environments like .NET and the JVM are neither fads nor safety wheels for “real programmers” is important, but equally, the ramp between power user and programmer must be repaired.