:::: MENU ::::

Building Quality Apps for Windows Phone

This post was originally post on blog.dvlup.com

With the rise of Windows Phone globally, mainly thanks to amazing Nokia Lumia devices, the number of apps has started to grow rapidly. With more than 200,000 apps in the Windows Phone Store, it is now more important than ever to build quality apps and distinguish yourself from the competition.

It is really important that the first time a new user tries your app they are amazed and impressed. Users have to feel confident that you can solve their problem, whether it is showing a list of nearby museums, taking a photo which puts moustaches on all the faces, or provides a list of recipes for a certain ingredient. Whatever it might be, there is no second chance for a first impression. If your first impression is not up to scratch, you might have one or more of the following unintended consequences:

  • Users will leave negative reviews, which can take a long time to balance out. We always want to start with positive reviews, and then build on that momentum
  • Amazing features lodged deep inside your app might not be discovered.
  • Download numbers will suffer.

There are many apps in the WP Store, and users can find an alternative to your app with a couple of clicks and a spare 30 seconds. If your app is not impressing users on a first run, they are very likely to just discard it all together. I know I have.

Make Every App Amazing – Right from the Start

Here is a list of easy steps you can use to ensure your new app is truly amazing from day one:

  • Use unit tests to ensure logic is sound and accurate (more on that soon). This can easily be set up when you develop your app.
  • Use a beta release to invite trusted users to help test and evaluate your product before a public release.
  • Use a logging framework such as Bugsense to capture any failures and events such as usage counters of important areas and features.
  • Provide a feedback mechanism for such as email or form from within the app, rather than only depend on reviews for feedback. Be responsive to your users, and act on their requests and feedback whenever possible.
  • Release many small enhancements on a consistent basis, rather than large overwhelming updates.

If you make these simple points part of your development plan and roadmap, there is very little overhead. It will become second nature to you, and the pride you will have in your product will shine through.

It really is a true win-win scenario for you and the users of your app.

If you want to know more about unit testing, integration testing, performance testing, error management and much more in that area for Windows Phone, watch my latest Pluralsight course on the topic, Windows Phone Testing and Error Management. It will make your app robust, reliable and successful.

Using Bugsense with Windows Phone – Part 1

When you develop and app for Windows Phone there is always an urge to get the project published and start making an impact on your future users. However, if you don’t make sure you have some visibility of usage and behaviour in the wild, it becomes a guessing game to enhance and maintain it.

Why Use a Logging Framework?

Once you have published you app, it is in the wild. You can decide which markets it is in and what types of devices, such as high powered and certain hardware requirements, but you can’t pick and choose the users that download it. Once you get that message saying your app has been published, you got to let your baby go. Or do you? One of the problems I have had, is that as well as you can test your project there is always that niggling doubt that you missed something or that a certain edge case will cause your app to break. I don’t like uncertainty, and when your app is in the wild that is pretty much what you are left with. How do you know when something fails? What can you do if the app does crash on the devices, displays the information incorrectly or can’t find that web service half the times it tries. With a traditional web application or desktop application you can monitor things and set up event logs. Further, how can you tell how often it fails? So not only might your app fail on a particular scenario, but how often does it happen? You need to know if it is a part of a critical path, resulting in a large percentage of failures, or if it is only in some obscure edge case, in order to prioritize the bugs you have to fix.

How can you know which features are popular and could benefit from being extended further? How do you update the project in the right places and with the most valuable features, if you are blind to how the app is used?

How can you manage the bugs that you do become aware of? How do you keep track of current and future bugs? There might be a number of bugs that come to your attention in various ways, but if you don’t have the full picture, you might be fixing inconsequential bugs instead of the real road blocks.

By being a developer for the Windows Phone platform you do get some help out of the box. You can use the Microsoft Crash Reports that are part of the Developer portal, which does give some indication of errors, but the information is only available for unhandled app process exceptions thrown.


Crash Report

Crash report from Windows Phone Developer Portal

You can get the stack traces from those crashes, but I have had apps crash that produced no reports and I only knew because users were telling me. You have no context, and relying on users to tell you what happened when the app crashed is like finding bitcoins at the end of the rainbow. You could also catch exceptions and events and store them manually in your own proprietary logging system, which a number of high profile apps do. But that is effort building a non-core part of your project and will waste time. Time you need to build features that will sell your app and give you that return on investment you want.


Bugsense Setup

What you need to use is an already existing logging framework. Introducing Bugsense. There are several plans with Bugsense, even a free one which is a great way to get started. Go and sign up for a free account now. Go. Do it. Done? Okay, excellent. Let us get started with the fun part then. Put your code hat on and away we go.

First create a new Windows Phone project, or choose an existing Windows Phone project you want to implement Bugsense into.

New WP8 Project

New WP8 Project

Next step is to install Bugsense which is done via a simple NuGet package update. Use either the Package Manager Console

Package Manager Console

Package Manager Console

Or the Package Manager Dialog in Visual Studio.

Package Manager Dialog

Package Manager Dialog

Next we need to add one line to the installation. Yes, one line. That is all. Open up your App.xaml.cs and in the App constructor insert the following

Insert Bugsense API key

Insert Bugsense API key

Now you are ready to start logging. Bugsense lets you log both exceptions as well as manual events for areas you want to monitor and log. You can also now remove the default unhandled exception handler, as Bugsense will take care of business for you.

Remove Unhandled Exception Handler

Remove Unhandled Exception Handler

That is it. You are now capturing exceptions with Bugsense. I could imagine you are after a bit more flexibility and functionality though.

Part 2 of this series on Bugsense will look at manual events and how you log custom information.

DDD Brisbane 2013

On Saturday 7 December I presented at the developer conference DDD Brisbane on my favourite topic of Windows Phone. Despite some flight issues I managed to get to QUT and deliver my talk Building Your First Windows Phone App. The audience was very keen to learn about Windows Phone, and there was a lot of great questions and discussions during the 60 minute session. I managed to convince most that Windows Phone is the superior platform and best opportunity for developers (at least if you ask me). The attendee with the best and most thoughtful questions I decided to give a brand new Nokia Lumia 625 generously sponsored by Nokia Australia. I also gave out Nokia Luna headsets and trial subscriptions to Pluralsight, so people can go watch my online training courses on Windows Phone.

Me explaining how awesome Windows Phone is.

Me explaining how awesome Windows Phone is.

The conference also had a special guest speaker in Scott Hanselman, who talked about all the new amazing features in Visual Studio and what is to come in the near future. Scott also joined a panel of Joe Albahari from Linqpad, Joel Pobar from FaceBook and Hadi Hariri from JetBrains in a panel Q&A session, which was very interesting and very unscripted.

Me and Scott Hanselman

Me and Scott Hanselman

I hope to join everyone at DDD Brisbane again next year and if you want more photos check out Bronwyn’s blog post. Thanks also to my awesome employer Kiandra IT for getting me to Brisbane and supporting my efforts in Windows Phone world domination.

Nokia Future Capture Hackathon Apps Available Now

In late August I participated in the Nokia Future Capture Hackathon in Lund, Sweden with 9 other teams of developers. We had all been invited and flown to Sweden based on ideas submitted on how to utilise the Nokia Lumia 1020’s amazing 41MP camera. The aim of the hackathon was to develop a concept of the idea and then present it to the Nokia imaging team. It was an awesome event.

And now, a few months later the apps are starting to emerge in the Store. Below are the top 3 apps from the event, which are all now available in the store.

Smart Resize

The winning app is now available in the Store for free! The Smart Resize project lets you resize photos and the algorithm in the app magically knows what the boring bits are, so you don’t have to. It is a very clever idea and well executed. You can even outline areas that cannot be erased, areas that have to be erased and apply filters to the finished image.

Available here.

Smart Resize  Smart Resize

Social Scene

This is a big undertaking by Jason letting users capture images at all corners of the globe in a collaborative way. It was the runner up at the hackathon. Social Scene lets all users create time lapse videos by recording the exact position of each scene, guiding new users to the spot at any time to contribute to the experience. The app is very well presented and polished, and is frequently updated with new features. Give it a go and create your own Scene.

Available here.

Social Scene Home  Social Scene Directions  Social Scene Profile


To address the issue of taking photos of yourself, Matt has built an app that lets you pair two phones and let one act as the viewfinder and the other as the camera. So you aim with one phone and can then see the image on the other phone so you can position yourself juuuuuust right. The idea doesn’t stop there though. Matt has built it in a way that you can control the camera from anything that uses his api, in fact Matt had the camera hooked up to a 200×200 pixel black and white smart watch. Very clever idea.

Available here.

Tap Shoot Guide  Tap Shoot Guide  Tap Shoot

First Pluralsight Course Published

This morning I published my first online video course with Pluralsight, titled Building Windows Phone Apps that Stand Out. It has been a long journey with an insane amount of hours spent writing, recording, editing and polishing everything off. It has given me an appreciation of how much work goes into producing high quality content for the World’s best hardcore developer training site, and I am immensely proud of the outcome.

Below is a small taste of my course, giving you the outline of the content. If you are a Windows Phone developer, this course will add that important knowledge gap of how you can make your app be awesome (and make you more money in the end).

So go ahead and check it out. You can get a free 30 day trial, so there really is no excuse to not start learning now.

A Guide to Choosing Native or Web for Mobile apps

As a consultant for one of Australia’s leading software development houses, I often come across the inevitable question from a client, when talking about mobile development: “should I have a native app for each platform I want to target, or should I just have one mobile web application”. Often the answer to that question is not that clear cut. In essence it depends on two factors, namely requirements and current technology.

