Convert It for your Windows Mobile Smartphone - General Overview

"Convert It 2.6" runs on Windows Mobile Smartphones with the Compact Framework V1 preinstalled, essentially Windows Mobile 2003 (inc SE) and above!!

"Convert It" supports four types of conversions

  1. Currency
  2. Measures
  3. Temperature
  4. Stock Quotes

and features

  1. Currency conversions with Tax, Tip and Split options
  2. Currency conversions work offline
  3. Full online updating of Currency Rates and Stock Quotes
  4. Unit Conversions including Length, Area, Volume, Angle, Speed, Weight, Pressure, Time, Computer and any you want to add yourself.
  5. Temperature Conversions, Celsius, Fahrenheit, Kelvin
  6. Create, edit, reorder your own Conversion Categories with ease all from your phone.
  7. Set the default start-up category and default category items
  8. Version Checking from the About Screen
  9. Supports Smartphone VGA and QVGA Displays
  10. Full source code is available from https://projectdistributor.net/Releases/Release.aspx?releaseId=282

See the following links for more information

How Convert It Works

It's been written as a generalised "Ratio" converter, I've loaded up ratios for converting weights, distances and temperatures, but it's arbitrary, you could give it a ratio for "Pigs to a Pen" and it would convert it;-)

It also calls two Web Services, one for "Currency Rates" and the other for "Stock Quotes" - both services are provided by https://www.webservicex.net, and the results of this web services calls are saved locally for offline conversions.

The currency conversion works as follows:-

An arbitrary base reference currency is set and then all currency data is gathered relative to that base reference currency. 

The default base reference currency is Euros, so for example to convert "£1 -> US$" I first convert the £1 to the base reference currency, in this case the Euro and then convert the Euro to the US Dollar, sounds convoluted but it works and means that you can pretty much do any to any currency conversion offline - important when you are shopping with limited data network coverage and obviously it's quick as it's all local data and local processing!!

General Information

General information on "Convert It" can be found here including:-

  1. Installation Locations: Convert It Installation Locations
  2. Help: Convert It V2 Online Help
  3. Submitted Categories: Convert It 2.2+ Categories Submitted
  4. Change Log: Convert It Change Log
  5. XML Schema Definitions: Convert It 2.2+ XML Schema Definitions
  6. Future Versions: Convert It Future Versions
  7. Source Code: Convert It Source Code Locations

Blogs to come

I've got a blog in mind to write and it's basically what approach I take when writing applications for the Compact Framework. But it can be summarised as follows:-

  1. Read the article on Compact Framework and Garbage Collection, it's an excellent document!!
  2. Given that Compact Framework garbage collector is not as active as the garbage collector in the full framework, you really want to minimise the amount of garbage you create and this probably goes against general OO practices but I tend to make things I want to use a lot "Static" especially if they are an expensive objects to create. So if you do look at my source code and wonder why I make common execution paths static then the reason is to minimise garbage - from talking to folks at the PDC then this is the right approach - but if you have read this far and disagree then please post any comments you may have. 

References