Posted July 22, 2011
Yesterday, we just launched a new product at Fog Creek, WebPutty.
Since this product came about in a fairly unique way for Fog Creek, I wanted to just give a quick account of everything that was involved in taking this project from nothing to completion.
The true start of the project was the middle of May, when plans forDaneand me to start a new product over the summer with three interns were nixed, and instead we were asked to spend a couple of weeks brainstorming new, more adventerous product ideas.
We spent two or three weeks coming up with a few dozen ideas, ranging from solid suggestions we'd already talked about to some crazy, off the wall, we- can-never-break-into-that-market ideas.Each week, we presented the ideas we'd come up with to Joel and Michael. Some of them got panned, some of them got marked as possibilities, but none of them really seemed to jump out. We also started bringing in a few prototypes, since we were both starting to get sick of brainstorming and were itching to get back into code.
Towards the end of those weeks, a former Creeker (and good friend) Jason stopped by the the office while waiting for his new boss to go on the Colbert Report. Wechatted with him about some of our ideas, some cool stuff he was doing with LESS, and tools like JSFiddle. During the conversation, another idea occurred to me: we could make a tool like JSFiddle for editing the styles on your website that also hosted it, so you'd get a real-time preview of your changes, and, when you were ready, you would just have to click a button to make the new style live.
The next day, the both of use feeling particularly antsy, we decided to start prototyping what we had unoriginally code-named "CSSFiddle". We had already done one or two other prototypes using Google App Engine with Flask, so we created a new project and got coding. By the end of the day we had a very basic two-pane layout, one for the editor and one for the live-preview, and wired it up so the previews would actually work.
The next week, we presented several small prototypes to Joel and Michael. They seemed to like CSSFiddle, so we continued working on the prototype. That week we added organizational features, like grouping of styles, pages, and sites, and administrative controls for managing multiple users on a single site.
By the second week, we were dogfooding CSSFiddle by making it host its own CSS, and we presented it to the whole company.A week after that, we started having our awesome designers take a look at it and remove all of the ugliness Dane and I had infused into it. By week four, we were spending most of our time cleaning up loose ends in the workflow. Week five was spent focusing on user interaction improvements, things like using visual clues to show what state the editor was in. We also obtained WebPutty.net and rebranded the site from CSSFiddle to WebPutty.
By week six*, we were ready to launch. There were a couple of small features that were blocking launch, which we spent Monday and Tuesday completing.
On Wednesday, we did our final round of tests on the live site. Everything looked pretty good. The only possible hitch was that Apple had just released OS X Lion, so we took some time to decide whether our launch announcements might get lost in the noise. Seeing that Lion had not attracted too much attention on Hacker News, we decided to go ahead with the launch.
Dane published his blog post on the Fog Creek blog, while I wrote posts for Hacker News and Proggit. Dan, our marketing lead, started posting on Twitter and pinged Joel on the launch.
Dane's blog post faired very well, staying at or near the top of Hacker News for most of the day. (My posts did not fare so well.) Joel's tweet also did well, and the URL of the blog post got tweeted thousands of times, including some high profile accounts like Smashing Magazine and ReadWriteWeb.
So where does the project stand now? First, we've gotten a lot of good feedback, which means we'll be writing more code to fulfill some of the more popular feature requests. What about monetization? To be honest, we haven't decided on that yet, but even with some huge spikes in traffic, the hosting costs are pretty minimal.
We could have spent a lot longer brainstorming, and maybe we would have come up with a better idea, or maybe we just would have forgotten this good one. We could have spent more time developing the app, adding as a billing system and all the other features we'd planned. But then we wouldn't be anywhere. By getting impatient and diving in, at least we're somewhere. And that's usually better than being nowhere.
* Technically, it was week seven, but both Dane and I had taken about a week's worth of vacation during that time, meaning that only 6 weeks of each of our time went into the project.