Monthly Archives: December 2012

Why I am still excited about PaaS

Remember LinkPeelr? It’s a Chrome extension I built over a lazy weekend over two years ago, and it has since been featured on Lifehacker, Mashable, MakeUseOf and many other awesome review sites.

In terms of active users over time, this has been the most successful of my projects, with over 3000 people using it every week to see where short URLs lead without having to click on them. It’s a great little utility that I still use it every day. I couldn’t sing it enough praises, so I’ll let you try it for yourself instead:

Download LinkPeelr extension for Chrome

Recently, I started thinking of marketing strategies (growth hacking is the term de jour, I believe) to take the extension to the next level. In the course of my investigations I’ve learned that extensions actually “know” when they are being updated. So then it hit me, why not use an upgrade event as opportunity to learn something about my users, namely why not open up a new Chrome tab and ask users a few questions about how and why they use LinkPeelr.

In a stroke of genius I added some code to the extension to open new tabs whenever it detected being installed or upgraded. This was a couple of months back, and then last week one of the users reported a critical bug that I needed to fix right away. When I deployed my fixes, I inadvertently deployed my half-baked survey-tab-opening code.

When a new version of an extension is released it is seamlessly deployed by Google Web Store to all of the extension users. Over the course of 2 hours 3000 people got the upgrade, and their extension popped open a new Chrome tab.

The problem is that the half-baked code also pointed the tab at http://linkpeelr.appspot.com/?v=2.0.1&new_install=true. Each http://linkpeelr.appspot.com page also shows a  live feed of what links are being peeled by other LinkPeelr users, which results in one API call being invoked every 3 seconds from every open tab.

Here are the results:

Google App Engine traffic spike

Google App Engine traffic spike

The beauty of platform as a service model (PaaS) is that have I not accidentally looked at my Google App Engine console I would have never noticed what was going on. The platform automatically scaled from 1 instance that it normally needs to peel links for 3000+ users to 5 instances to handle the additional API load. And this was still well within my free Google App Engine tier.

I had a little “oh, shit” moment before I commented out the offending code and deployed a new version of LinkPeelr. It took all of 5 minutes to resolve the issue.

Don’t get me wrong, there are plenty of cases when PaaS just won’t do. As for me, I’ve used it for every single one of my side projects and have been consistently pleased with not having to administer any machines or worry about minutia I have no bandwidth for anyways (pun fully intended).

So why not use Google App Engine or Heroku for your next big idea? If you can skip the micromanagement and use that time to focus on the product, why wouldn’t you?

Please let your product passion endure

There is a natural continuum between an uncompromising idealism of a starry-eyed, first time founder, and a jaded cynicism of someone who has already found a winning formula and is prepared to apply it indiscriminately. I’ve seen an expression of both extremes of passion in my conversations with founders,  managers and product people, and I’ve seen it come across vicariously through the product itself.

What so often begins as a passion for a product and exceptional user experience turns into a passion for profit. I am struggling to express what, if anything, is particularly wrong with this tendency. After all, everyone needs to make a living, and passion alone cannot buoy every single product. It’s brutal out there, and when the money runs out, it has the inevitable effect of also smothering any passion to make something great.

But the converse is also true. I feel like far too many products and far too many judgements never leave the dollars and numbers dimension. There is almost a criminal lack of concern for the user experience or user value, and this comes across as wholly unjustified and offensive. The respect for the user is gone as soon as the product person starts saying things behind the user’s back that they wouldn’t say to their face.

It’s especially disconcerting when an attempt is made to make the business piece fit while the product vision hasn’t had a chance to take flight or even fully form. And I really wish there were fewer of those personally gut-wrenching moments when I see passion compromised for something not worth the paper that business model spreadsheet was printed on.