Believe it or not, widgets do go viral.
An excellent example of this was back when I worked at Snapvine. We setup our signup flow, and launched our widget on MySpace. Our initial user base of 20 users sky-rocketed, and within one week, we had 400,000 users signed up.
I’m not saying results like this are typical, but they do happen. And like Snapvine, they kind of sneak up on you without any warning. The problem that most viral widget developers run into is very similar to the Slashdot effect.
Let’s take a look at the Snapvine widget example. After week one, 400,000 users have installed the widget. Let’s say that an average person’s profile page is visited twice a day. Once by them, and once by one of their friends. You’re looking at 800,000 requests hitting your servers, daily!
So here you have a really cool widget that users just love. Word of mouth is spreading. Users are posting on their friends message boards (omg, u hve GOT 2 chk out my Napolean Dynamite boblehed. w00t). Before you know it, your server can’t keep up with all of the requests, or your hosting provider’s bandwidth allotment has been reached, and down goes your widget.
Nothing makes a person pull a widget off their profile page faster than it not working.
But alas my friend, there is hope.
The best solution that I have found thus far is to use Amazon S3 to host your creation.
Amazon S3 is a completely scalable service which also allows you two very important ideals. Pay only for what you use, and pay after you use it.
Paying only for what you use is a huge deal when you’re deploying a Flash widget. I’ve talked to many people who fell into a very common pitfall. They invested large amounts on money into into either a dedicated hosting solution, or leasing some rack space and providing their own server hardware. However, when their widget didn’t go viral like they were hoping, they were still stuck having to pay for their infrastructure that wasn’t being used.
Amazon S3′s monthly billing setup is also a major benefit for us Flash widget developers. You can host a widget, get paid for showing advertisements, and your Amazon S3 bill doesn’t show up until the end of the month.
If you want to play around with estimated Amazon S3 (US) costs, check out my bandwidth calculator. Also you can use the Amazon Services calculator if you wanted to price out additional Amazon services.
:: UPDATE ::
ComputerWorld released an article this morning about Amazon’s new S3 payment options.
This is really cool! Imagine a setup where you can offload bandwidth costs to the people advertising within your widgets. That way you’re not having to pay it out yourself, and advertisers only have to pay bandwidth actually used. This can make for an enticing advertising package setup.