My next session was probably not appropriately titled. I was expecting a very different session than the one I attended: "Analyzing AJAX Performance" which seemed to be more of a primer on using IE8's Developer Toolbar (which looks suspiciously like Firebug). Gaurav Seth basically espoused the same method that is used in anything: identify the slow-running methods of the process and perform optimizations there first. Move to micro-optimizations on frequently called code. Use language constructs to speed up some processes. About the only new thing to come out of this conversation for me was that IE8 supports a native JSON object in the model of Douglas Crockford's json2.js. I'm glad that they've adopted as much of a standard as exists within that arena.
After the break began the lightning round, which I found to possibly be the most compelling element of the conference thus far. It served as a rapid introduction to a variety of topics that I can pursue individually at my leisure (really, my preferred learning style).
Yahoo's Exceptional Performance Team has recently released their tool "Smush It" to ease and automate the optimization of images for websites. My understanding is that uses as many tricks as possible to shave size with no loss in image quality. I think it is awesome.
In yet another amusing presentation based upon its format, Greg Wilkins modeled the Comet client-server interaction by audience participation. I really wonder what can be done to push this to the very limits of its abilities. Scaling this type of functionality must be downright scary.
John Resig gave a 5 minute assessment of where Firebug is now, and where it is heading. Web developer's favorite tool will only continue to improve as time progresses.
There are lots of problems with existing browser benchmark methods that simply don't provide enough information throughout the use cycle of the site. This session was supposed to introduce a new approach, but was cut short as Steve Souders' had enough content for an entire normal session. I want those slides and a blog post, this seems very cool.
Coming tomorrow or some day later this week there will be a blog entry detailing a new API that Netflix is releasing for developers to begin interacting with their data. It'll be fun to see what comes out of this. I'm thinking a mapping of where a movie was filmed mashed up with Google Maps.
- Software Engineering
- Web Development (general principles)
Theoretically, this is the ultimate in mashups. It allows you to swap out and tweak elements of any site on the web and stores those changes in a unified place so that you can browse to other users' understanding of a site. In practice the implementation seems to be early in its lifecycle, though the concept is quite cool. I got a chance to talk to Dan Phiffer & David Nolen about it and enjoyed those chats.
Next Microsoft had a keynote address about the upcoming IE8, its profiler, and the newest changes to Visual Studio. Omar Khan and Jeff King were the presenters and they did a wonderful job. IE8 is leaps and bounds better than its predecessors, but more than anything I'm scared about further browser segmentation. We're moving into a realm where we're being forced into supporting at minimum multiple versions of at least five different browsers—that is an unmaintainable situation if something doesn't give: standards acceptance or a browser quitting. I vote for the former.
As a footnote, Scott Jehl did point out that Jeff was incredibly poised on stage while giving his presentation, and I would have to agree with him. The demos he did were easily the best part of the presentation, well organized, and covered just enough of the implementation details to not leave us wanting for more. They closed with a note that Microsoft will be releasing a Web Developer edition of Visual Studio 2008 with jQuery bundled in October.
The next session I attended was Joe Walker's Advanced Web Application Security. The summary was this: the web is a scary world. Between CSRF, XSS, Clickjacking, Session Fixation, DNS Rebinding and an unknown number of others there are so many things out there that it seems we should just give up now. Many of the issues have been solved before though, and I hope that they remain that way. I'll talk more about those in the coming weeks.
I skipped the next session to get a head start on this entry—I need to actually get some sleep tonight. (I'm editing this now at 1am, it didn't actually get me very far.)
The last breakout session for the day was Glen Lipka's User Experience Design for AJAX Applications. As a designer, he walked through the entire process in an incredibly detailed manner and explained the process in a manner accessible to everyone. It was an incredible presentation that I wish I had more gas left in the tank so I could absorb it better. He recommended two books: Universal Principles of Design, and The Design of Everyday Things. I've read the latter already and if the first is anywhere near as good as The Design of Everyday Things, it will be worth reading.
To finish up the night was an ask the experts panel moderated by the Ajaxian founders featuring Allen Wirfs-Brock, Brendan Eich, Douglas Crockford, John Resig, Joe Walker and Dylan Schiemann. The best quote was this one from Brendan Eich: "Java is like the COBOL of the new millennium." I have a distinct feeling that will come back to haunt him, but I enjoyed it.
The evening ended with Dinner with Strangers which turned out to be a blast. The orange group ended up at Legal Seafood and had a blast. I got lobster and clam chowder with a side of broccoli and mashed potatoes and cheesecake for dessert. Don't mind if I do. The trips there and back weren't entirely uneventful, but were quite fun. The conversation was great, and I really enjoyed the company. Definitely the type of thing worth doing.
To this point this has been a wonderful experience, and I can't wait for tomorrow, though I'm dreading the end.