Monday, February 8, 2010

Ajax Restaurant

When and Why We should use Ajax

When first time I learned the term Ajax. I was trying to understand what kind value it will add. Before that I will tell one of my funny experience
I was driving with my friend near to Bangalore. It was 1:30 PM. We were searching some small hotel for lunch. We found a one near to the highway. We went there it was a normal road side Indian hotel. There were few people were eating. We ordered a veg thalli for each. The waiter served us a proper south Indian thalli. It has rice, dal, sambar, rasm, curd etc. i wanted to have extra dal. I asked the waiter "Execuse me can I have some dal please". The guy smiled at me told definitely sir. He took my whole thali inside and brought back the same thali with some dal. It was little strange. I thought why he took the whole thali when I had asked for extra dal, he could get me some dal directly.
So when we design our web pages we can always make choice. To update some portion of the page do we really required to take the whole page away from the user. And the poor user has to wait to get back the page. It is not acceptable when we have such powerful browser which are ready to run java script.
I think bringing only dal is easier rather than serving back the whole meal again :)

Displaying Elements in a tree structure in a web page

The problem statement is how to arrange items in tree structure in a web page

I have googled it and found several open source component. Where we can display the items in a tree.
The below one I found is really handy
http://destroydrop.com/javascripts/tree/
Here we can add dynamically elements using jstl or jsp tags. The advantage is we can add icon the style,color and different functionality to the nodes also. It support multi label hierarchy also
The biggest draw back is if there are more than 2000 nodes it gives error in IE "the script is running very slow. Do you want to abort it ?"
To solve this we can do kind of lazy loading. For first time load only parents and on click of the parents load the children by Ajax.