Best Practices and Challenges in Building Capable Rich User Experiences: Announcing Real-World Ajax

It’s been nearly a year in the making but I’m finally pleased to announce the release of Real-World Ajax, a massive new compendium of the Ajax spectrum that I’ve compiled and edited with Kate Allen in conjunction with leading Ajax authors from across the country.  While not generally available until later this month, with full availability on March 19th at the AjaxWorld Conference and Expo which I co-chair with SYS-CON Media’s Jeremy Geelan, this book marks a significant milestone in the brief history of Ajax, rich user experiences in general, and the growing challenges and opportunities in this space as we continue to witness a tectonic shift in the way Web apps are designed and built.

The inevitable conclusion: The Web page metaphor is just no longer a compelling model for the majority of online Web applications.  We are now rapidly leaving the era where static HTML is acceptable to the users and customers of our software.  Combined with the rise of badges and widgets, the growing prevalence of the Global SOA to give us vast landscapes of incredibly high value Web services and Web parts, it’s important to note that the use of Ajax is essential to even start exploiting these important trends.  Skirting the corners of this phenomenon are also the non-trivial challenges offered up by largely abandoning the traditional model of the browser.  Specifically, what happens to search engine optimiziation (SEO), disabled accessibility, link propogation (along with network effects), Web analytics, traditional Web user interface conventions, and more, which are all dramatically affected — often broken outright — by the Ajax Web application model?

Some of these questions are answered directly in Real-World Ajax, but many are as yet relatively unanswered in an industry struggling to deal with a major mid-industry change.  The tools, processes, and technologies we’ve brought to bear to build Web applications are going to change a lot, as well as the skill sets.  As I wrote in my Seven Things Every Software Project Needs to Know About Ajax , these types of rich Web applications require serious software development skills, particularly as the browser is a relatively constrained environment compared to traditional software development runtime environments like Java and .NET.  

Of course, despite this issues — even because of them — it is a very exciting time to be in the Ajax business right now.  One big reason is that there are few Ajax products with clear market dominance yet and the dozens and dozens of Ajax libraries and frameworks currently available often a very diverse and compelling set of options for use as the foundation of the next great Ajax application.  While the Dojo Toolkit is probably the Ajax toolkit with the largest mindshare and lots of industry interest, the big vendors such as Microsoft and their Microsoft’s ASP.NET Ajax (aka Atlas) show that the story is just as the first major products from big vendors make their way to market.  There’s little doubt that we’ll continue to see the Ajax market maturing and I’m looking forward to a variety of upcoming improvement to Ajax such as Project Tamarin, the high-speed Javascript engine donated by Adobe to the Mozilla project, the ongoing evolution of OpenAjax, and the 1.0 release of Dojo sometime this year, to name just a few of the exciting things that have the potential to ensure Ajax continues to grow and evolve. 

While we expect that Real-World Ajax will give you a front row seat to the thinking and techniques of some of the industry’s best and brightest, here’s a short list of things that are still not generally well known about Ajax:

Underappreciated But Important Facts about Ajax

  • Ajax is based completely on the open standards of the Web.  Based entirely on XHTML, CSS, ECMAScript (the name of the standard for Javascript), and even XMLHTTPRequest, Ajax itself is nothing more than a technique that blends together open Internet standards that no vendor currently controls.  When used carefully, Ajax results in applications that are built on the Web as a true software platform, and as such means that there’s no vendor lock-in, no licensing fees, and nobody to control the direction and destiny of your application but you.  That doesn’t mean that many of the most popular Ajax frameworks don’t break these standards in some minor ways, but with initiatives like OpenAjax, this too will be addressed soon enough.
  • Currently, Ajax cannot be a complete rich user experience solution.  Even with pretty darn cool things that can be done with Canvas 3D and SVG support (the Dojo clock), there is just something Ajax cannot do: true rich media.  That means that Web apps that want to offer features that include video and audio must use another method of doing so, usually the Flash plug-in.  With some of the most effective new Web apps such as YouTube being rich media driven, this poses a significant challenge to the Ajax approach.  For now, a rich Internet application strategy simply must include a blend of Ajax and Flash and the attendant complexity in testing, skill sets, and integration.  Unfortunately, this has implications for the previous point since one particular vendor does control Flash at this time: Adobe.
  • Almost all of the initial disadvantages of Ajax can now be countered.  Everything from search index addressability to accessibility to offline access and local storage has been addressed in one form or another.  The techniques for resolving issues with bookmarking, the browser’s back button, page view analytics and others all currently have well documented work arounds or even entire frameworks that address them head on.  While memory leaks in the browser and the limited abilities of Javascript timers pose challenges still, they are no longer enough alone to hold back the majority of Web application development projects.  While freeform drawing and accelerated 3D graphics are also on the short list of Ajax capabilities not supported by more than a few browsers, these too are being addressed rapidly either by recent browser upgrades or interesting new plug-ins like WPF/E which will soon be common.

As for Real-World Ajax itself, I’d like to give thanks to the large team of expert authors we assembled to give you what we believe is the most complete picture yet on the Ajax user experience, one of the key planks of Web 2.0.  Not only does the material in Real-World carefully go over the basic Ajax technologies such as DHTML, XHTML, and CSS but there is also in-depth coverage of mobile Ajax, enterprise Ajax, and even a complete chapter that often fails to get enough coverage in the Ajax world: security.   Finally, the book includes several complete working Ajax applications as well as the video sessions from most of our previous AjaxWorld events.  A big thanks to Nancy Valentine, Yakov Fain, Richard Walter, Kate Allen, Jeremy Geelan, and Fuat Kircaali for making the book possible and to our great complement of Ajax authors: Jim Benson, Jason Blum, Kurt Cagle, John Crupi, Luis Derechin, Jay Fienberg, Corey Gilmore, Rob Gonda, Kevin Hakman, Ajit Jaokar, Dietrich Kappe, David S. Linthicum, Phil McCarthy, Dan Malks, Scott Preston, Anil Sharma, Coach Wei, and Greg Winton.

See you in New York City at AjaxWorld Conference and Expo later this month.  Also, there will be a book signing event where you can meet many of the authors as well. 

Leave a Comment

Your email address will not be published. Required fields are marked *