January 09, 2005

Hassle-Free Computing

I'm waiting for the day when I get a spam message with the above subject-line. I think it would be the first spam I would ever respond to in a positive way. However with my luck when it comes to computers, I'd probably end up in some internet cat-dating site.

Java is a funny evil. You get the promise of a language that runs on all platforms—which it does, but not very reliably. The alternatives do exist, but Java has the widest outreach today and will probably hold that lead (think Beta versus VHS in the videotape standards war). Yet I can't think of anything worse in the world of the web than Javascript. Javascript makes Java look bad. The inconsistencies per browser of Javascript that works and doesn't work seems to multiply each minor increment of a software version number. I cannot count the number of Javascript programs I've written with the disturbing feeling, "If I code this in the incorrect way, it can run on browser X or Y semi-reliably, but if I code it in the right way it will run on some versions of browser Z." Juozas Šalna of Lithuania reminds me that Javascript and Java have no relationship except for the 'coincidence' of the name. And Bryan Boyer of Massachusetts says that ActionScript delivers the promise more than JAVA-based systems. I've never verified that myself, but given my share of Flash problems I remain optimistically skeptical.

Which brings me to my point, and that is that hassle-free computing will be out of reach until there is hassle-free software development. The reality of computer programming has shifted greatly over the last decade from a programming manual measuring a quarter of an inch in thickness, to towers of manuals that cumulate in a pile taller than Shaquille O'Neal. People today complain about their cell phone manuals—try looking at an endless suite of Java-related manuals. Programmers have to go consume and interpret more documentation than even lawyers today ... that's truly frightening. Yet mastery of a software development system has become meaningless when the many flavors of operating systems and associated legacy versions of the OS (which are dialects unto themselves) can render your precious work inoperable.

In the SIMPLICITY program here at MIT, we believe that one of the keys towards hassle-free computing (and software development) is a move towards highly centralized computing, versus the current trend towards mass decentralization. There is evidence in the more successful strategies by Microsoft, Apple, and Google in these directions that we are on the right track. So our hat is in the ring as well, and you know you can't spell COMPETITION without M-I-T!

Posted by maeda at January 9, 2005 09:40 AM
> | Posted at 09:40 AM

Thoughts On Simplicity   By John Maeda