> * This is using a plain hash instead of a hash bang,
> which, correct me if I'm wrong, means sub pages are
> not hit by search engines.
Fortunately, you're wrong about hashbangs. They were a temporary hack to allow the GoogleBot to index Ajax-driven pages before the HTML History API existed. Because of New Twitter, many sites have cargo-culted the hashbang without implementing the required "escaped_fragment" functionality on the server-side to make it actually work. It's the web developer equivalent of an SEO rain dance.Please don't use hashbangs in 2011. Use pushState() if you're a public-facing site that needs to be indexed by search engines.
I assume, then, that the developers of this site could have used pushState() instead of the hash? I mean, I assume that Backbone encourages this style if the developer makes use of it.
But regular hashes ("#") are fine for internal single-page-apps that don't need google indexing -- of which the majority of Backbone projects probably are.
It's just the hashbang "#!" that's a particular pet peeve of mine ;)
I don't follow how pushState (being a javascript function) replaces the need for _escaped_fragment contraption for letting crawlers fetch page snapshots in a specific state.
A HTTP GET /about should of course give the same content as the AJAX version.
AJAX has its place, but I don't see it here.
Edit: I find it amusing that the documentation for the <frameset> tag is missing :-)
The real problem is the developer not respecting the href in the anchor and only handling onclick. This prevents you from saving the shortcut easily, opening in a new tab, etc. I like the approach Google+ and others have taken which says "use the href unless left clicked and no modifiers (i.e. ctrl, alt, shift) are pressed.
http://www.innowhere.com:8080/insites/
* You can copy and paste a link to someone * Sub pages are hit by search engines * Works with JavaScript disabled
That said, a few things jump out at me that make me think this approach isn't ready for primetime (or to be more precise, takes a lot more work to make it ready for primetime)
* Individual properties are not reflected in the URL, meaning I couldn't copy and paste a link to someone
* This is using a plain hash instead of a hash bang, which, correct me if I'm wrong, means sub pages are not hit by search engines
* If javascript is disabled and I load this, I get a blank screen.
It's this kind of thing that makes me fearful of pursuing this approach for more serious projects...