Thursday, July 31, 2003

Adam Bosworth's Weblog: Web Service Browser

Adam Bosworth's Weblog: Web Service Browser "Ok. when I say "Rich Client" from now on, I don't mean a VB look and feel let alone a Flash look and feel. Macromedia and the inimitable Kevin Lynch do that really well (a lot better than Microsoft) and I'll just stipulate that this can be the right thing. What I'm more interested in though is something that has the authoring simplicity and model of pages. If you can build HTML, you should be able to build this. You should be able to use your editor of choice. Indeed, as much as possible, this should be HTML. I mean 3 things:
1) The user can quickly and easily navigate through information in ways that the site providing the information didn't expect
2) The user can run offline as well as online
3) If information changes and the user is connected, then the changes can be "pushed" into the UI if so desired
When I talk to customers about why on earth they are still using Java Applets or VB to build user interface, frequently the reasons are because they can't do these three things otherwise.
Similarly, when I say "Web Services" I don't mean that all of the SOAP crap is required. I mean that a service exposes some way to send/receive XML messages to/from it. REST is fine if it works (more on REST in another entry).
So, to summarize, a Web Services Browser is a browser that can access information published as XML messages by services, let the user interact in a rich and graceful way with this information or these services, but can run well in terms of interaction whether the user is online or offline.
Let me give an example. Suppose I'm managing a project and I want to be able to review the project status while I'm on the road. I want to be able to sort by task priority, or employee or amount the task is late. I want to be able to update priorities, add comments, add tasks, and so on. If I am online, say at Starbucks or the airport or Hotel, then I want to be as up to date as possible and I want all the changes I've made offline to percolate back to the project. If i'm online and information changes in the service, I want to see the changes immediately flow into the page I'm viewing if they're relevant to it so that if, for example, I've viewing a summary dashboard style page and some tasks get updated I can see at a glance that the have changed. If I switch machines to my mobile PDA or just connect in through someone else's computer or an Internet kiosk, I still want to see/update the information of course."

No comments: