I'm constantly explaining to junior devs how to use indexes and other performance features, but the basics of measure, test, measure seem to be lost on all of them. Where is the scientific method in CS these days?
What I think he is really saying is that data validation is better handled by traditional desktop apps a lot better than web apps.
Javascript was created specifically for the purpose of validating forms. I think it still does fine at that.
It does OK, but not as good as the server. Making it run the same validation code isn't trival - you've either got extra development upfront or extra maintenance of duplicated code later on.
In most web apps a user puts in info, presses next and then when something isn't right they be punted back to the same form with maybe a message explaining why.
Bad app, not bad platform. In my web apps, you will often be punted back (because I'm lazy and haven't finished it), but there will always be a message explaining why. And in the fields which you might have to try frequently, like username, it will do that validation in realtime.
But there's no reason you can't validate everything immediately. The main reason you see it done that way is it's more important to validate it on the server, so that's what gets done first. In far too many apps, desktop and web alike, it's done in the other order, so if you sniff the network traffic, you can do anything you want.
You can only sniff superglue once:x( The point here was the extra development time required to do the validation upfront. Yes once everyone has an AJAX framework and an SOA backend jimmied on top of their legacy apps this will be a bit easier.
since most are just glorified wizards, web apps quickly become a productivity bottleneck for advanced users.
Again, that's a symptom of "most" web apps, not a warning away from the platform as a whole.
For that matter, what kind of "advanced users" are we talking about here? A well designed web app will be RESTful, meaning it's trivial to develop a script that talks to it, or any kind of frontend you want. The savvier users might start developing and sharking Greasemonkey scripts. How, exactly, were you proposing to add scriptability to a desktop app?
This misses the point, I think they didn't mean technically advanced, just ones that can do their job & end up waiting for post responses, switching between keyboard and mouse and tabbing through unnecessary fields. Poor design is not unique to the web, but some consistent keyboard shortcuts aren't much to ask for - eg Enter for form submission anyone?
I try to do a time and motion study on every app I work on. Can you fill in a form fast using only keys or mouse with one hand? Are the mandatory fields first? Number of keystrokes/clicks required etc.
why bother with it in enterprise applications? A company can require the install of anything they want in their required configuration, so why not a rich client that follows UI standards?
...
I agree with the reply mostly here.
There are UI standards? Why didn't anyone tell me?
The biggest reason to use web apps is cost of course. Enterprise GUI apps charge per installed seat, intranet apps are often concurrent users.
Ease of use & installation are up there too, but these are all reasons for casual users: road warriors, bigwigs and other non-tech savvy people who aren't really interested in the application outside of how it can do some of the old paper-shuffling part of their job for them (80% of the users using 20% of the features). GUI apps are best for the back office staff who actually need to do lots of complex & varied office staff type stuff.
Smaller market, higher overheads - simple choice.
I'm constantly explaining to junior devs how to use indexes and other performance features, but the basics of measure, test, measure seem to be lost on all of them. Where is the scientific method in CS these days?
What I think he is really saying is that data validation is better handled by traditional desktop apps a lot better than web apps.
Javascript was created specifically for the purpose of validating forms. I think it still does fine at that.
It does OK, but not as good as the server. Making it run the same validation code isn't trival - you've either got extra development upfront or extra maintenance of duplicated code later on.
In most web apps a user puts in info, presses next and then when something isn't right they be punted back to the same form with maybe a message explaining why.
Bad app, not bad platform. In my web apps, you will often be punted back (because I'm lazy and haven't finished it), but there will always be a message explaining why. And in the fields which you might have to try frequently, like username, it will do that validation in realtime.
But there's no reason you can't validate everything immediately. The main reason you see it done that way is it's more important to validate it on the server, so that's what gets done first. In far too many apps, desktop and web alike, it's done in the other order, so if you sniff the network traffic, you can do anything you want.
You can only sniff superglue once :x( The point here was the extra development time required to do the validation upfront. Yes once everyone has an AJAX framework and an SOA backend jimmied on top of their legacy apps this will be a bit easier.
since most are just glorified wizards, web apps quickly become a productivity bottleneck for advanced users.
Again, that's a symptom of "most" web apps, not a warning away from the platform as a whole.
For that matter, what kind of "advanced users" are we talking about here? A well designed web app will be RESTful, meaning it's trivial to develop a script that talks to it, or any kind of frontend you want. The savvier users might start developing and sharking Greasemonkey scripts. How, exactly, were you proposing to add scriptability to a desktop app?
This misses the point, I think they didn't mean technically advanced, just ones that can do their job & end up waiting for post responses, switching between keyboard and mouse and tabbing through unnecessary fields. Poor design is not unique to the web, but some consistent keyboard shortcuts aren't much to ask for - eg Enter for form submission anyone? I try to do a time and motion study on every app I work on. Can you fill in a form fast using only keys or mouse with one hand? Are the mandatory fields first? Number of keystrokes/clicks required etc.
why bother with it in enterprise applications? A company can require the install of anything they want in their required configuration, so why not a rich client that follows UI standards?
...
I agree with the reply mostly here. There are UI standards? Why didn't anyone tell me? The biggest reason to use web apps is cost of course. Enterprise GUI apps charge per installed seat, intranet apps are often concurrent users. Ease of use & installation are up there too, but these are all reasons for casual users: road warriors, bigwigs and other non-tech savvy people who aren't really interested in the application outside of how it can do some of the old paper-shuffling part of their job for them (80% of the users using 20% of the features). GUI apps are best for the back office staff who actually need to do lots of complex & varied office staff type stuff. Smaller market, higher overheads - simple choice.