When I teach Silverlight 2, I stress an important lesson that I thought that we (as developers) had learned the importance of linkability of the web. Early usage of Flash was the first time I noticed this. A number of those sites would create nested functionality that never changed the URL. If the URL doesn’t change, i can’t bookmark it. Most Flash guys learned their lessons pretty quick, but now I am inundated with AJAX driven sites that try hard to not to do post-backs. That’s cool, but if the URL doesn’t change I can’t link to it.
I’ve noticed this happening a lot with support sites. The first time I saw with an AJAX site was using the Intersoft’s Developer Portal (http://www.intersoftpt.com). They treat the developer to a desktop-like experience, but if I can’t send a link to my other developers for the latest patch, why bother making it on the web?
The latest is the game Spore’s forums. Trying to help a friend figure out why its crashing, I found some good posts on workarounds but the site’s address is always http://www.spore.com/forum. What’s the point?
This post is a request…a pleading…begging even. Think about the usability of your sites. If it lives on the Internet, it should be linkable. Now if your site doesn’t have state, this doesn’t apply to you, but for the other 99.999% of the sites out there, don’t get too caught up in the frenzy of AJAX or RIA to make your sites usable. The reality is that you can do this with Silverlight, Flash, AJAX or any web page. It might be more work, but the level of frustration for users is well worth your time.
(NOTE: Microsoft is working on a new version of their AJAX toolkit to enable URL changes during partial page updates. This will help some of you, but the rest of you will still need to do some of the hard work yourselves.)