Social Networking Mashups

I’m speaking today at The Social Networking Conference about social networking mashups. I decided to turn it on its head a little bit and do an introduction on portable social networking instead, because what is it but a big ol’ mashup of identity, relationships and content?\
If you’re at the conference, I’ll see you at 1:30, and I’ve updated the slides a bit since I had to turn them in for the CD, so the presentation is a wee bit bigger and more complete than the one you got in your packet. I’ve uploaded the “final” version here, and you’re welcome to download it.\
Feedback is welcome. I certainly couldn’t cover everything, because I only have about 35 minutes to cover everything (and 36 slides). I don’t touch on the Data Portability working group, or several other relevant things, because there just isn’t time. It’s very much an introduction into why it makes sense for social networks to support “good things” like OpenID, Creative Commons, microformats, providing feeds for everything, etc. Hopefully, it will lead to more technical discussions and some good questions.\
Feedback is, of course, welcome!

Portable Social Networks at Mashup Camp

I’m doing a presentation today at Mashup University that I’ve titled Tapping the Portable Social Network that’s a code tour of how to create a social network that uses existing social connections and public data to make the sign up process for web sites easier. Of course, this whole idea came from Jeremy Keith.\
It’s a very simple Rails app (that you can download) that only deals with the login/signup process using both OpenID and AOL’s OpenAuth.\
Here are the basics…\
If you log in with OpenID, it:

  1. grabs the identity URL, and looks for some microformats
  2. looks for an hcard and pre-fllls the profile
  3. looks for XFN-encoded links and searches the site for existing users with that homepage and gives you the option to add them as contacts when you sign up.\
    If you log in with OpenAuth, it:
  4. pre-fills your profile with URLs and data we think we know based on your screen name.
  5. grabs your buddy list and looks for folks who logged in with those screennames on the site and gives you the option to add them as contacts.\
    It’s dead simple and poorly documented, but works well so far, and I think the flow makes sense and has possibilities. You’re welcome to take it, the concept, the code, and do whatever you want with it.\
    The next step is to see what other open reliable sources of social data are out there that would make sense to look for during the sign up process.\
    UPDATE: Read the README file! There are several things you need to change in both the configuration, and one line in profile.js. The README documents all of the required changes and where to find them.

Web 2.0 Expo – Making Lemonade

It’s been a wonderful (italics = sarcasm!) week so far. My second presentation at Web 2.0 Expo got moved to Wednesday at the last minute, and I won’t be here, so I’m not giving it. It’s a long and sad soap opera, and I’d rather not talk about it. But, instead of giving up entirely, I’ve decided to make some lemonade. Instead of doing the presentation (Microformats for Web Services and Portable Content) in a hallway at Web 2.Open, I think I’ll go to the Mashroom and see if I can get some help turning it into a Rails plugin. While I’ve launched a product on Rails, I’m no expert. I’ve been meaning to play with plugins, but haven’t had time (oddly enough, working on this presentation). I’ve zipped up the Rails app if you want to play with it. You’ll need to install the mofo and ruby-openid gems for it to work correctly (and you need a database for the profiles).\
What does it do? The main demo takes OpenID and after you log in, it grabs the OpenID URL looking for an hcard and pre-populates your profile with some selected bits of info. It was pretty painless to throw together, and I’d love to turn it into a plugin to make it even more painless. I think this could be a great alternative to CardSpace and the OpenID 2.0 attribute exchange stuff that’s still in the works. With delegate links, you could have multiple hcard “personas” that all point to the same identity provider but contain different profile information. Wouldn’t that be cool?\
In related news, I’m tired of conferences. I’d rather stay home, work and spend time with my family, who I feel is getting away from me. I’m missing too many of Brian’s little developments, the little things that kids learn on their ride from babies to little boys. He’s already a toddler and well on his way to kid-dom, and I don’t want to miss anything I don’t have to. Max gets smarter every day, and I want to be there to help answer questions.\
Other than Mashup Camps, and XTech (only because I already agreed to do it), I’m done until SxSW next year. It’s a gigantic pain in the ass to travel, and conference organizers don’t make it any easier. You’d think they’d treat speakers better, but they don’t. Yes, it’s a privilege to speak, but it’s also a huge commitment – both in time and money. They move your presentations around (without warning, or checking to see if you’re available), the network never works, and no one will answer e-mails (oops, here I go, I’m dwelling on this conference again). I’m tired and I need a break.\
So, if you’re going to Mashroom on Tuesday, come help.\
Update: I ended up not doing the Mashroom because I wanted to meet John Allsopp and see his microformats presentation (which was fantastic, and mine would have been a great sequel to it). By the end of that, I was tired and didn’t feel like writing code so I went back to the AOL booth to help out.

Hello, Ficlets

It’s been a very long day, and it’s not over yet, but I couldn’t let the day be done until I posted about this. Today, we took the covers off of the project that I’ve been working on for the past three months: ficlets. It started as this little thing I was going to do all by myself to learn Rails, and ended up what you can see over on the site.

I don’t even know what to say about it, really. Cindy, Jason and I have been dancing around it so long on twitter, calling it Ape Shirt, that talking about it now in the open feels kind of weird. But, here we are. There’s more information about what it all means on the ficlets blog.

Ficlets is very much an experiment (we like to call it “a prototype we just happened to launch”), and this is our very first release (we’re the first product in AOL to roll out on Rails, so we’ve still got stuff to learn about it…). So, things may go weird and wonky from time to time. Just give it a minute, and then reload.

