Posts Tagged ‘myspace’

Shift Needed Measuring Application Success on Social Networks

Friday, September 5th, 2008

Mobsters, Likeness, Top Friends, Super Wall, Own Your Friends, Bumper Stickers, Movies and Poker - this is just a sampling of the highest engagement applications on Facebook and MySpace. What these applications all have in common is a mass market appeal. They are general enough that just about everyone can find something cute or fun about these applications for at least a day or two. The applications measure success in installs, page views and virility. However, another classification of application, specific to much smaller audiences, is emerging as a stronger player in the application space which requires a different measurement separate than the categorical classification that application developers can choose to place themselves in.

The goal of these other applications is not monetize via CPC, CPM or CPI advertising, nor to be bought by the large application shops RockYou, Slide, Zynga or SGN. Instead, these applications exist primarily to provide a service to their users. These applications will fail when measured using the traditional methods of installs, daily active users and day over day growth. The audiences are much too small. They require a new metric to measure their success. Success within this category isn’t reaching 22%1 of Facebook’s user base. Success for these applications is defined as increased affinity for a product, service or company. It needs to be measured and reported differently.

This might be measurable through acquisitions, loyalty, usage or retention. Using Twitter as an example, it’s certainly capable of becoming a mainstream product, but hasn’t reached mainstream adoption - at least not yet. Twitter currently reaches an estimated 2.2 million users a month2. It’s regarded by some as having moved beyond the early adopters3 and easing into the early majority on the technology adoption lifecycle. The Twitter application launched May 25th along with the Facebook platform. It currently boasts 64.5K monthly users of which is hardly chart topping - in fact, it’s really quite dismal - it’s not even one of the top 500 applications. What the application does though is provide enhanced user experience by integrating status updates between the two sites.

The Twitter application is valued by Adonomics at approximately $105K. However, this number means nothing! The goal of the application isn’t to sell it or even monetize the traffic. Even the overall ranking of the application is irrelevant. A better way to measure the ROI of the application is to measure the interaction and retention. This metric that can accurately quantified by answering a series of questions.

  1. Does the application impact the retention and interaction of users for Twitter?
  2. Does the application increase usage of Twitter?
  3. What overlap in the userbase exists between Facebook and Twitter?

Lacking quantitative data from Facebook and Twitter, you’ll have to settle for my observations.

Does the application impact the retention and interaction of users for Twitter? Yes. I suspect if we could peek into Twitter’s database, we’d see that interactions for users continue for longer periods if they’ve installed the Facebook application. Why do I think this? Read on…

Does the application increase usage of Twitter? Yes. I know from personal experience that I’ve continued using Twitter longer than I had expected to because of the integration. At times I’ve used it only as a status update tool. Sending a SMS or using a phone specific tool is easier than the mobile facebook application available for my phone. Other times I use it as a conversational tool. The main point here - I continue to use it.

What overlap in the user base exists between Facebook and Twitter? Again, this is an estimate but nearly 100%4 of the people I follow on Twitter have Facebook accounts. However, only about 20% of my friends on Facebook have (or use) a Twitter account. While Twitter clearly has the potential to be a mainstream tool, it doesn’t have the presence that a MySpace or Facebook does.

The Twitter application likely has positive reprecusions for Facebook as well. By integrating the status update directly from Twitter, Facebook continues to get more content contributing to the “virtuous cycle of sharing” Mark Zuckerberg spoke about at F8 ‘08. Wouldn’t this classify the application as a success? As of this writting, Twitter doesn’t have an official application for MySpace. I expect we’ll see if MySpace allows applications to update the users status.

The question remains, how can we take these difficult to obtain numbers such as audience overlap and integrate it with the more available metrics? We need a metric that holistically evaluates an application. Measuring mass alone is no longer sufficient to define success. I propose they’re measured by interactions, retention and perception. Mix into that formula monthly reach and install and we’ll be able to arrive at a value that more accurately ranks and sorts applications on the whole.


