THANK YOU!
None of the current SaaS apps I use can come close to the experience of using softwares from that era.
Take a simple list view of a typical Windows/Mac software?
1. Command clicking selected multiple objects
2. Shift clicking selected a range.
3. Right clicking brought up selection actions.
4. Double clicking opened an object.
This pattern was followed in almost list views and there was no re-learning and surprises.
Now can you say the same about the list views of modern web apps?
Can you apply the same list selection experience across Google Drive and Microsoft OneDrive and Apple iCloud? Nope.
That's were we failed as an industry. We let a lot of designers run too wild with their ideas, to put it bluntly.
Maybe the list of docs in https://docs.google.com?
Best example: Gmail is one of the only webapps I'll ctrl click a few items at the top of the list, ctrl click a few in the middle, and then shift click to the bottom and it works exactly how I'd expect - everything stays selected and the shift+click selects from your previous click to the next item. I think it gets wonky if you change directions but I can't imagine how I'd expect ctrl+click item 1, 2, 9, 10, then shift click on 4 would work.
Having just checked, this is indeed what the file explorer on my desktop does, and I'm pretty sure windows file explorer does the same.
Animations may seem fine and fun the first time you encounter one, but when you think you'll have to suffer through it every time an action is taken, it becomes a whole different story.
Not to mention that with SaaS being more profitable than selling, a lot of apps also have backends, and webapp versions, which can share a lot of HTML/CSS/JS code with the desktop version. Sure: Qt, Flutter, etc have web versions, but they just don't look/feel good.
If you want a "Premium" native look and feel, people gotta go directly to the source and Qt won't cut without a lot of work. Lots of companies have separate Android and iOS teams. Or they go directly to HTML (or things like Flutter, which look ok in mobile). High-quality macOS apps, like those made by Panic, Rogue Amoeba, etc, use Cocoa directly.
Standardized controls and shortcuts are a secondary concern to all this.
If you want a "Premium" native look and feel
Who is doing this in 2023? No one outside my examples above.It is things like Qt that only HN and online nerds care about.
Don't get me wrong: I really like well made native apps and I think they're great. But Qt isn't as great as software made with native toolkits directly.
The primary advantage of web apps is "zero install", which is a major point of friction at large corps.
Citation needed. Currently working in a jQuery+Coffeescript app that still works like a charm.
No it doesn't, the HTML spec hasn't changed, whereas QT has. The issue is how the webapps were built in the first place. You don't need Nextjs and all it's friends to post a form to a backend once an hour but somehow that is becoming the standard approach...
For macOS check apps made by Apple (Logic, Final Cut), Panic, Rogue Amoeba, or apps like Pixelmator, Affinity, Pixelmator, TablePlus, Tower, Dash... there's more.
There's even open source ones like IINA providing a premium look+feel.
Perhaps Cordova/Ionic, when it tried to imitate the look iOS/Android's native controls.
I've seen this regurgitated a hundred times, but I don't really know any more what that "native look and feel" is. On Windows, it might be the old Windows 95 controls, but those are quite limited. What system today is made of dropdowns, checkboxes and OK buttons?
But by Premium yeah, I'm talking more about macOS, iOS and Android here.
For macOS apps made by Apple, Panic, Rogue Amoeba, or apps like Pixelmator, Affinity, Pixelmator, TablePlus, Tower, Dash.
Windows, or MacOS, both have design guidelines that was produced, and they expected native apps to follow. Most native apps do (the few that doesn't have either good reason, or were unique enough that their customers don't care - think photoshop).
With the advent of the web, such a guideline for software no longer mattered, because the controls and UI elements are all custom - since html is not an application GUI library!
So every man and their dog has a different UX and UI interaction built for their own app, because the web encourages it. The designers are also at fault for not standardizing on a set of common UI widgets, but i cannot blame them as this isn't the easiest path.
It almost sounds old-fashioned in 2023 to talk about usability, affordance, and user-experience.
Part of being a native application was/is for the application to look and behave like the rest of the user interface. Standards are important because learning how to use a tool is important. Users are important.
Software has become a way to make users miserable. Oh, and while confusing them, throw some advertising at them too. ^_^
CTRL+A selects all
CTRL+Shift+End selects all from where you are to the end
CTRL+Shift+Home selects all from where you are to the top
One of the (many) problems of web UIs is they often ignore the keyboard completely.
>CTRL+Shift+Home selects all from where you are to the top
Those two don't need CTRL, just so you know.
>One of the (many) problems of web UIs is they often ignore the keyboard completely.
They are also starting to ignore the mouse.
Well, yes they do, only it's different with and without CTRL. For example in a text editor (or a normal webpage without any fancy JS):
- Shift+End goes to the end of the line
- CTRL+Shift+End goes to the end of the document
and the same is true for Home (substitute "end" with "beginning").
I have seen people, even "technical" people, select a text with the mouse from the middle of a large Word document to the end, because they didn't know this.
They also had to do it often (several times a day) and it had become a significant part of their workload...
I'm afraid you're looking at the past with rose-tinted glasses. In general software back then sucked hard. User experience did not existed at all. Developers bundled stuff around, and users were expected to learn how to use software. Books were sold to guide desperate users through simple user flows. Forms forms forms forms everywhere, and they all sucked, no exception. Forget about localization or internationalization. Forget about accessibility. Developers tweaked fonts to be smaller to shove more controls into the same screen real estate, and you either picked up a magnifying glass to read what they said or you just risked it and clicked on it anyway.
Software back then sucked, and sucked hard. Atrocities like Gimp were sold as usability champions. That's how bad things were.
It’s sad just where we are now compared to the design goals of old.
Even in Linux there were tools to sync gnome with QT look so you could have one theme applied to every app for nice and consistent look, all the way to how the common icons look.
Nowadays ? Every fucking app gotta have their own different styling. Will the setting icon be three dots, gear, or honey badger ? WHO FUCKING KNOWS. You'd be lucky if you even get a choice between light and dark theme
But hey, we can write same code to work on windows, mac and mobile ! It will work shit in all of them and be slow but we don't care!
There are still such tools, you don't have to use the past tense here.
Total flashbacks to windows 95 and every so often changing the windows color, text font etc. for the entire system
Good times
Multiple hamburger menus with a scattering of cryptic icons stuck at arbitrary places on the screen. What does the swirly icon with up arrow do? No text label for you!
Oh and let's move the next button to the top left of the screen and not highlight it. Mmmm that's some good UI design.
Have you considered that the average user never cared and never will?
Having ultra consistent styling across all apps ruins the ability to... you know... sell the software. It gives far too much power to some group of annoying elitist nerds in denial of their opinions preaching UI/UX pseudoscience.
> But hey, we can write same code to work on windows, mac and mobile ! It will work shit in all of them and be slow but we don't care!
Ain't nobody got time for reading even shittier documentation for badly written OS APIs.
This has more to do with the current state of GUI frameworks than with developer mindset. Microsoft is between GUI frameworks and rumoured to have deprecated everything between win32 and WPF, and in the meantime they are pushing React Native. Apple doesn't seem to know what to do with desktop environments and is stuck between their legacy objective C frameworks which they seem to purposely hide any form of documentation and swift-based frameworks which are broken out of the box. Linux has a couple of options which are ugly as sin since ever. There's Qt, but their licensing scares away anyone with two brain cells to rub together.
So where are we left?
Well, with webview-based frameworks, which is the worst of both worlds but at least they don't look half bad.
Except that webview-based frameworks are a far lower-level abstraction than any native widget-based framework. Developers are forced to reinvent the wheel, and this means dropping any standard look-and-feel because that's already ugly to start with but takes even more work to get into a working state.
And all you want to do is to provide a GUI for users to click around.
The indie scene is looking excellent however, a lot of programmers who have already made their money seem to be pushing excellent hobby projects out.
Now you don't have to. So no one does.
I’m all for craftsmanship, but having four top guys fiddling with design.. it all depends on the domain I guess.
Yes, absolutely necessary cost.
In the former you make money from selling the result, in the latter you make money from selling the hours spent creating the thing.
If the former is unusable it will lead to bad sales. In the latter it might even lead to additional hours sold in change requests.
The former is bought often after evaluation and comparison by the user of the software. The latter is sold to an executive that will never have to use the software as a project.
This is a massive change from my first software industry job in 1997.
I was essentially a “design intern who knows HTML” on a team that built a shrinkwrap Windows application for enterprises. The core of the design team was a graphic designer, a cognitive scientist, an industrial designer, and a product manager with industry experience in the customer domain.
The application was Windows native. User research was conducted on site with scientific rigor. Adhering to platform guidelines and conventions was a priority. I think I spent a few weeks redrawing hundreds of toolbar icons so they’d be in line with the Office 97 look (the kind of boring job you give to the junior). If the app stood out on the Windows desktop, that would have been considered problematic.
Today a similar design team would only have a graphic designer and a PM, and neither of them would care the slightest about platform guidelines or customer domain. The UI is primarily an extension of the corporate brand. Hiring a cognitive scientist? Forget about it…
Everything certainly wasn’t perfect in the Windows/Mac desktop golden era. But the rise of the web wiped out a lot of good industry practices too.