Re: Identification of documents in Web applications

On 3/10/2011 8:56 AM, John Kemp wrote:
> How do you pass around that hunk of Javascript which identifies a particular state? Do you want to?

I hate to be sending so many replies on this thread, but I really feel you 
missed the point of my original proposal [1]. My whole point is that for 
some Ajax applications (the simulator) it's appropriate to think about 
identifying application states, but for many other Ajax applications 
(resume browser, email reader, twitter, maps) it's better to realize that 
we're using Ajax to navigate among documents, and to use more conventional 
URIs to identify those documents rather than identifying the "state of the 

Using Google Maps as an example, the URI at [2] is >not< an identifier for 
the state of the Ajax application I used to create it; it's an identifier 
for a map, centered at a certain latitude/longitude, at a certain zoom 
level, and with the Stata Center marked on the map. We can demonstrate that 
I'm right be accessing this URI from a non-Javascript enabled browser. Go 
ahead, try it. Turn off Javascript in your browser, and navigate to [2]. If 
[2] were an identifier for an Ajax state, nothing would happen. In fact, 
you see the map, just without all the Ajax interactivity.

That's exactly my point. If Twitter did this, we wouldn't be having this 
silly #! debate. Twitter could use the same URIs it always have, with an 
Ajax implementation on some clients and non-Javascript on others. You can't 
do this stuff with fragments, because with Javascript off, you require that 
all the parameters be sent to the server, and with # they can't be (because 
HTTP forbids fragments in the Request-URI).

So, that's why my post is encouraging use of the document abstraction, and 
non-# URIs, in cases where they reasonably apply. In practice, this can 
only happen when the HTML 5 APIs become more widely available, but I 
believe it's the right architectural direction.



Received on Thursday, 10 March 2011 16:11:41 UTC