Windows Mobile Versions and Programming Languages Q's

I have been largely unable to end my confusion about the different versions and names for Microsoft's mobile device Operating System. I would like to end this confusion if you can point me to any sources that explain this but even more important, I just want to know what device and OS I should consider for the project I need to complete.

I need to build a basic application that documents the coordinates of our inventory items. These inventory items are pumps and engines all located in a 10 acre plot (approximately). The application needs to work something like this:
The user starts the mobile device, starts the application, and clicks a button to download data. This data is from an Access database (possibly SQL Server in the future) and the data is very basic. It is a list of 5 digit numeric stock numbers followed by a 60 character text description, and will conclude with the item serial number and Longitude and Latitude. This data will be used for validation or for finding a piece of equipment.
The user goes out into the "yard", positions himself directly beside a stock item, enters the correct stock number, and then clicks the button to "Log GPS Coordinates".
After logging coordinates for 50 to 200 items the user will connect to a wifi network and the GPS Coordinate information needs to be put into the database. GPS coordinates already logged in the database will be overwritten with new information.
The user will also be able to enter a stock number and follow arrows on the screen to find the given stock number.

Is there a specific device and OS you would recommend? I'm sure we could do this with a lot of different devices but we're considering Windows simply because I'm already fluent in programming with VBA and VBScript. I don't think it would be too difficult for me to migrate to .Net but I don't currently own a Visual Studio version newer than version 6 (which is pretty ancient). Could I program this with VB6 if I have the Windows CE Toolkit for Visual Basic 6.0? Would my program work on all versions of Windows Mobile? Are there good reasons to use .Net instead?

Our GPS device needs to be quite accurate. Does anyone have any opinion on how we might find a device with this kind of accuracy?

Who is Participating?
phibersgConnect With a Mentor Commented:
Windows CE toolkit will be kinda old and retro-productive, VB 6 is like year 2000..

Latest VS is VS 2010,

You can get a free version of Visual VB (Studio) Express 2008 / 2005 and do the programming in VB on Microsoft .Net Compact Framework, it will work on Windows Mobile 5 and above..

It will be easily doable for the local database logging and GUI part..

Only tough part will be the syncing of local and remote database, you can look at MS SQL Server Merge Replication for that feature.
HKComputerAuthor Commented:
I think I'll do the syncing manually. Can I run a process on the handheld that can enter data into the Access backend file? Would this use ADO or DAO?

Will Visual Studio Express do everything I need it to or should I really have a professional version? If I decide to get a professional version, is there anything wrong with going for a 2005 or 2008 version?
HKComputerAuthor Commented:
Also, I forgot to ask. What can I use for the database on the handheld? I'll use a text file if nothing else.
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

phibersgConnect With a Mentor Commented:
Sorry on my last post, seems that the free versions (Express Editions) don't come with the compact framework SDKs and emulators.. you need the full retail version..

You should use for the database interface if anything else as it's easier.
For syncing, consider the protocol (Activesync File-sharing? TCP/IP? BT? )

You can get a copy of Visual Studio 2008 or 2010..
The license (as far as i know) is backwards compatible, if you have a valid license for 2008, you are entitled to use 2005 and 2003 as well..
I'm not sure if Microsoft changed that.

Database is just like desktop, you can use mdb (Access) or SQLCE or SQL Mobile or even SQLite.

Text will just make searching and indexing near to impossible.
HKComputerAuthor Commented:
>Text will just make searching and indexing near to impossible.

It just makes me work a lot harder. I have a friend who programs a lot in VB but he failed to learn anything about programming databases. It's phenomenal what he can do with text files including searching. This also keeps his installs fairly simple. However, I'm not planning to go that route unless I have a good reason.
alexey_gusevConnect With a Mentor Commented:
Tools: download SharpDevelop and enjoy free IDE that supports Compact Framework ( - as far as I remember you'd need v3.2).

You can use either VB.NET or C# - there are only syntactical differences, so if you prefer VB then so be it.

Database: Access is dead :) , you should use MS SQL CE, you have all components ready in compact framework. From your description it should be fairly trivial task.

OS names and flavours: nowadays you can find Windows Mobile 6.x, Windows Mobile 5.0, Windows CE 5.0 and Windows CE 6.0. The last two are more generic sets of features, so Windows Mobile is just a 'most popular' subset of Windows CE. Ignore all naming like 'Windows Mobile Standard Edition' as it was for non-touch devices and you'll unlikely meet it.

GPS: you have few options here - either (1) find a device with built-in GPS receiver (like those:, these are mobile phones, but you might want more PDA-like devices or (2) use external GPS receiver (eg , they have their own PDA too). Specific details may vary depending on the vendor, but SDK has a sample for Generic GPS driver usage - it's easier because it hides all GPS stuff from you and gives you GPS position etc etc

Phew! this seems to be it :)
HKComputerAuthor Commented:

First of all, thanks for all the great information.

I'm trying to figure out if SharpDevelop will increase or decrease my .Net learning curve. Any opinions on that? Is "free" it's main advantage or are there other good reasons to develop with SharpDevelop?

alexey_gusevConnect With a Mentor Commented:
well, it's pretty similar to Visual Studio in terms of IDE, but it's free :)  I don't think SharpDevelop would have much influence on your learning curve.

I personally prefer Visual Studio - at least there is Microsoft to blame for all its troubles :), but SharpDevelop is a very good IDE nonetheless. I don't remember all the details now re. SharpDevelop as I use VS on daily basis, but I guess you won't need something special or extensive and complicated debugging or whatever else of such matter, so my perception is that SharpDevelop is just a right too for your project, at least to get started.
HKComputerAuthor Commented:
I'm waiting on this question to close and just posting here to get this question out of the Abandoned state so I can post more questions. Thanks
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.