Written by
Spring 2008 Student
Kamlesh Devjani
From the beginning of time, mankind has relied on the back and forward buttons of the browser to navigate through the series of tubes we call the Internet. And due to his unfaithful memory, man has developed a strong attachment to bookmarks.
Both features were surprisingly unavailable in most ‘first generation’ AJAX / Web 2.0 / Rich Internet Applications.
Websites on the Internet work very differently than the desktop applications most users are used to. When a user selects an option / destination, the screen is refreshed, leading to a new webpage. Web browsers allow users the ability to navigate back and forward between the webpages, as well as allow them to bookmark any particular webpage. The key difference between older (poorer?) internet applications and the Rich Internet Applications is that the webpage is no longer refreshed, so the application seems much more responsive and feels a lot like a desktop application.
In many ways this development makes web applications more intuitive, which results in a more pleasant user experience. But because the user is only interacting with a single webpage, the back/forward buttons and bookmarks have no value. Even worse, they can result in unexpected and frustrating results. For example, if you are browsing an e-commerce website that sells books. You search and finally locate a book you are interested in and then go on browsing another section of the website to find out its return policy. You can no longer ‘go back’ to the book’s webpage. Click the back button will take you to the webpage that you visited before getting to the e-commerce site. Perhaps it takes you back to a Google search results page- from where you will most likely go on to a competitor’s website! In such an AJAX-driven website, you would not be able to bookmark any particular page/product either.
A solution for this serious usability issue has existed since 2005- Really Simple History (RSH). The solution really is simple! The issue of tackled by implemented this small JavaScript library file within your existing AJAX application. As JavaScript is responsible for manipulating the webpage in AJAX applications, a small JavaScript cache is created which stores the current user’s history. And as the back / forward buttons are clicked, the script is activated and webpage is refreshed appropriately.
To add bookmarking functionality, the script monitors all screen changes, and modifies the current URL’s anchor value (in the browser window) accordingly. For example, while browsing the e-commerce website mentioned above, the first URL you see in your browser might be www.cheapbooks.com#homepage. As you browse to a book that you like, the URL might be displayed as www.cheapbooks.com#item38392, although the webpage was never changed.
There have been many other ‘history libraries’ developed since RSH first went into production, but many do not address all the usability issues that RSH covers. RSH was further developed in 2007 to fix several bugs and support the latest browser versions of including IE7, Firefox, Safari, and Opera. More information can be found on the official website.