The latest buzz in web application development is AJAX, which stand for asynchronous JavaScript and XML (or something like that). AJAX can help make web applications much more interactive and much more use friendly by not forcing web pages to reload for every user interaction. Unfortunately, AJAX sucks...here's why...
AJAX is still the same old browser technology we have had around for a number of years, with the addition of the XMLHttpRequest object. The problem is when it comes to good old JavaScript and DOM, browsers are still very different and very quirky. You can write code to handle the differences in the browsers, but you end up putting in lots of 'IF' statements to do the same thing in a slightly different way. This takes a lot of experience, a lot of trial and error, and a lot of patience.
Having to write browser dependent code is not even the worst part. The worst part is that all of this is very difficult to test. I don't know of any automated testing tool that would allow you to test Internet Explorer, Mozilla, Firefox, Opera, and Safari. What usually ends up happening is you start abandoning the less popular browsers. Opera and Safari are usually the first to go, then Mozilla and Firefox. Those development teams that do support multiple browsers end up spending a lot of time and money either on multiple test tools or on additional testers.
Don't get me wrong - I really like the latest features that Yahoo and Google have added to their email and other services. I also think we still have a long way to go to make it simple to write robust web applications that can run on anywhere.