5 ms·
'Web apps' have had a fantastically valuable feature nearly never mentioned. If we make big changes in how a Web browser client interacts with a Web server, th
by NY_Entrepreneur 15y ago
'Web apps' have had a fantastically valuable feature nearly never mentioned. If we make big changes in how a Web browser client interacts with a Web server, then we risk getting rid of this fantastically valuable feature and seriously hurting our Web apps and the growth of the Web.
I believe that if we don't recognize the fantastically valuable feature, then the rush for 'richer' 'user interfaces' (UIs) and 'better' 'user experiences' (UXs) will get rid of this fantastically valuable feature.
Yes, UI/UX are IMPORTANT. Okay, I accept that.
BUT here's the fantastically valuable feature we just MUST retain: I explain the feature with two examples.
First Example -- Microsoft Word
While I can't speak for anyone else, I work hard to avoid using Microsoft Word. Several times I've used it, learned its UI well enough to get my work done, and rushed to f'get about Word and its UI.
Instead, for my high quality word whacking, I use D. Knuth's TeX that I find MUCH easier to use. Why easier? The documentation is rock solid, a jewel of software documentation. The software has a 'conceptual model' well explained in the documentation; with this conceptual model, it is fairly easy to understand what is going on. What TeX does is actually quite reliable and predictable and as explained in the documentation. Word is DIFFERENT.
I hate the Word UI/UX. For me, for each significant new usage, the UX is sometimes yelling and screaming in frustration. When I want to do something new to me, there's no solid documentation and no good 'conceptual model' for how Word works. So, I don't really know how it works. So, when I want to do something, I go around on the screen and left click, right click, double left click, double right click on everything in sight and see what happens. Commonly I type in something, get it as I want it, and then for no reason Word just throws away what I did. After a dozen times of such efforts throwing my work against the wall of Word to see what will stick, I start screaming. I HATE Word and all of its intended UI/UX.
Maybe if I got and read the documentation for how to write macros for Word it would make more sense, but as far as I know I would have to pay for that documentation. Besides, did I mention, I HATE, deeply, profoundly, bitterly hate and despise, Word?
My view is that it takes at least two weeks of full time work for someone to get good facility with Word.
Second Example -- 100 Million Web Sites and One Billion Users
As we all now know very well, there are something over 100 million Web sites on the Internet and about 1 billion users. And, nearly any user can use nearly any Web site in their language right away.
So, somehow Web apps save the two weeks of full time effort for each of 1 billion users for each of some hundreds of Web sites they might visit.
That is, HTML is SIMPLE, DIRT simple. Nearly all Web apps built with just dirt simple HTML have a fantastically valuable feature:
Nearly any one of 1 billion users can use the Web app right away.
The Web app UI/UX has this feature, and Word does not.
Why do Web apps have this feature? Because HTML is DIRT simple. Yes, commonly there is a round trip to the server for each little step in the user's work. Right. So, there's a minimum of subtle, dynamic, pop ups, pull-downs, roll-overs, drag and drops, hidden 'side effects', and big changes in the state of the user's work from small actions. Not much is hidden or mysterious. There is minimal need for documentation. The UI/UX is NOT 'rich' -- thankfully.
To layout a page, mostly use just tables and/or divisions and nothing more complicated. So, the screen presented to the user is relatively simple, easy to understand, and much the same from one Web site to another. E.g., the designers of Word may have spent some thousands of person-hours designing each little part of each screen. The resulting complexity is forbidding -- huge BUMMER. With just simple HTML, it's just not practical to implement such complexity -- THANKFULLY.
With just simple HTML, for what we could let a user do, about all we got was (1) to follow a link, click on an image, (2) click on a button, (3) click on some radio buttons, (4) type into a text box, (4) move text to/from the system clipboard, (6) use the key TAB to move the cursor to the next text box, (7) hit the key ENTER in a text box. SIMPLE. Over 100 million Web sites have the 'controls' links, buttons, text boxes, etc.; all of these controls work very much the same on all the sites -- TERRIFIC. When a user clicked on some button, say, "Submit" or hit the key ENTER, the data the user entered was sent to the server, and the server responded. SIMPLE. Any user with any browser can use nearly any Web app right away. FANTASTIC.
Now, if we work at it, say, with much more powerful client side programming tools, then we will be able to build Web apps with a 'rich' UI/UX. We can have dynamic this, subtle that, automatic these other things, asynchronous who knows what, guess and anticipate what the user wants and do it for them as a 'favor', drag and drop, overlays, full motion, and on and on.
We can have rivers of functionality that are subtle, bug ridden, undocumented, not obvious, and, at each site, unique on all of the Web. BUMMER. E.g., I'm still screaming bloody murder at the whole theme of 'icons' because those little images are not English or any natural language, can't be spelled, pronounced, or looked up in a dictionary, and are documented usually at best poorly. Sickening. I HATE 'icons'.
Then, sorry guys, in practice, nearly all Web apps will (1) be much more expensive to develop, (2) will have many more security problems, (3) will be much less compatible with all the common browsers, (4) will usually become a total pain in the neck to learn to use, and (5) will lose the fantastically valuable feature of ease of use, right away, for any of one billion users.
Here's the truth: The UI should be simple, stay simple, dirt simple. The work on the server side might be fantastically complicated, but for the user the concepts of what they want, what data they enter, and what data they get back should remain SIMPLE.
As it is, HTML is so simple it's tough to mess up the UI. With much more powerful client side software tools, it will be tough NOT to mess up the UI.
Be careful about what you wish for because you might get it.
At least be very aware and careful with the fantastically valuable feature of Web apps built with simple HTML.
- cbs 15y ago>'Web apps' have had a fantastically valuable feature nearly never mentioned. If we make big changes in how a Web browser client interacts with a Web server, then we risk getting rid of this fantastically valuable feature and seriously hurting our Web apps and the growth of the Web. >I believe that if we don't recognize the fantastically valuable feature, then the rush for 'richer' 'user interfaces' (UIs) and 'better' 'user experiences' (UXs) will get rid of this fantastically valuable feature. >As it is, HTML is so simple it's tough to mess up the UI. With much more powerful client side software tools, it will be tough NOT to mess up the UI. I agree with where your post is going, but unfortunately we've already made all those mistakes, already lost all the niceties of the web. Our stateless, linked-document viewer is already dead. HTML isn't dirt simple anymore. For years a "web-app" has already has all those undesirable properties. We've made the browser environment complex. The hardest to use applications I have these days are webapps. And when it became complex we didn't give ourselves any of the niceties of native applications, so they're even more of a mess than native ones.
- NY_Entrepreneur 15y agoSure, it's possible to write some really bad Web apps. E.g., at my bank, they keep changing their Web site so that once each few months I have to click and click and click to look for where they have moved the page to let me download the PDF of my bank statement. Their 'navigation' is NOT clear. Yes, building a Web site can be as complicated as we please: I'm buiding one now, my first one, and I am surprised at how much there is to it. So far all the work is just routine, but in total there is a LOT to it. E.g., my main Web page where a user enters some data has 160,615 bytes of typing and may top 200,000 before the page is done. I see the page as 'simple', and I hope my users will, but not everything can be simple about 200,000 bytes of typing. Yes, at 50 characters per line, that would be 4000 lines or, at 50 lines per page, 80 pages printed out! Still, compared with a 'native' application, in practice HTML heavily constrains what a programmer can do with a user interface. So, an HTML interface is constrained to be relatively simple. My main point remains: In total, one billion Web users can use any of over 100 million Web sites right away. That's a BIGGIE. In the Web site I'm developing, I'm going with Microsoft and Visual Basic .NET,.NET, ASP.NET, and ADO.NET. Yes, ASP.NET writes some client side JavaScript for me. Fine with me. But so far I have yet to write a single line of JavaScript and intend to keep it that way! But if do a lot of client side programming in JavaScript or any more capable successor, then risk programmers having fewer constraints, user interfaces becoming more complicated or, just, unique to each Web site, ease of use of the Web for a billion users going into the toilet, and the Web growth being throttled. For my Web site, the user interface is SIMPLE. Yes, for each little thing a user does, there is a 'post back' and a 'round trip' to my server. Sure, something native could be 'snappy'. But I'm taking the approach, KISS. And, sure, each round trip lets my Web site put up a different collection of ads! For my most complicated Web page, what my server sends is less than 200,000 bits, and that can go to a user and be displayed VERY quickly. So, my site can appear to be nicely responsive. Some of what's going on deep inside my servers is complicated, but the user interface should be so simple that people who don't know English should be able to use an English language version of my site! I'm drooling over the fact that one billion Web users will find my site easy to use, if they want to use it! Net, I recommend that we keep the HTML Web UI SIMPLE.