Three Weeks In, A Look Back

I know I’ve been rather quiet since leaving AOL and joining up with Music Intelligence Solutions, but as you can see from Jen’s entries, we’ve been busy. I’ve been going back and forth to Savannah, trying to both get to know the team, the vision and the plans we have for launching, and at the same time, designing architecture, doing training and helping folks get up to speed on scrum and other stuff. It’s been a lot of late night, long conversations, whiteboard sessions (note to self, get a bigger whiteboard), and late-night epiphanies while trying to get to sleep.

I keep thinking about what I learned over thirteen years, and the people who took their time to mentor me, and the excellent managers I had who showed me how to deal with both pressure and conflict. I keep thinking about one of the first technical meetings I had way back in 1999 about AOL Search. We were just getting started with the project, and I was the front-end guy, and one of the only people involved who knew AOLserver and Tcl. So, there I was in a room with two PhD’s, with them asking me what I wanted the API to look like. Joe Dzikiewicz and Tom Donaldson sat there and asked lots of questions, we drew on the whiteboard, and I was freaked the hell out…

There are hundreds of people I should thank for helping me over the years. I tried to count up all the people I worked with at AOL, and it’s easily over a hundred and I got close to two before I stopped. But, the person I keep coming back to is Joe. He was one of the first computer scientists who took me under his wing. I don’t have a degree – everything I know about technology is either self-taught or through experience and others helping me out. I’ll never forget an IM Joe sent me while we were working on AOL Search. It went something like:

  • Joe: Hey, things are looking good, but it seems kind of slow. Are you threading the requests?
  • Me: Am I what?
  • Joe: … I’ll call

I think I scared him; but, he very patiently explained it to me, and then sent me off to figure out how to implement it.

I learned so much from Joe, and from the hundreds of other people I worked with at AOL – from my first manager, Judy Winger, who “saved” me from getting fired from a really stupid e-mail I sent to the wrong manager (well, that manager was the intended target, but…), Priscilla Serling for encouraging me to take the job in Virginia, to Robin Vinopal and Mark Robinson who taught me so much about how to treat the people who work for you, and to Bert Arians and Alan Keister for giving me all the room I needed to try new things. And all the nerds, geeks and smartasses I worked with.

It’s only now that I’m gone and have a couple weeks away that I see how lucky I was to work with all the people I did.

I’m having a blast at MIS trying to implement all the stuff I learned over the years at AOL, and all the stuff I wanted to try but couldn’t, either because of upper management (I can only say that I learned a whole lot about what not to do from AOL’s upper management over the years) or because I wasn’t in a place to do it. It’s been a lot of fun seeing my new team embrace all the things I’m throwing at them (and I’m throwing a bunch, everything from The Cluetrain to web standards).

It’s going to be an adventure, and before I get too far along in it, I have to say “thank you” to everyone I worked with at AOL. Without you, I wouldn’t be here, and I’ll be forever grateful.

AIM Pages

We launched a metric ton of new stuff for AIM Pages yesterday morning (started at 2AM and finishing up around 10:30 with tweaks and mad dashes throughout and after). The changes are definitely noticable. If you go to aimcreate.com, you’ll no longer see the super sexy drag and drop editing interface, although it’s still available. The “wizard”, as I like to call it, is a ummm… wizard. So, if you’re not into the drag and droppyness of the other interface, you can fill out this big form, hit Save Changes and voila, you’ve got an AIM Page like mine (well, not like mine exactly, because yours should be like your page and be about you: if it was about me too, that would be creepy).\
We had no time to completely rebuild the product, faced innumerable technical problems, questions and challenges, and yet we still launched on time. The product included more than twenty-seven individual pieces of software to install, groups on three continents, in four time zones and more moving pieces than I want to remember (although I have to, because I was the tech lead for this round). So, if you were wondering why I haven’t slept in six weeks (five eighty hour weeks in a row, y’all), seemed kind of stressed out and irritable, now you know!\
It continues to amaze me that we’ve launched this product all based around a microformat, and that it works so well. There are still challenges, but everything around the microformat has been relatively smooth and stable. We even have a cool web service built around it that anyone can use to mash up their own page or other pages. More cool stuff is afoot, so keep your eyes peeled.\
It’s launched, it’s cool, there are still some issues that we’re working on, but it’s out there and I can get some sleep now.\
Oh yeah, and this year has been so crazy that I’ve only taken three vacation days so far this year. Yes, three. Since I’ve been at AOL so long, that means I have several weeks of vacation time to use up by the end of the year. Yeah, I won’t be at work much in December.

On Modules and Widgets

I got a couple comments on yesterday’s post about ModuleT and widgets. I don’t post often (another vote against splitting my personal blog, I guess), but all the details about AIM Pages, our microformat or other thoughts on widgets will be over on the Alpha Blog. That’s where Joe, Shawn and I talk about module stuff. We’ve been so busy lately that we haven’t posted as much as we should, but there’s a lot to talk about, so keep your eyes peeled for news.

Child Scripts Making Child Scripts!

I’ve been wrestling with a bug in one of my modules for AIM Pages for_ever_, and just found a fix today. I created this well-intentioned module called code snippet that allows you to paste in markup and it’ll get inserted into the DOM. This is really just a stopgap to allow people to add stuff that a module doesn’t exist for yet. I never should have written it. Do you know how bad DOM support is in IE? It’s awful!\
The big problem is that people wanted/needed to insert script elements with inline script using the code snippet module, and I couldn’t figure out a good way to do it (ok, any way, good or otherwise). Just adding them to the DOM using innerHTML doesn’t work. IE won’t allow you to create a new script element and set the text content to the code.\
Today, I stumbled on a message board post that hints at the answer. What’s the answer?\
Create a new script element, and set the text property to the script content and then append it to the body. Voila, actual evaluated javascript! Here’s an example:

<code>var b=document.getElementsByTagName("body")[0];
var txt="function doIt(msg) {alert(msg)}";
var scr=document.createElement("script");
scr.setAttribute("type","text/javascript");
scr.text=txt;
b.appendChild(scr);</code>

Enjoy! Oh, and the fixed version of the module isn’t live yet. I’m letting the QA guys look at it first before I unleash it on an unsuspecting world.

Revenge Of The Coolest AIM Pages Feature Ever

The web page as service thing I talked about before is live now, and I’ve built my first module that uses it. If you go to my profile, you’ll see a little module in the left-hand column called shared buddies (if you want to see the source) that, if you’re logged in and have a profile, will grab the buddy gallery and see which buddies we share. Isn’t that cool?\
I’m looking for other ideas for modules to mash up people’s pages, so be on the lookout for other cool stuff. If you’ve got ideas, please post a comment!