Best Choice for building a Mobile/Tablet Data Entry App to be used in locations with spotty wireless.

gdinunzio
gdinunzio used Ask the Experts™
on
Ok here is my dilemma...

I need to replace an ancient application that gets preliminary demographic data from clients.

The users have a mix of Windows 8.1 tablets, laptops, and a few desktops.  I am not sure of the OS for the laptops and desktops but I think they are Windows 7 at a minimum.

The app will need to create a CSV file for upload.  In the future it will upload the data in a more modern way, probably to a  web service that consumes XML or JSON.  

The locations that these tablets/laptops are used have unreliable wireless (hence the occasional desktop).  Connectivity has been ameliorated, but we have to assume that its is not fail proof.

We are a .NET shop but open to using open source options.  I have had a couple of ideas on how to build this app...

An ASP.NET MVC web app using HTML5, CSS3, JavaScript, and Angular.  This would be a nice mix of new technologies but the main problem here is how to handle the possibility of being offline.  I have seen some approaches as to how to deal with losing connectivity while you are gathering data or before you have a chance to upload it (or create the CSV file in our case), but nothing with respect to what to do if you start a new client workup with no connectivity...
A Universal App for Windows 10.  This would allow me to create one clean application that uses HTML5, CSS3 & and JavaScript...This seems (not completely sure) to deal with the problem of connectivity better, but it also seems that every client needs to be Windows 10.  I would have to see about all the upgrades.  And the preliminary work I have done in VS with respect to Universal apps seems to make them a total PITA...
A classic WinForms app using C#.  This seems to answer all of the questions but I am a little unwilling to use it.  Is there a better way of doing this?
A Windows Mobile App.  Is this even possible for a tablet that runs full windows, or for that matter laptops and desktops...

Thoughts?  Suggestions?  Comments about my grammar or spelling?

TIA
GL
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
All-around developer
Commented:
A classic WinForms app using C#.  This seems to answer all of the questions but I am a little unwilling to use it.  Is there a better way of doing this?

Please explain why you are unwilling. This is the most logical solution because it can run on any of the devices and doesn't need internet to operate. You could even write it using WPF instead of WinForms.

What you are describing is what is called a "briefcase" application. The app stores data in its own DB and then when connectivity is arranged, it transmits its updates to the home DB.

Remember, you stated that internet connectivity is spotty so any web-based solution would be out of the question.

Author

Commented:
Eddie,

I got some more feedback from my network guys...apparently of the 65 devices in the field (tablets, laptops, and desktops) 45 of them are desktops.  Just thought I would mention that.

Yes, I agree that its becoming pretty clear that WinForms is the scenario that makes the most sense.
I am unwilling because i am eager to use some new technology to solve this.  Truth be told i am very competent in class winforms programming so i was eager to get some other types of development projects under my belt.  I also want to stop having to deploy updates and fixes (altough that is pretty straight forward)

Thanks
GL
Eddie ShipmanAll-around developer

Commented:
Using WPF is a one-up on the new technology part and it makes it easier to update/upgrade.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial