The State of Ajax: San Francisco, July 2007

Main stage at The Ajax Experience, SF 2007 An expert panel on the main stage of the Ajax Experience in San Francisco, July 2007

One of the most interesting things about the technology industry is its volatility; it seems to shift directions faster than anything else out there. This trait also makes it increasingly difficult to predict future trends, what the next hot new app or service will be. Web development has seen unprecedented surges in demand (and compensation to an extent) over the last two years, mostly due to the drive to build cool-looking web sites that employ JavaScript and web standards, making the best-of-breed web sites out there. It's a hot "space", and everyone wants a piece.

With this in mind, I got to join in and view a slice of the action from an attendee's point of view when I went to The Ajax Experience, an event hosted by Ben and Dion of Ajaxian.com, at the Grand Hyatt in San Francisco. (My day job, at time of writing, is with Yahoo! as a front-end engineer doing web development at Flickr - so I am also an active participant in the industry.)

Believe The (Web 2.0) Hype?

Nearly two years ago, I wrote an opinion piece titled Don't Believe The (Web 2.0) Hype!, a rant observing how I felt we may be headed for another dot-com bubble/boom/burst, and noted a wishlist of ideals for "lessons learned", things to avoid for the next time around. It would appear that while I think there are still a few bubble-ish things going on (excessive valuations, VC funding and so on,) things generally seem to be more rational and controlled than in 1999. It would appear that there is perhaps after all, some reality to all the hype.

In adding a grain of salt to my previous thoughts, the words of comedian Dennis Miller come to mind: "'Course that's just my opinion, I could be wrong." I didn't live in the silicon valley for the first bubble, so I can't speak from direct experience of the highs and lows endured by many at the time; I'm happy to be here now, and feel quite fortunate to be both living and working in San Francisco.

Given my rants and requests from 2005 may not have been fully realised, what has happened in the last two years?

JavaScript: You've come a long way, baby

Me.dium case study presentation, Ajax Experience Boulder, CO-based Me.dium present a case study of their UI and technology

In short, JavaScript and web development overall have become professional, or at least have taken steps to becoming more mature, established practices. What was (and still is) perceived as a "toy" language has grown to much larger acceptance among a more traditional Java and C-oriented developer community, and is still gaining respect. JavaScript is, to quote Douglas Crockford, "A beautiful language." Additionally, the level of expectations, quality and standards have all risen, generating increased demand for developers. As a result, an impressive number of quality JavaScript and other client-side-based libraries have been released in recent times, encouraging and assisting the larger web development crowd at large in building some of the funkier stuff seen out there on the web today.

Browser manufacturers have also continued to work toward supporting common standards - making it easier for developers to build more-consistent web experiences, with less work - and for the most part have been making good progress. The current state of professionalism and stability in web development, while not perfect, has grown to be better than it has ever been previously.

On leveraging strategic frameworks and user insight (with platforms)

As with any industry, there will always be an amount of buzzword bingo and "marketing-ese" involved in communicating and selling the message; in my humble opinion, it's part of the game: A means of getting people excited, perhaps, about the products made from the technical and otherwise-obscure things the nerds are busily hacking away at in their basements (or cubes.) Engineers have historically not been great at selling themselves, by themselves - consider Steve Jobs and Steve Wozniak, Apple co-founders - but together, have a sort of special symbiotic relationship which works. True geeks need "people people" to get others excited about their work, and marketers need a cause to support and run with.

Ajax Experience Presentations: Notes

At the second day of the three-day event, I saw a number of presentations by significant leaders within the web industry, and companies contributing to it. The talks varied in depth and focus, but all seemed to acknowledge that there is a lot of change and development going on across the web. The following are brief notes from some of the presentations I attended.

Morning Keynote - Chris Wilson, IE Platform Architect, Microsoft

Chris Wilson has been at Microsoft for a number of years, worked on earlier versions of IE and the NCSA Mosaic browser before then. He discussed the importance of web standards in his keynote, some of Microsoft's more recent improvements in this area, and made a few points for the continued advancement of web development, standards and best practices.

