Making Web Services More Like Client Applications

Improving the Experience

More and more of us are using web-based services. People send emails, look up phone numbers, edit web-pages and even manage complex business processes using web pages. This move to the web is unlikely to lessen, but we should not pretend that all the facilities we would like for using web services currently exist. I'd like to talk about what could be done and what is being done to provide these facilities.

The Browser as Input Device

When writing email or editing HTML through a web page I don't really notice much of a difference between using a form and using an normal text editor. I don't really push the text editors I use - cut, copy and paste do me most of the time. There are a few occasions though where a want a bit more. For example, I might accidently highlight an area of text, hit a key and suddenly the text is gone. There's no undo/redo within HTML forms. I think there needs to be and it needs to be in the browser.

The drive against implementing more features in the browser is the law of diminishing returns. Search and replace would also be good, but it's not a feature I use too heavily. Undo and redo definitely need to be there though.

Some editor features can be provided on the server. Yahoo! mail has a pretty reasonable implementation of spell checking that involves the text going back to the server for checking and JavaScript being used to handle changes. It would be good to see this propagate through other services. Versioning is another thing that could be handled well by the server - in fact it's difficult to imagine a generic browser-based solution working very well.

(As an aside, I sometimes use Yahoo! mail to write web pages and get versioning with that. I write the HTML as an email - I can even preview and spell check it - and then simply "Save Draft" rather than "Send". I can go back and re-edit the page later without affecting the previous draft. When the page is finished I simply use copy and paste to put it into a form that will uploaded to the web-server.)

The Need for Notification

One problem with a web page is that it's difficult for it to notify you that some event has occurred, such as an email arriving in you inbox. One way around this is to use some kind of instant messaging service. Yahoo! currently use their Yahoo! messenger to do this. You get all the convenience of web-based email (i.e. your mail available wherever you are) with the ability to be instantly alerted when mail arrives.

At the moment instant messaging services all rely on proprietary technology and generally don't interoperate. By 2001 this should have changed. With the existence of an open standard, instant messaging should become almost as pervasive as email. In the same way we embed are email addresses in web pages, we'll be able to include messaging information within them, giving web services an extra level of interactivity.

URL Protocol Mapping

As more and more people use web-based email systems, why when I click on a "mailto" link does my browser always open a client based web application? What I'd like is the option of my browser mapping a "mailto" URL to an "http" URL. Of course, this system would ideally allow you to choose which particular web-based email system you'd prefer to use.

(We can take this idea further and say that we'd like to be able to define fairly arbitrary mappings between URLs. The browser then supports HTTP/HTML plus the ability to perform these mappings. For example, I could have a simple web browser that doesn't understand FTP but uses this system to map an "ftp" URL to a URL for a FTP-to-HTTP proxy service. And, to take this idea even further, we could even put this mapping service on a server, the web browser simply adds any URL with a protocol it doesn't understand to a query URL and gets the mapping service to redirect it. It's possible to imagine a number of protocols that would benefit from this approach, one result being that browsers could be simplified considerably by moving functionality out onto servers.)

Summary

The absence of any of these features won't stop people using web-based services, but it will make the experience of using them better and ease their uptake if they are implemented.


Up: Ian Fairman's Writings
Copyright Ian Fairman 1999 - ifairman@yahoo.com