Some people call it skinning, others call it customization, for this post we’re going to call it personalization. Having sat in many focus groups… I’ve learned this following pearl of wisdom.
Adding personalization to your widget is incredibly important.
Social Network users spend HOURS customizing their profile to… express themselves. If your widget doesn’t “gel” with their Dwight Schrute bobble head photo, then it’s not going to work for them.
But… what is personalization?
Take a look at Snapvine’s VoicePlayer skins page.
You’ll notice that the widget here has many different flavors or “skins”.
Your widget doesn’t have to be as complex as the Snapvine widget, and frankly it shouldn’t be. One corner that you can easily back yourself into is by making your skins so customizable, that it makes it difficult to add new features or UI components.
Imagine if you will, a widget that allows users to move any button they want, anywhere they want. Then later on, you want to add 3 new buttons to the interface. You have to go back through all of your skins and make the changes to all of them. If you have over 100 different skins that are unique, you have to change and test all of them. Not fun.
When your go down the path of TOO MUCH customization, the widget quickly becomes far too complex, and a burden to maintain. So use KISS methodology when dealing with personalization.
Here are some easy ways to add personalization:
- Allow an image path as a flashvar to be used as the background.
- Point to different external CSS files.
- Allow for colorization of components.
- Custom information – Name, tagline, etc…
Tomorrow’s tip I will discuss how to use flashvars for customized widget information.
This is one of those no-brainers, but you’d be surprised how many widgets out there don’t do this.
If you keep your widget size small, and offload your assets to later frames in your swf, you can easily get your brand noticed on a whole lot more social network profiles. This is because your typical social network profile has trillions of photos, slideshows, music, you name it crowding the page.
If your pre-loader has your logo, and your widget loads before almost everything else on the page, then by the transitive property of equality… users will see your logo. It’s as simple as that.
This tip is simple…
Allow users to share your widget, without coming to your website.
If your ultimate goal is virality, this is an absolute must!
When a user who finds your widget on a MySpace profile, blog or any website for that matter, wants to copy the widget onto their own site… don’t get in their way. Don’t force them to come over to your website and signup.
I can’t tell you how many widgets I see out there that don’t do this.
Of course, there is nothing against offering additional benefits for users signing up for your service. For example.. RockYou has added incentive for people entering their email address when they create a slideshow.
“Why Should I Save?
Save puts your show in your MyStuff account so you can:
Save and edit slideshows
Get access to new, exclusive stuff!” — After creating a slideshow on RockYou
So external sharing of content, what does it look like?
Snapvine's widget pulls up the sharing UI after the audio has completed playing or when the user clicks the “share” button.
YouTube’s external player allows for quick sharing of their content.
Plain and simple, pull out all the stops you have in the way of users wanting to spread your content and widgets around.
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.
So why widgets?
That’s an excellent question! Here’s an excellent answer.
I’ve seen time and time again, companies and individuals trying to create the next MySpace. Frankly, chances are you are going to fail, and fail miserably. An Epic Fail if you will.
And here’s why. Let’s take a look at your typical social network junkie.
Name – Ashley Smith
Age – 18
Gender – Female
Network of choice – MySpace
Logs on – Multiple times a day (morning, lunch break, evening, before sleepy time)
Favorite Bands – Coldplay, Paramore, Jonas Brothers
Favorite Books – Twilight (omg, the movie was sooo amazing, I’ve seen it, like, a 100 times)
Having sat in on more than my fair share of focus groups, the majority of social network users spend the majority of their online time on said social networks. Especially with widgets and the splendor of OpenSocial and the Facebook Developer Platform, users are spending less and less time visiting other websites.
You might be asking yourself. Why build a widget instead of a third party application for social networks? I’ll address this in more depth in a later tip, but the quick answer is, there are pros and cons to both. One of the biggest pros for widgets is cross network support. However, there are absolutely times when developing a third-party application over a widget is the best choice, but more on that in a later tip.
Trying to create your own social network is a fruitless endeavor. Think of who you’re trying to compete with.. MySpace, Facebook, Bebo, Orkut, Hoverspot, MS Live, VampireFreaks, etc… Even if you were to get venture capital backing, it’s an extremely tough market to break into now-a-days.
So back to the question at hand… Why Widgets?
Social network users love widgets
Nothing says how cool I am more than a Napolean Dynamite bobblehead on my profile.
Widgets allow you to take your content to the masses
Driving traffic to your website can be done, but it’s never going to be anywhere near the same amount of traffic that the social networks already have. It’s much easier to cast a net into a raging river, than it is to divert the river.
Widgets are portable
They are not just limited to Social Networks. Take the YouTube.com external video player for example. Their embeddable video player shows up on blogs, webpages and pretty much anything that will render HTML (exception: the iPhone, Apple allow Flash on the iPhone already, gosh).
Widgets are a fairly inexpensive way to get your name and brand out there.
Build something really cool, and allow social network users to run with it. Next thing you know, people have heard of your company. Especially helpful if your target demographic is 16-28 year olds.
Widgets can make you money
Widget advertising is a new market, there hasn’t been a lot done with it yet. Personally, I think there is a huge revenue stream there that is waiting to be tapped. Just be careful when advertising inside widgets. Some social networks will shut you down if you’re trying to make money on their network without their consent. A wise MySpace employee once told me that sharing some of your advertising revenue with MySpace is better than not getting any revenue through MySpace.
So that’s it for our first Tip of the Day, thoughts?
One of my a new years resolutions I made this year is to post more to this blog.
While writing my last blog post dealing with widget development, I accrued a large list of tips and tricks that I’ve learned over the years. There are way too many to put them in a single post.
So in honor of Senocular, who probably doesn’t know it, but has taught me a lot about Actionscript and Flash development in general, I’m going to start posting a Tip of the Day. The first few tips will be dealing with widget development.
I’m going to post a different tip everyday for the next 30 days.
You can also take a look at the original AS3 Tip of the Day, which is still an extremely valuable resource.