Notables:

  • "Standards need to reflect reality, and reality needs to reflect the standards."
  • "We need to work together" (understand each others' viewpoints, shared solutions)
  • "IP matters" / "Open standards need to be free"
  • Performance, IE User Interface quote: "If it's not snappy, it's crappy"
  • Web 2.0 is about "Caring about the quality of Web UI"
  • "About a shift from technology to experience"
  • "OMG" moment: Flickr maps uses the mouse wheel (discovered by accident) - spent 1.5 hours geotagging because it was so easy to do
  • Think global, act local - Our goal is to leave the web better - "Do no harm now - be careful with workarounds" - "Help develop standards"

I think Chris will be an important contributor to Microsoft's standards adherence over the next few years; my hopes are that IE will catch up to Firefox, Opera and Safari as it seems to have fallen behind in recent times. (The counter to this is that the others have moved forward with web standards at a relatively-accelerated rate, which is a good thing.)

Advanced Web Application Security - Joe Walker & Jeremiah Grossman

Joe and Jeremiah discussed a good number of downright disturbing security vulnerabilities, and offered some ways to help protect both sites and users.

  • Five steps of application security: Denial, Anger, Bargaining, Depression, Acceptance
  • Browsers can interpret garbage markup as valid HTML, incredibly forgiving, making filtering harder
  • Cross-Site Request Forgeries, scriptable plugins, anti-DNS pinning(!), intranet hacking, history stealing etc. are all current concerns
  • Reinforces belief to never trust clients, require double-authentication etc. and protect yourself against forgeries

sIFR: From Designer's Dream to JavaScript Nightmare - Mark Wubben

sIFR is a Flash/JS library that replaces standard HTML text with prettier, Flash-rendered fonts. The goal is consistent font family rendering across browsers/platforms. It is not without cost in terms of quirks and bugs as Mark explains, but is an option.

  • "Typography for the web kinda sucks." Flash helps bridge the gap.
  • Huge amount of hacks, IE quirks - cache, document title/URL hash issues, DOM parse/load timing, repaint/innerHTML issues, IE parameters and so on
  • Despite annoyances, can still be advantageous over using static/server-side-rendered images.

Ajax Development on the iPhone - Joe Hewitt

Joe Hewitt has made a number of large contributions to the Firefox project (he is a co-founder of the Mozilla spin-off), in addition to being the developer of the excellent FireBug HTML/CSS/JS debugger, and finally the iUI, iPhone User Interface library. Joe is also working on a variant of FireBug for the iPhone, loading JS from a server and using a control computer to allow the user to send JS console-type calls to the phone remotely.

  • iUI: iPhone User Interface - based on web standards
  • FireBug for iPhone
  • Would like to add live CSS editing to debug console for "iPhone FireBug"

Case Study: Me.dium Client Architecture - Jonathan Phillips

Me.dium is a novel social browsing plugin, currently a Firefox extension, which allows you to find other users who are looking at related web sites and interact with them. Some of the folks from Me.dium gave a talk at the Ajax Experience, discussing their UI and some of their philosophy behind the project.

  • UI: Don't overload user with features; slowly introduce and educate.
  • Challenging goal: Fit a map of the web into a 206-pixel-wide space, in-browser.
  • Sharing of common-interest sites, chat possible through web service (Firefox extension)
  • Client-side UI rendered based on server instructions, use of DOJO SVG/animation, scalability considerations.

JavaScript: The Good Parts - Douglas Crockford

Douglas Crockford is a Javascript Architect at Yahoo!, and has made numerous important contributions to the development and "public perception" of JavaScript - particularly in recent years - with his JSON specification, nearly the most common AJAX transport mechanism, and other projects such as JSlint and JSMIN. When Douglas speaks, developers should take note; his matter-of-fact speaking style along with hints of humour make for insightful yet entertaining presentations, which are not to be missed.

What's Next?

The Ajax Experience was a pretty interesting event to attend. There are many people interested in improving the web experience from many aspects: UI, performance, standards and architecture, to name a few. In conclusion, it's safe to say that while things have grown in the past two years, there is a lot more cool stuff to look forward to in the future beyond the buzzwords, crazy valuations and hype. I say, "bring it." :)

General/conflict of interest disclaimers: The words, thoughts and opinions expressed here and elsewhere on this site are solely my own, and do not necessarily represent nor agree with those of my employer, whether past, present or future.

Additionally, I was not paid to write about the Ajax Experience, but was given an invitation after initially inquiring about attending. My consideration for attending, thusly, was to write about my experience at the event.

Related links