Smartphone newbie after advice

Wombleuk

Posted 08 May 2008 - 10:30 AM

Wombleuk

Enthusiast

Members

212 posts

Devices:V1415

Hi,
I'm just starting into mobile programming and have a basic application that I want to write.

The application I have in mind is this
1. a simple form to record a task, a start and end time.
2. the ability to store this data on the device
3. the ability to send/update this information to a server.
4. the ability to update the list of tasks from the server.

That's it.
The basic app is, I think, relatively straightforward, but I need advice on the following;
How best to store the data on the device - text, xml, Database (oracle, MS, other).
How to enable the reliable and safe exchange of data between multiple devices and server.
Anything I haven't thought of.

I shall be adding more to the app, as time goes by, but I think this foundation will be crucial to stability and future development.

chucky.egg

Posted 08 May 2008 - 10:11 PM

Assuming you dont want to use Outlook Tasks (which can sync with an Exchange server) I'd probably go for XML
Newer devices (WM5 onwards I think) have greater database options, but for such a simple system I'd just go for small files

Some background on the devices, infrastructure, number of users, locations for use etc would help

Wombleuk

Posted 09 May 2008 - 11:32 AM

Wombleuk

Enthusiast

Members

212 posts

Devices:V1415

Assuming you dont want to use Outlook Tasks (which can sync with an Exchange server) I'd probably go for XMLNewer devices (WM5 onwards I think) have greater database options, but for such a simple system I'd just go for small files

Some background on the devices, infrastructure, number of users, locations for use etc would help

Yes, I was heading towards the XML route.

Not sure on the devices yet - probably WM5/6 smartphones.Users - in the tensLocations - various, but usually in towns.

I'd like the data to be as up to date as possible, so I'm guesing Exchange server is out ? Won't that need AS ?(How extensible is Pocket Outlook anyway ?)

PaulOBrien

Posted 09 May 2008 - 11:38 AM

The way i'd probably attack this for a quick and easy solution would be as follows (and your approach might differ based on what you have available)...

- .net CF client, in CF2.0 or above to get good XML functionality
- Send to / Receive from server in XML
- Server written in PHP, reading MySQL DB and spitting out XML

Reasons...

- XML is easy to parse and interpret in C# or VB.net and PHP
- XML is easy to ping in the POST field of a HTTP request
- Getting a PHP / MySQL server is easy
- A MySQL backend gives you scalability, performance and once again, is easy to use

chucky.egg

Posted 09 May 2008 - 11:45 AM

When you say "smartphones" do you mean non-touch screen devices?
It might make a difference to what facilities are available to you (for example, I'm told that you can't have check-boxes in TreeView controls on WM Standard)

How often will those users be creating/updating tasks? If it's a "job sheet" type application, where each task is generally only updated once of twice, and there are relatively few per day (say, 50 or so) the data transfer is quite small. If you're talking about more tasks, or more frequent updates, then you might be better off with a database approach - only updating the fields that have changed, rather than sending the whole XML back and forth each time.

Working in areas where there is reasonable data coverage might make it viable to do a web-based app. Otherwise you want the data on the device, because you can't be sure the user can get to it.

Sync'ing WM5/6 over the air to an Exchange server is easy, and takes care (to some extent) of the error control. Updates to Outlook Tasks on the device appear to be sent almost instantly. Updates performed on a PC sync less frequently (1+ mins is common IME), and the device wont update until the PC syncs.

AFAIK you can't extend Pocket Outlook, but you can "re-purpose" it. I wrote an app that just puts a new front end on Pocket Outlook Tasks, and allows nesting. It doesn't add features to Outlook, but it uses the existing features to add functionality.

Wombleuk

Posted 10 May 2008 - 08:40 AM

Paul
thanks. That, as you say, seems to be quite a quick (and cheap) solution.
I assume that each time I post to the server, I do a request at the same time and download any new data?

Chucky
thanks for the advice. Not much data will be held on the device and it's not something the users will be interested in (or should get at), so a local DB is probably OTT.
The exchange server, I think will be more expensive both in purchase and running costs - something that I have to bear in mind.

At the moment, I just need to set up a prototype as proof of concept, before embarking on a fully-blown app.