Playing With Ficlets

Ficlets has been around for a few months now, and while it was a blast to build and launch, I honestly haven’t had a ton of time since it launched to actually enjoy my own product. I’ve been busy fixing bugs, responding to feedback or working on other projects (the nerve, people making me work). Building things is fun, but I forgot to actually use it.\
For the past few weeks, I’ve been taking time out to play with ficlets: write stories, play with inspiration, and explore other peoples’ ficlets. It’s been a nice surprise to find out that the experience I envisioned when we started building it is actually fun. I’m having a great time working on stories, getting feedback, and finding stories to continue. Here are some of my favorites:

Web 2.0 Expo: Bridging the Gap, OpenAuth and Widgets

Greg and I presented at Web 2.0 Expo today in a presentation called Bringing the Gap Between Desktop and Web. It went well, although we were hoping to have some more announcements to make. There was a lot of discussion of the widget space, microformats (which 99% of the audience hadn’t heard of which surprised me), a little on OpenID and I got to talk about OpenAuth! I’ve had to stay quiet about it for months now, but I’ve been using it for a while, and it’s one of the things I’m most proud of AOL for doing.\
What’s OpenAuth It’s AOL opening up its authentication system to the web at large. We used it in ficlets instead of us having to come up with our own user system, maintaining all those passwords, writing code for encryption, sending those “oops, I forgot my password” e-mails, and re-inventing that wheel for the millionth time, I didn’t have to worry about it at all.\
I was able to integrate OpenAuth with Rails in about twenty minutes. And for those who don’t have AIM screennames, or don’t want them, we supported OpenID, which took about forty-five minutes to integrate.\
I linked to the presentation up there, but if you missed it, here are the slides. I mentioned my triple-headed widget that works in Dashboard, Opera and AIM Pages as well.\
Now, it’s time for me to go write some more stuff for the book and try to get caught up.

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!

Bring Me Your 48×48 Buddy Icons!

For our soon-to-be-a-launchin’ Ruby on Rails app, we’re looking for services that provide 48×48 buddy icons (you know, like AIM does). So far, it’s surprising how many different social networks and web apps have them, and it’s equally surprising how few of them have APIs to get at them. So far, I’ve got AIM Buddy Icons, Flickr buddy icons, and Twitter icons – because they’re really easy to get at (some easier than others). If you know of more services (or happen to run one) that has APIs for getting buddy icons (that are 48×48), please let me know! We’ll give you a link and make your users happy in the process, because they get to use their cool icon.\
One of my early goals with the project was to reinvent as little a wheel as possible:

  • I don’t want to store passwords, or make users remember another one, so we’re supporting AIM and OpenID logins
  • I don’t want to host, resize, handle uploading, a bunch of images, because that means users have to upload yet another one (hence the question above).
  • I don’t want to make people fill out a big long nasty profile, so we don’t have them (they’re short and funny).\
    We’ll be launching the new blog in the very near future, and the product hopefully before SxSW. I’m way too excited about it. I even posted a sneak peek of the logo because I couldn’t take it any more (oh, the design on this thing… it’s gorgeous – the best looking web app I’ve ever been associated with, and I’ve been involved in plenty).

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.

Digging in With Rails

It’s the end of our first full week of development on our big Rails experiment, and I couldn’t be happier with how things are going. We have 90% of the admin interface done (user management, static page stuff, moderation, etc), have user logins working using a really cool upcoming AOL open API (should be able to talk more about it later this week, but it’s one of the best web services I’ve ever used and I’m not saying that because I work there), and users can edit their own content now in a limited manner.\
Rails makes things so easy. It takes all the obnoxious bits out of building web apps: the plumbing. I no longer have to write hundreds of lines of code before I can actually do anything important.\
This is also my first experience with Subversion, and I’m loving that too. We’ve been using svnX, and I’m loving that too. It took a minute to get used to, but I love smart mode. It tells me what I’ve changed so I don’t have to go digging for it to make sure I’ve checked everything in (so Jason can keep his stuff in sync and mostly working).\
We’re still planning on launching before SxSW. wish us luck.

My Job… on Rails!

There are times when working at AOL is hard to defend, like say, when we give out lots of personally identifiable search data, or when our customer service is patently horrible. There are other times when I wouldn’t dream of working anywhere else. Today is the latter. I am extremely lucky. Why? I can’t say everything, but I can give the basics.\
I’ve been playing with Ruby on Rails for a little while, just tinkering in my spare time, until I came up with an idea. This idea was big and complex, but I figured it would make a good “class project” to really get to know Rails. Once I started getting into it, it turned out to be too big and too complex, so I came up with what I think turned out to be a better idea. Better not only because it was simpler, but because I don’t think anything like it exists out there yet.\
After playing with it after work for a month or so, I realized I didn’t have the time between work, travel and family, to really do it right. So, I brought it to work and proposed it. And, we’re doing it… in Rails. I have a small team of folks I hand picked to work on it, and their managers have graciously allowed me to steal them for a couple months. Cindy, Ari (Ari, do you have site?) and Jason are the best (which is why I picked them). We’re playing startup: very little interference, almost no process, and incredible executive “cover”. We’re doing out best to keep it simple, pare down the featureset to what’s absolutely required to make it cool, and throwing out traditional AOL project roles. We’ve making incredible progress and I’ll hopefully be able to unveil the final thing before SxSW. It will be unlike anything I’ve ever built for AOL before.\
Even with the layoffs, uncertainty and swirl, it’s still a good time to work at AOL.

Keeping Track of the Big Idea

I was playing around with my Dreamhost control panel recently and noticed that there was a new one-click install for activeCollab. Being the curious sort that I am, I figured, “I’ve got unlimited domains, and practically unlimited disk space, what’s one more?” and installed it. It’s great. It’s still pre-1.0, but there are enough features, and it’s so well designed, that it’s very usable. I’ve started using it to keep track of the side project so when I’m bored and need something to tinker with, I can tinker towards something instead of just watching TV.\
Today, I added all the stuff Jen wants to do to the house (not surprisingly, that list is a lot bigger). I now get what all the GTD‘ers are talking about. It makes me feel a whole lot better seeing everything in sections, with proposed due dates and milestones. It now doesn’t seem impossible. There’s a lot to do, but with my handy-dandy copy of Home Improvement for Dummies, I think I can do a lot of it myself.\
So, if you have Dreamhost, give it a shot the one-click way. If you don’t, go download it and give it a shot (umm, you should be fairly comfortable installing things on your webserver and setting up databases… if not, go get a Dreamhost account – can you tell I like Dreamhost?).\
If you don’t have an account and want one, if you enter the promo code lawver_dreamhost when you sign up, you’ll get a 10% discount on any of the level one or two accounts. Why? Because I love Dreamhost and I think you will too.\
Yes, I know this post feels kind of spammy, but both things are really cool, and they both make me happy.

Progress on Rails

I’ve been playing with Ruby on Rails (I wrote about my initial adventure already) in the basement while watching Big Brother and tonight, I’ve actually made real progress!!\
Maybe it’s being on vacation and not compulsively checking mail every five minutes, but I got the login stuff working, and I can actually create real records, submit them and then see them! I’ll work on updating them tomorrow night, and then on to the second model.\
When I get closer to being sure that I’ve got something I’ll actually launch, I’ll spill more details, but I think it could be a lot of fun. It’s built around something that’s really popular, but totally underserved by both large companies and the startups considered to be in the whole “Web 2.0” thing. Hopefully, it’ll fill a niche that’s not been filled yet, and I won’t make a mess of it. So far, so good.\
Maybe this would go smoother if I actually learned Ruby…