Mar 25

It is not enough to just develop mobile apps and publish them to the different app markets – you must also make sure that the app is working and not causing any problems for your customers (or users if you like). To make sure that the app is working as intended you will run it through initial tests (often using test cases) and fix the issues you have found before you publish. We all do this, some more structured than others, but in a way or other the app is tested, fixed and published. This will never be enough and here is why: Diversity.

By diversity I mean that you will never be able to anticipate all possible situations that will occur when a huge amount of users are running the app on different OS (iOS, Android, WP7 ++) and again different phones/tablets on the various OS. I think it is a fact you just need to accept; there will most likely be some kind of unidentified bugs hiding in the app when you publish it. You should do everything you can to minimize the error factor, but you will need to have a good strategy on how to deal with the unidentified bugs. This is where live crash reports and BugSense comes in to play.

In a normal app life cycle you will continue development (new or improved features) and fix errors reported by the users. I think that the errors reported by users is just the top of the ice berg. If your app is pointed to the mass consumer market I guess that only 10-20% of errors are being reported (have no numbers to back this up, but it is my gut feeling). This means that 80% of the users will accept the issue and live with it or just simply stop using your app because of issues annoying them.

Live bug reports will enable you to stay one step ahead. You can then fix errors before they are reported by the app users. A good tool for live bug reports across the major OS is BugSense. What I like with BugSense is that it is really powerful while still being easy to use. It only takes one line of code and a library to use it in your app. BugSense supports iOS, Android, WP7, HTML5 and Google AppEngine. You get a nice dashboard with statistics and details about bugs that have occurred in your app. When you look at an error you get a lot of good information that will ease your process of recreating and fixing it. You will see what device and OS version the users have, is WiFi enabled, users location ++. You can even have users experiencing issues notified when you have fixed it.

Continue reading »

Tagged with:
Jul 12

Upon request I have created a light weight Windows Phone 7 application and published it to marketplace. The app is called PinCodeKeeper and it’s purpose is to store and keep your pin codes in scrambled images so that you in a safe and quick way can see your pin codes.

During the process of developing and publishing the WP7 app I have written some articles explaining each steps from the very beginning and till the app was published.

The PinCodeKeeper app is available on Windows Phone Marketplace in English, German and Norwegian. You can download it by clicking the image below or follow this link:

Continue reading »

Tagged with:
Jul 07

In this article I will write about the process when submitting the PinCodeKeeper WP7 app to Windows Phone Marketplace. Before you submit any apps you must test your app and make sure that it works according to the WP7 guidelines. Remember to also test how your app reacts when being deactivated and activated again (Windows button and then back button). If your app fails to resume at any point it will not pass certification.

The submission process is pretty easy and it’s just to follow the steps. Go to App Hub and select Submit for Windows Phone.

Step 1 Upload

Application name: PinCodeKeeper

Continue reading »

Tagged with:
Jun 22

Before I take the final step and submit the PinCodeKeeper WP7 app to marketplace I want to make sure that the app is free of bugs and as good as it can be. To do so I have been testing the app a while on my own device and I have also sent the app to a few others for testing and feedback.

Philipp Fetzer, a German WP7 enthusiast, has been testing the app and gave me a lot of great feedback that I acted on to improve the app. Philipp has also translated the PinCodeKeeper app so it will support both English and German. Philipp has developed and published an app for Windows Phone 7 called (available in Germany, Austria and Switzerland).

In this article I will go through the improvements I have done.

Changed ApplicationBar icons

Continue reading »

Tagged with:
Jun 21

I am now happy with the functionality in the PinCodeKeeper app and the time has come to test it on a real device. To be able to deploy you app (.xap file) to a real device for testing you must register a developer account at App Hub. In this article I will go through the steps of registering to App Hub, testing the app on a real device and to prepare the app for submission.

Register to App Hub (Windows Phone Marketplace)

The registration process is pretty straight forward and cost 99$.

  • Go to
  • Sign in with the Windows Live ID you want to register the account for (or create one if you don’t have any)
  • Follow the 5 steps for account creation (I registered as a Company)
  • Before the account will be activated you need to take a few actions
    Continue reading »
Tagged with:
Jun 18

When creating an application it is often a good idea to add support for localization so it’s easy to update and add new languages to your application. For the PinCodeKepper app I only need to localize the text since all icons and graphics used are international with no text attached.

Windows Phone 7 have pretty good localization support where you add a resource file for each supported language and the application will select which resource file to use based on regional settings on the device.

This article describes how I added support for localization on the PinCodeKeeper app.

Set up resources

Continue reading »

Tagged with:
Jun 14

The add new pin code functionality (completed in previous article) was the last main functionality for the PinCodeKeeper and the time has come to start using real data instead of mock up data. I will now implement Isolated Storage so that I can save/store new pin codes, retrieve all saved pin codes and delete pin codes from the storage.

The first thing I do is to add a new class that I call IsolatedStorageUtil.cs, this class will contain all functionality I need for saving, retrieving, deleting and some other utility methods. To use the DataContractSerializer you must add a reference to System.Runtime.Serialization.

You can see my IsolatedStorageUtil.cs class below.

using System;
using System.IO;
using System.IO.IsolatedStorage;
using System.Runtime.Serialization;

Continue reading »

Tagged with:
Jun 09

In this article I will create the “Add New” Pin code screen for my PinCodeKeeper WP7 app and I need to extend the earlier created Pin code card Custom Control. The Pin code card custom control displays a grid with coloured cells and numbers.

When adding a new pin code I want the Pin code card to display a grid with coloured cells, but no numbers. The user must be able to click on a cell to enter a number in it. I decided to add some very simple animation when the user click a cell. The cell will increase it’s size while positioning it self at centre in the top. This will be animated while the coloured grid fades out with a black colour.

Numeric keyboard

When the cell is in position I want a numeric keyboard to be displayed, I didn’t like to out of box options so I decided to make a NumericKeyboard Custom Control. I kept this very easy so I just made a custom control and added a button for each key on the numeric keyboard. I also created a delegate and a event handler with custom EventArgs so that the screen or control using the NumericKeyboard can hook up to keyboard pressed events and the pressed key value.

Continue reading »

Tagged with:
May 31

I’m working on the PinCodeKeeper Windows Phone 7 app and in this article I will walk you through how I made the Pin code card screen with a custom control to display the pin code card. I will continue from where I left when I previously completed the Pin code list screen.

The Pin code card screen will display the name of the card and a matrix with numbers on a coloured pattern. For the matrix that represents the good old pin code card I will create a custom control.

PinCodeCard custom control

To create a custom control right click in your Solution Explorer and select “Add” –> “New Item” –>”Windows Phone User Control”, name it PinCodeCard and click “Add”.

Continue reading »

Tagged with:
May 29

In the previous article I defined the project structure for the PinCodeKeeper WP7 app, in this post I will write the code to complete the Pin code list screen.

Creating the GUI

I start by creating GUI for the “PinCodeListView.xaml”. The GUI for this view contains a header, a list and an application bar.

Below you can see the xaml code for the “PinCodeListView.xaml”, notice the data binding capabilities I use for the pin code list. I also needed to add some icons for the application bar buttons. I found a free set of Mono Icons 32×32 that suited my app. I created a new folder called “Images” and added “plus32.png”, “questionbook32.png” and “stop32.png” to that folder. Remember that the images must be set to Build action: Content and Copy to output directory: Copy Always.

Continue reading »

Tagged with:
Subscribe to my feeds Follow me on Twitter