In this part, I will describe my understanding of the technology behind the current state of play of Web 2.0.
Mesh up of data - mixing of data sources:
- Data sources (such as Google Map, Flickr, Criag's List, ...) expose sets of API for user to fetch a customised set of data from the data source.
- Data is returned typically in XML or JSON format.
- Mesh-up sites take two or more data stream from different data sources, select useful fragments from the returned data and mix with fragments of data from another source to create unique value-added service.
Note that:
- the APIs are server-based
- these APIs are called by server or web browser client (XMLHttpRequest is available both as a server process as well as implemented by most modern browsers.)
- Mesh-up is mixing CONTENT or data depending on how you like to call it.
The second trend is the injection of additional features on a web-page, typically using
Greasemonkey extension using user scripts. I will group customised look and feel into the same category. Basically, if an end-user is not satisfied with a web-page, the web-page is changed using either a user CSS (to replace the original look and feel of the web-page) or an injected Javascript through the GreaseMonkey extension.
I still have not seen mixing of AJAX functionalities (ie the first trend above) with user injection.
This is important to note that in both these trends, the original data source or the web page owner is NOT designed to match and mix with any other data source. It is a third party who mixes the data sources or changed the style/functionality of the webpage.
The experiments I did in the VAF break through shows that data sources can also expose their API as a Javascript object/script and enable a pure web-browser based mesh-up. Data provide context, scripts provide functionality. I hope we can see people starting to provide functionality (in the form of javascripts) to allow users to manipulate data from different sources (such as GreaseMonkey script), and VAF will enable different scripts to work together.