Sat, 08 Aug 2009

Agility Makes Up for Bad Preparation?

Today I experienced (okay, caused) something of a disaster, but thanks to an amazingly fast recovery, I think it turned into a real success.

The Disaster

Today we launched the Windows Azure Lounge, a place where people can chat about Windows Azure with the people who build it.  Unfortunately, when the lounge opened, I realized I’d forgotten to log in ahead of time.  If you remember the glory days of IRC, you’ll understand the problem.  Tinychat, the chat technology we used, has a mode similar to IRC where the first person in the room becomes the moderator.  Without moderation powers, we were helpless against the throngs of people who showed up with webcams and microphones fired up ready to chat about decidedly non-Windows-Azure topics.

I had actually foreseen the squatter problem and had made the name of the chatroom configurable in the Windows Azure Lounge code.  Unfortunately, I messed up the implementation and had the name hardcoded in one place, so this feature was useless.  I also hadn’t thought of putting in a kill switch that would shut down the chat (or force a page refresh).

The Recovery

Windows Azure Lounge conference room Frantically, in the conference room at Microsoft, we were deciding what to do.  We couldn’t proceed with the chat, so we thought we’d have to reschedule.  I said, “Okay, let’s reschedule for 1:00 PM” (just an hour after the initial start).  That gave us about 40 minutes to scramble.  The first thing I did was reset the start time of the chat (thankfully, configurable in my app!) to 1:00 PM PDT.  Then we flooded the chat as much as possible with instructions to come back at 1:00.  We also posted the same instructions on the sidebar, possible thanks to a “notes” feature I’d coded up the night before.

Now we had about 30 minutes.  While I fixed the code to use a configurable chat room name, Mike Wickstrand (@wickstrand) bought a Pro account on Tinychat and configured a password-protected room.

Thanks to Windows Azure, the new version of the application was patched and live with about 15 minutes to spare.  When the pre-chat countdown on the page reaches zero, it forces a refresh of the page, which means everyone immediately picked up the new app code which displayed the right chat room (in which we were operators and for which a password was required).  We stuck the password in the sidebar, and most people had no trouble getting in.

The Happy Ending

We then spent the next hour typing furiously with about sixty participants about a wide variety of topics.  My next blog post (probably Monday) will contain the entire chat transcript and some more thoughts about the experience.  Based on the feedback we got in the chat and on Twitter later, I actually think things turned out really well.  We’re planning on making this a regular event and have tentatively scheduled the next chat for two weeks from today.  I’d like to also schedule some different times to allow people in other parts of the globe to participate at a reasonable hour.

It’s tough sticking your neck out, but it pays off when you can make a real connection.  I think we started down a good path today, and you’re all invited to stop by and spend some time in the Windows Azure Lounge in the future.