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

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?

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Eddie ShipmanAll-around developerCommented:
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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gdinunzioAuthor Commented:

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)

Eddie ShipmanAll-around developerCommented:
Using WPF is a one-up on the new technology part and it makes it easier to update/upgrade.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET App Servers

From novice to tech pro — start learning today.