Categories
Technology Web

Wither away Ajax?

Dare Obasanjo has wrung the death knell on Ajax, but I disagree with him on several counts.

He writes:

Most people who’ve done significant AJAX development will admit that the development story is a mess. I personally don’t mind the the Javascript language but I’m appalled that the most state of the art development process I’ve found is to use Emacs to edit my code, Firebug to debug in Firefox and attaching Visual Studio to the Internet Explorer processes to debug in IE. This seems like a joke when compared to developing Java apps in Eclipse or .NET applications in Visual Studio. Given how hypercompetitive the “Web 2.0” world is, I doubt that this state of affairs will last much longer.

There is an Eclipse plugin for JavaScript development (actually, more than one), and that’s only one of many JS development tools. I tend to use text editors and Firebug because I’ve found both to be sufficient for my needs. All you have to do is search on “edit JavaScript” to pull up a host of free, open, and/or commercial tools to simplify JavaScript editing. This is in addition to the graphical tools for working with SVG and Canvas.

As for Firebug, I think that Dare sells this application way too short. With Firebug I can not only inspect a web page contents, stop a process and inspect programming constructs, drill into the CSS and markup, investigate what’s taking so long for the page to load, and review responses back from Ajax calls, I can see the document object model at a glance, and how all these little pieces pull together. I’ve worked with a host of desktop tools: none has ever had the ability to drill into every aspect of the application as much as Firebug allows me to do so with a simple web page.

Dare also writes:

There is too much pressure on Web companies to improve their productivity and stand out in a world full of derivative YouTube/MySpace/Flickr knock offs.

Yes, but why did all of these become so popular? Because they’re all accessible using something that everyone has: a web browser. There’s nothing to install, other than the ubiquitous Flash plug-in. There’s nothing proprietary about most of the technology used. These applications work with most browsers, except perhaps the older Internet Explorers or Netscape 4.x. Even then, most work with operating systems and browsers that the companies that provided both dropped support for years ago.

In fact, Ajax, rather than being a technology that’s heading out the door, could actually be one of the few open doors left for the people who have not been able to buy that new Macbook Pro, or dual-processor Dell machine. Microsoft, Sun, Apple, Adobe–any one of these companies would leave the less affluent in the dust in a heart beat. The web page is the great equalizer on the internet.

I do somewhat agree with Dare, in that desktop development systems that incorporate Ajax-like technologies, such as JavaScript, will grow. I imagine that Flash/Flex, OpenLaszlo, and WPF/E will get a following and do well. But their health is not negatively correlated with the health of Ajax, with one gaining only at the expense of the other.

Ajax isn’t just a name or a set of technologies: it’s a way of pulling out as much functionality as can be pulled out of a web page as possible. The desktop applications such as Google’s office killers get a lot of the publicity, but the real power behind ‘Ajax’ is little things like comment live preview, Flickr’s in-place edits, or WordPress’ expandable form elements. It’s deleting a row and not having to re-find your place as the page loads. It’s zooming in on a picture, mapping out a route on a map, live updating unread feeds, and a host of other ways of Doing Things Better.

If there’s anything to worry about with Ajax is that sometimes accessibility and validity of web page contents are sacrificed for ‘cool effects’. That, and the hype. By hyping Ajax as a ‘thing’ than it becomes easier to dismiss that ‘thing’ in favor of other ‘things’. But the concepts, effect, libraries, tool, techniques, go beyond being just ‘a thing’–it’s just the way web development will be done in the future. You can no more say that its day is done, as you can say that the hyperlink is old and therefore passè.

Dare also mentions about Java being the most used language today. Frankly, I doubt that it is the most used language. I would say that JavaScript is the most used language, followed closely by PHP. Java is most likely the most used for corporate development, but I don’t think it can compete with all the folks running simple little PHP applications just to upload their photos. Or post thoughts online, like this one.

For every person using a WebLogic or WebSphere application, there’s ten thousand webloggers using WordPress. For ever consumer of EJBs, there’s a thousand people using Gallery. For every web site that runs off Tomcat, there’s a million, or more, running PHP, Perl, Python, and Ruby. Google and Yahoo big users of Java? MSN the same with .NET? None of them would be anything without the millions, billions of simple web pages the rest of us produce.

Now is when things are really starting to get good. More web services, more semantics, more agreement among the browser developers, advances in the technology–better graphics, better JavaScript, better CSS and markup, and interesting twisty new ways of bringing it together…give it up? Not likely.

Of course, I’m finishing up a book on Ajax, and it’s natural I’ll say these things. But I didn’t write this book for the Mega-tool developers, the Kool Kids, or those who seemingly want to replace Photoshop or Office with online tools. I certainly didn’t write it to support the la-la land that is Silicon Valley, or the megapolis that is Microsoft. I wrote the book for the webloggers and the Gallery users; the folks running an online store, a corporate site, or an online publication; those digging after knowledge, and the knowledge providers; those who come to the web to teach and those who come to learn. Saying Ajax is ‘going away’ makes as much sense as saying all of these are going away.