"widgets" Posts

Tip of the Day – Widget personalization is important!

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.

Snap skins

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.

Tip of the Day – Use your logo as your widget’s pre-loader

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.

Tip of the Day – Allow users to share your widget… externally

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.
Snapvine's widget pulls up the sharing UI after the audio has completed playing.

YouTube’s external player allows for quick sharing of their content.
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.

Tip of the Day – Deploying a scalable widget

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.