Thursday, January 10, 2013

Sometimes It’s the Little Things

I’ve been doing some things with Windows Phone development lately and having some fun with it. Being a long time conventional application developer I am finding some things that are in some ways small differences but in other ways potentially larger annoyances. I’ve learned over the years that something that is mildly annoying when done rarely can became a big annoyance when done often. This is something software developers have to be aware of when developing applications. Always keep the user in mind. Let me give you an example that working with Windows Phone apps showed me.

I’ve got a demo program that adds two numbers. Yes I know but bare with me a minute. I tap on a textbox and the in-screen keyboard pops up as follows.

Capture1

The first thing you realize is that this is the alphabet and we want the user to enter numbers. The user has to click/press on the little button labeled “&123” to get the numeric keypad so they can enter digits. Not a big deal but it will get old very quickly.

What we as developers want to do is make sure the right keyboard comes up first thing so we can make our user’s life as easy as possible. The Widows Phone (and I assume other phone) SDK supports several initial keyboards for making it easy to enter data. How do we make sure the right one opens?

imageFortunately there is a property for that. It’s called InputScope and it allows us to specify what sort of data is going to be entered in a text field so that the system can bring up the right keyboard.

Capture2

As it turns out there are a large number of possible values for InputScope. Most of the commonly used values are grouped in a section called Common and include Number,  Password, URL, EmailUserName and of course Text.

Since this is a property the programmer can set this once during development and not have to write any code to make it work. On the other hand if you use a text box for different things depending on context of the program you could change the InputScope using code to make sure the right keyboard appears when the user needs it.

Many users are intimated enough by new apps without making things harder for them than necessary. Little things add up.

No comments: