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:
Apr 19

Occasionally I will write some articles exclusively for DZone, this time I have written a series of 3 articles covering push notification for Windows Phone 7 using SQL Azure and Cloud services.

Part 1/3

Covers how to create the SQL Azure tables that will be used to store notification subscription information and how to create a WCF Cloud service that communicates with the SQL Azure database and pushes toast notification to subscribing phones.

Read the article at DZone: Push Notifications for Windows Phone 7 using SQL Azure and Cloud services – Part 1/3

Continue reading »

Tagged with:
Apr 01

When I develop Windows Phone 7 apps I use a lot of online and offline resources to learn best practices, tips and tricks from other developers. Why use a lot of time figuring out how to do things that already have been done. This post is a collection of all my favorite Windows Phone 7 development resources. The post will be updated as I continuously find new good resources.


All about WP7 Isolated Storage

Making a Voice Recorder on Windows Phone

Continue reading »

Tagged with:
Feb 04

I have developed a plugin for WordPress that is called DiveBook with the purpose of logging dives. I have now had it published at WordPress Plugin Directory for a while as a beta version. In this post I will talk about bugs and issues I experienced during the beta period and how I solved them.

Unexpected output during activation

The first issue I got was that when activating the plugin the following error message were displayed

The plugin generated 2 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin

Continue reading »

Tagged with:
Jan 21

As a solution architect I often get thrown into projects with a lot of legacy code and little or outdated documentation. My mandate is to suggest architectural changes that will reduce maintenance costs and ease further development. The first thing I focus on is to get an overview of the system and how it is structured with modules, components and classes. I have found that the best way to get this overview is to create a light weight UML class diagram. In this post I will show you how I prefer to create light weight UML class diagrams.

To start with I will explain what I mean by light weight UML class diagrams.

I want the diagrams to be easy to read and understand and I try to find the balance where the diagram is so light that non-technical persons (like product owner and project manager) understands it, but still it is technical enough so technical persons (like developers and architects) finds it useful.

I only use a few of the UML class diagram symbols: Continue reading »

Tagged with:
Jan 13

My DiveBook plugin is completed and I want it to be listed in the WordPress Plugin Directory. This way it will be easier for others to install and read about the plugin. Before you get your plugin listed there is a few steps you must do and a few steps I think you should do. In this post I will talk about what I did to make my DiveBook plugin ready for the world.

First your plugin needs to follow a few restrictions set by WordPress. Then you need to sign up, send request for WordPress to host your plugin and add your plugin to the Subversion repository (you get access to the svn repository when WordPress have read and accepted your hosting request). You also need to create a readme.txt file for your plugin. You can read about the steps above at the WordPress Developer Central.

When it comes to writing the readme.txt file you should spend some effort to make this file detailed and good. All the information a potential user of your plugin will read is parsed from this file. Most important is to have a good description about the plugin, screenshots of the functionality and a good description on how to install and use your plugin.

This is all you need to do. WordPress will automatically publish your plugin from the subversion repository.

Continue reading »

Tagged with:
Aug 12

I am responsible for the local scuba dive club, Ikornnes Dykkerklubb, back home in Sykkylven. To make it easier for club members and others to follow what is going on at the website I decided to integrate it with Facebook.

First I created a page for Ikornnes Dykkerklubb at Facebook and registered a developer account to my personal profile so I could add a application to connect with the fan box also added to the web page. Now I wanted to have information about new posts at the website published to the Facebook page and I also wanted comments on posts at the webpage to be published.

My first approach was to use Facebook Connect API and add the logic to the website. I have never used the Connect API before and I am not usually coding in php (the website is running WordPress) so I decided to try to find an easier way to achieve this. I also installed some WordPress plugins, some of these plugins did the job but I was not 100% satisfied.

Continue reading »

Tagged with:
Aug 06

One of my main area of interest is mobility and I read a lot of blogs and news sites to keep my self up to date. In this post I will share some of my favorite blogs and sites about mobility with you. The last 1 1/2 year I have mainly been working with Microsoft technology when it comes to mobility and therefore you will see a majority of Windows Phone and Windows Mobile blogs in this list.

The Windows Team Blog is a good place to start if you want to be updated on what the Windows teams are up to. There are three blogs I often read on this site:

Windows Mobile 6 Developer Blog, Windows Phone Developer Blog and Windows Phone Blog

Continue reading »

Tagged with:
Dec 08

Today I found this great guidance regarding WCF for Mobile Devices. It is a 72 pages PDF document written by Michele Leroux Bustamante and Nickolas Landry in May 2009.

I recommend that you read this if you are designing/developing Windows Mobile applications that are using any kind of communication.

You can download the document from CodePlex: WCF Guidance for Mobile Devices.

Thank you for sharing Michele and Nickolas!

Tagged with:
Sep 08

hecticHave you ever found yourself in the situation were you are working on several different projects at the same time and you also have a lot of other tasks that need your attention? I have experienced this quite a few times and found some techniques that still enables me to work efficient in these periods.

In this post I will share my most important techniques I use to cope with this.

Don’t stress

First of all do not focus on how much work you have to do in a limited time. This will only set your mind in a panic like situation were you are worrying more about the work that needs to be done than actual doing it. It is no need to stress, relax and focus on the one task your are working on at the moment. It is not the end of the world if you don’t have time to do all your tasks.

Continue reading »

Tagged with:
Subscribe to my feeds Follow me on Twitter