Archive for the 'web' Category

And now the fun begins

Monday, March 12th, 2007

Today marked the last day of my “work” here at SXSW and now it’s play time. It’s only been two days of the conference, but it seems like I’ve already done a week’s worth of stuff. My two sessions both went extremely well from my perspective and the feedback I’ve received has also been very good so far.

 “Ruining the User Experience” was yesterday and I think Sarah and I worked really well together. It flowed well and felt really tight, so I was extremely happy. And being that we were speaking in the “rock and roll room” to a much larger audience than I would have expected, I’m very pleased it went so well. I think we managed to pack a lot of good information into the 25 minutes and nailed the time pretty well dead-on. I do kind of wish the session had been a bit longer as I would have liked to guide the attendees through a few more examples, but I still think we managed to open a lot of eyes (and minds), so I am happy about that. And we left them wanting more, which is never a bad thing either.

I’m not sure exactly how helpful they will be for people (at least not until the audio is posted), but I have uploaded the slides for the session. For those who saw me give a session by the same name at The AJAX Experience in October, this is a real departure from what you saw. I tore the old one to shreds and built this new one from scratch. Attendees at AjaxWorld in New York next week will be treated to a solo 45-minute version of this session with a few added examples.

My second session, “The Future of JavaScript” was another 25-minute “power session” and I think it went equally well. It was much more geeky than most of my other sessions have been, with tons of code samples demonstrating some of the really cool stuff in JavaScript 1.6 and 1.7. As John Resig mentioned to us at bowling tonight, Andrew and I were going through the features of the two language upgrades “pretty rapid-fire,” but I think it worked well as a power session because we came in fast and hit the packed room with a lot of new information. I think extending it to 45 or 60 minutes would have been way too overwhelming. As promised, I have posted the slides from that session as well, so folks can copy the examples we used and play around with them on their own.

I plan to relax a bit now that the important stuff is over. It was a little too rainy to hit the parties tonight after the bowling shindig, but I hope to engage in a bit more after-hours socialization tomorrow and Tuesday.

Heading South

Wednesday, March 7th, 2007

 Tomorrow morning I’ll be making my annual pilgrimage to SXSW (a.k.a. geek camp). In between catching up with friends, drinking, and checking out some of the excellent panels, I will be co-presenting two 25-minute “power sessions,” a new format for the conference.

On Saturday afternoon, Sarah Nelson of Adaptive Path will join me to present the latest iteration of “Ruining the User Experience,” which I debuted at The AJAX Experience in Boston last October. The session has been completely revamped and I am hopeful it will inspire more developers to work in tandem with user experience folks and vice versa.

The following afternoon, Andrew Dupont and I will be talking about “The Future of JavaScript.” We’ll be talking at length about the advancements in JavaScript 1.7 and other assorted geekery.

Apart from those sessions, which I obviously need to attend, I haven’t really made up my mind as to what I want to see. There’s just so many good sessions. I guess I’ll figure it out when I get there. I am looking forward to bowling though.

Web Directions North post mortem

Monday, February 19th, 2007

Kel and I returned late last Sunday night from our whirlwind trip to the Pacific Northwest. The trip was a blast despite a few days of agony we each spent with the flu.

Touchdown: Seattle

I had arranged a meeting with a few developers on the IE team to discuss future plans for IE and its improvement in the area of JavaScript standards support, so the first leg of our journey was over to Seattle. We flew Northwest—I still can’t call them NWA without “Fuck tha Police” going through my head—via Detroit, which was quite a pleasant journey. I haven’t flown Northwest in a while, but I’d seriously consider flying them again.

The Northwest terminal in Detroit was pretty nutty. I hadn’t been there before and I was amazed at how long it was. They had an indoor monorail system just to get you from one end to the other quickly. I was initially bemused by the number of signs in English and Japanese, but once I remembered that Detroit is “Motor City,” it all made sense.

We arrived in Seattle in the early afternoon on Thursday and went to our hotel (which I highly recommend) to relax a bit before heading out to dinner. We had just about 48 hours in the city before we had to make our way up to Vancouver, and we made the most of it, seeing as much of the downtown sites as we could. We mostly walked around, shopped, and enjoyed all the fresh seafood. We didn’t get a chance to do the Space Needle or EMP or any of the usual touristy stuff, but I think we got a better sense of Seattle as a city.

I was hoping to hook up with Mike, Keith or Nick while I was there, but our time there was so short it just wasn’t in the cards. I’m sure we’ll be back for more soon though.

Welcome to Canada

Unfortunately, I woke up Saturday and was feeling like complete ass. I thought it was food poisoning and began cursing Elliott’s in my mind. Needless to say, I made Kel drive our taxicab yellow Focus all the way to Vancouver while I mainlined the Pepto and tried to sleep. I did wake up for the border crossing though and was amazed at how easy it is to get through (at least when you’re white).

We arrived late Saturday night and checked into the Lord Stanley Suites just off of Stanley Park. The view was great, but the flat was cramped (poor layout) and the windows (which were perpendicular to West Georgia St) were not sound proof in the least, so we had a bit of a hard time sleeping with the car noise from the wet road.

I woke up on Sunday and was feeling a bit better, so we went out to spend a little time over on 4th street. It had been about a decade since I was last in Van, and I was really stoked to see how Zulu Records had grown in the intervening years. We ate lunch at Sophie’s Cosmic Cafe and ran into some friends who were doing the same. Pleasantly stuffed, we made our way down to Zulu and picked up some new tunes. We also ducked into a vintage bookstore, but didn’t find anything that tickled our fancy.

Dave text-ed me to alert me to an informal gathering to watch the Super Bowl, but I was starting to feel a little worse again, so we bowed out and headed back to the hotel to rest up. To tell the truth, I was getting a little nervous about being ill and having to put on a full-day session with Andy on Tuesday.

I was right to be a little nervous too… Monday was awful. Between bouts of being violently ill, I came to the realization that this was not food poisoning and had to be the flu (many apologies to Elliott’s… your food was fantastic). I talked to Andy around 10AM and despite feeling like curling up and dying, made arrangements for him to come over and put the finishing touches on our sessions.

About an hour later, Andy came over and we got to work. It was nice to have some distraction from not feeling well, but I wasn’t operating on all cylinders, if you know what I mean. I probably wasn’t good company at all, but he and Kel worked hard to keep the mood light, enjoying tea (Andy unfortunately without his usual drop of milk) and choccy biscuits while I subsisted on diluted Pedialyte (yuk) and graham crackers. We did end up pulling it all together and were able to wrap things up before it got too late. Then it was off to bed for me in hopes of being able to make it through the next day without collapsing.

CSS + JavaScript = Magic

Tuesday was a bit of a whirlwind for me. The bug was still working its way out of my system, but I was able to stave it off for the whole day through a regimen of alternating the aforementioned Pedialyte-graham cracker combo and Pepto Bismol. I even managed to stand for most of the day which was a real breakthrough considering the previous day’s experience.

The workshop went amazingly well despite some minor technical difficulties with Andy’s laptop (muchas gracias to Jeremy for stepping in and offering us use of his laptop for the day). The room was packed (it looked like close to 80 people) and people asked a lot of great questions. Andy and I talked a lot about semantics and how to think about your markup before diving into some advanced CSS and JavaScript stuff. I realized part way through the first section that showing code examples was going to lose some folks and changed tacks a bit to talk about how to script a script. In truth, the through process is really the most important part of writing a script, which is why I have taken to starting with an outline of the steps written in comments whenever I sit down to start something new.

We touched on a few topics introduced in Andy’s book (which I had the great pleasure of tech editing) and introduced a lot of new material. From the feedback we received immediately following the workshop and over the next few days, it seems people really enjoyed it. I’m glad; I know I had a blast giving it. Andy and I have even toyed with the idea of taking it on the road, so if you’re interested in us presenting in your town, drop one of us a line.

