Tuesday, August 30, 2011

29 Ways to make your wp7 app killer and make money

So you want a make a killer phone 7 app? make it into the top 100? well I've managed to have 3 of my apps in the top 100 and here is what I learned. Free Apps (1) are the only way to go. As a developer the best chance of success is to build a free app but further an app that is not specialized (2). That means a mass consumer focused app, such as Simon Said the game or Tools for phone 7 or Allrecipes. There are mass market consumer apps. Now an xbox title would be good but if you don't work for a game studio then you out of luck.

Now that you are building a free app that is for the mass consumer market how will you make money? Advertising (3) Advertising is the best way to make money from a free app. you add value and customer get the app for free and only a small amount of visual noise and your golden. Next you need an ad service. I recommend Microsoft AdCenter (4). Now when using the adcenter control you want to optimize its use as much as possible to not only help the adcenter target ads but mainly to get your eCPM value up which means more money. How do you do that? Once in your app ideally in OnNavigateTo do something akin to this:

(5) AdControl.TestMode = false;
(6) AdControl.Gender = Gender.Male;
(7) AdControl.PostalCode = "98104";

now you can't just set the zip code but if you have a way of extropalting that or just using Bing outright to get the zip from the geo-coordinates (8) then you can set the postal code. Also things like gender should be set ONLY if you can say your demographic is female or you KNOW they are female. Part of this is to actually get targeted ads which increases the likelihood of some one clicking an add which means higher eCPM values and further more money. In the XAML also set this value:

(9) RotationEnabled="True"

now lastly if the adservice is down then to still get some advantage put an ad behind the ad control to one of your other apps (10) or something like that. Further you can rotate those ads to more then one app (11) and then deeplink or market place link them to those apps.

One more thing about ad's is to make sure that the ad channel your using is as close to your demographic as possible. An example of this targeting would be if you app is primarily for fishermen then maybe ad's related to fishing? for example.

Now lets get back to the design, nothing is better then good UX. At the very least make sure you have some of the people you might now that are part of your target demographic and get them to use your app (12). and further 'pay attention' make it easy, make it discoverable, and use the metro aesthetic (13). So much has been done to help make that easy and using it gives you discover-ability for free. when doing metro also think simple. simple is always better for users...

Next think about analytics (14), albeit you need to do this in the end AFTER you have built your application but Microsoft covers the the cost of using an enterprise solution specifically Preemptive (the makes of Dotfuscator) to magically instrument your project. This allows you to see what users do most in your and helps you focus on further development.

Next look at a paid upgrade (15). This way if users get sick of your adds they have a place to go AND you get money. for the most part this seems to be the only reason for paid apps and that I can tell.

Next lets talk about updates. Update your application often. Each time you update your app it shows up on the latest panel in the market place which gets you more visibility (16).

Along the way a few other things might be helpful such as using live tile (17) that actually update for something related to the app. Apps with live tiles are just cooler.

Use touch and gestures, along side metro. Implementing things like 'list' with scroll and touch w/o interfering kind of thing (18). I see a lot of apps that have buttons or other 'click' or mouse like metaphors in a list box and that is not what I mean. Really this is about not using that kind of metaphor, but a touch metaphor where the list is the button based on the touch behavior, even if its just implemented using click and mouse events this can be done fairly well and users will enjoy the clean and reactive experience.

Now here is another brilliant idea... share your app and the deep link (19)... *gasp* I know it seems obvious but frequently people don't do it and I'm not sure why... what is social media for if your not going to post a few links now and then.

Also contests, enter them all (21) there are a lot of phone 7 contests and anything that gives you more exposure or better yet gives you app more exposure is bonus.

next consider your target market a bit and do some internationalization (22). For example if your dealing with formats like dates or even doubles consider the regional settings and test in them and deal with it. A case in point with floats for example is the difference between 11,5 and 11.5 which means you need to do something like this potentially:

_CurrentValue = _CurrentValue + Double.Parse(Results.Text, CultureInfo.InvariantCulture);

Another fun thing you can do that users tend to find interesting is if there is a fun easter egg in the app, a hidden feature etc (23) something fun that might even be mentioned in the app description so users know about it. Most of my apps have easter egg's.

Then there is tactile feedback (24), while there are some users that want to be able to turn this off in an application I have found that most users find it easier to know when they have done something if you use this feature. Tactile feedback can be as much as a 35 millisecond burst from the vibration motor on the phone. this might look like this:

// class or view members
private VibrateController _Vibration = VibrateController.Default;
private TimeSpan _ThisTime = new TimeSpan(0, 0, 0, 0, 30);
private Boolean TactileFeedback = true;

// called in any touch event
private void PresentTactileFeedback()
{
if (TactileFeedback)
{
_Vibration.Start(_ThisTime);
}
}

Ratings are also key to going higher in the market (25). Try putting a rate my app button or icon in the application to encourage users to 'rate' your app. In the event handler for this you might use code like this:

MarketplaceDetailTask Details = new MarketplaceDetailTask();
Details.ContentIdentifier = "29c27356-7862-e011-81d2-78e7d1fa76f8";
Details.Show();

Lastly get others that are your friends to rate the app (26) the more they rate the app the more your app shows up higher on search's based on the keywords (27) that you lovingly set in the app hub when you submitted your app. Oh yes and while your in the app hub, upload as many pictures as the market place hub will although including the background image if you ever want to be featured (28). With that happy app building. (and if you need ratings, rate mine and I'll rate yours 5 stars (29), assuming they are free or trail apps)

5 comments:

  1. hmm... I'll need to think of something... :)

    ReplyDelete
  2. I agree about easter egg and tactile feedback.

    ReplyDelete
  3. after putting numerous apps in front of users doing user studies even on a limited scale I always seemed to get a more positive response as it helps users understand when they have succeed in interacting with a device or touch surface of some kind. a great example off of phones would be the tactile feed back of the arc 2 mouse for the roller. its brilliant :)

    ReplyDelete
  4. If you want and it's okay, I can propose the number 20 ;-) that would be

    Browse and discover interesting sites like yours.
    Make relevant comments that add value, and have
    the opportunity to put a link to your website where you can promote your applications.

    http://windowsphoning.wordpress.com

    Hope you like the number 20.
    A greeting and thanks for writing this so interesting post.

    ReplyDelete