1 Slide FunSpace reached 22.3 million Facebook users according to the monthly active user count on September 5, 2008

2 Compete reports 2,218,330 visitors to Twitter.com in July of 2008.

3 Robert Scoble stated April 9, 2008, “Anyone who joins Twitter after today is not an early adopter. So, not interesting for me to follow.”

4 Conducted using PollDaddy and an analysis of people I follow.

Learnings from a Terms of Service Violation

Tuesday, April 22nd, 2008

MySpace Developer Site Last Friday afternoon I wrote a MySpace application called Visitor Track. This is not a wholly original idea - nor was I the first to try it on MySpace. As of this writing there is even another application still listed in the application directory.

Before I explain how I went about going from 0 to 12,000+ users in a matter of 48 hours, I want to mention a few things.

1. It’s critical to understand that the MySpace audience clearly demonstrated a desire for more information about who’s looking (or not looking) at them.
2. Having a fantastic marketing plan will not make an application succeed no matter how cool YOU think it is, it needs to find an audience.
3. There is AMAZING growth potential in the MySpace application domain, even without notifications, invites and the viral components developers desire and users loath.

What I did was leverage the users profile well, provided a clean canvas with only what the user was expecting and was straightforward and honest in the application description. While I certainly could have leveraged advertising to promote the application, I chose not to so I could watch the growth of the application as it progressed organically.

The following chart is from Zynganomics who’ve been tracking MySpace applications since the initial launch of the platform.

Installed users over time provided by Zynganomics

As you can see, prior to the suspension of the application, growth was extremely strong.

Leverage the profile:

This is the single most important thing developers on the platform can do right now. With a general lack of viral push channels, developers need to hope that users find them. MySpace has recently started adding friend feed notifications about application installs and that has helped fuel growth through awareness within social circles.

The Profile for Visitor Track was a plain white box with two lines of text. I made the box as small as I could so it didn’t clutter the users profile with useless information. You can see what it looked like here:

Visitor Track - Profile Screenshot

The language, placement, size, color - everything - about the profile should be considered over and over and over and over again.

Name of the application:

The name of the application is very important. The largest viral channel available to applications today is the Friend Subscriptions. Basically a copy of the Facebook Newsfeed feature, this is the one place that the application will be seen by users you won’t otherwise touch.

MySpace Friend Subscription

Graphic design is over-rated:

My application about page had a poorly created icon and just a few lines of text to describe the application. I spent no time creating a fancy graphic interface - no time altering the colors of the page or install buttons with CSS and kept everything about as plain as it could be.

Visitor Track Application About Profile Page

Compare that to the highly designed canvas pages of larger applications from widget giants like Slide and Rock You below:

Slide and Rock You Application About Screenshots

Note: that the arrows facing the install buttons are animated in both cases and that neither app has more installs than Visit Tracker did.

Speed is everything:

If you aren’t tied to OAuth authentication and tight OpenSocial integration use an IFRAME - it’s less secure for you as a developer, but you ultimately control the communication between your application and your users. You’ll rely on REST requests to gather information about your users which means you’ll leverage the backend hardware more. However, what you lose in signed ajax requests and opensocial.postTo(), you make up for in speed and reliability. I’ve observed continual performance bottlenecks accessing AJAX content during peak times. While it’s reasonable to assume that this will continue to become more stable, now is the time to begin capturing audience before it’s too late.

Deliver:

Because it’s so easy to get started as an app and because the market of available users is so large, even knockoff applications can be quiet successful in terms of capturing users and market share. Consider the number of applications attempting to build on the success that applications experienced on Facebook like Honesty Box (of which I am a developer) on MySpace today (there are no less than 5 copycat applications).

It’s critical to deliver on what you told the users you would do! Below is a screenshot of the canvas (I omitted the right hand column which was advertising - a naive attempt to make money in this endeavor).

Visitor Track - Canvas Screenshot

