rubikzube

software engineer ¤ yogi ¤ turban cowboy

Tuesday, February 08, 2005

Smarter than me?

This is so cool. I just talked to Smarterchild over IM for fifteen minutes and I was impressed. It was able to pick up every manner in which I tried to insult it and even humorously deflected my barbs towards its mother with, dare I say it, panache.

For those of you who have not heard of Smarterchild yet, it is a Chatbot; a constructed* intelligence that communicates over IM. At the ripe old age of nine, instant messaging is one of the youngest communication technologies of the information age, as well as the one with the most potential to push the boundaries of constructed intelligence and personality.

Now to be honest, the latter is something I see becoming more important than the former as I look ahead ten or twenty years. As the quality of computer-generated services becomes more evenly robust, we will turn towards those services with better presentation, or in the case of verbal user interfaces, those services with a more distinctive and warm personality. When I was reading The Substance of Style, I found a number of precedents for such a transition of emphasis from quality of performance to quality of experience. Additionally, the deconstruction and encoding of something as intangible as personality is something that I will be very interested to see attempted. People already have problems anthropomorphizing their computers. I can’t wait to see what happens when their Linux boxes speak to them with Indian accents and Brahmin wisdom.

*There is a reason why I use the term constructed instead of artificial. The word artificial to me has a connation of worthlessness that makes me cringe when taken in the context of computation.

Wednesday, February 02, 2005

Doom! Doooooooom!

I spent most of today writing a set of DHTML classes that allow a programmer to add HTML to web pages procedurally rather than declaratively. Only after finishing did I realize that my classes looked like a primitive form of .NET code behind. This made me think about why HTML is declarative in syntax and if web application development will move away from HTML at some point in its evolution.

In the early days of HTML, a declarative syntax was the perfect solution to distributing documents that consisted solely of text. There was no point in a procedural syntax that would have been much more difficult to parse and display. The needs and purposes of the web have changed over time, however, and the syntax that Tim Berners-Lee developed for linking and viewing documents is now a platform on which corporations build enterprise level applications.

Web applications have successfully leveraged the power of HTML because it is a simple and powerful medium for distributing information. Its document centric model and declarative syntax, however, are not ideal for application development. Even if one can procedurally create pages with JavaScript, there is nowhere to run from the limitations of the document object model, and this is as it should be. The document object model was not created with application development in mind.

The web has blossomed into the most powerful, adaptable tool that humanity has created, partially due to the tendencies of its die-hard practitioners toward standardization and backwards compatibility. That aspect of the web will never and should never die, so the future should heavily skew towards a declarative syntax and a document object model of some sort (in the vein of XUL or even XAML). But although I cut my teeth as a developer on DHTML applications, I think that over the next five years the death and rebirth of DHTML in a more application centric form is inevitable. With any luck, I’ll even be able to script together my own OS using nothing but a browser, a file directory and database located on an external server, and a collection of web services.