Evolution of Human Interaction on the Web
I thought I would pen a blog is based on a little spiel I give when people ask me what the @#*$ is Web 2.0? The focus is not on technologies and features but more on the nature of the dynamic between the human and the computer...and these days I should probably chuck in the ubiquitous "cloud".
To illustrate some of the concepts, I will be using mapping/location applications as an example. Ever since one of our ancestors stood up straight and started looking down to a 2-d surface, maps have been a concept we all "get" and have tended to be suitable for early adopters..be they Norse Vikings, Chinese Astronomers or Generation Y looking for the nearest pizza.
The first widely adopted incarnation of the "World Wide Web" - remember when you had to use the full name? - was premised on the ability to render content to a screen and use hyperlinks to navigate between different sets of content. The key aspect of this was that human's had to choose associations between data and navigate a path based on their interpretation. And it was people who had to draw the connections between two sets of content to come up with useful information.
To apply this to the mapping context, a person used to do something like the following;
Go to a directory listing site;
Choose the link for the category they were looking for;
If they were lucky, search for a name or, often the case back then, scroll through big long lists;
Select a listing, write down address.
Go to different site where images of maps were kept;
Search, or look up index, for street name to find out which map page it was on;
Select map page;
Use the map coordinates to find the street on the image and then work and, if they were lucky, roughly where the number would be; and
If you wanted directions, link through several pages of map images trying to trace back to your place.
Wow - did we really do all that once?
The key aspects of this are that humans provided the ability to correlate information, resolve location information and persist results. Computers and the internet merely served to store and serve content and links to content.
Some people reading this will never even have experienced that process, for them Web 2.0 style interaction is all they have known. But what is different about Web 2.0 from this perspective of human, computer and network interaction. I'm not going to talk about AJAX, JSON and a myriad of other technology labels - see here if you want that - or even about definitions of Web 2.0 - everyone seems to have agreed O'Reilly nailed that one.
From my perspective, the fundamentals of Web 2.0 have been around for a long time - hand's up who is used the AsyncResult property on the XMLDOM object using JavaScript in the late 90s and didn't bother naming it after a soap power? However, it is really the maturation of social awareness and expectation around the human-computer interaction and what applications on the "Web" (one word") can do that has led to this re-branding of the internet platform.
The key change in this new version is that the data retrieved by Web resources can now be structured by programmers. Computers have always been able to store structured data but previously content accessed over the web was fairly loose, being mainly text and formatting. Standardisation on XML and its plethora of descendants has enabled application developers to access that structured data.
Application developers are then able to develop associations with structured data which can be processed computationally, obviating the need for a human to write something down and go to another location to find the correlating piece of data. Two - or more - pieces of correlated data become information which can be immediately understood and processed by the human brain. And the final shift in this new model is that applications can expose forms to update these data records. Wiki's, blogs, video sites, etc are all really just data entry sites to which we can append text or binary objects.
So what does this mean to our mapping example? A new interaction looks something like this;
User goes to favorite search/locator application;
User enters in key information such as category, area - so far not much change;
Application invokes search function and retrieves a set of listings, addresses and map locator information. Application invokes map function to retrieve map of area. Application processes set of listings and projects onto map function. Application renders map with markers for listings. This is the equivalent of reaching step (h) in the previous flow;
I won’t elaborate on finding directions, etc because the point is how much of the processing of data to information has shifted from human to the application. And computers are really good at doing that. The other interesting little aside about mapping applications in this context is that I can start contributing to that data, for example how Google Maps is supporting location editing using Wiki-style functions. This interaction concept didn't even exist in the 3-named internet world but highlights the interaction shift when even maps encourage contribution. I'm not sure Columbus wanted everyone in his crew having a crack at the charts but it really is a brave new world.
Finally, I wanted to postulate a little on what all this might mean for the next generation of Web applications - 3.0 (ugh), Semantic Web, whatever you call it. The big paradigm shift which is going to change how computers and humans interact is when intent and meaning can be represented in standard forms which are understandable by computers.
In this situation, applications as we understand them will become fundamentally altered. Rather than having a static set of services which are invoked and rendered to present information, platforms will become composers, retrieving the information you want, rendered in the way you want and, most importantly, monetized in the way you permit.
Speculating a little bit, a mapping interaction might look something like this;
Ask computer/device to Find Restaurant;
Computer looks up ontology as a resources, interprets Restaurant as of type Place and as having a collection of Styles;Computer looks up Restaurant.Styles in your profile information;
Computer knows "Place" is a location asks the "cloud" for a directory service based on your preferences - i.e accuracy is important (if your in China you want a Chinese service, in Italy an Italian one), want to be able to see ratings, happy to see ads to pay for use, preferred mapping application to use - "FaceMaps" for arguments sake;
Computer receives service interface definition and invokes directory request with information from your profile and current location;
Computer receives locations and information about local restaurants that suit your taste. Address information may be of type ChinaAddress and your mapping application may only support Address so computer does typecasting of address lists into the call for your preferred mapping application;
Computer renders map showing locations of restaurants, with advertising along bottom to support the cost of the request.
User eats at the best ranked restaurant of their favorite style after one click.
Now all this seems very similar to what can be done today, and to be honest, a good programmer could go and build an application that does this similar processing with lots of framework API and translation functions etc. But in the next version of information processing on the web, it should not be required. People will used their preferred composition containers probably much like browsers today and ask for what they want. Networked systems will be able to leverage their massive distributed computing power to understand intent and meaning, delivering unprecedented and unimaginable nformation processing capability into the hands of every person with a device.
We just have to be careful of what we ask for. Anyone remember Skynet?

Comments
As you mentioned O’Reilly’s, I don’t completely concur with O’Reilly defining characteristics of Web 2.0 applications!
- Utilizing collective intelligence
- providing network-enabled interactive services,
- Giving users control over their own data
for examples. Google or MSN, which expresses much Web 2.0 responsiveness, doesn’t precisely give users principal power over their own submitted data-
- one couldn’t, for instance, erase search queries from Google’s servers.
- Users contribute content to many of Google’s applications, but they don’t fully control it.
Wikipedia entry on Web 2.0 whereas MSN’s free online version of the Encarta Encyclopedia, in comparison, doesn’t yet have a Web 2.0 entry?
I think set of principles and practices for web 2.0 is still need to be decided!
Posted by: Amarendra Bhushan Dhiraj | January 9, 2008 06:42 PM