5 ms·
The webification of Desktop app GUI’s is the result of a total disregard for usability .. from a user’s point-of-view (not a developer’s point-of-view of what u
by bernardv 5y ago
The webification of Desktop app GUI’s is the result of a total disregard for usability .. from a user’s point-of-view (not a developer’s point-of-view of what users >should< want). Most young devs I speak to stare blankly at me when I enquire about GUI standards and usability best-practices. They are now foreign concepts to a lot of developers.
As a user, I don’t care about the dev’s challenge of supporting multiple OS’s. These best experience comes when I load up a new application and can intuitively navigate it without the mental overload required trying to decipher a GUI layout which doesn’t adhere to any standard.
Web frameworks are great, but have their limitations.
The blame is not so much with the new generations of devs, but with the likes of Microsoft and Apple who have ditched standards and are encouraging the Desktop to turn into the wild-west. Or something like that.
- manigandham 5y agoI agree that there's a lot of form-over-function and bad usability decisions in apps but that's completely separate from the underlying frameworks and distribution technology. You can have great webapps and terrible native apps. Also when it comes to usability, users prefer having a consistent UI over a "native" UI, especially as the number of devices have exploded between laptops, phones and tablets. Slack looks and works the same everywhere, and that's one of it's advantages.
- bernardv 5y agoTrue, the user doesn’t necessarily know a ‘native’ UI from a familiar/consistent UI. The two major OS’s used to be the promoters of well thought-out standards and consistency. The two went hand-in-hand.
- kitsunesoba 5y ago> I agree that there's a lot of form-over-function and bad usability decisions in apps but that's completely separate from the underlying frameworks and distribution technology. You can have great webapps and terrible native apps. I may be wrong in this but I feel that lot of the push for Electron and the like is for the styling capabilities it brings compared to native toolkits. In the case of many Electron apps, especially simpler ones, maintaining something in Qt or even WPF/AppKit/etc wouldn't be a challenge, as long as the dev is willing to use standard widgets. An inordinate amount of energy and resources has been spent on turning apps into an arm of branding/marketing. > Also when it comes to usability, users prefer having a consistent UI over a "native" UI, especially as the number of devices have exploded between laptops, phones and tablets. Slack looks and works the same everywhere, and that's one of it's advantages. Slack is a bit of a funny example, that's one app where I'd greatly prefer to run the iOS app on desktop if I could. The web/electron version is a mess.
- pseudalopex 5y agoDesktop, phone, and tablet apps don't really work the same anyway. Except when they're just scaled up. But everyone agrees that's bad. I see few people use the same apps on more than 1 desktop and 1 mobile OS. They use Windows and couldn't care less what the macOS app looks like. Or vice versa. It's about branding usually in my experience. Not what users want.
- manigandham 5y agoIt's not always the same user but a team or entire organization using the same tools, and it helps to unify the experience. Contrast that with something like Outlook which has a dozen different UIs depending on app or device or website. It causes way more friction than just having the same workflow everywhere.
- sciprojguy 5y agoYou make it sound like users are switching among Windows, Linux, macOS, Android and iOS all the time so the app UI has to have the lowest common denominator. By and large they're not and as such the native UI is the consistent UI: the apps launch the same way, you know how to get to settings or the trash can and the gestures all do pretty much the same thing to get the same result.
- uniqueid 5y agoMost of that is true (well, except for web frameworks bring great; I don't think anything about web development achieves greatness) but, where Apple is concerned, much of the problem is the short release cycle they moved to about a decade ago. It's not remotely worth it to me carefully to build a desktop app for a platform that I can't count on staying the same for more than a year. Actually, it's not even a question of whether it's worth it; in some cases, it's physically impossible for a solo-developer to develop a large app on the shifting sand that is MacOS.
- bernardv 5y agoYes, I understand that. The applications I’m thinking of are those that either have a longer shelf-life and/or are business applications. In Finance, for example, many important vendors have been rolling-out trading front-ends based on web frameworks (maybe Electron for all I know). They are absolutely terrible, again, because of the lack of standard UI usability rules. Combine that with very poor documentation, and non-existent training and it’s a disaster.
- uniqueid 5y agoI emphatically agree with that. My complaint is that it feels like a hopeless battle to try and write good native desktop software today. Every year the OS's APIs and UI change... that means weeks or months tweaking your project every year until you end-of-life your app.
- pseudalopex 5y agoI think you exaggerate. Some native apps I use were last updated 5 or 10 years ago.
- uniqueid 5y agoThe ability to launch an old Mac binary is different than the Xcode project you used to build it being healthy. A developer can't open a ten year project and just submit it to the app store. Most likely it won't even build.
- dccoolgai 5y ago> Most young devs I speak to stare blankly at me when I enquire about GUI standards and usability best-practices. They are now foreign concepts to a lot of developers. Was there ever really a time when this was de rigeur? I certainly feel it should be, but I've always felt alone having an intense interest in this as a dev.
- mixmastamyk 5y agoTrue but the old toolkits did most of that kind of thing for free. You had to do work to break conventions. With web you and your chosen set of libs have to work to meet them. One model is better. ;-)
- feifan 5y agoThere are dozens of us![0] I can't really speak to the first question, but I know of a small handful of people (who are developers or software-adjacent) who are deeply familiar with nuanced GUI details and can consciously talk about them. Plausibly, many people have historically not noticed many of these details, but got them for free when most software was built with native controls … and because they were rarely noticed, they rarely get explicitly specced for UIs built on less-robust primitives. [^0]: https://www.reddit.com/r/OutOfTheLoop/comments/36twsr/what_is_the_origin_of_the_there_are_literally/ https://www.reddit.com/r/OutOfTheLoop/comments/36twsr/what_i...
- maximus-decimus 5y ago> As a user, I don’t care about the dev’s challenge of supporting multiple OS’s As a user I do care about that. A big selling point of vscode versus emacs for me is that it works "natively" on both Windows and Linux. Finally, I don't need to run a VM just to run emacs. I tried all the other alternatives like Msys2 and cygwin, but they're like their own circle of hell as soon as you need to run executables and all the extensions assume you're on Linux.
- pseudalopex 5y agoThey didn't say they don't care about results. The VS Code developers worked to make it what it is. Sublime Text shows it isn't about the technology. Emacs is just from a culture where non Unix and proprietary operating systems are 2nd class.
- maximus-decimus 5y agoI would argue using Electron encourages a culture of making your software cross-platform. I am a firm believer in making good things easy and bad things hard.
- pjmlp 5y agoI wonder how I used to run Emacs on Windows NT/2000 without a VM.
- orev 5y agoOn principle I agree that GUI consistency is something that should be striven for, however when I look at the success of the web and apps, all of which have extremely non-uniform designs, it seems like the users really just don’t care and seem to be able to adapt to anything. That’s not to say they are power users; most users seem to be interested only in the bare minimum needed to do what they want, which doesn’t require mastery. Overall, it seems like the success of the web and apps has mostly overturned the design principles that so many hold dear, and the world isn’t burning because of it.
- pseudalopex 5y agoHow often do users have a choice really? I've seen inconsistency, churn, and simplistic design turn people who used to be power users into helpless feeling novices. We can say something has been lost even if the world isn't literally on fire.
- native_samples 5y agoUsers can adapt to anything because they're flexible and smart. Humans can put up with a lot of problematic things and find their way through anyway, but that's not a great justification for doing so. I think if you want to make a user-centric argument about this, it's that users like web apps because although the UIs end up primitive and inconsistent, the benefits are worth it, benefits like: - "Instant on" apps without having to manage the computers resources via installation and uninstallation. - Hassle-free updates that don't bug them all the time due to perverse/skewed value systems amongst developers, who think users deeply care about whether to accept an update or not. - Not having to worry about malware - Not having to worry about backups - Not having to worry about your lethargic and incompetent IT department to roll things out etc etc. Lots of advantages to web apps, none of which are really intrinsic to the web platform itself and all of which could be implemented also in desktop apps. As in fact, Chrome tries hard to do. But I don't think the proliferation of web apps is actually due to end-user focused arguments. I think it's mostly about developer convenience and a lot of cultural/ideological assumptions. Web apps are piracy free and naturally justify a subscription model. People have to learn HTML+JS at some point to make websites, so at that point it makes sense to double down on those skills and keep iterating them to learn to make apps as well. You can write cross platform software with Qt or Java but for the longest time (not any more?) people associated the web with openness, being free-as-in-beer, decentralisation, not being controlled by any one company etc. A lot of wholesome stuff. On mobile that's probably still true. On the desktop it's no longer quite so true, if it ever was, but lots of developers really wanted to make a web apps for social reasons as much as technical reasons.
- sciprojguy 5y agoIt's kind of odd that you mention Apple as a company that has "ditched standards", considering it's got very public, detailed design standards and has had them for a very long time. https://developer.apple.com/design/human-interface-guidelines/ https://developer.apple.com/design/human-interface-guideline... The web is where you really get that kind of grab-bag of mismatching (or absent) UX affordances. Remember when clickable links were all blue underline text? I do. Those days are gone, and for way too many pages the only way to tell if something is clickable or not is to move the mouse over it and see if it gives you the finger.
- jenkstom 5y agoThis may be beyond some people's comprehension, but where I work we're receiving huge amounts of push-back trying to move from green screen to Windows GUI apps. Yes, really. We tried explaining this to a "modern" developer and it's like we were speaking a different language. They couldn't get it, at all. It works in a very different - and very keyboard-centric - way. Having to touch a mouse slows users down dramatically, and so they keep closing our "pretty" app and opening up another terminal session. Can you imagine using web apps without touching the mouse at all? Or even most GUI apps? And the speed... the time it takes to navigate from one screen to the next is milliseconds. They'll be typing three or four screens in advance. And they'll have four to six terminal sessions open. There's no GUI app that comes close, and I'm not sure it's even possible. So yes. Web as desktop is bad. Really bad. Backwards. Unusable. Broken. And the people who work on it can't even understand the problem - that user efficiency and speed are REALLY IMPORTANT. Until "modern" devs understand that sometimes the front-end of choice is "ncurses", we're going to continue to have lots and lots of problems.