The web that will be

Kentfield map

It would be nice to have the web be the platform for software development, and after several years of the doldrums, the folks at Google and Yahoo! have grabbed the attention of developers everywhere. They are starting to share former secrets on development sites.

Some of the things that might make it happen for developers, now that the box has been opened again:

CSS

Web sites, such as Position Is Everything are continuing to expand the knowledge required to produce acceptable user interfaces in a web browser.

X Forms

Coming, eventually, to everyone. Now available as a Flash 6 plugin, or in Mozilla (beta). Watch this space. Or another X-language: Laszlo.

XPath and XQuery

There are commercial and open source XQuery servers now available, so getting simple access to XML databases of all kinds is getting easier. When all the web’s content is expressible as XML queries, what could happen? Ask Udell.

Ajax (asynchronous HTTP using Javascript)

The talk is heating up, and we’ll probably find that Ajax works its way into a slew of new possibilities.

REST (keep it simple web services)

REST is back because of Yahoo’s bold decision not to jump on the SOAP + WS-yada-yada-yada bandwagon.

Beyond HTML and Javascript, you get into the more robust and complicated platforms:

Java Web Start

Java is still out there as a client-side solution, even though Microsoft would wish it away. If it had a true open source following, which could happen any day now, Java Web Start could provide a way to build applications of arbitrary complexity deployed on any platform.

Servlet Engine in a Box

Using existing technologies it is pretty easy to package any application inside a desktop web application server and avoid all installation problems.

Mono (Cross-platform .NET)

Using a cross-platform system with rich user interface and networking, the
mono project is trying to regain the write-once, deploy anywhere philosophy that Java first started.

Visions 2: How to codify human knowledge

http://xanadu.com/cosmicbook/PTF1teeny.JPG

What is the longest running unfinished project on the web older than the web itself? How about Ted Nelson’s Xanadu project. Did TBL base the web on Xanadu? I haven’t done the reading. Now that hard disks and network storage is so cheap, and processing power is even cheaper, why can’t we finish the project?

It could be the most important universal data model ever created. I think Ward Cunningham also deserves some credit for taking this forward.

About four years ago, I stumbled on Ka-Ping Yee’s (probably some karass version of what I would be if I were a real computer scientist) Crit Link project, originally published under the auspices of Doug Englebart’s Foresight Institute, and now gone (it’s supposed to be at crit.org, but I think not; nor is it on Ka-Ping’s zesty.ca. The first self-commenting system that I know of. Also take a look at Wendy Seltzer’s work, the Annotation Engine. Funny how a lawyer who cares about electronic freedoms is also into Xanadu.

Visions 1: How to build a computer

http://jef.raskincenter.org/main/pictures/img/jef_big.jpg

Unfortunately for the world, we are losing visionaries at an unacceptable rate. This month marked the passing of Jef Raskin, who believed (against all odds) that computer systems can be built that don’t break and are understandable to users. At his death, he was working on putting into use a way for users to work quickly and efficiently with computers. To quote from Raskin’s proposal (nicknamed “Archie” for RCHI or the Raskin Center Humane Interface):

*CLEANLINESS

A user should never be responsible for cleaning up the system, whether it is leftover debris from internal operations, fragmentation of the file structure, garbage collection, or whatever.

Computer resources belong to users, not to developers.

*RESTORATION OF SYSTEM STATE

The state of the system, when it has been turned off or slept and then turned on again, is whatever state it was in when it was turned off or entered into the sleep state. The saved appearance, which reflects the saved state, includes cursor position, selection markings, and all other indications of state. In other words, the way it looked and worked when you left is exactly the way it looks and will work when you return.

Even though these are old ideas of Jef’s (from the dawn of the Macintosh era), the juggernaut of commercial computing ignored them, leading to our wonderful world of “AutoSave”, “AutoBackup”, and “Save As”; programs that crash leaving unworkable documents, the delete and backspace keys, and other oddities that we all work with everyday.

Like the Dvorak keyboard, Archie could help us get to the point that I blithely tell the teaching staff will come “in the next generation,” when using computers is an uncomplex as answering a telephone (an old-style telephone with the “pick up equals answer” syntax).

We may have to wait for the demise of the “computer” for this to happen.