Saturday, February 23, 2008

obsolete skills

I came across this Wiki of obsolete skills on SlashDot: http://obsoleteskills.com. It is a pretty diverse list, including Assembly Language programming and darning socks for example.

I seem to have a pretty healthy helping of these skills, and some of them make me feel pretty darn old. Blowing the dust out of a Nintendo Cartridge? I may not have any experience in that, but I sure know how to blow the dust out of a Colecovision cartridge.

(yes, and seeing the Ladybug cartridge at the ready like that brings a pang to my heart)

I am such a dinosaur that I also know how to change vacuum tubes (and I question that being obsolete. To paraphrase Steve Albini: when it comes to music, give me Analog or give me Death!) and the ribbon on a Selectric typewriter, clean VCR heads, adjust vertical and horizontal hold, use an old-style cable box to hack into the Playboy channel, and a whole slew of other undoubtedly outmoded technical skills. Hell, I can even play 36 versions of Pong and Hockey. There's something to put on a resume right next to "can use the Card Catalogue" (sorry kids, you'll have to Google that one).

Saturday, February 2, 2008

RIAs vs AJAX


*Excerpted from a recent email for AJAX World conference


There is currently a lot of hype about a supposed battle between RIAs and AJAX. In my humble opinion, the whole business is greatly misconstrued. Here is what I think are some of the misconceptions:

  1. That there is such a thing as "AJAX". AJAX, is a made up term that was created to sell people on DHTML, which was a made up term to sell people on what you can do in the browser using just HTML and javascript. So, “AJAX” is not a platform, a RIA, or a new technology.
  2. That RIAs are anything new. RIA might as well be named “Reactionary Internet Applications”. No paradigm shift has been introduced. They represent a qualitative improvement over Applet and ActiveX control solutions of past years. (Likewise, Adobe AIR and WPF are qualitative improvements on traditional desktop installs.)
  3. That there is a choice to be made between AJAX and RIA. Just about any RIA will be embedded in an HTML page that uses javascript to communicate with it. Some RIAs will even make use of HTML and javascript as content (a selling point of Adobe AIR), so the only question is whether to use an RIA or not for a particular problem. If you are working on a web application, you are using HTML and javascript.
  4. That RIAs are going to rise up and squash “AJAX”. This would mean that RIAs would render browser based applications obsolete as anything other then a launching pad for RIA content. The ramifications would be (among other things):
    • Literally hundreds of millions of web pages of content would have to be transformed into RIA content
    • The cost of creating content on the web would, for the first time ever, go up rather then down, as the means of creating content became locked behind proprietary systems with much higher learning curves then HTML and javascript.
    Besides all of that, there is also the simple fact that the browser has historically evolved to fill the gaps that RIA solutions provide, and it will continue to do so. Basically, anything that RIAs are doing exclusively today, will be in the native browser domain some point in the future, and that future is often closer then you think. For example, look at the dojo charting and vector graphics packages.

  5. That the debate is at all related to innovation in Web Software. I can’t think of any real paradigm shift in web development that has hinged on a distinction between using Flash or Silverlight or JavaFX vs Javascript, while many of the innovations in the past 8 years have been related to the openness and document structure of browser-based development. Google maps wouldn’t have been much different if it had used Flash (as Yahoo maps in fact does) to do the map drawing. What is important to note about the Maps and subsequent Mashup explosion that came out of that, was that it was achieved by exposing aJavascript API that was scriptable in the browser. The mapping component could be Flash, Silverlight, or anything else, but the way you talk to it is with javascript and where it lives is in the DOM. Likewise, it is hard to imagine document and hyperlink based collaboration patterns such as Wikis and Blogs emerging in a world that is completely dominated by RIAs.
  6. That the limitations of browser based applications are a bad thing. Limitations have a lot of benefits. Most software is overbuilt by a wide margin which increases cost, stifles innovation, and frustrates end-users. Web applications have been so successful at delivering inexpensive software because of the limitations of the browser rather then in spite of them. Google has proved over and over again that people want simple and clear interfaces without a lot of moving parts, yet the writing on the wall is ignored over and over again.

So there you have it. Please, feel free to use Flash, Flex, Air, Silverlight, JavaFX, or even Applets or ActiveX wherever you find it needed, but please, lets stop debating RIA vs Browser-based HTML and javascript as if it were an apples-to-apples comparison.