You obviously always have to listen to the client’s needs and requirements, get to the core of the problem they are wanting to solve and provide a solution accordingly. With that in mind it becomes an exercise in fitting in to one or the other path to successful mobile app development. It is important to get this decision on native or web app right from the start, as it can be an expensive exercise to switch mid project. However, if you are prepared you can guide the client and inform them on the best choices they can make.


In essence it depends on two factors, namely requirements and current technology.


On the other hand you have to stick to what the technology can provide you once you start developing the product. You can of course push the boundaries, which we like to do at Kiandra, but there will be some limitations in whichever technology you choose.

Because this question comes up regularly, I developed a matrix to help myself, and the clients, out in determining whether to go native or web. It goes a little somethin’ like this:


Pros and Cons of Native vs. Web App

Pros and Cons of Native vs. Web App

It is meant to be a quick guide to identifying the pros and cons of each approach and help you choose the appropriate one in a particular situation. You have to take into account factors such as requirements, time and flexibility, but in general it is a great starting point.

For both approaches there are people who are for and against, and it is important you choose the solution that will get the job done in the best possible way. Don’t just chose an approach because it is the most popular at that moment.

If you have any other points that I have missed or would fit into the matrix let me know in the comments below.

First published at blog.kiandra.com.au

Top 5 Web Developer Browser Tools

In a world which increasingly relies on the internet for pretty much everything from funny pictures of kittens to complex Super Annuation calculations (ask @alexjmackey about fun with those), the modest web browser is not so modest anymore. Gone are the days of cumbersome web apps with full page reloads and spinning gifs (and who could ever forget <blink>Awesome Sauce!</blink>). Today web applications has to work on desktop, tablet and mobile formats. They have to work across all modern browsers (and sometimes in some archaeological ones too), be lightweight, responsive and unit tested.

As a software developer you have to be aware of all these areas when you set out to build the next web app of the future. You will most likely have specifications to build after, but what tools can help you really excel in your build process? Below I have listed some of the tools which have helped me nail some issues, or made some tasks much much easier. Let me know in the comments, if you have other tools that are awesome/interesting.

User Agent Overrides

Because the web is now available via pretty much every device with a screen, as a developer you have to accommodate all these different resolutions. You have to make sure your latest post on Estonian knitting looks awesome on a PC, a MacBook air, an iPhone, Nokia’s Latest Windows Phone and many other devices. All of these devices have different user agents, which tell the browser which device it is. The browser and, more importantly, the requested web site can then change it behaviour accordingly.

In Google Chrome you can access the user agent overrides via the Dev tools settings. Hit F12 and go to settings in the lower right hand corner (little cog).

Dev Tools Settings

On the settings screen select “Overrides”

Override Settings

Here you can override the user agent and the screen size. This is really handy to simulate all your target devices, and it actually works!

Similar functionality is available in Firefox via a plugin, or in Internet Explorer via the developer tools as well (that is via F12 too).

IE Overrides

Page Speed

One of the key ingredients to a successful website is performance. As the below infographic from StrangeLoop indicates, just a 1 second delay in page load time can decrease customer satisfaction by 16% and almost half of visitors will not return to a poorly performing site. On top of that web users now expect the site to work equally fast on mobile devices. Major sites like Google and Yahoo records increase in traffic in the millions for just getting fractions of a second faster page loads. Yes, page load and performance are truly important on all platforms.

Strangeloop Infographics

Fear not, Page Speed to the rescue! This add on to your developer tools in Chrome made by Google (there is also a FireFox version) instantly gives you an insight into yours or anyone’s site performance.

PageSpeed Start

Once you click on the “Start Analysing” button, the site will reload and all manners of metrics will be recorded. The really cool thing is that you don’t just get a bunch of numbers for sections or areas. All of the data is presented as suggestions on what to improve and how to improve it. Very cool.

PageSpeed Analysis

You can immediately tackle the high priority items, and prioritise the rest.


One of the pain points of developing smick looking web sites for your local Russian dance association is to deal with fonts. Fonts can be missing, they can be overridden they can be served from different sources. It all makes it complex to keep track of. WhatFont lets you inspect fonts on a page with ease.


Very simple, very easy to use. Makes the font task easy to handle.

Knockoutjs Context Debugger

There are a lot JavaScript frameworks around, and they can do vastly different things. There is the omnipresent jQuery, the pweetty and versatile three.js and the more interestingly named pyjamas and handlebars.

A framework I am starting to really get the hang of is Knockout. It is an MVVM framework, which makes all the JavaScript magic so much easier. Using a viewmodel, your front end code becomes very dynamic and updates through binding of properties. The problem with this is that all of the bound properties and code becomes hidden or obfuscated. Knockout Context Debugger to the rescue! This is a Chrome exclusive plugin that I was made aware of my @Nazulu.

Knockout Context Debugger

It installs as an extra section in your developer tools, which is accessible on the elements tabs. Select an element that has knockout binding to it, and watch the magic JS fairies populate your knockout context section. It is extremely valuable if you work with Knockout.


Going hand in hand with performance of a web site is the server side response time. Often the backend of a website has some form of database interaction, whether you are storing recipes or the latest AFL results. If this database connection is slow, your site will be slow. A large majority of sites will be using an ORM to help interaction with the database. One of the more popular ORMs is NHibernate.

Although it is not a browser tool, I use NHProf every time I use the browser to optimise performance. NHProf is a profiling tool for the SQL executed on the database using NHibernate. Because NHibernate makes it difficult to see exactly what is being executed, optimising your NHibernate code is sometimes difficult. But with NHProf you can see exactly what was sent to the database and perform detailed analysis of the queries and results.

The licensing for NHProf is a bit on the expensive side, but the benefits are huge if you are serious about database performance.


Top 5 Software Development & Software Management tools

Previously published at blog.kiandra.com.au

When it comes to tools for building software, there are about as many opinions as there are software developers (affectively known as code monkeys). Compiling a list of the top tools of any discipline within software building will be highly subjective. As such this list (well, there are actually two lists as you’ll find out) is a reflection of talking to a small sample of developers. These developers are all highly passionate about software and the creation of such, and all have their personal preferences. This article is not meant to tell you what you should use, but rather (hopefully) present new ideas and inspire you to try out alternatives. Take what you can use and leave the rest.

The first list of tools is leaning more towards the software crowd that has the business analyst or project management hat on. Having said that, all the tools in this list are very useful to developers as well. Chances are, if you are a disorganised developer your code will be disorganised as well. These tools could help organised your day, your project and your code.

Software Management

Any management of software building is complex. Acceptance criteria, customer expectations, development lifecycle, defects and unexpected events are all part of producing a successful outcome. For those task and more, below is a list of tools that can make your software management journey feel like a two week holiday in the <destination type=”dream”> Siberian Tundra.</destination>


Thought up by Joel Spolsky and his company Fog Creek Software, Trello facilitates easy collaboration between teams. Using a method known as Kanban, Trello has a series of boards which define various steps in a project. Boards contain Lists, which has a number of Cards on them. Cards, or tasks, are the basis for managing the finer grain of a project, and the cards are meant to move from list to list to monitor progress. Users are then associated with boards and can be assigned cards.


The application of Trello is limited only by the imagination of the user. You have complete control of boards, lists, cards, who can see a board and who is doing what. You can attach photos, files and web links. You can tag and label cards for more categorisation and you can track changes to cards.

Top this off with a superb user interface that feels natural and straight forward. The learning curve is very mild.


If you are working on projects that are just medium in size or are working in a medium sized organisation, chances are you have heard of JIRA. Built by Sydney based company Atlassian, JIRA is a one stop option for project tracking and task/issue management on any project. At the time of writing version 5 is the current iteration and offers the end user complete oversight of a particular task’s status, a project’s progress and everything in between.


Just to test the flexibility (and because I am a developer, hence love cake) I once created a JIRA task for my business development manager to bake muffins. I tagged the task with the ingredients required, set the status to “blocker” and put a deadline on the task. The description allowed for some flexibility in the style of muffins and I even contemplated putting additional resources and cost estimates on the task too. The outcome was a healthy dozen muffins enriching my entire team’s day.


Chances are that you have heard of stackoverflow.com, one of the largest technical forum sites on the interwebs. As part of the Stack Network there is pm.stackexchange.com, which is a portal for project managers in particular. Questions relating to project management are put forward, then answered and rated for relevance and quality, much like Stack Overflow.



To organise team communication, business processes, data and content in project management workspaces, Podio supplies a web-based platform which is free to sign up to. You can also select business apps from an online app store or build your own as you see fit.

Being a relatively new service (started in 2011), Podio is very ambitious and does offer a great range of tools for managing leads, tracking job candidates, doing accounting and everything in between. It is a social take on project and team collaboration.


As an aside, I don’t mind either that Podio is yet another quality software package to come out of Denmark. The motherland seem to have a lot of interesting products and ideas coming out in the last few years.


The online office suite has been around for eons in web speak. Launched in 2005 Zoho offers a range of products including word processing, spreadsheets, presentations, wikis, bug tracker, chat, mail and much much more. They were one of the first to offer proper cloud office services, negating the need for software and hardware updates.


Software Development

The main mantra for a software developer is “why do something, someone else has already done (well)”. If there is a tool that makes your life as a developer more productive, makes you produce better software, allows you to refactor code easier, can massage your back while playing soft soothing music and feeding you snacks or whatever it might be, then we use it. There is always a better way of doing a particular task, and if someone offers you a shortcut to do that, then why try and invent the muffin tin yourself?

Cloud 9

If you are like me and always on the go, being in a car, commuting to work, at a client or spending time away from your normal work station in some fashion, then you will quite likely have come across the desire to have your work/pet project/library reading list app with you. Cloud 9 allows you to have a complete development environment within a browser. You can collaborate on projects with other likeminded developers and even edit in real time with another party. Pretty cool.


The IDE in the cloud supports the most popular languages such as PHP, Javascript, SQL and XML. However, you also have support for the languages used less often such as Lua, Scala and SH. You get intellisense, code completion and integration with the most popular cloud services, such as Windows Azure, heroku and Cloud Foundry.


Ever had to edit CSS or Javascript, then view it in the browser to see your change? The typical workflow is something like

  1. Load browser to see what is broken/needs fixing
  2. Open up the file to edit
  3. Save change
  4. Alt+Tab or click on browser window
  5. Hit F5
  6. Observe change

With Live.js you get to skip step 4 and 5. A small piece of JavaScript will automagically update your browser to always show the latest HTML, CSS and JavaScript. It is efficiency++.


As a web developer testing your work in a plethora of different browsers is always arduous. Not only is it easy to skip over the browsers with little use, but even more importantly, where do you get access to IE version 6 or Firefox version 13. And not only that, but you have to test on Windows XP, Windows 7 and Mac OS Mountain Lion. Welcome to the party BrowserStack. These guys have made the effort of keeping around almost any modern(-ish) browser/platform combination you can think of.



It is a truly invaluable tool if you want to make sure you have all your bases covered. Every new browser and platform combo is spun up in a new Virtual Machine, so you have your own instance. You can set up a secure tunnel, so you can test your local html and design on the remote server.


It has almost become part of the default toolset for web developers working with the Microsoft stack to use ReSharper. A lot developers I talk to almost can’t use Microsoft Visual Studio now without this comprehensive productivity tool. Just to name a few features, ReSharper will give you real time code analysis, keep you compliant to agreed coding standards, search huge datasets and thousands of files instantly, code refactoring with ease, code cleanup, multiple refactoring tools and oh so much more.


Chances are that your productivity as a developer will increase significantly, but that is not the best bit. ReSharper takes care of all the boring stuff, such as renaming “cat” to “kitten” in your Fantastic Feline application (@alexjmackey has written that one), so you won’t have to. The team at JetBrains has put a lot of effort into making sure you don’t do the boring repetitive tasks of old grey beard developer days.



<tool>your favourite</tool>

As I said in the beginning, this list is highly subjective. This last item is your chance to let us know what your favourite tool is. Fill in the comment below and tells us your favourite tool and why you think it is valuable. It can be anything, as long as it doesn’t involve ducks. Ideally it should be something which improves the dramatically interesting live of developers.

Give it your best shot. I want to know!!

Windows Phone 8: Show Me Your Live Tiles (Part 2)

The first part of my review had the focus set on the great software Microsoft has created for mobile, so in this second half my attention is on the hardware that arrived at my front door. My choice of handset is a bright, loud, solid, neon yellow Nokia Lumia 920. First impression is “come pick me up and touch my shiny screen”. At least most people I show it to, or see it on my desk, get that message loud and clear. Initial reaction from friends and colleagues is that it is a solidly built device. So why don’t we start with the physical forms of the phone. I won’t bore you with dimensions and other detailed technical specifications. Rather I will focus on the attributes that are the result of the factual data.

You can’t deny the yellow on my phone. When I ordered it I thought it would be more of a mustardy type yellow, but oh no. It is a loud, safety vest, almost toxic looking yellow. I like it. You can’t help but look at. The phone itself feels very durable, solid and well-built once you have it in your hand. Compared to other smartphones it does pack a whole lot of technology and most of it is best in class, so the slightly increased weight is to be expected. I have read some reviews that hammer the phone mainly based on the weight. In my experience you notice it the first dozen times you pick it up, then it becomes negligible.


The camera is awesome. That is my official technical verdict of the 8.7 megapixel Carl Zeiss lens with optical image stabilisation. Awesome.

Melbourne Big Wheel

Santa and his helper

(Yep, that is me and Santa).

Whatever witchcraft Nokia has packed into the camera, it works. The colours are vibrant and natural, the focus is sharp and the video now comes in HD. I take a lot of photos, but generally not with my phone. I lug around a Nikon DSLR, plus accessories, the size of Luxembourg, whenever I go somewhere where there is a potentially good photo opportunity. Now, I am not going to suggest that the Nokia camera comes up better than my trusty old Nikon, but I do think that it is on par with most compact digital cameras and better than a lot. This means I will use the Nokia as a “I’m just going on a short outing” camera, and keep the Nikon for longer trips, once off events etc. Yes, the camera on the Nikon really is that good.

Most phone cameras can take a decent still picture in sunlight or daytime, but night time or actions shots always come out looking like you were jumping on a trampoline and covering the lens in Vaseline. The Nokia has optical image stabilisation which means you can shake the camera and it still comes out sharp.  Night time uses more magic and fairy dust to set the ISO (light sensitivity) and remove the usual grainy look from your happy snaps.

