Can I ( how do I ) do the requested PDA programming project?

A

AnthonyT

I have been asked to consider doing a PDA based programming project,
and since this is a new area of development for me I was hoping someone
could tell me if what I am being asked to do is possible etc.

Over all project description:
This is a data capture application, think of it as an ongoing survey.
Every so often ( several time a day ) the PDA needs to 'wake up', play
a sound to notify the user, then ask the user a series of multiple
choice, true/false type questions. Next after a few days the PDA will
be brought to a location for the data to be dumped into a
laptop/desktop
system for data analysis.
This is for a 'medical' research study, the idea is to ask how the
subject is feeling etc so we can see how the treatment is working.
There is of course all kinds of details like data encryption, data
storage etc. but those tasks I feel that I am capable of handling.

My developmen status:
While I have been developing for 25+ years, for the last ~15 years I
have been doing mostly Visual FoxPro ( or it's earlier versions ). I
have recently been learning .Net and C# but I am a
beginner at best with it. OOP and general programming skills I am
advance at, so I will be doing lots of what is the command to 'X'.
Furthermore I have never owned and only play very limitedly with PDAs
of any type.

My Questions:

a) Is my assumption that using 2003 .net ( or even the 2005 beta .net )
will allow me to 'easily' program a pocket PC based PDA

b) Can the application wake up every so often to alert the user? I'm
thinking that for power management reason it would have to power down
for a while. Maybe PDAs can run for a week with out having to shut
down. I expect a weeks is about the time lapse between data dumps.

The again the PDAs will most likely be recharged each nght. Side
question if some other application is running on the PDA ( There should
not be, but lets be prepared ) can this application keep running in the
background and come forward to get it's survey questions answered.

c) Since this application is the only thing that needs to run on this
PDA, what is the least expensive model that I should purchase. ( This
project might need up to 80 PDAs )

d) Should I consider other PDAs and Oss like Palm? Would this result in
significant hardware/software costs reductions.

e) Is there anything obvious that I missed?

Thank you so much for your time.

__________________
Anthony T.
 
G

Guest

Hi Anthony,
My Questions:

a) Is my assumption that using 2003 .net ( or even the 2005 beta .net )
will allow me to 'easily' program a pocket PC based PDA

VS.NET 2003 and .NET Compact Framework has its fair share of bugs and many
limitations which most have workarounds.
VS.NET 2005 will be in GA Nov 7 2005 which is much improved many new classes
many bugs fixed plus it makes developing DPI-aware and orientation aware
applications easy. DPI and orientation aware only effect applications running
on WM2003 SE.
I have not yet given SQL CE 2.0 a run for its money but will soon. I dare
say many others in this newsgroup have.
b) Can the application wake up every so often to alert the user? I'm
thinking that for power management reason it would have to power down
for a while. Maybe PDAs can run for a week with out having to shut
down. I expect a weeks is about the time lapse between data dumps.

This would be a platform invoke call required to do this to my knowledge.
Anything is possible with Pocket PC development, if its not possible through
managed wrappers then you can do p/invokes (WinAPI calls).
The again the PDAs will most likely be recharged each nght. Side
question if some other application is running on the PDA ( There should
not be, but lets be prepared ) can this application keep running in the
background and come forward to get it's survey questions answered.

By default Pocket PC apps should be kept running in the background as it
reduces load time when toggeling between favourite programs running on the
device. In fact Microsoft recommends the main form should not be finalized.
If your main form has an "OK" button top right, then you need to set the main
forms MinimizeBox property to true.
c) Since this application is the only thing that needs to run on this
PDA, what is the least expensive model that I should purchase. ( This
project might need up to 80 PDAs )

Try looking at the lower end HP iPAQs. They are quite cheap but good machines.
You could also look at Dell Axim model range they are probebly cheaper than
HP but not quite so good quality device.
d) Should I consider other PDAs and Oss like Palm? Would this result in
significant hardware/software costs reductions.

There is no CLR from Microsoft that runs on the PalmOS. I am not sure of any
open source projects such as http://www.mono-project.com that target .NET
Compact Framework.

Pocket PC's have had a majority of the PDA market share for some time now.
Ands it continuing to get stronger. Originally way back this was not the case
because Windows CE was so flakey and hard to setup. For these reasons big
players like Sony starting working with Palm and rolling out there Clie
product range with PalmOS.

Here are some resources that a fellow developer recently asked me for which
should get you started:

http://samples.gotdotnet.com/quickstart/CompactFramework/ - Very good for
the beginner – has basic examples in VB.NET and C# on getting started with
..NET Compact Framework

http://www.pocketpcdn.com/ - Pocket PC developers Network – very good site
with regular updated reports on the latest stuff available to programmers.

http://msdn.microsoft.com/smartclient/understanding/netcf/FAQ/default.aspx -
If you have a problem that you just can’t figure out, see here, generally it
will contain an answer – v.good.

http://www.opennetcf.org – Fantastic open source project extension to the
..NET Compact Framework. Contains many controls not available in the .NETCF.
Latest version is 1.4.

http://www.develop.com/compactframework/ - Develop Mentor – this site is ok
for some tutorials.

Good luck with your project!

Cheers
Simon.
 
S

sarah.blow

a) Is my assumption that using 2003 .net ( or even the 2005 beta .net )
will allow me to 'easily' program a pocket PC based PDA

You will find programming for PPC easier using the 2005 version of VS.
The support for PDA/ Mobile device development is a lot better and the
emulators are far superior. The later the Beta release the more stable
the platform, however if you can manage to get hold of a release verion
of the software, (maybe by going to the MS launch of VS05) then I would
highly recommend it.

SQLMobile is better than SQL Server CE 2.0 and you will be better off
with either this or SQLite for database access on a PDA.

b) Can the application wake up every so often to alert the user? I'm
thinking that for power management reason it would have to power
down
for a while. Maybe PDAs can run for a week with out having to shut
down. I expect a weeks is about the time lapse between data dumps.

You can use some of the new components of the CF 2.0 to alert on
specific events without using PInvoke :) It was a bit of a nightmare
with CF1.0!

c) Since this application is the only thing that needs to run on this
PDA, what is the least expensive model that I should purchase. (
This
project might need up to 80 PDAs )

I would suggest not buying a device if it is for a final dissertation.
The emulators in VS 2005 should provide adequate demonstration support.
If it is for a commercial project I would suggest looking at the newer
devices coming out at the moment with Windows Mobile 2005 as this has
the .Net CF 2.0 already on it and therefore reduces issues with
upgrading the CF.

d) Should I consider other PDAs and Oss like Palm? Would this result
in
significant hardware/software costs reductions.

If you want to consider Palm you are likely to end up programming in
Java rather than C# and you will struggle with low level device driver
support far more than on the MS based OS. You will also find that Palm
and MS have recently agreed to bring out Palm devices on the MS OS...
http://blogs.msdn.com/windowsmobile/archive/2005/09/27/474536.aspx

Mono does not yet support device development as they are struggling
with User Interface issues for the PDA's.

Best of Luck
Sarah
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top