As you can see I kept it really simple. I leveraged the amazing Google Charts API for the graphs and the rest is just text. There’s gold in them hills, and a diligent miner with the appropriate tools will find it. Even this relatively little application had nearly 20K page views, which monetized effectively could yield ~$120/month or more.

I want to apologize to any MySpace users and employees who might have been offended by my application. I sincerely hope you’ll forgive my transgression against the TOS and that we can make beautiful applications together in the future (that don’t violate the TOS).

MySpace Closer to Full OpenSocial Spec Adoption

Wednesday, March 19th, 2008

MySpace Developer Site Today I noticed a new tab in the application editor making it infinitely easier for developers of OpenSocial applications to adopt the MySpace platform. I first said they should be doing this two weeks ago and I’m happy to announce that they are. They now allow for the simple monolithic XML file to define your application. This is a great step forward. Their platform is becoming more robust and stable each day. Kudos to them, but they still have a lot to do as Nick O’Neill pointed out yesterday.

MySpace Application Editor Screenshot

OAuth - A Great Pain on MySpace

Thursday, March 13th, 2008

OAuth Website Logo This evening I had the opportunity to implement what should have been a simple OAuth signature validation until I ran into trouble parsing the parameters of the request. I decided to use one of the many pre-built libraries instead of rolling my own (perhaps that’s where I went wrong) but I found that it wasn’t as easy as I had expected.

A quick primer for those unfamiliar with PHP, there are multiple variables that hold request information. The two most common for passing parameters to a PHP script are $_GET and $_POST, which are both associative arrays. PHP handles the encoding of the values and brings everything back to regular strings. This is very handy for passing data. There is one more useful structure called $_REQUEST that actually holds both sets of values in one structure - also very handy if you don’t know where your data will be coming from on a given request. Now back to my issue.

OAuth augments your parameters with a few specific values that are unique to it’s implementation and uses a shared secret key system to digitally sign requests providing a level of trust with any request. If your lost with OAuth, I wrote a quick primer about it a month or so ago. OAuth takes any data you pass and signs them into a hashed value by concatenating the data with the shared secret and a few other parameters. The resulting hash is then very unique and very difficult to guess. On the server side, you can now validate the request by looking at the parameters and re-calculating the hash value.

While that’s simple in theory, it’s a bit more difficult in practice, especially with MySpace’s implementation of OpenSocial and OAuth. Yesterday I blogged about how to make AJAX requests using OpenSocial. As a habit, I always default requests to POST when possible to get around any arbitrary data size limits that might be present and to keep data out of my log files. This resulted in quite a bit of drama trying to implement the signature because the library wanted to evaluate the POST parameters and MySpace sends them as GET values. I tried tweaking the library to use the generic $_REQUEST parameters, however, the $_POST values weren’t included in the hash! As a result I ended up moving all requests over to use get - which was very simple.

Below you’ll find the revised GET friendly code:

