Porting an Enterprise app from Windows Mobile to Windows Phone (Part 1 of ??)

That’s coming! The (real) successor of Windows Mobile (Windows Embedded Handheld 6.5.x) is coming in the next month (week?), as we already know.

We also understand that the next generation of handheld devices will be based on Windows Phone 8 OS (the correct name is Windows Embedded 8 Handheld or WE8H), so I decided to start the porting, or is better to say rewriting, of one of my Enterprise App I’ve developed in the last year, to the new OS.

imageThis is the first of an unspecified number of posts, where I try to show every aspect of the app porting/rewriting



The App

The app was developed for some of my customers operating in the fashion and apparel market for managing the transfer items between shop and shop, warehouse and shops and vice-versa.

It also implement the inventory procedure for the warehouse or the shop. The items are identified obviously by its barcode who specify an item with its color (or variant) and size. We also handle a cost price and some other info that we’ll see better in the one of the next posts.

The Data

Usually the barcode reside in a local DB installed on the device and synced every night with the central server. When this app was written the installation of affordable Wi-Fi network in the warehouses is not a common practice, for that reason the majority of the installation use the local DB on the device.

In most case the number of barcode is very huge, I have some installation of this procedure working with 4 Millions record in the DB, yes 4.000.000 row in a SQLCE sdf file that need to be synced every night (multiplied by the number of device installed).

In that case I try to convince the customer to install a back office server, some Wi-Fi access point and use a WCF service from the server to retrieve the barcode and other data from the handheld in a Wi-Fi connected scenario connected . I often fail! Crying face

Considering it on WP8 it’s not very difficult, we can continue to use SQLCE but we can’t use the usual SQL methodology (connection, command, execute query etc.) but only via LINQ to SQL there’s no T-SQL. I can also consider to use a SQLite DB file, that is more often used in WP8 and Win8 apps.

But now every (most of) warehouse have an efficient Wi-Fi coverage that permit more easily to use the connected scenario. However it’s important to handle the disconnected situation where the app will be used out of coverage or in shops where there’s no connection or no access to the server.

The device


I usually installed Symbol devices, and in particular the MC70/75 and MC300/3100 models. These devices mount ARM processors at 600 MHz and have a maximum of 256 MB Ram /1GB Flash (in the most recent model) nothing to compare to the lower specs of a WP8 device Snapdragon processor not less of 1 GHz dual core, 512 MB Ram /4GB Storage.

At this time there’s no WE8H device announced officially, but I suppose that the hardware specs will not differ from current WP8 devices specs. The main difference will be about the rugged case, the barcode reader, the type of radio they’ll mount (Wi-Fi, GSM/3G/LTE, Bluetooth), other type of reader/writer interface like NFC or RFID.


In the next post we see the structure of the app an we start to see how we can port some features considering the differences between the OS and taking in in mind the new consideration we need to do about User experience and User interface that we learn from the Modern UI App guidelines .

Follow Me on Social