The video function is equally impressive. Way less shaking than your normal YouTube style handheld videos, and it is just as vibrant and sharp (in HD too).

Oh, I almost forgot about the different lenses that you can download, use and abuse. When using the camera, different apps hook into the camera and you can choose a different lens, which means that app take over the camera. Allow me to demonstrate. You use the impressive Translator app from Microsoft to translate text on a page using the camera. Now you can launch the camera, then switch to the Translator lens, which will take you directly to the right spot in the app. It is a shortcut to the functionality within the app that uses the camera. Kind of neat, and does provide more deep integration between apps, which is what Windows Phone is all about.

Various Lenses


I listen to music from my phone all the time. On the train, working on projects, writing this post and even practising my river dance routines. I have invested in a decent pair of earphones from AudioFly and the Lumia 920 gives good output through the wires. I can fiddle with the equaliser settings and switch Dolby stereo sound on and off.

Equalizer Dolby Sounds Settings

The built in speakers are okay, but they are still teeny weeny and you can only expect so much from speakers made for the people of Whoville.


A bit of a boring subject, but just briefly: Bigger battery (2000 mAh) + bigger HD screen (4.5”) + more things to chew power = still not great battery performance. Oh, and you can’t remove it. So there.


It seems the good folks at Nokia made a checklist of every single mode of connectivity you can possible put in a phone. Short of having a mini Hadron Collider, this device has it all. Wifi in the b,g and n flavours, Bluetooth, NFC, Wireless charging using the QI standard, compatibility with 14 different network frequencies (2G, 2.5G, 3G, 4G) as well as the new Dual Core Snap Dragon processor. Not to mention the most sophisticated camera seen yet (yeah, I kind of like the camera).

But enough about all the delicious, crunchy hardware making up the Lumia 920. Let’s have a look at the software side of things. Nokia has produced a rather impressive suite of software for the Lumia range, in an aim to make their WP8 offering more attractive.

Nokia Maps

The Bing Maps app has been replaced by Nokia Maps, which to a large extent are better than the standard maps. The maps are very fluent and does provide useful information about local businesses, even though it is in no way up to par with Google’s localisation. However, the maps are very useful and seem 100 times more useful than Apples failed attempt at a mapping application (Apple does not acknowledge that Echuca in Victoria exists for example).

Nokia Maps

Nokia Drive

Nokia Drive is the Turn-By-Turn navigation. It does one thing, and one thing very well. It is a fully fledged GPS navigation app, which even has TTS (Text To Speech), which works. My car navigation TTS for some reason can’t pronounce “road”. It comes out as “rod” in this over the top American accent. You would have thought that is one word a GPS should get right, but I digress.

The application is free and comes with downloadable maps from all over the world. So not only can you always have up to date maps, but they are also stored offline, so you can always use your GPS (given it has any battery left, see above).

Nokia Music

Every single platform seems to have their own flavour of iTunes now. There are so many offerings out there you would be excused for not really caring. So what is different? iTunes has music purchases of every song on the planet almost, Xbox music has a monthly subscription, Google Music lets you upload your own catalogue of music to the Cloud and many many more.

Nokia Music is in essence free listening. It comes with radio mixes, which lets you listen to everything from @alexjmackey’s favourite Genesis and Spandau Ballet to the current hits of local and international artists. Now, you can’t choose the exact songs to listen to, but you can select genres from Country and Western to Death Metal. And if there is a particular song or album you like, you have the option to buy it.

Nokia Music

Because all the music is streamed in the mixes, Nokia has been so kind as to let you download up to four mixes to your phone.

Now, all that is good, but you could ask why Nokia has even bothered to make their own music service? It is a massive undertaking and there are so many services out there as mentioned above.

And I have to mention that Nokia Music is quite buggy. The application decides to stop randomly, it has restarted my phone twice from crashing and even bricked my phone once to the point of a reset (hold down power button and volume down for about 10 seconds).

Nokia City Lens

I first saw this idea in a French research project using Google information on an iPhone. The name of the project eludes me, but the idea of holding up your phone and it presenting an overlay of nearby attractions based on GPS coordinates and compass was mind blowing.

Well, Nokia City Lens is just that. Choose from eight different categories of places nearby, and the app will tell you what is nearby in this category. It works quite well, but the compass seems to be a bit off sometimes. And Dental Surgery came up under “Fun”. Not sure if that is a particular Finnish version of “Fun”. To be honest I haven’t looked up “Fun” in the Finnish dictionary.

Nokia City Lens

Tapping any of the icons on the screen (which move about a bit due to calibration issues I am assuming), will take you to the location in Nokia Maps and you can get directions. Very impressive app, but to be honest, I am not sure how much I will use it.


