20% projects in the wild — Raphaël

Work smarter, better, and faster with weekly tips and how-tos.

As you may recall, in March this year, Atlassian publically announced the commencement of the 20% Time Experiment. Since then, we have been keeping you up to date how it works, and what people have been doing.
Dmitry Baranovskiy, a Developer on the Confluence team, has been spending his 20% time on a JavaScript library for creating vector graphics. In August, Dmitry released Raphaël — the first 20% project unrelated to an Atlassian product to be released to the public. At the 2008 Web Directions South conference held last week in Sydney, Dmitry delivered a presentation, related to his work, and was interviewed by SitePoint‘s Andrew Tetlaw on the beginnings and details of the library.
Here’s an excerpt from the article:

SitePoint: Right, I thought my first question should be: why did you write Raphaël? What inspired you to write it?
I was doing a ShipIt project. Internally at Atlassian, we have ShipIt Days when you are given the time to present a project you’ve been working on. […] So I thought I’d do something the programmers might not know anything about, and because I’ve had experience with SVG before, it made sense to work with SVG. But, as a front end developer, I’m concerned about creating something that only works in Firefox, so I wanted to create a bridge for VML on IE. My original project was to create a charting application, like a simple line chart. I quickly knocked it up in a day and a half from scratch, showed it, but it didn’t win anything. It didn’t impress people.SP: Not even a little bit?
Oh, maybe a little bit, but not in general. So I left it for a while. Then we started our 20% projects (just like Google). I decided to pick up this project and extend it a little bit. I got rid of the charting part and turned it into a generic drawing library. Just a bridge between SVG and VML to enable me to do more cool stuff without worrying about browser compatibility.
So at the next ShipIt Day, I used this library to create a Skitch-like application. You could take a picture and add things like arrows and ellipses. It even saved the image, but obviously that’s not the hardest part.
Then I started working more on this 20% project. To be honest, I spent more than one day a week: I worked with my laptop on the train — one hour to work and one hour back — two days a week in general, for about a month. Then I decided that it was good enough to release, because it’s better to do so before another developer releases the same thing. So, I released it in the middle of August.
I was stunned by the feedback. I didn’t expect it, to be honest, because I wrote about it on my blog and I usually get about 20 hits per day; but after it was released and made it to the front page of Delicious and Reddit, I got about 8,000 hits per day. It chewed through my bandwidth and I had to create a new domain. It actually started costing me money!

To find out more about technical challenges Dmitry faced, like cross-browser compatibility, you can read the full interview. And if you’re super keen, you can also follow Dmitry’s personal blog to get the latest on what he’s up to.
I expect that as 20% time continues to give our developers an outlet for innovation outside of the realm of Atlassian’s existing products, more projects like Raphaël will make their way into the wild. As a relatively young Atlassian, this excites me greatly, as it’s yet another reminder of how cool this place is to work at, and gives me instant bragging rights in any tech-related conversations that could occur in a social context (believe me, it happens!). Stay tuned for more updates!