Relay #70, Panel F

don't just know technology, understand it

Thursday, December 08, 2005

If I may interject

Earlier today I read an article about why Ajax sucks. Though I hold the belief that _every opinion is correct_, I think it’s only fair to point out some of the shortcoming in the author’s analysis.

Regarding the issue of URLs not working, an application's state can be maintained and recalled by using query strings. All application events that are deemed important can have relevant information stored in a query string and the address bar can be updated with this new information. Upon application load, you can parse the query string and set up the initial state of the application based on the information provided. Though this makes for more work and long URLs, it's a very straightforward solution to the problem.

Regarding printing, one should remember that the purpose of Ajax is to give the user a richer user experience similar to that of desktop applications. That being said, one would not expect to print a screenshot of a running application (unless you actually just want a screen shot), you would instead use the print facility provided within the application itself. This means that the developer must give the user the ability to, from within the application, get a print friendly version of the data that is being viewed or manipulated. This has been the case with websites for years, it's not unique to Ajax.

Regarding authoring, Ajax is programming through and through. Yes, the presentation model makes use of CSS, but this is always done using code (JS or VB), so comparing it to a markup language and saying that it's harder so it's bad doesn't add up.

Regarding search, how is that a problem? Again, proper design negates any issue that may arise. META tags are there for a reason, and as for searching document content, the initial state of an application would provide the needed information, in the same way one would search through a static document. If the initial state of an application changes as a result of manipulation done to the data through Ajax, then that data will be caught on the next crawl. That's a moot point.

Regarding user preferences, It's hard to speak to it because the author has not provided numbers, however one should understand that though Ajax has been around for years, it's adoption has been slow and so it's still a fairly new technology. Once users become more exposed, then a proper analysis can be done.

Regarding the back button, well, I don't have a solution for that one. I'll give it some more thought.

I agree with his overall recommendations as to the development of a richer model for hypertext, however you can't expect work to be done in a field if there is no interest and where everyone makes do with what they already have. It's because so many people are excited by and moving to Ajax why we'll soon see these things coming to pass.