Jeremy Zadowny explains why “WebOS” is a meaningless term. In my view, the Web is really a big Tower of Babel situation: people from all over the world are building, with no coordinating body or hierarchy, the hugest construction ever. But the reason the Web doesn’t fall apart is that we all do have a very basic, simple language to communicate with one another: HTTP.
Stay close to HTTP (like PHP, REST, RSS or AJAX do) and you succeed. Try to build your own seperate, more sophisticated, languages (like SOAP, .NET or Java applets) – and you fail.
(To clarify: I consider Java and .NET failures, due to the fact mega-powerful companies like Microsoft, Sun and IBM invested huge resources at them and yet their Web market share is lower than that of the open LAMP stack, and decreasing. SOAP is far from HTTP since it builds a complex request mechanism instead of REST’s GET/POST. REST really is just a fancy name for HTTP GET/POST – in real life, most Web Servers actually block PUT/DELETE requests)
You can think of the Web as what anthropologists call a Trading Zone (speaking of the Bazaar…): A place where people with many different backgrounds, cultures and motives meet. Naturally a common language emerges, simple and sparse. In many languages there “Spoken” and “Written” dialects. The Web’s spoken language is Pidgin HTTP, comprised of two verbs: GET and POST. On top of these verbs, there are simple nouns and adjectives unique to specific domains – like fishermen and merchants in the trading zone would have common names for the ocean’s creatures, Flickr or Yahoo! APIs are domain languages for their specific areas. As I see it, these are becoming even simpler, with Atom, RSS and microformats removing cumbersome API keys and domain-unique XML responses. “Hey, Flickr! Got fish today?”
GET /services/feeds/photos_public.gne?tags=fish&format=rss_200 HTTP/1.1