
Matt Basta
Former Widgetbox whiz kid intern and current successful widget developer
As part of Widgetbox’s new staff series—we’ll be bringing you occasional guest posts from members of the Widgetbox team.
When I first started developing widgets on the Widgetbox platform back in 2006, I never could have anticipated where they would take me. The first widget I developed showed what was happening on http://digg.com/ in a manner similar to Digg Spy. It amassed a total of a staggering three subscribers. Over the course of four years, however, I’ve designed and built more than thirty widgets and serve over eight million impressions every month. Scaling to accommodate this much traffic (particularly during peak hours) was not easy and quickly grew expensive. The following is some insight into how I learned to successfully make a business out of widgets.
Technical Side
When I first started out developing widgets, my website was running on a $3.99/month hosting plan from GoDaddy. It diligently served its purpose until mid-2007 when my YouTube widget really took off, at which point GoDaddy started acting up, forcing me to upgrade to the $6.99/month package.
When my new hosting plan also began to fail after about six months, it became apparent that something was amiss. The bulk of my “popular” code was an XSLT (eXtensible Stylesheet Language Transformations) file which was applied to the data grabbed from the YouTube API…which was requested every time the widget was loaded. After doing some research, I found that this was incredibly inefficient and that I needed to implement caching.
Lesson Learned #1: Always use caching. Caching caching caching caching! If you don’t, it’ll only come back to bite you in the rear.
After implementing a dead-simple file cache, my hosting stopped throwing errors and the performance of the widget increased substantially. Problem solved!
As my widgets continued to gain in popularity, I eventually outgrew GoDaddy altogether. I moved all of my assets to MediaTemple ($14/month with a coupon), where they would live for another year. Both MediaTemple and GoDaddy are managed hosts, meaning that you don’t need to worry about how stuff works deep-down, helping you to grow without needing to worry about servers or load balancing or anything like that. For a small business, these are usually adequate.
Lesson Learned #2: Plan to scale. Even if you’re small now, things change fast, so plan ahead!
In 2009, MediaTemple made it clear that my websites and widgets were too big for their basic package and so I once again started looking for a new home. I found that home in Linode, a virtual private server (VPS) provider. A VPS is an example of unmanaged hosting, meaning that you get a server that you set up with whatever software you please in whatever configuration your heart desires. The benefit is that it’s completely customizable: you’re not locked in to any setup; however, unmanaged hosting is likely going to be a challenge if you’re not familiar with it (like it was for me).
Lesson Learned #3: Have friends that know what they’re doing. Knowing where to ask for help is half the battle of figuring something out.
After consulting with some (engineer) friends, I managed to get Linode’s basic package ($20/month) set up with my widgets and websites. The VPS ran like a dream! After a few month or so, however, I noticed that I was starting to push against my package’s 200 GB bandwidth limit (I was using 190 GB), and so I made the decision to make yet another investment. This time, I signed up for Amazon CloudFront. CloudFront is a content distribution network (CDN).
A CDN is a service that hosts static files (images, scripts, stylesheets, etc.) and distributes them inexpensively from a data center that is geographically close to the user. For instance, users requesting a widget in China will receive their files from a data center in Hong Kong, while users in Alberta, Canada would get the same file from a data center in Seattle. This helps to cut down on transfer delays. In my case, it also frees up my VPS to do other things, like serve more widgets.
Lesson Learned #4: If your application feels faster (possibly due to the new CDN you set up?), users are happier. Happy users make everything worthwhile.
Since my first Linode VPS, I’ve come to accumulate two more servers: one for testing and active development and one for real-time applications. To make the management of these three devices a little easier, I use a monitoring service called Pingdom ($9.99/month). Pingdom checks up on my servers every few minutes, and if one of them is being a bit problematic, Pingdom sends me an email and a text message to let me know that something is up.
Lesson Learned #5: When things stop working, your users will be sure to let you know about it. Angry users are not nice.
Business Side
Despite the popularity of my widgets and their rapid growth, it wasn’t until earlier this year that I actually started monetizing them. As you might imagine, running the three servers, the CloudFront instance, and Pingdom adds up pretty quickly. A few of my friends would poke fun at me because I spend more money on my web hosting costs than on my cell phone bill.
Lesson Learned #6: Your friends probably won’t “get it.” Neither will your family. Especially if you tell them you make “widgets.”
In the past, I’d experimented with advertising on my widgets. On my YouTube widget, I included a tiny eight by fifty pixel shout-out to my employers who were helping to cover my overhead costs. Within a month of deploying the “ad,” my widget’s traffic dropped by 10%.
Lesson Learned #7: People don’t like change, especially if that change involves advertising.
Since that time, I’ve figured out that the best way to monetize my widgets is to do so more organically. First off, ads within widgets should not be central to the widget’s design. Instead, they should supplement the widget and appear to users that engage the widget’s content. For instance, in my YouTube widget, ads are intermingled with videos, though a user would likely need to scroll through some videos to see one. I’ve found that users aren’t opposed to ads, they’re opposed to being forced to look at ads.
Since I’ve started monetizing my widgets, the income from the advertising has managed to cover the cost of my overhead, plus a little extra to allow me to experiment with new technologies and come up with some pretty cool ideas.
Lesson Learned #8: Neat products don’t innovate themselves. You need to put time and money back into coming up with really cool stuff if you want to get really cool stuff back out.
Lastly—and I know this sounds corny and clichéd—have fun with what you’re doing. When I started writing widgets, it was purely a hobby. I keep creating them because I like doing it, not that I have to. I’ve seen plenty of people with a great idea fail because they’re simply looking to make a boat load of money. Problem is, without a great passion and excitement for your work, your products lack life and personality.
Lesson Learned #9: If you think your work is boring, it’s time to reevaluate your project. Bring in friends with exciting ideas, talk to people that are doing awesome work, and do whatever else it takes for you to make your vision of the final product the greatest thing you’ve ever come up with!
With over 16 Billion impressions, Widgetbox is the leading platform for widget developers to make and publicly list their widgets. Make a widget from scratch to promote yourself as a developer and grow your business.
Not a developer? Widgetbox still offers numerous resources to help you grow your business and drive online traffic. Create customized widgets, make a mobile site, or create Facebook Fan Page Apps.
—When Matt isn’t being a crazy-smart college version of Alan Turing, he’s a successful widget developer whose widgets recently hit the 300,000,000 mark.
Popularity: 1% [?]