It's illuminating that the first stumbling block folks who are playing with Ajax are finding is that damned back button. At my prior gig, we had the same problem. We gave our users a complex web application that provided all sorts of cool filtering and sorting controls.... that could be instantly totally nuked by the back button... a shift reload.... you name it... ka-blooey, your state is gone. Ajax's doesn't care about the stateless nature of a web browser. Ajax just wants to quietly update your current page... and that's the second part of the first leap:
Stop thinking of a web application as a collection of pages.
The back button is not a bug in Ajax, it's a flaw in the browser metaphor.
I hearby serve notice to the following browser controls: forward, back, home, reload, and that URL field. You need to die... unless I need you. These controls are (rightfully) designed around the idea of the web as a collection of pages, but an application is collection of objects where you, the user, are guided by a well designed interface to get your job done. We don't actually need to kill these controls because they do serve a purpose, but the web application developer should be able to choose when they're available because the developer is designing the application and they are incented to do what's right for their users.
1. Esther Strom05/26/2005 04:18:48 PM
What I wouldn't have given for that ability 5 years ago, after spending 9 months of 100-hour weeks writing an ASP/SQL business and personnel tracking app that, as mentioned, would blow up if the user manually refreshed the window.
2. Bernard Devlin05/29/2005 05:27:08 AM
Hi Rich - thanks for pointing out Koranteng's blog. It was full of fascinating stuff for me. I work alone (practically in a vacuum!), and have been debating many of these issues by myself. It was great to see so many lengthy expositions on areas that I spent long hours working out for myself. I'd never looked at K-station or even heard of him before, and had no idea that these issues had been so prominent with other developers in the last few years (I was heartened to see him extol netWindows since that was the DHTML framework that I also concluded was the best available).
3. Alan Bell05/31/2005 10:32:23 AM
4. Bill Engels05/31/2005 12:37:55 PM
Oddly, using AJAX can solve some issue with the back arrow. =)
Combined with cookies (the evil!), using calling AJAX to run on reload rechecking cookies can be ok. I admit. It's a dark path that may forever dominate ones destiny. (hehe)
5. Donovan White05/31/2005 01:38:04 PM
um, it's rightly, not rightfully.
Whining about platform UI controls is a waste of time, as was pointed out to me by a VB developer when I said that I liked radio buttons better than checkboxes for my option lists, so I should be able to select more than one rb in a set.
6. Richard Schwartz05/31/2005 01:47:37 PM
@Bill: That sounds interesting. Are there any samples or more extended explanations that you can point to?
@Alan: XUL sure looks interesting. If only I had time. There isn't by any chance an O'Reilly book out there, or in the works, that you know of?
@Bernard: Koranteng's blog sure is an interesting read. I know what you mean about working alone feeling like a vacuum. Although I team with others fairly often, it doesn't compare. The reality of being a lone consultant going from a deep dive on one transient team to another hardly compares to the immersive experience of being part of a product development team for the long-haul. I was on the same product team for six years at one point. I have also occasionally dabbled in music. There's a thing that musicians call "tight ensemble" that, when it's there, makes all the difference in terms of how the music from a group sounds and in what the musicians take away from it themselves. I think the same thing can exist in a technology development team.
7. Richard Schwartz05/31/2005 02:19:57 PM
@Donovan: Nit-picking about the English usage of a gentleman whose site indicates that he is from Ghana isn't a particularly good use of time either.
8. leilei391502/28/2017 02:24:15 AM
9. zzzzz02/28/2017 08:45:44 PM