Category: ruby on rails

  • BarCampDC: The Kid Comes Along

    Youngest BarCamper
    \
    by Kelly Gifford

    (that’s Dr. Joe talking to Max)\
    Max and I went to BarCampDC this Saturday. BarCamp is an “un-conference” (no set schedule, everyone participates), and they’re held all over the world. This one was organized by Jason Garber, Jackson Wilkinson and Justin Thorp. They did a great job, and were cool with Max coming and participating.\
    I spoke on Rails, did the live coding demo I’ve done at other unconferences, and helped out in the portable social networking session.\
    Here are some links related to those sessions:

    • Ficlets, Rails and OpenID – I used this presentation during the intro to show off some of what Rails can do (also has some good OpenID info).
    • Tapping the Portable Social Network – Explains some of the concepts behind the prototype I put together, and
    • Portable Social Networks – The blog post that explains the prototype and presents the flow (and has a link to download the app).
    • The International Day of Awesomeness – Because I “sponsored” (on accident, I swear), I got to speak before one of the sessions. Of course, I spoke about The International Day of Awesomeness.\
      Now that’s out of the way, let’s talk about Max! When I originally asked Max if he wanted to go to BarCamp with me, I wasn’t sure he’d want to go. We talked about it a couple times on the way to summer camp and the more he found out about it, the more excited he got. I was excited for him to see me give a presentation and see what it is that I do when I travel. He had a great time. Everyone was really great with him. He was so excited to talk about Scratch and Hackety Hack and to learn from everyone. He was by far the youngest attendee there (I mean, Jason only looks 15). He was insanely well-behaved, and other than him clicking markers together a couple times or tearing paper, he was as well-behaved as any of the adults. He zoned out a little bit in the afternoon, but I think most people did.\
      On the way home, we talked a lot about what he thought of the day. Even after almost twelve hours of non-stop geekdom (we left the house at 7:30AM and this was at about 7PM), he was asking when the next BarCamp was going to be (in the last twenty-four hours, he’s asked me when the next one is about ten times), and asking me if I’d help him do a presentation on animation and using Hackety Hack.\
      Thank you to everyone who sponsored BarCamp, helped organize things, presented, and talked to Max during the day. I can’t tell you how cool it was to watch him talking to people and share his passion. It was great to share that with him, and to see him get out there. He said afterwards that he was a little shy in the morning, but that everyone was really nice. Max is an interesting kid, and I love seeing him learn and discover new things – and I love being able to share the things I’m passionate about with him.
  • circaVie

    It looks like we’re on to something here… first, we launched ficlets. Now, Dave McVicar and crew have launched circaVie. It’s a cool site for building timelines of pretty much anything. There was a bit of overlap in the ficlets and circaVie crew. Jason Garber did most of the markup before he scampered off to join his startup. Jenna Marino, who designed the gorgeous ficlets logo, did UI design for circaVie. Ari Kushimoto, who did a lot of ficlets’ UI, was circaVie’s art director.\
    I love seeing things launch, especially stuff as beautiful as circaVie. It’s an amazing piece of design and engineering. The site is gorgeous (I would say “lickable”, but that’s gotten me in trouble before – not doing it, just saying it, so I’m not saying it). The Flash stuff feels perfectly integrated and the interaction is really smooth. Jayna Wallace was the visual designer and did an amazing job. Corey Lucier did the flash work. Kelly Gifford jumped in and took over the markup when Jason left. Plus, it’s all on Rails!\
    Update: AUGH! Dan reminded me in the comments that I left him out, and I certainly shouldn’t have. Dan Bradley is the operations guy for both ficlets and circaVie, and I’ve worked with him for at least the last five years (probably closer to seven), and he’s one of the best there is. He helped a ton getting ficlets out the door, and I’m sure he’s done the same for circaVie.\
    You really should go check it out. The team worked really hard on it, and it shows.\
    See also: Kelly’s blog post, Mashable and Somewhat Frank.

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