I can only hope Microsoft gets traction with this latest iteration of their mobile platform. I truly believe it is a more user friendly and efficient platform than the competition. Taking the whole ecosystem into account with Surface devices, Windows 8 and Xbox, it all just works together. Traditionally Microsoft marketing has been very fragmented and seemingly random, so hopefully this time around it is more successful. As I said in Part 1, I have shown WP7 to two friends deciding on a new handset, and both chose it over iOS, Android and *cough* Blackberry. Not because I told them to or persuaded them, but because they tried them all and chose the best one.

I haven’t touched on other handsets, but all the new WP8 devices are amazing. I had a very hard time choosing, but the outstanding camera and the gorgeous screen on the Nokia made it for me. If you want choice and personalisation in handset and user experience, but without having to be a geek (like me), it is the superior platform. If you don’t want to be a sheep and follow the flock for no other reason than following them, try out a Windows Phone.

I am not looking back.


Windows Phone 8: Show Me Your Live Tiles (Part 1)

Finally! My new Windows Phone 8 phone has arrived. And first things first: it’s yellow. I mean really yellow. Granted I did order it in yellow, but this is smack-in-your-face-safety-vest-neon-super-yellow. I don’t mind actually. As you may have guessed it is the Nokia Lumia 920, and in this geek review I will touch on the handset as well as the new operating system. The first part of the review will wind its way around, through, over and between some of the new bits in the operating system. Part 2 will fondle, caress and make out with the new superstar from Nokia.

[pullquote]My Partner’s 7-year old boy loves Kid’s Corner, as it makes him feel it is his part of the phone. Pretty good trade-off for not sending your boss fart emails.[/pullquote]

I have been a user of the Windows Phone eco system for the past two years and a bit, and in that light I will go over some of the improvement over the past system, that you might not be aware of or have noticed. As was the case with the release of WP7.5 (Mango) in September 2011, WP8 includes a swath of improvements to an already feature rich and mature operating system. Some features are very noticeable, such as the new start screen, and others are buried deep in the belly of the beast, and will probably not be noticed directly. I won’t touch on all the new features and changes, as I do want to do other things for the next week. Instead I will emphasise the areas I feel are important and makes the platform stand out.

When Microsoft announced and indeed launched the new Phone software, the focus was (understandably) on the immediate visual changes and improvements. So that is where I will start.

Start Screen

This is without comparison the most reviewed and featured part of the new Windows Phone operating system. It is the face of the new Microsoft Phone attack and the new start screen has been improved and made more “you” (customizable). The first iteration had live tiles showing your latest updates and content at a glance, but all you could do was to move the tiles around. There were some built in apps, like Calendar and Pictures, that were the size of two normal tiles, but that format was not available to third party apps. All that have changed, so app developers now have three formats to choose from.

Start Screen

The screen feels more alive, more personal and more usable. I especially like the smallest tiles for apps that don’t have text content to show on the tile. Something like Phone, Messages, Facebook and Email accounts only update the tile with a number. The small form factor is perfect for that. Other apps really shine from the large landscape tile, and make my Weather Channel app look very impressive. Once developers get their head around the tile sizes, they will become extremely useful and lets the user customise their phone until eternity.

Performance Improvements

A large part of the work on WP8 has gone into the support for all the new shiny hardware. There is now support for multicore processors, high definition screens, a brand new IE10 browser, memory expansions and much more. All of this performance shenanigans means that Windows Phone 8 is even more smooth and slick to use than Windows Phone 7 devices. All transitions, input screens, app loads and interaction in general is extremely responsive and there is no lag that I can find anywhere. It is like everything just works!

Apps load faster, due to the beefed up hardware, and some Apps now exhibit a much better resume behaviour than before. For example, the Facebook app now resumes to the screen you were on, instead of reloading the whole app. Apps stay in memory much much longer, so you don’t have to reload apps every 20 minutes. This means you can now switch between “My Little Pony” and “Rainbow and Butterflies” apps to your heart’s content, just like @alexmackey would do.

Another improvement I have noticed is that the keyboard is vastly improved on two fronts. For one the “Fat Finger” prediction seems more accurate in guessing which word you meant when you typed in “tebieq”. In fact it seems easier to hit the right letters on the keyboard. This might have something to do with the larger screen and the greater pixel density. However, much more exciting is the new predictive typing. In WP7 the keyboard would predict what word you were typing based on character placement and letter sequence, hence it could predict that when you wrote “Wed” you meant “Wednesday”. Not too difficult to implement, and all smartphone platforms has this feature. Now there is predictive sentences, which means WP8 will predict the next word before you have even typed it. For example I can type “I am going to be late” with only eight keystrokes. I haven’t been able to confirm it yet, but the type ahead feature supposedly learn from your typing as well. So it learns which words you put together, so over time it will be much more accurate and useful.

Predictive Text 1 Predictive Text 2 Predictive Text 3

