Today everyone at Readify (well, mostly everyone) moved their mobile phone numbers over to Vodafone and onto a corporate phone plan. Up until today we pretty much a free reign to choose our own mobile phone plan (within reason) and by extension our own phone.

Because everyone had selected their own phone we had a huge variety of not only form factors but also underlying operating systems. Unfortunately this meant that while we had a huge amount of processing capacity on our phones we couldn’t harness it because it was too difficult to produce custom software that would run across all of them.

So – with our new corporate phone plan pretty much everyone in the company is getting a new mobile device from i-mate from a subset of their product range based on their own personal preferences. For example, a few of us opted for the JasJar device (myself included) whereas others went for smaller form factors such as the JAMin, SP5, and K-JAM.

JasJar

Which mobile device you use is such a personal choice which is why we standardised on i-mate as the make – they basically provide the widest selection of form factors. I’ve actually had an opportunity to play with all the devices over the last couple of months and I pretty much arrived at the JasJar by process of elimination, hopefully it will arrive next week.

The K-JAM would have been my second choice because it also has a keyboard but the size wasn’t right for me. Both the JAMin and the SP5 didn’t even qualify because they either only allowed input via the t9 dictionary or via the input panel on the screen. The JasJar also has cool factor for the following reasons:

  • It folds up like a Tablet PC convertable.
  • 640x480 screen resolution.
  • Large keys on the keyboard.
  • Supports GSM, GPRS and 3G including fallback.
  • Two cameras, including support for video phone (to another JasJar).
  • Did I tell you it folds up like a Tablet PC convertable?
  • Windows Mobile 5.0

Whats interesting is that everything on that list was important to me for personal reasons - except one. The last time was really important for Readify. If you look at all the devices I mentioned, all of them are running the new(ish) Windows Mobile 5.0 operating system.

The reason this is important is that it allows us to develop applications that everyone in the company can hook into internal systems like the time keeping system (custom in-house job) and the relationship management system (Microsoft CRM) directly from their mobile device. The new device has also inspired me to get into mobile development again. In fact, tonight I downloaded the Windows Mobile 5.0 SDK and got to work on a pet project.

I’ll post more about my pet project in the future but one of the things that I needed to do was hook into the new State and Notifications Broker API. I was trying to see what kind of information I could get into via this API and rather than manually coding up a whole bunch of routines to get at all the information or worst manually modifying and running the code each time I decided to write a little tool to get at that information. What I came up with was the System State Diagnostics tool.

SystemStateDiagnostics

When I load up the tool it uses reflection to enumerate all the static properties of the SystemState class in the Microsoft.WindowsMobile.Status namespace and place them into a listbox. Then, when I tap on the screen and select a property it goes and fetches the current value of that property.

If you need to do the same sort of thing and would like to use this tool you can download it directly to your device (assuming you have the .NET Compact Framework 2.0 installed already), or you can grab the source.

P.S. I hate the fact that the compact framework doesn’t have a GetNames method on the Enum type.