By the end of the day, I was running on pure adrenaline and felt well enough to go out for the speaker’s dinner Dave, Derek, John and Maxine had put together. A few of us piled into the car and headed over to Chinatown for some drinks and an outrageous amount of food. I probably overdid it a bit, but I had a good time with everyone who came—special thanks to Adobe for picking up the check ;-)

WDN, Day 1

Wednesday started out a bit rough, so I missed Molly’s opening keynote (which I heard was incredible). During the night Kel came down with the bug I had and, after tending to her and trying to get myself in order, I ended up making it over to the conference just as they were breaking for tea before the next session began. I made my way over to the Speakers’ Lounge and met up with Andy to put the finishing touches on our afternoon session. Pretty soon it was lunchtime and then off to present again.

Our session went really well too. Andy and I borrowed a bit of material from the workshop, but also introduced some new stuff we held back especially for this session. We saw a lot of people in the session who had come to the workshop too, so we were glad we had added the new material.

After our session, Andy, Geert, Craig and I helped Cindy and Pat dress the stage for Joe’s closing keynote. We had this idea of creating “A fireside chat with Joe Clark” and I think we pulled it off. In fact, the set design was so successful that it ended up being employed by several other sessions the next day.

The fireside chat went really well. Joe is just a fun guy to listen to, whether he’s presenting or not. Joe talked at length about designing for accessibility, using the TTC as a case study. He showed how accessibility concerns should be pervasive throughout an organization, in every public touchpoint. He also called for the destruction of WCAG2, but that’s another can of worms entirely.

Following the close of the conference day, I returned to check on Kelly and make up for the fact that I had left her in the flat all day, alone and sick. We decided to skip the speakers’ dinner Microsoft was throwing (which I heard was amazing), and call it an early night.

WDN, day 2

I woke feeling a bit better on Thursday and made it over to the conference in time to see Kelly Goto’s opening keynote. I hadn’t seen Kelly speak before, so it was great to get the opportunity to hear her talk about designing for lifestyle.

Next on my agenda was attending the session Craig Saila and Adrian Holovaty were doing on the newspaper industry. Coming from a journalism background, I was interested to hear their opinions of how newspapers are using (or not using) the web and how things are changing. It was a really good session and gives me hope that such an old industry is finally starting to understand this new medium.

After lunch up in the rotating restaurant on top of the hotel, it was back down to see Dave and Veerle talk about the design process for them. It was nice to get a little insight into how they each work, how they relate to clients, and the sort of things they look to for inspiration.

Finally, Jared Spool took the stage (after a brief lie-down) and closed the conference with an incredible talk on the importance of experience design. I was blown away by a lot of the material he presented, especially the fact that a nameless big box store had spent $100 million (yes, you read that right) on a redesign of their website and their revenue dropped by 20% when it launched. That’s a big fuck-up and it apparently took them something like 3 years to recover.

With Kel still a bit under the weather and me still pretty exhausted, we called it an early night and headed back to the flat to conserve our energy for the trek up to Whistler the next day.

Into the mountains

Still a bit drained from that nasty bug, Kel and I decided to ease into our day instead of getting up early to catch the 7AM bus up to Whistler. We picked up Craig at the hotel and took him out to breakfast (the least I could do for a good friend who spent his own money to come to my full-day workshop) before he had to catch his flight home and then began the long drive into the mountains.

The drive up to Whistler is gorgeous. I had to keep my eyes on the road most of the time, but what I saw was really breathtaking. We nearly ran out of gas on the way there (I was anticipating a few more gas stations along the way than there proved to be), but we made it up to Whistler in one piece and settled into a table at the Garibaldi Lift Company for the remainder of the day. The food was good and we had a lot of fun hanging out with Veerle (who discovered how much tea with honey can soothe a sore throat), Geert, Cindy, Maxine, Molly, Jeremy, Pat, Steph, and an assortment of other folks.

