Special delivery!

I ordered Chinese food for dinner tonight and when I opened the door to collect it, there was a bouquet of flowers waiting for me. They were sent by my husband’s work thanking me for lending him to them during all of those late nights and weekends.\
So thanks, husband’s work, for the flowers! It was very thoughtful and much appreciated.

WWW2006 and Me

I’m headin’ to Scotland tomorrow for WWW2006, where I’ll be presenting twice:

AIM Pages and Safari

I’ve seen this now a couple places, and figured I’d comment on it (not in an official way, but in a “I feel your pain” way). The current falderal is about AIM Pages and Safari and how it doesn’t work yet. We tried, honest we did. But, Safari has certain “issues” with its DOM support (it’s a standard, ya know) and other javascript features. We did our best to work around them and get things working, but when it came down to crunch time, we had to concentrate on the big two (Firefox and IE). We will support Safari. We’re actually very close, just have a few annoying things to work around and it’ll be done. We love Safari. All us Mac users on the team were really sad that we had to drop it for the first release. But, we had to.\
It actually has very little to do with standards compliance. No modern browser is fully DOM 2 compliant. No modern browser is fully CSS 2.1 compliant. They all have quirks. We’ve found more one-line crash-causing javascript commands working on this project than I can count. We’ve found things to hate in all the browsers.\
I used to think that browsers were in a pretty good place, especially Firefox and Safari. I was wrong. They’re all too slow, too quirky and aren’t reliable enough. They all crash too easily, take too much work to do things the “right” way, and in most cases, it’s actually better to do things the wrong way because that’s the way the browsers “like” it. For example, it’s way faster, takes less code and uses less CPU to use innerHTML than creating DOM nodes and appending them. If the right way’s not the right way, it’s the wrong way. Until the browsers actually reward using the standard, there isn’t much point. The rewards for using semantic and valid markup, and good CSS are well known. There aren’t a lot of rewards right now for using the DOM.\
But, where was I? Oh yeah, Safari… we’re working on it.

AIM Pages

We’ve launched!! Hooray!! You can go check it out for yourself over here. If you want to create a profile, you can do that too. All you need is an AIM screen name (and who doesn’t have one of those?) to get started.\
This project has been more fun than anything else I’ve done in my \~11 years at AOL. It was full of huge technical challenges, was a great place for us to try out new things, and the team was probably the best I’ve ever worked with. From product management to QA to Operations and the rest of the developers, everyone pitched in, went the extra mile, pushed themselves to find the best (or at least the one that worked) solution, and kept a good sense of humor about it all.\
I started on this thing as a “consultant” and wasn’t supposed to write any code. I ended up:

  • joining the team responsible for it
  • writing a site’s worth of documentation
  • creating a microformat
  • coming up with a set of rules for writing CSS to accomodate modules, themes and user styles
  • writing almost a dozen modules (only some of which are actually live)
  • helping with dozens more, writing a bunch of themes, and making sure that over 60 themes were ready for launch.
  • spent late nights and weekends at the office debugging javascript
  • worked on convincing developers, management and design that web standards are the way to go
  • and discovered several one-line crashers for Internet Explorer (and one or two ways to make Firefox REALLY unhappy as well).\
    It’s not done, not by a long shot. There are still dozens of bugs and hundreds of features still to come. But, it’s a start. It’s all kinds of fun, not just for end users, but for developers too. One of my “secret” goals at the beginning of this project was to make module development easy enough that even “normals” could do it. And just this morning, sitting around a big conference table, there were three product managers talking about their modules. And my other secret goals? Here they are:
  • Get more people to learn the “right” way to write CSS.
  • Help microformats go mainstream.
  • Show the outside world that AOL can do innovative stuff, and that we support Open Source (we’re using the hell out of Dojo).
  • Show the outside world, and the internal development community, that using web standards don’t limit you. They help you. Creating modules for our product is so much easier than creating them for live.com, dashboard or Google Homepage. Why? Because microformats are “just” HTML.\
    There you go. Go play. And while you’re at it, check out my profile.\
    Oh, and for all you Digg folks, I Am Alpha is not AIM Pages.

Dear Everyone At Work

Please stop sending me mail. I haven’t caught up from yesterday’s 330 to get to the 100 that have already come in since 8AM. Just stop. Whatever it is, it can wait until tomorrow.\
I would ask you to call, but since I just moved to a new desk, I don’t have one. So, just sit there and do something productive until I get out from under the weight of all these useless bits.

Categorized as AOL, Kevin

Conferences, Conferences

