AJAX vs. Popup
Posted by acts_as_flinn Sun, 30 Jul 2006 08:26:00 GMT
When designing our Inventory Management application TRAQInventory one of the biggest design decisions we faced was whether to use Web 2.0 style AJAX or popups to handle certain actions. I read a post someplace recently about AJAX replacing the need for popups. I tend to disagree in most cases.
Here is the scenario… as a user on TRAQInventory, you search for a specific set of criteria – category, starting letter of a part name, and starting number of the part number, or you search for a specific term. Once you have the list there are a number of options that you can take – edit, show, add, or delete parts. If the main window changes to an action or set of actions, the user should be able to get back to their list easily. Herein lies the problem.
AJAX seems to offer a limited solution for this problem. We can add whizbang Script.aculo.us effects to usher in our actions, then bring us back to the list. This requires a few things, sessions to store the list criteria, browser compatibility, and a number of visual changes to GUI elements (titlebar, title, etc). The AJAX method gets complicated when your actions stray far away from the original list.
Popups seem to offer a nice method of handling actions with an open list. Opening actions in a new window ensures that the list doesn’t need to be stored in a session, regenerated, etc. In order to carry out some action on an object in the list, a new window is opened leaving the list in tact. It is pretty browser friendly as well. It isn’t really Web 2.0-ish, but it seems to be the most practical method in this case.
Popups do create one little problem – once a user has a list and they open a popup and edit a list item, the list item in the original window isn’t updated until the list is refreshed. Now here is a case for some AJAX trickery. I will meditate on this one and post my solution.
Anyway, there is my logic on why popups are better than AJAX for taking detours from lists in TRAQInventory.
Download vCard





