views:

42

answers:

3

Looking for opinions on this, we're working on a project that is essentially a data entry system for a production line. Heavy data input by users who normally work in Excel or other thick client data systems.

We've been told (as a consequence) that we have to develop this as a thick client using .NET. Our argument was to develop as a web app, as it resolves a lot of issues and would be easier to write and maintain.

Their argument against the web is that (supposedly) the web is not ready yet for a heavy duty data entry system, and that the web in a browser does not offer the speed, responsiveness, and fluid experience for the end-user that a thick client can (citing things such as drag and drop, rapid auto-entry and data navigation, etc.)

Personally, I think that with good form design and JQuery/AJAX, a web app could do everything a thick client does just as well, and they just don't know what they're talking about.

The irony is that a thick client has to go to a lot more effort to manage the deployment and connectivity back to the central data server than a web app would need to do, so in terms of speed I would expect a web app to be faster.

What are the thoughts of those out there? Are there any technologies currently in production use that modern data entry systems are being developed as web apps in?

Appreciate any feedback.

Regards, Rob.

+2  A: 

I think that with good form design and JQuery/AJAX, a web app could do everything a thick client does just as well

You would also need a fast/uncongested network, server, and database.

Heavy data input by users who normally work in Excel

What would worry me would be redeveloping, in your web application, the functionality which end-users are already accustomed to (e.g. whatever is already implemented in Excel).

a lot more effort to manage the deployment and connectivity

There are technologies to minimize (i.e. automate) deployment effort.

in terms of speed I would expect a web app to be faster

No, because you could code your thick client to talk to the server just as much or as little as a web app does.

ChrisW
Actually, a thick client can use much less bandwidth because it doesn't have to send presentation data back and forth because it is already coded in the app.
tster
A: 

If they're used to Excel and heavy data entry they're probably used to using shortcut keys and tabbing around, which is easy to add to a WinForms app, but I don't think it's very easy to do in web apps. I can't think of any webapp I've seen that is easy to use from a keyboard. It's also easier to control the whole experience from a desktop app.

I'd say that it depends on if you want to make the users or the administrators happy. The admins would probably prefer a webapp which would probably make installations, upgrades and maintenance easier, but the users would probably prefer a (well-written) desktop app that gives them the rich user interface they're used to.

ho1
A: 

I had to build web-based a pension remediation system to allow a pension fund to pay out 30m within a short period. It was extremely data-enty/data-query intensive, involved a significant number of records, and browsing for historical data decades into the past.

The end users were quite happy with the resulting app, and the firm thought it was the best project they ever executed. I think the secret is to hold a good JAD session and build the UI that the users actually need. Sometimes the management is the wrong place to start for designing the app, you need to start with the actual clerk doing the work. Inculcating this into the mind of the management is a feat, but once you can convince them that all they need is to focus on the reports, not the data entry, you've won most of the battle.

My experience with the actual person doing the data entry is that they honestly don't care about the technology, what they dread is yet another "improved" system that actually drags down their efficiency. If they can be convinced that the software that we build will make them work faster and better, they will be on board.

Of course, we just need to ensure that we truly understand what the end user really wants in the UI, and the system overall.

code4life
Absolutely, and I keep asking for a planning session with the end-users, so I can understand what they do now, and how they would like to do things, in order to understand how to present data and control the flow through the app.The sad thing is we probably don't need any sophisticated system, we could probably make this work with Excel/Access and some VBA :)
Rob