Just a little reminder… I’ll be moderating the How to Convince Your Company to Embrace [Web] Standards at SxSW 2006 next Tuesday. If you’re going to be at the conference, please show up, even if it’s just to heckle. We’ll have our presentation online by the time we actually sit down to give the panel (but probably not too much before that). If you’re planning on attending our panel, please leave a comment!\
~~Also, I just got the e-mail that Shawn and my proposal for X-Tech was accepted! That means that I get to stay in Amsterdam for an extra week after the CSS Working Group meeting in May.~~\
UPDATE: We’re apparently not presenting at X-Tech. I’m not sure if we got the wrong e-mail first, but it certainly looked like an acceptance notice, but then came another much later in the day saying our proposal wasn’t accepted. Oh well. We can re-submit for “late breaking”, but I don’t know that I really need to bother with it.\
UPDATE Part 2: I am presenting at WWW2006!! I’m helping Bert out on the CSS part with a presentation on architecting CSS for syndicated content (and for the site including syndicated content). It should be fun, and another chance to show off some of the cool stuff we’re doing over in AIM land.\
We also submitted a proposal for the Developers Track at WWW2006, and may be helping out with the CSS piece as well.\
I can’t wait for SxSW. I just hope this jet lag/sinus infection combo is better by Thursday.

Mountain View: Day One Recap

Yes, I am in Mountain View, and I really wish I had more time to see all my friends out here (I’m especially bummed about not having time to hang out with my brother, his wife, and Sam. It’s just a two day trip, and it’s chock full of meetings, all about this. We did a big presentation yesterday about it, what’s coming (shhhh, it’ll be cool), and how the world can join in. It was extremely gratifying to see geeks get really jazzed about it. It proves that even though I can’t explain it worth a damn, we’re headed in the right direction.\
I’m having a really good dinner last night at Nola’s in Palo Alto, and laughed our fool heads off. We rehashed the “good old days”, talked about geek energy and how to harness it, and what it feels like to be working on something we can truly be proud of.\
I was talking to Joe afterwards about stuff we’d worked on before, the old projects that still hold a special place in our hearts, and I thought about this silly fulfillment system I wrote when I first came out to Virginia to finally become a “real developer”. It was a maintenance system. People submitted tickets, filled in a bunch of detail about the affected system, the problem, the request, etc. Then, someone got the ticket, did whatever was in the request and then closed it. It ran reports, was extremely flexible in setting up types of requests, etc. I wrote it almost 6 years ago, and thought it was dead. I hadn’t touched it in about five years and figured people stopped using it and forgot about it long ago. Then, I got an e-mail about a month ago (and an IM yesterday) about it, asking who owned it, and if someone could add a feature to it. I was stunned. This thing that I thought was dead and buried has been used every day for five years by a couple different teams. No one’s touched the code, cleaned out the database or anything in five years and it’s still running like a champ, taking requests, running reports, etc. I thought the thing I was most proud of was what I did on AOL Search, but I think I may have a new winner. Almost everything I’ve ever written has a fairly short shelf life between versions. This tool is ancient and still going strong, which not only scares me, but makes my geek pride swell.\
Today? We’re talkin’ modules, modules, modules and javascript. Oh, and between all the module talk, I have to figure out how to create CSS blocks on the fly in Javascript. I’m really close, but man, does that spec need some work.

Announcing I Am Alpha

I can finally reveal what I’ve been working on for the past couple months that’s making me write all this javascript. It’s I Am Alpha, something kind of new and interesting for AOL. Why? AOL doesn’t do public development. We’re usually very close-lipped about what’s going on with a product. We just launch stuff on an unsuspecting public. We also don’t often foster any sort of interaction with the outside developer community. There are things like AOLserver that’s open source, and the new AIM plugin stuff is open to the public, but I can’t really think of much else we’ve done in the area. That’s changing, as of today, with this thing.\
What is it? Well I Am Alpha is just a prototype to give folks some idea of what’s coming, and to introduce our microformat for transporting modular content and the idea of creating modules for this new product.\
I think this is really cool. No one’s paying me to say it’s cool, either. I think getting more people to create microformatted content is great, and I think our microformat is pretty cool (don’t know what a microformat is?). I think some of the stuff we don’t have a live prototype for, like server-side modules is super-cool.\
It’s going to be a little rocky. We don’t have a lot of experience with the whole public development thing, and a lot of things won’t be public (old dog, new tricks), but we’re trying. We’re really really trying. We’re going to be using Dojo for our internal framework and for modules. We’ve released the microformat under an extremely liberal license, and with this alpha, are actively seeking feedback.\
It’s great to be involved in a product at AOL that feels so open, and with forward-thinking standards at its core. It didn’t take hours and hours of red-faced pleading to get us to create a microformat for modules instead of YATXS. It didn’t take kicking, punching and hiding bodies to get us to agree to create (as much as we can) valid, accessible pages. Of course, we don’t control what goes into modules, but we’ve set up the pages that will be saved (the current ones aren’t perfect or what’s going to be final, to be sure) will be valid XHTML, and we’re requiring that all modules are valid too.\
Oh yeah, and it’s the first public facing thing I’ve done at AOL where I was the designer and wrote almost all of the content. So, if it sucks, it’s my fault. I didn’t build the prototype, but I helped design the microformat, the server-side module process, and wrote 95% of the documentation. Hooray for flying under the radar!\
I’ll try to keep the posting about it here to a minimum. Mostly, I’ll be yakking about it over on the unofficial official blog. Come join in the fun!