Veerle and Geert decided to join us for the ride back to Vancouver, which was awfully nice of them. I suppose I shouldn’t be surprised though, they are two of the nicest people I’ve met and make for great company. The journey home was a bit precarious. It was dark and snowing, the roads were slick, and, honestly, I was a little terrified. It was nice to have a conversation going in the car though as it helped settle my mind a bit as I navigated the zigs and zags of a mountain road under major construction (prep for the 2010 Winter Olympics).

We made it home safely and dropped Veerle and Geert back at the hotel before returning to our flat for a much-needed rest.

Home again, home again

We woke on Saturday feeling better and, after taking a few more hours to explore Vancouver, we set off back to America. Crossing the border in that direction was a little more involved, though still less so than I would have expected. In fact the customs agent was quite chipper, humorous, and talked like a Garden Stater on speed.

Back in Seattle, we settled into our hotel next to the airport and grabbed a bit to eat before crashing. The next morning we caught an uneventful flight (US Air this time) back to Connecticut. Being sick for most of the trip put somewhat of a damper on things, but I really had a great time at Web Directions North. It was an amazing conference. As I mentioned to several folks while we were there, I felt a bit like we were a big family putting on a show for people (my Partridge Family reference was lost on Veerle). It was all very professional, but also very comfortable. The organizers did an amazing job and I was thrilled to have been asked to be a part of it; I hope I have the opportunity to do so again.

Next stop: Austin

I have a bit of downtime here in CT before the annual migration to Austin for SXSW and then a trip into The City for AjaxWorld. I’ve got a cold now (what’s with me and all the illness lately?), but I think I’m on the mend. I just want to say thanks to everyone who attended our sessions (or who couldn’t attend, but was there in spirit) and thanks again to Dave, Derek, John and Maxine for putting on such a great show. I hope you make it an annual thing.

One more thing…

At Web Directions North I unveilied a protoype of something I’ve been working on intermittently for the last year and a half. It is a new technique for embedding presentational Flash into your pages using only CSS. It is going by the tentative name gFSS, standing for Gustafson Flash and Style Sheets (Molly said I should name it after myself… I’m still not sold on the idea) and it apparently thrilled a lot of people, including the folks from Adobe. Needless to say, I think the interest will definitely drive me to complete the project within the next few months and then I will release it to the world. Once that’s done, I plan to work with Mark Wubben to set it up to support sIFR. I can’t wait!

Talking with Microsoft about IE.next

Sunday, February 4th, 2007

You may recall that the DOM Scripting and Microsoft task forces, in collaboration with JS Ninjas, had been compiling a list of issues, needs, and wants for IE.next over the last few months (a list many of you contributed to as well, via your feedback). The list was to focus on what we wanted to see happen in terms of JavaScript support (as IE7 didn’t get much of an update in that area), but when it came down to it, there were other areas we really felt needed some love.

The list

Last week, our groups voted for what we each saw as priorities and those votes were tallied to create a final list for me to present in Redmond. Though there is obviously a great deal more we want to see in IE.next, we felt several things were critical and wanted to focus on those as a starting point.

Tied for first place, in order of priority, were some sort of fast, arbitrary node-matching API and better error reporting. In the realm of DOM Scripting, node-matching is key (just look at the number of scripts out there performing node matching based on CSS selectors, etc.), so being able to tap into a native XPath implementation (which we generally favored over the Selectors API) would greatly improve the speed of script execution. As for the error reporting, perhaps Justin Palmer (of JS Ninjas) said it best:

We could possibly find ways to fix all the other problems if we could tell what the hell was breaking and why. Without better error reporting, the remaining stuff on that list is just giving us a bigger gun to shoot ourselves in the foot with.

Next up in our list was a desire for mutable DOM prototypes. This would address the issues that arise from IE’s implementation of DOM objects in JavaScript, where elements of the core DOM are not derived from the standard Object prototype. While not technically a standards-support issue, this request does not conflict with standards and it does provide JavaScript developers with the ability to address some of the issues the IE team may not be able to address themselves in the next release. As Andrew Dupont (another Ninja) remarked, I think it’s reasonable to ask that a DOM implementation in JavaScript behave like it’s part of JavaScript.