function ajaxRequest(url, callback_func, post_params){
   var queryString = "";
   for (k in post_params) {
      queryString += "&" + k + "=" + encodeURIComponent(post_params[k]);
   }
   url += "?" + queryString;
   var osParams = {};
   osParams[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
   gadgets.io.makeRequest(url, makeRequest_callback, osParams);
   function makeRequest_callback(data){
      renderStatus("Handling ajax response with typeof: " + typeof(data.data));
      var json = gadgets.json.parse(data.data);
      if(!json){
         alert('Unable to parse JSON object');
      }
      callback_func(json);
   }
}

Now you can use the OAuth libraries to parse your signature in PHP and verify who’s posting to your data points. Don’t forget to s/_POST/_GET/g your code to update all POST references. It seems like a bug to me in the implementation that if the request is made via POST the parameters wouldn’t also be passed in the same way. Perhaps there’s a method to the madness I’m not aware of?

How To Use requestNavigateTo() on MySpace

Wednesday, March 12th, 2008

Two MySpace developers posting on a thread regarding requestNavigateTo within the MySpace environment need credit for this one. Kristaps and Eric posted a discussion which included some nice brief code snips. The code is short and sweet. All that’s required is a surface name and any optional parameters you would want to pass to that surface. Note in OpenSocial 0.7 “surfaces” are now known as “views” which might throw some developers for a loop as they make the transition.

function navigate(surfaceName, params){
   var surfaces = gadgets.views.getSupportedViews();
   var surfaceRef = surfaces[surfaceName];
   gadgets.views.requestNavigateTo(surfaceRef, params);
}

Valid views within MySpace (as of this time) are home, profile, and canvas. Sample usage for moving to the Canvas view from the profile (or home) would be as follows:

<a href="#na" onClick="navigate('canvas',{});" title="Move to canvas">go to canvas</a>

Making an OpenSocial AJAX Request

Wednesday, March 12th, 2008

OpenSocial Logo After much frustration debugging a tweak from OpenSocial 0.6 to 0.7, I decided I’d capture the essence of my code in one location for others to look at it. This walks through the basic structure to make an AJAX request using MySpace’s implementation of OpenSocial. It should work with other OpenSocial 0.7 compliant sites as well.

This is the core of the functionality - where all the magic happens - a function called ajaxRequest(). As you see it takes 3 parameters, the URL to post to, a call back function and an object/array containing any data you would like passed via post.

function ajaxRequest(url, callback_func, post_params){
   var queryString = "";
   for (k in post_params) {
      queryString += "&" + k + "=" + encodeURIComponent(post_params[k]);
   }
   var osParams = {};
   osParams[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
   osParams[gadgets.io.RequestParameters.POST_DATA] = queryString;
   osParams[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
   gadgets.io.makeRequest(url, makeRequest_callback, osParams);
   function makeRequest_callback(data){
      renderStatus("Handling ajax response with typeof: " + typeof(data.data));
      var json = gadgets.json.parse(data.data);
      if(!json){
         alert('Unable to parse JSON object');
      }
      callback_func(json);
   }
}

Now that we have this tool, using it is very simple, first create a call back function that takes your JSON result and does something with it, then invoke the ajaxRequest by calling the ajaxRequest function using your parameters. That’s it.

function ajax_callback(jsonData){
   // do something with the data!!!
}

ajaxRequest("http://www.af-design.com/", ajax_callback,{});

I hope this saves some developers some frustration reading through the OpenSocial documentation and helps them get their apps up and running more quickly.

Will Shifting to OpenSocial 0.7 Further Delay MySpace

Tuesday, March 11th, 2008

MySpace Developer Site Today MySpace announced that the shift to OpenSocial 0.7 is completed and now they’re actively debugging it. The problem is, that most of the critical components, such as the ability to make AJAX requests, for any company looking to more widely leverage their existing databases are unable to do any testing at all! After setting aside my fears that OAuth wouldn’t be implemented in time, MySpace delivered yesterday OAuth signed requests. I’m really thankful that we can now use OpenSocial 0.7 within their container, but I’d be much happier if it all was working more than 48 hours before the soft launch. Their relay proxy machines have been down for nearly 12 hours now, putting a great crimp in development time. Does Rupert Murdoch own a pizza delivery chain or a significant interest in Red Bull?

Are You on MySpace?

Monday, March 10th, 2008

MySpace Logo MySpace, often considered noisy, brash and childish, is moving their platform into the hands of their users on Thursday (3/13) and developers are scrambling to get their widgets together. This is critical because of a serious first mover advantage that exists. MySpace has a huge daily user base, larger than Facebook, and will make or break widget companies who aren’t ready.

Compete’s metrics are revealing, an audience size roughly 2x larger than Facebook’s is nothing to sneeze at. Watch out Thursday as the gloves come off. What remains to be seen, is the growth rate that is possible with MySpace. Facebook apps had huge viral success due largely in part to very few early limitations on application interactions. That has all changed and apps are finding it harder and harder to grow their userbase. Now apps are limited to organic channels and may find branching into different networks more challenging.

Presumably, MySpace has learned from some of Facebook’s early mistakes. However, existing companies already have access to large networks of users through the Facebook audience with which they can promote their new MySpace applications. Of course it remains to be seen how large the overlap of users is from one network to the next.

MySpace Makes Me a Loser!

Thursday, March 6th, 2008

MySpace Logo Making me recall a certain Onion story, MySpace today made me a loser with no friends. The odd think about this is that if I were to re-connect to the friends I had, I’m unable to because we’re already friends. However, when viewing their profiles, they’re set to private. Clearly some type of bug has affected my user account or a cache somewhere has been corrupted. The authorities have been notified. (more…)

Promoting Businesses on Facebook (and other social networks)

Wednesday, March 5th, 2008

Facebook Logo™ Yesterday I posted about how bleak the social networking landscape was becoming on Facebook and by extension, other social networks as well. Today I want to explore what a traditional media and existing business can do to promote themselves on Facebook without assuming that a widget is the panacea to save their business. This is another excerpt from a proposal I developed and felt was worth sharing with the community at large.

Gone are the days of instant success large scale applications. Users have a plethora of options when selecting their applications. For example, Twitter has their own application - but there are more than 20 others that seek to compete against it, each leveraging the utility of Twitter in it’s own way. Success in this overly saturated market will come from the niche audiences and remixing successful sites that are not already on Facebook.

National Wildlife Federation Facebook Page

Businesses need to leverage the “page” feature more extensively on Facebook to build up their brand as well as a buzz. The “fans” of this page have indirectly offered you their email address through Facebook. While you can’t export them into your current email marketing campaign system, you can still target these folks directly using updates. You can promote products, actions and even feature partnerships. Very few companies are effectively leveraging this right now. (Red) and Presidential Candidate Barack Obama being two I’ve seen, although there are likely others.

Companies that have existing media outlets such as newsletters, brochures and websites can leverage their existing media to build the fan base within Facebook. Creating an online persona for their product or service is the first step. When users take action within the Facebook “page” they’re actions are recorded and eligible for promotion on their friends and larger network news feeds. This viral component is critical for success because their friends likely have similar interests. This indirect endorsement of your product reaches a like minded audience that is between 1 and 5,000 people each time one person becomes a fan, rates your application and so on. The implications are huge; it gets your brand in front of many many more people. MySpace is slowly copying this feature, under the name Friend Updates, from Facebook. This is a powerful tool that companies need to leverage effectively in their social networking strategy. How access to this feed of information is gated by MySpace will be interesting to watch as their platform goes live.

Blackberry Pearl Page Metrics from Facebook

To show an example of this, I recently created a Blackberry Pearl “page”. With out advertisement, corporate sponsorship or endorsement by the parent company - without having any real content - it continues to attract “fans” whom I can now send messages to as I see fit! Not unlike traditional media, it’s important to respect your users, but you can see the power here. If RIM were to provide incentives on this page, they could grow this into a powerful advocating tool. Incidentally, if someone from RIM would like to take over this page, please just let me know. I’ve also noticed someone else followed suit and has created one for the Curve.

Depending on your core business, there may be an existing Facebook application that you can leverage to build your brand more completely. For example, if your business involves publishing of content, a RSS feed on your Facebook page is a no-brainer for driving traffic back to your website. In the event that building out your own widget is something you’ll likely follow through on, you’ll be able to leverage the fan base once you have an application. Spreading the word through direct communication with each and every fan of your application.

Last, but no least (truly most important) social networks are about making connections. If pursuing a widget is the correct strategy for your business, be warned that it must somehow allow self expression while allowing the user to feel they are connected and part of some larger community. You might be better served purchasing an existing widget that has some traction within the network, then building one from the ground up.

© 1998-2008 AF-Design, All rights reserved.