7 ms·
IMHO, this is because the people writting GUI's these days are mostly incompetent, or hamstrung by "web" technologies. Early GUI's didn't have the problem you
by StillBored 4y ago
IMHO, this is because the people writting GUI's these days are mostly incompetent, or hamstrung by "web" technologies.
Early GUI's didn't have the problem you describe because they were designed as discovery mechanisms to the underlying function. AKA, the idea was that after clicking File->Save a dozen times you would remember the keyboard accelerators displayed on the right hand side of the menu. Or if nothing else, Remember that the F in File was underlined along with the "S" in Save (or whatever). Which would lead people to just press ctrl-s, or Alt-F, S. Then part of testing was making sure that that the tab key moved appropriately from field to field,etc.
I remember in the 1990's spending a fair amount of time doing keyboard optimization in a "reporting" application I wrote (which also had an early touchscreen) for use by people who's main job wasn't using a computer. Then we would have "training" classes and watch how they learned to use it.
So, much of this has been lost with modern "GUI's", even the OS vendors which should have been keeping their human interface guidelines updated, did stupid things like _HIDE_ the accelerator keys in windows if the user wasn't pressing the Alt key. Which destroys discoverability, because now users don't have the shortcut in their face. Nevermind the recent crazy nonsense where links and buttons are basically the same thing, sometimes triggering crazy behaviors like context menus and the like. Or just designing UI's where its impossible to know if something is actually a button because the link text is the same color as the rest of the text on the screen..
- conductr 4y agoIt's also because it's enterprise software. Which actually isn't software, it's more of a platform. You have to do so much implementation detail that the GUI is just the result of some form-builder type module. Everything I've ever encountered that was enterprise software, felt like it's GUI was not made by humans at all. I don't actually know how they get built but they're almost never optimized for humans or the usage they're meant to benefit.
- badpun 4y agoNobody wants to pay for better GUIs in enterprise software, so no vendor puts any attention into them. An Enterprise Architect explicitly explained to me (when I was raising a point of choosing a software package that had much better UI) that good UX is a small factor and company (a bank in that case) would rather buy cheaper software and just have its workers suffer more, because it's deemed more cost-effective.
- scarface74 4y agoThe definition of enterprise software is “the customer is not the user”. You don’t have to make the user happy, just the CxO.
- bombcar 4y agoAnd this is why the most polished part of most enterprise software packages is the dashboard/reporting function, the only part the C-levels might actually touch themselves.
- asvitkine 4y agoWouldn't productivity from better UI be something measurable that can be then advertised by vendors and extrapolated into savings for the customer? I feel like that could be a pretty compelling selling point to the CxOs.
- scarface74 4y agoHow do you measure how much MS Teams sucks compared to Slack? All the CTO knows is that they have an enterprise license for Office along with Teams and the salesperson they talked to showed them how great it integrates with the rest of the suite. In the EHR space, all the CMO (chief medical officer) cares about is it helps keep them in compliance. Why should they care if it’s hard for their office staff to use?
- deleted 4y ago[deleted]
- twobitshifter 4y agoThis is true, look at time collection software or just about anything written with SAP.
- jimbokun 4y agoMy company used UX as a competitive differentiator for Enterprise Software in the healthcare sector. It's so neglected by most software development companies, we were able to get the doctors as our champions to convince the bean counters to consider our products.
- StillBored 4y agoI've not done that kind of SW in a long time, and never with someone else's platform. But that said, the reporting application I was describing above was a platform in the same sense. It was largely an engine for generating the forms being filled out by the end users. Which is why it there was so much effort doing usability stuff, because the underlying form descriptions had to have tons of optimization flags for doing things like list sorting common items to the top N items of drop-downs, or moving fields around in the form to match the ways the users thought about filling out the forms. So there were two sides, the engine optimizations to assure things like tab orders on a form, and the was the actually writing the form descriptions. In the first couple organizations that adopted it I wrote the forms and the engine in parallel adding feature flags/controls as needed to support the desired UI outcomes. Later after I quit, the lady who wrote much of the RFP responses started writing the actual form descriptions because it was just as easy as drawing them out in the (visio?) plugin she was using with MS word and doing screen captures for the RFP. Then I guess because she knew how to do it, was doing the "tuning" as well.
- mschuster91 4y ago> IMHO, this is because the people writting GUI's these days are mostly incompetent, or hamstrung by "web" technologies. The latter is definitely not the problem. Even the Twitter re-design from a couple years back still supports all the old hotkeys. All it takes to at least support a tab-based workflow is using the "tabindex" property if your form isn't logically laid out already, and the rest can be done by capturing hotkeys. Even multimedia content can be operated using hotkeys. Youtube is a good example. There's no excuse but laziness and incompetence IMO. [1] https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex https://developer.mozilla.org/en-US/docs/Web/HTML/Global_att...
- StillBored 4y agoIts not always just about tabindex. For example it might be about understanding that there are multiple ways to fill out a form that makes sense. Then hiding/showing pieces as needed and/or providing hotkeys to jump from field 1 to field 5 because the user doesn't want to fill out 2,3,4 because they are optional. Its about keystroke optimization. Sure they can press tab 3 times, or they can just press ctrl-5 (or whatever) to get there. If you watch people use the sabre command line interface (the one from the 1970s?), you can see some of what i'm talking about when people are just filling out the forms with the submission line, its less using the GUI and more just knowing some sequence of keystrokes that results in an action being taken. AKA its possible to do both, without having the user wear out the tab key, or grabbing the mouse all the time.
- ficklepickle 4y agoI think it depends a lot on how it is used. In the case of sabre, that is somebody's job. They use that interface everyday so the user needs to be able to use the interface efficiently and is willing to learn the shortcuts. A sign up form that a given user will only use once in their lifetime is another matter. It needs to be simple lest the user abandons the process. Most users in that case are not willing to learn keyboard shortcuts, tabbing over optional fields probably makes more sense here.
- ivlad 4y ago
- ddoolin 4y agoI agree with you. Although I don't think it's incompetence so much as laziness. Not just "too lazy to make a good UI" but "too lazy to find out what makes a UI good." I've seen so many coworkers happy to slap some basic form together and expect that to be good enough. I'm constantly writing UI for sports teams who do not at all like to waste time with these kind of fiddly UI elements and flows. Most of them would likely stick to Excel if our solutions are more cumbersome (which is a high bar to meet/beat, but rightfully so). They need to be able to easily get to data and relevant, connected pieces of data, quickly enter data into relatively complex forms, and have it all be clear, reliable, and fault-tolerant. This means making some tradeoffs, particularly around what is considered modern UI aesthetics, and doing things most UI developers don't need to do such as automating little things, adding hotkeys, etc.
- gonzo41 4y agoSo what you're saying is HTML5 and server side rendering should be the go to before any client side junk.
- blooalien 4y agoI dunno if they are saying that, but I wholeheartedly endorse this idea. Add the "client side junk" (fancy Javascript stuff, etc.) as enhancement on top for those who want it after the required functionality is being properly and reliably served by the "core technologies". Serve the need properly first, then make it "nice".
- Godel_unicode 4y agoThe problem is that people make the decision about what to use as inexpert users and that pretty GUI with all the space and Next buttons looks so easy to use to them. By the time they realize they didn’t actually want it, it’s too late. This is the reason people stick with things like Excel, it’s easy to transition up the sophistication ladder.
- 4y ago
- api 4y agoGUIs have really profoundly regressed. Go ready any UI design book from the 80s or 90s. As you say the web is a culprit but so is attempting to shoehorn mobile designs into desktop.
- worldsayshi 4y agoI suppose one way to save the situation would be to build libraries that allowed you to easily build tuis/efficient guis that interact with open-api or graphql endpoints? If there only was a way to encode the workflow in addition to just the apis it could almost be generated.
- sippeangelo 4y agoCould you recommend some well acclaimed older UI design books? I’m interested to learn what we’ve lost!
- jdpigeon 4y agoThe Humane Interface by Jef Raskin
- hasperdi 4y agoThis is nostalgia, you're remembering things as better than they were. Back then there were so many bad UI in software http://hallofshame.gp.co.at/shame.htm http://hallofshame.gp.co.at/shame.htm
- StillBored 4y agoYes, there were plenty of bad UI's and they got called out on sites like that because of it. If you read some of those "bloopers" you realize that the functionality the guy is complaining about are pretty much the default broken behavior these days. For example: applications that don't honor system colors. With some OS's you can't even have fine grained control over those defaults anymore. Dark modes have brought some of it back, so its better now than 5 years ago, but still worse than 20 years ago. But people pretend that having a dark/light switch is the same thing as being able to customize the color of just about every layer of the UI and have the vast majority of the applications honor it.
- deadbunny 4y agoIn my experience the rise of GUIs over TUIs they lost the command buffering. If you knew what you were doing with a well designed TUI you could hit a sequence of keys that would be buffered and "replayed" as the next screen(s) loaded. Hit a sequence of commands in a GUI and they'll just get lost after the first one as the app/website loads.
- orangepurple 4y agoAmen. I talked to some guys in their 20s in the oil and gas industry in Houston and they preferred using the old TUI systems because of this exact reason.
- SanjayMehta 4y agoThe App Library feature is underrated. A clean screen and search is just so much better than having to scroll through page after page of icons.
- sn41 4y agoOn a related note: the same is true for Keyboard Macros in Emacs, Vim etc. I often send a bunch of related, but each slightly different from the others, using Emacs keyboard macros and gnus. Felt great the first time I discovered it, saved perhaps 3 hours I would have spent writing and debugging a script.
- int_19h 4y agoWhat you describe is the natural outcome of having a single message loop with synchronous handlers, and describes e.g. Win32 just as well - a sequence of keys would simply end up as the corresponding sequence of window messages in the queue, and processed in order. Where we partially lost that is when UX started to get async. It's not fundamentally incompatible with well-ordered input messages, but in practice, people who write async code all too often forget that it's async all the way (and not just for their favorite scenario). And so you get travesties such as textboxes that let you type text into them, and then erase all that when the app or the page is "fully loaded".
- ryzvonusef 4y agoExcuse me, what is TUI?
- hnick 4y agoI feel like the push to make software accessible (in a new-user, not disability, context) and intuitive has made complexity the enemy. Instead of having software that grows with the user's capability, features are hidden from the top layer of interactivity or just cut entirely. I was at the post office here in Australia a few years ago and saw the screen. It was one of those DOS-era full screen red and blue text interfaces. She was flying through hotkeys and getting things done. People can learn, so much software treats them as infants. And you know there's definitely someone looking at replacing that software with a modern GUI.
- worthless-trash 4y agoFor future reference (and anyone following along later), that is an "ncurses" terminal application. You should see the customized JBHIFI terminal + keyboard.
- fragmede 4y agowhat are those? searching for JBHIFI terminal only brings up a store in Australia of that name selling square POS terminals. Bloomberg terminals also have a custom keyboard and are essentially a terminal program.
- hnick 4y agoYeah JB Hi-Fi is a local retailer in Aus (guessing it's like a Best Buy but a strong focus on music CDs originally), it's probably a reference to the software the staff uses. Haven't had a chance to look over their shoulder at that one.
- happymellon 4y agoSo should we be doing demos in Bash, with an ncurses or gum workflow before going back to write the proper system in C?
- worthless-trash 4y ago
- rhaway84773 4y agoI think it’s less about the design being bad and more about simplicity as a goal overriding everything else. So learning an interface is frowned upon. Every interface must be designed as if the user has never seen it before. Which is ok, as long as there’s also an alternative path which may take time and effort to learn but leads to increased efficiency and productivity. Unfortunately, that alternate path takes a lot of effort. And worse, it leads to very few extra sales. The company which puts in the effort to build a complex but efficient workflow in addition to the initial easy workflow will get beat in the market by competitors who only focus on the easy workflow that looks great in demos leading to the C-suiters to buy it. The best example is the pioneer of both these trends. Apple. It used to be that Apple insisted on a single button mouse so the primary interface was extremely easy to use. Yet, it spent a lot of effort including keyboard shortcuts, which were prominently displayed, everywhere. Unlike Windows, which basically only had Ctrl/Alt modifier keys, Apple has had the Ctrl/CMD/Opt modifier keys as integral parts for a very long time, encouraging those shortcuts. Apple also put s lot of effort to make their, and 3rd party applications easily scriptable (the choice of AppleScript however always held this back). The most MS did was VBA for Office. But once Apple entered the iEra, it realized it didn’t need any of this to sell products anymore. The massive lag in supporting basic keyboard shortcuts on the iPad when using a keyboard is one of the strongest evidence for this.
- int_19h 4y agoFor Microsoft stuff in that time period, the scripting was meant to be done via OLE Automation (VBA is really just a scripting language with OLE Automation as the underlying object model). And it was much more pervasive than Office - remember the time when Microsoft products were all "Active ..."? Third-party apps were encouraged to do that as well, although few did.
- int_19h 4y agoOne other thing about the 90s data entry TUIs - we had very good tools that were specifically optimized for that, both in terms of ease of use for the developer, and in terms of efficiency for the end user of the resulting app. Remember dBase, Clipper, FoxPro etc?
- happymellon 4y ago> IMHO, this is because the people writting GUI's these days are mostly incompetent, or hamstrung by "web" technologies. Completely agree with all of this. Adding that it's not even web technologies that can't be used. My work Mac had an issue with a Bluetooth mouse, removing and adding a Bluetooth device with the keyboard is basically impossible using tab as nothing gets highlighted to show you switched to it and some of the crucial parts don't get toggled through. Modern GUIs are absolutely not fit for purpose.
- secretsatan 4y agoHaving worked on enterprise systems, it's not that the developers are always incompetent, it's more that everything is top down designed by committee. Nothing can be harmonized as everyone wants their workflow in there, each one slightly different, there's political infighting, jobsworths, people scared to lose their jobs, all under a strict budget and deadlines to meet. No one knows what they really want till the software starts getting written and someone finds out they can't do their job, then come change requests (made a lot of money off of them). You kind of just get numb to it all.
- Gravityloss 4y agoThink how bad it's going to get when UX designers have only used phones and tablets.