Next up was a biggie: bring IE’s event system in line with the W3C event model. This has been an issue for a lot of developers and the code to equalize the two event systems makes up a significant chunk of all of the major JS libraries. Getting IE to implement the W3C event system would be a real boon for standards support and would drop the size of many libraries considerably.

Finally, the last of our top 5 was not a JS issue, but rather a CSS one: implement generated content. I don’t know that I really need to get into the reasons why this would be really nice to have.

Two “honorable mentions” were included in the list as well: fixing the issues with getAttribute() and setAttribute() and starting to implement some of the features of JS 1.7 (such as block-scope variables using let, etc.).

Not willing to let the IE team off that easy, the document presented also highlighted several other issues which really need addressing including (among others)

  • fixing CSS bugs (including collapsing adjoining margins and z-index);
  • various form control fixes (including implementations of the button element, labels, and the disabled attribute);
  • correcting its support for object;
  • adding support for the q element (which should be a breeze once generated content is enabled); and
  • fixing attribute issues (such as alt being used for a tooltip, cite not being supported on q and blockquote, and summary not being supported on tables).

The meeting

In Redmond, I met with Pete LePage, a Product Manager at Microsoft Web Platform and Tools, and several other key members on the IE team. We discussed the list and its implications in great detail for nearly two hours. While I am not at liberty to discuss all of the details of the meeting, I can say for certain that the group I met with was keenly aware of the issues we brought up and are eager to address them. One team member even said that he could have easily guessed our top 5.

The one concern they have—especially with regard to the event model and getAttribute()/setAttribute()—is that any adjustments they make to bring IE in line with the standards not “break the web” for the large number of sites using the proprietary IE event model, etc. We discussed this particular topic at length as it is a valid concern and I’m happy to say that I think we’re close to a solution on that front.

I came away from this meeting with a real sense of hope about where IE is going and am really encouraged by their willingness to engage the standards community (and web developers as a whole) in dialog like this. We did not resolve every issue in our two-hour talk, but I was assured that this was only the first of many steps toward improving IE.next. The IE team wants to continue this conversation and to continue to elicit feedback from the web community as a whole as things progress.

New article, tour dates, and feed changes

Tuesday, September 26th, 2006

Hello, my name is Aaron Gustafson and I’m a delinquent blogger. It’s been over a month since my last confessionpost.

If it makes any difference, I’ll say that I am sorry, I’ve just been a little busy of late. Those of you keeping up with me via my Flickr stream or Plazes will see why: lots of travelling. It doesn’t seem to be ending anytime soon, but I have a bit of downtime today so I thought I’d post some updates.

First off, I have a new article up on Digital Web Magazine that is all about the button. If you spend as much time with web forms as I do, I highly recommend checking it out. For some of you, the techniques may seem like old hat, but there are a lot of people out there who still haven’t realized the real power of the button element. On another publishing note, I’ve gotten a promotion to Technical Editor at A List Apart, which is sweet. Many thanks to Erin, Jeffrey and the rest of the team.

Also, if you haven’t been to this site lately or don’t follow my events feed on Upcoming.org, I will be speaking at The AJAX Experience in Boston late next month and I have also been booked to speak as part of Web Directions North in Vancouver early next year. I will also be co-leading a one-day workshop with Malarkey while I’m there, if you’re up for some serious CSS-meets-DOM scripting magic.

Finally, I’m starting to do some tidying up with regard to my feeds. I’ve had a FeedBurner account for ages, but hadn’t ever really used it until today. I’ve created a new feed for this site which also incorporates my ma.gnolia bookmarks and Flickr photos (which, of late, have seen a lot more attention than this site). For the three of you using the old feed, I’d appreciate it if you could move over to this new one as I may disable the old feed at some point.

Anyway, back into the fray… I’m sorry for not writing more often.

Mea culpa,
Mea culpa,
Mea maxima culpa.