- From: Yves Lafon <ylafon@w3.org>
- Date: Thu, 10 Feb 2011 13:02:30 -0500 (EST)
- To: Nathan <nathan@webr3.org>
- cc: Karl Dubost <karld@opera.com>, Ashok Malhotra <ashok.malhotra@oracle.com>, "www-tag@w3.org List" <www-tag@w3.org>
On Thu, 10 Feb 2011, Nathan wrote: > Yves Lafon wrote: >> The example of twitter, where the search is using a hash sign >> (http://twitter.com/#search?q=foo) is a "good" example of the new syndrom >> "everything is done in js, and I expose only one resource to the world", >> with lots of consequences, including on caching. Another instance of "I >> expose only one cgi for the whole site" or "one flash page that contains >> the whole website", or even "one service enpoint in WS-* world". > > > Sorry, but I disagree strongly. > > There's nothing wrong with creating applications entirely in js, and in > almost every respect it's much better for the network, servers, clients, > users and the web in general. Well, I hope you agree that it's the same exact thing as a complete site in one flash page. > It promotes separation of concerns as the data is separated from the > applications. It is more the separation of data and resources. > It's a pattern optimized for both fine grained data transfer and coarse > grained hypermedia transfer, it plays very nicely with the network as you > only GET what you need, allowing heavily optimized caching of data components > on a granular level at clients, servers and intermediaries. Optimized ? You need to a GET on twitter.com/ then load all the js, then let the js run, interpret the hash and get the data from an API. So you have extra latency over twitter.com/foo. > Application state is managed by the user agent thus making http interactions > stateless. doing a simple GET on something that represent the query, without any cookie or nothing is not stateless ? Since when adding a hash make this more stateless ? > Servers are freed from the responsibility of wrapping the data in to > presentational markup, which reduces load, allows greater scalability and > reduces latency all round. I strongly disagree with that assumption. > It makes use of the uniform interface between the different tiers of the > system which allows independent evolution of each component/layer/tier. Having things exposed through an API _and_ having more expressive URIs is not incompatible. In fact it's not even correlated. > Users have a far better, more interactive, and more responsive experience. > > There are countless benefits, far too many too list, for instance I haven't > even mentioned how it promotes the usage of web standards and allows > applications to run on virtually any browser/os/hardware configuration > possible - but in short JS applications are a key part of the distributed > application architecture. I never said that using JS was bad, far from that ! Just that a site that is exposed through one URI through a JS program was the same as having a "one service endpoint" in WS-*. > The key failing in twitters system, and in many of these javascript based > HashInURI apps, is that they are operating as a silo and haven't exposed > their data properly. > > That is to say, they haven't applied the principals of linked open data to > the data tier, if they published their data openly using the standards, then > everybody would clearly see the distinction between the data URI, and a URI > of an application with a reference to a view state of that application > embedded in it. > > People are trying to suck data out of these client side applications, because > companies like twitter haven't exposed their data tier in a web friendly > manner (it's not machine understandable and has no link semantics, 'tis just > dumb json you don't understand unless you know their API). > > Ultimately there's nothing wrong with JS applications or using HashInURI, it > should be encouraged, the problems are: > > - failing to publish data properly in a visible / web friendly manner > - trying to reference data by using a URI that doesn't refer to data > > If we can focus on the real problems, then maybe we can fully separate the > apps from the data, turn storage in to a commodity, let users control their > own data, create an open app marketplace, encourage innovation, break down > the silos, gain a distributed application architecture and take a giant leap > in to the generation of the web. > > Apologies but this is something I feel quite strongly about (can you tell? > :p), we need more people with the shared vision to drive this forward - not > more people to push the buck on to using js and hashinuri claiming that's the > source of the problems. > > Best, > > Nathan > -- Baroula que barouleras, au tiéu toujou t'entourneras. ~~Yves
Received on Thursday, 10 February 2011 18:02:39 UTC