I am truly fortunate to work at a company where I can get away with stuff like this. This started as my own little thing to do on the side. When I realized that it was actually a pretty cool idea and that I didn’t have the time or talent to do it all myself, I presented it at a meeting, and the next thing I know, I’m working on it full time with a small team of amazingly talented people. It was a pirate project in the best sense of the word. We didn’t really do a project plan or start with a big committee. It was four people in a room, working towards something we were all geeked about. From the beginning, we treated it like we were in a startup, very few rules, no defined roles (except that I got two votes, and Kerry got three). It worked so well, and we had too much fun designing and building it.

I never imagined it would look so good, or be so much fun. For that, I have to thank the designers who worked most closely on it: Cindy Li, Ari Kushimoto, Jenna Marino, and Jason Garber, who did 99% of the markup (all the good stuff), the CSS and most of the javascript (I worked on it some, I swear). We make such a great team, and I’m so proud of the work we did. We had lots of other help too, from folks who helped design the stickers, buttons and shirts for SxSW: Shadia Ahmed and Jayna Wallace, to the folks who played around with concepts early on: Elisa Nader, Elsa Kawai, Tom Osborne and Justin Kirk.

There are tons of people to thank, and a lot of people helped out. We had tons of support and “air cover” from Kerry and text and language help from John, Amy, Suzie, Nancie and Erin. My pal Tony was an immense help figuring out how to deliver everything in working order to the Greatest Ops Guy in the World, Dan, and Kelly helped us bend a few rules to get all the other opsy bits in order at the last minute. We had legal help from Holly and Regina. And my bosses let me steal Jason, and go work on it, so big thanks to Alan and Bert too.

This has been so much fun, I think we should do it again. I have big plans for our little story site…

One last thing… if you’re going to be at SxSW Interactive this weeked, come find me. We’ve got some lovely stickers and buttons to hand out (while supplies last). I should be pretty easy to spot. I’ll be the big fat guy with the ficlets shirt on (well, for two days… ).

Now I have to go finish packing!

Mashup Camp Three Recap

Mashup Camp 3 wrapped up a couple hours ago, and as far as I’m concerned, it was a gigantic success. I’ve had more fun at this “unconference” than at any conference since SxSW. Everyone was really into what they were doing, and there was a minimum of people there purely hawking their own stuff and not participating (which was my main problem with the last one in Mountain View). There were great sessions, and I was so geeked about everything, I ended up spending all of Tuesday building a mashup so I could share it at Speed Geeking. I ended up building a mashup of a feed reader and your buddy list that I unfortunately called Buddy Stalker, even though there’s very little “stalking” involved. It’s just a way to get a feed reader filled with things you’re likely to care about (the content your buddies create) without the initial setup cost of finding feeds, adding them, pruning them, etc. I ended up in the bunch of third place winners, which was great, when I consider that I did it in one day and that it was the first thing I’ve ever launched using Ruby on Rails.\
I met some great people, and had some great discussions. Here are just some of my favorite people from this week: John Gerken from IBM, David Janes, the Herrens, Nate Ritter and Chris Radcliff from Eventful, Kaliya, Raj Bala, Frank (if you’re out there, I never got your last name… we’ll find you a Ruby Users Group in Little Rock, I promise) and Shimmy from Angelwish, just to name a few.\
I think I ended up overdoing it a little… I ended up proposing and/or running four sessions, doing one presentation at Mashup University, and speed geeking for two days. My poor throat is shot – between talking too much and the cold dry air, it’s a raw mess. But, it was totally worth it. I got to talk about microformats, standards, the semantic web (both lower and uppercase), and in the last session, ruby on rails. It’s been a full week to say the least.\
There are pictures to go look at, and lots and lots of stuff to think about and work on going forward. There are several more posts in me to discuss all the stuff we talked about this week, but they’ll have to wait. I need to pack and get some sleep.

Hellooo, Mashers!

I gave my Microformats + DOM / AJAX = Mashup Nirvana today at Mashup University. I thought it went pretty well, but if you were there, I’d love to hear your feedback. You can either post your comment on this entry, or e-mail me at kevin at It’s been a few months since I’ve given a presentaton, and I feel like I’m out of practice, but I’d love to hear what you thought of the presentation.\
If I do this one again, I’ll try to film it and put it up somewhere. Of the presentations I’ve given at conferences, this is one of my favorites (of couse, my all time favorite is How to Convince Your Company to Embrace Web Standards from SxSW last year). It’s fun for me because I get to talk about microformats, and I get to talk about what I think is useful and important – and where I think they’re headed.\
I’m here the rest of the week, and will probable spend a good part of tomorrow working on a WIM mashup for Speed Geeking on Wednesday. I started it last night… and I got it started, but I got stuck at about 11:30 (go figure), and gave up. Today’s been eaten up with speaking, so I have tomorrow. If I get it working, I’ll put it up somewhere here so you can check it out.

A Non-Technical Microformat Definition

I was asked by someone at work to come up with a non-technical definition of microformats for some glossary of web terms they’re putting together. Here’s what I came up with:\
bq. Using standards that exist today, microformats take the HTML used to build the web and turn it into powerful, semantic, machine-readable, web-service ready data – without changing the specification or changing how HTML is written or delivered.\
And here’s what the amazing Paul Downey came up with on Twitter\
bq. Microformats for non-techies: colours on a Web page for things such as “date” and “telephone number” which only computers can see\
I like Paul’s better. Oh, and you should check out Paul’s presentation on Web API’s. The man creates the best slides in the business.

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, 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.

Microformats Presentation at AJAX Experience

I gave a presentation on microformats this morning at “AJAX Experience” Thanks to Molly and Aaron, I didn’t run way under, and I think it went pretty well. The AIM Pages demos went pretty well, but the network hiccuped just when I was trying to publish my page. Oh well.\
You’re welcome to go check out the presentation, and post questions in the comments on the presentation or here, especially if you were in the audience (all 25 of you)!