Ajax, More Than A Buzz Word

Ajax the development technique, not to be confused with Ajax the cleaning solution, is taking the web by storm. What is it?

Ajax stands for Asynchronous Javascript And XML. Its an architectural methodology on the interactions between a number of different technologies in a way that provides a more seamless user experience between user-to-server communication.

There are tons of blogs and articles out there that rant and rave of its use as savvy site designers implement Ajax into their web applications, and rightly so. However, through my blog skipping and digg watching I have seen numerous complaints of “OMG, Ajax is stupid….its just a fad/buzzword/etc” or “Ajax is just overhyped, don’t know why people use it!!” I have a couple words that describe those people: cynical, ignorant and, well…squirrel handed. Wake up people. Ajax isn’t a fad, its an architectural change in the way that web applications function. A focus on application speed and uninterrupted user interaction.

What’s so great about it? Why do I pee my pants with glee every time I use a web app that makes use of the technology?

I’m a developer. I’ve been developing database driven web applications for a number of years now and have seen the clear line between a desktop application and a web application. Desktop applications are highly interactive and responsive to the user, where web apps (in the past), were fairly static locations (however dynamic the content) to provide information/entertainment to the user, where user interaction required page loads in order to store information to a database/write to a file.

Next came Flash, an excellent tool but tends to require a much more artistic flare and is much more time consuming with general maintenance than its worth.

The reason Ajax is so sexy is that it bridges the gap.

The average-Joe browser may not be aware when they stumble upon a site that makes good use of Ajax, but that average Joe can feel something right about it. To the avid browser, however, an Ajax site is more readily obvious; you can interact with elements on a page and save settings without reloading; pages are highly resposive to user input with minimal wait times.

Gmail and Google Maps were the applications that really brought Ajax into the limelight. (They weren’t the first, just the first major apps). The world saw what Google could do and followed suit. The world saw that it was good. The Ajax revolution was born. It has birthed a whole new breed and boom on the internet, bringing forward a multitude Ajax enabled sites and applications:

And thats just the tip of the iceberg. I look forward to what will become of our expectations of web applications. You won’t see me sitting idle during this evolution. I will be innovating and participating all along the way.

Google Widgets

In my recent post on Windows Live Gadgets I shot down Google because they hadn’t already created their own widget/gadget engine for creating hosted…well…widgets. It seems they were waiting because they could do it better. Today I found out through Slashdot that Google released their version.

Their widget API is available here. At first glance it seems that the Google widgets are a bit more robust and versatile than the Microsoft gadgets. I’ll be playing with these shortly to see what I can come up with and do a thorough compare/contrast. These are the differences I see (at first glance, mind you) between the two companies’ implementations of the same idea:

  • Google Widgets are aimed at a completely web-centric approach. They do not offer local Widgets like Microsoft Gadgets does. This is actually a win in my book.
  • Microsoft is using RSS syntax for their XML with some external javascript loaded along with it. (I’ll get more technical when I learn a bit more about the process). Google, on the other hand is using what appears to be their own proprietary markup with the inclusion of external javascript as well.
  • Microsoft’s implementation prevents the use of the id tag which makes doing some sweet dynamic stuff…well…painful. Google allows it, and goes a step further. They include a sweet little feature called __MODULE_ID__ that you can tack on to the end of your id tags so things will work fine with multiple instances of your widget on the same page. Another win for Google.

Like I said with the Windows Live and MSN Start post, I’ll be doing some heavy research into these widgets and gadgets and bring forth more details and some example code.

MSN Start & Windows Live Gadgets

MSN Start and Windows Live, which are competitors for Google/ig have jumped ahead of google and are now offering a repository for developers to create XML/javascript based ‘gadgets’!

There are two types of gadgets. A remotely hosted gadget, where a site like MasterWish would create a gadget and make the URL to the gadget’s XML file publicly available; the user then enters the URL and viola! The gadget is added! (after a confirmation) The second type of gadget is the locally hosted gadget, where you can store a gadget on your machine (Windows only). You load the gadget in the same way you do a hosted gadget…There seem to be a few catches with the local gadgets:

  • First and foremost, its not web centric…the gadget is on your machine. If you head on over to a friend’s house, that gadget won’t be available to you.
  • The local gadgets must be coded as such.
  • Windows only

The benefits with the locally hosted gadget? Well, you can do some more advanced stuff with them like messing with your local applications. For example, there are some gadgets out there that manipulate the data from iTunes…the gadgets are pretty sweet. Local gadgets are neat…but I’m not sold on them.

What really throws me for a loop is that Microsoft implemented gadgets before Google…you’d think Google would see this coming. tsk tsk tsk. All the same, I’m going to do some little experiments with gadgets and see what I can come up with.