Wednesday, 30 April 2014

Build Some Ears on your App and then Listen!

As published on the Canadian Developer Connection

Recently I have had taken some time to look at my existing apps instead of constantly pushing out new apps.  I came to the realization that I have just not spent enough time on my existing apps.  I think a common attitude among developers is "If I build it, they will come".  While there is a little bit of that effect when an app is first launched by showing up on "New App" lists, it doesn't last and it in no way provides for the fact that you would like people who download your app to actually use it.

Up until recently I have been very focused on new apps.  However, if you have published any number of apps, you have recognized, just like I did, that the number of weekly downloads tends to reduce with time so that eventually you are not getting the numbers you would like.  Also, if you have any metrics build into your app you will note that the number of customers using your app on regular basis is also falling.

Before you can do updates you really should have information.  Who is using your app?  How are they using it?  What do they like?  What do they dislike?  Where are they using it?  You could just push out a bunch of changes and hope that the folks that have your app will like them and not throw away your app in disgust, or you could collect information.  Find out what everything you can from users, from metrics, from instrumentation in your app and from that bad bits... crashes.

Don't guess... know!

Well, Microsoft has done a few things to help with this problem. Here are some suggestions:

Windows Phone Dev Center - Metrics

When I'm doing updates to an app it's important to me to take into account as much user feedback as possible.  This includes feedback directly from my apps (You DO have a feedback button in your app right?) as well as feedback from available sources like your Dev Centre statistics and 3rd parties like AdDuplex.  As mentioned in a previous blog ( the Dev Center has included lots of new metrics that you should use when designing your updates.  Who uses your app and where are important to know.

The other important thing you should look at is your crash statistics.  Have you ever downloaded the crash report for your app?  It gives you a nice Excel spreadsheet containing all the crashes for your app, the number of occurances, the version that crashed and most importantly a complete stack trace of your crash.  I used to get crashes in modules like an Ad Provider that were not mine.  That gave me the ability to know I should get an update of that NUGET module or find another provider.  Sometimes you just forget to put a try/catch in.  Either way, it's all there for you and you can make the user experience better by fixing them.  Nobody like the disappearing app show.  Eventually nobody will use your app or you will get some really bad reviews because of it.

Application Insights - Instrumentation

Application Insights from Microsoft makes it very easy to instrument your application to help you understand how your users are using your application (or even "if").  The download is available from the Visual Studio Gallery at MSDN (  It is free and allows you to add telemetry code to your Windows 8.1, Windows Phone 8 or website.  It reports back to the cloud where you can review the information in your dashboard in Visual Studio Online.  Build 2014 had some great session and you can find then on Channel9 (  You can add analytics for any bit of code in your app.  Want to know how many times they tap the "oops" button.  No problem.  One line of code and all that info will flow to the cloud and you will learn.  Think carefully what you do so that you collect just the information you need.  Perhaps when you first launch an app you might have more analytics in place and as you learn you can reduce the amount of collection required.


imageThere is no amount of metrics or instrumentation that will compensate for a good relationship with your customers (those that download your app).  The requests for features you get from them is pure gold.  What they want is probably what everybody else wants.  For example I'm getting lots of requests for transparent tiles because of WP8.1.  Awesome.  I do that and I get more pins to the start page because why would they even mention it if they weren't, at least, considering putting MY tile on their personal start page.  Anything else requested might be an in-app purchase candidate.  Somebody wants it right?  I've had requests for features, different fonts, changed colors, ease of use.  They are all valuable and all have improved my ability to create quality apps. 

Build Some Ears and Listen!

So basically, build some ears into your apps then listen to what everybody (including your app) is saying.  Microsoft and other companies are providing the means to build the ears but if you don't listen it does you no good.  A quality app is not just about pushing it out the door and moving on.  You must come back to it so that it stays fresh and your fans will continue to be impressed by your awesome apps!