Speaking of the keyboard, Microsoft still haven’t sorted out a feature I loved on my iPhone, being multiple keyboard languages. On my iPhone back in the day, I could switch from English to Danish dictionary with one button click. That meant my text messages in Danish would have the correct spell checking. Still on WP8 I now either switch the language of the phone (not ideal and time consuming) or I teach the phone Danish. Every time a little squiggly red line come up I tap the word and add it to the dictionary. I feel a bit like a primary school teacher teaching the same naughty kid again and again.

Update: Last night I discovered you can download keyboards in a large number of languages, including Danish. Go to Settings -> Keyboard and you can add any of them. They are now available whenever the keyboard is visible, using a little button on the actual keyboard. Woohoo, another awesome addition and I was blaming the wrong kid again.

HD capability

Finally! Hooray, we now have beautiful high definition goodness on the screen. WP8 supports 720×1280 and 768×1280 pixels. On a 4.5 inch display that would mean somewhere in the vicinity of 332dpi. Ha, take that Apple retina display with your puny 326ppi. In other words, Microsoft is finally supporting industry standard screen resolutions.

It means you can record video in 720HD format, but more on the camera in Part 2.

Kid’s Corner

The most surprising, yet simple and useful, feature is Kid’s Corner. Swipe left on the lock screen and a second lock screen (if enabled) is shown.

Kids Corner Lock Screen Kids Corner Home Screen

This is the section where your kid can have their own section on their phone. This means no more access to your phone, no more sending emails to the Buddhist Society saying you want to join, and no more buying of magic unicorns on eBay while you weren’t paying attention. Your offspring can now have their own section they can customise with colours, resize icons and set their own lock screen image and text. As the owner of the phone (and by now probably several unicorns and pictures of cats wearing little Halloween costumes) you decide which apps are in the Kid’s Corner. My Partner’s 7-year old boy loves it, as it makes him feel it is his part of the phone. Pretty good trade-off for not sending your boss fart emails.

Internet Explorer

The browsing experience in WP8 still consists of only Internet Explorer (IE). We are now up to version 10, same as on Windows 8, and the engines behind both the mobile and the desktop browsers are the same. That means you get a faster, more standards compliant browsing experience, but I am still not convinced Microsoft has addressed all of the issues from previous versions. Granted, the browser is much quicker and there are some very nice features, such as customising the toolbar at the bottom and improved JavaScript rendering speed and HTML5 compliance.

 IE 10

I would like to see what Mozilla or Google could bring to the platform as well. If anything it would push Microsoft to improve IE to stay on top.

Enterprise Apps

The direction that Apple, Microsoft and to a lesser extent Google has taken with third party development, means that programs are certified by the corporation and published through the single channel. Back in the days of Wild West programming, every man and his dog (or duck even) could publish a program and sell and deploy it, on a platform like Windows Mobile. No problem. What that lead to, was a mess of different user interfaces, broken programs, general discontent and frustration. It did work occasionally, but there were a lot of problems. To fix this, the big corporations, starting with Apple, took control and dictated how applications and programs (or “apps”) were to look, feel and smell. Not only did the quality of apps improve, but it also proved to be a very generous income stream.

If you are in the development space, especially consulting, you might see a problem with this approach. Stores for purchasing apps are public. You publish one app, you can restrict by market or region, but essentially your grandma will have access to the new Magic Polar Bear Recognition app you made. Or even worse, an intranet application for a large corporation. There was no way to create private apps for a closed audience.

Apples approach was an Enterprise App Store, which allows companies to limit their attached handsets to a particular set of apps, be those public or not.

Microsoft is now introducing the Company Hub application which is similar to side loading apps in Windows 8, and without much of the hassle that was needed to accomplish the same in WP7. A Company Hub can be managed by the IT department in a company and allows full control and integration with Office and management via remote management features. If this is successfully implemented, it might just get Microsoft back in the door for mobility, with a lot of major corporations.

About time

A couple of little things have been annoying me by their pure absence. But lo and behold you can now take screenshots. Yes @sbarski, you can take a picture of your favourite cake recipe on the screen and email it, post it to Facebook or send it via MMS to your fan club. Press the Home button at the same time as the power button and Bob is your uncle (or you can get a picture of him at least).

I have also been trying to figure out why there was no pinching action on the camera when operating it. It seemed like such a natural thing to do, but Windows Phone was not having a bar of it. Until now.

 Go Go Go

I love Windows Phone. Everyone around me will tell you I am a Microsoftee and I have seen several of my friends switch to Windows Phone and never look back. In my mind it is by far the best mobile platform when it comes to usability, personalisation, development experience and looks. There is nothing else like it.

My hope is that Microsoft Marketing can create a campaign that does the phone justice. A large problem I think is that retailers are not educated in showing off the devices, so people naturally gravitates to what their friends have. When it comes down to it, the general public don’t have an interest in which company creates their mobile experience. They buy the phone the guy next to them has. Unless someone can show them the different platforms and pros and cons of each, they aren’t going to change their ways.