For this app it makes total sense, because it already seems to have a pretty custom look and feel; there’s nothing that needs imitating. Many others out there are probably in a similar boat, but certainly not all of them.
For this app it makes total sense, because it already seems to have a pretty custom look and feel; there’s nothing that needs imitating. Many others out there are probably in a similar boat, but certainly not all of them.
Disabling copy is abused by all sorts of apps. (Yelp street addresses are a prime offender.).
I’m not convinced allowing it to be disabled is a net positive.
The number of times a Windows UI shows me an non-copyable error code is vastly greater than the number of times I wish I cannot select any text (which is zero).
How often do you want to copy button text like “Ok”, “Cancel”, etc? Never…
It's a little annoying that you can't easily make subselections in dialogs, but that's been a core Windows UI design element going back to Windows 1.0.
It's a grossly underadvertised feature of Windows and I bet the people reimplementing the Windows UI for the third time in ten years don't know about it either.
I’m the “tech guru” for many of those who know me, and I’ve seen people of all ages struggle with mobile UIs. There’s two axes with two values, making four categories that I find problems fall into:
- Simple concept + familiar UI: User is at fault (usually a misconception). I rarely see problems in this category.
- Complex concept + familiar UI: User struggles to understand what they’re trying to achieve. A little bit of extra info helps them make sense of the situation. Very easy to help the user over the phone in this situation. Often, thanks to good UI, the user figures it out themselves.
- Simple concept + strange UI: The user knows what they want to do but can’t understand what the UI is conveying, can’t find the UI controls, can’t express what they want via the UI controls, or sometimes don’t even realise something is interact-able. Even if the user understands the concept, they often struggle to succeed after stumbling their way through the app for any length of time, and need assistance. Apple iOS’s “swipe from different corners to get notifications & control panel & home & etc” and “three fingers/hold to do textual things” are good examples of this.
- Complex concept + strange UI: Situations in this category can get so difficult & time-consuming that it’s often easy to just do what the user is asking for on their behalf, or give them a step by step process they can repeat.
The things that make a UI familiar or otherwise are subtle, like what makes a film good or bad.
UI/UX designers come up with all these “clever” ways to do things, like the breadcrumbs interface on the Notion app, but many users simply don’t figure out how to use them. And they don’t think to use an element/gesture when they seek to achieve the very things which that element/gesture achieves.
Step 1: Use Gmail Android App to search my inbox for old emails with attachments with some text to me. Cool, found the email.
Step 2: Open the text file attachment. Gmail Android App does not open text files natively (weird, right?), so it defers.
I tried a few different choices. None of them allowed me to both search, then copy some text. (Note: I have a /very/ vanilla Android mobile setup.)
I spent fifteen minutes, then gave up and opened the original email on a desktop Linux web browser. I found the text, then copied, and sent back to my mobile phone by email. Then, I opened the email in Gmail app, copy/paste.
Sheesh. I thought: Am I an idiot? I felt like a struggling grandparent using a phone with the "big dialing pad" after that experience. (No offence to the big dialing pad -- always a big fan of the UX!)
I guess you might be interested in GNU/Linux smartphones, Librem 5 and Pinephone.
Whatever they do, complaining about the bad UI to the people who might have done something about it isn't it.
It is more amazing when you meet a very resilient user (think: senior sales staff -- they'll do /anything/ for a sales commission!). They just assume this is normal operating procedure. Only when things are horrible, do they ask for help. Then, you stand behind their desk and watch in horror at all the bugs they workaround (many times per hour!) in your app, but never report... Hat tip to these amazing users!
I get 20-50 mails daily through a very easy to use feedback and support function, but in none of those thousands of mails has anyone ever cared about how transitions are made or that a button doesn't look like a native iOS button.
They care about the value the app provides. About new functions or (in my case) report bad data to fix. That's why they download an app. Not because they want the button to look natural.
That's to say. I frequently get feedback about how they love the UX/UI of my app.
If there isn't a valid reason to create a native app these days I consider it a waste of time.
Those that do notice, likely assume that the dev can’t do better or doesn’t care.
What would you do if somebody did complain about your UI or UX, rewrite the framework’s UI controls and animations? Switch frameworks? You’d probably thank them for the feedback and say you’ll add it to your task list, where it will linger for weeks or months until it’s closed “won’t fix” because only few people asked about it.
But what am I supposed to do, mail the dev telling them to make a native app instead? If they haven't made one, I understand that they can't afford it.
Most native apps also have inconsistencies, lags, delays, especially if they connect to some remote web service. Heck, the iOS settings occasionally hang on my phone when I open the iCloud settings or if some Bluetooth device isn't correctly pairing or whatever.
I've seen beautiful native apps that require an internet connection all the time, because they save every little piece of data on a remote server and sometimes, the whole thing is super unresponsive.
For the muggles, this lag is a lot more noticeable than a transition or a button press that is not 100% optimal.
My Ionic app uses PouchDB and CouchDB, is offline-first/local-first and is responsive at all times, because it simply doesn't care if it is online or not. This is what users feel the most and it can feel a lot better than many internet-connected native apps.
I have see this multiple times for enterprise software. It works when the data center is on the same continent, e,g., New York to Chicago or London to Frankfurt, or Santiago to Sao Paulo. Now add 20km+ roundtrip on fibre -- Tokyo to London. It is a horrible user experience. I have seen teams trip over that wire (pun intended) more than once in my career!
Yes, you nugget. That's why UX is a thing. Just because you know how to traverse your thinking patterns doesn't mean anyone else (wizzards included) can.
Surefire way to write garbage applications and APIs: don't think about the user.
I beat this mentality out of any junior that crosses my path. You're not paid to write code, you're paid to deliver a product. You studied how to write code. Massive difference
To use my father as an example, he sat at work with computers on his desk for 20 years, running everything from Windows 3.11 to Windows XP. He never had a problem using or understanding the computers in front of him because generally any pattern that he learned in one place would apply pretty much everywhere else on the system. Buttons had a uniform look. Radio controls worked the same way. Menus were in predictable places and had similar structures. Toolbar icons, if present, had a uniform appearance. Folders and files were presented uniformly. Tooltips appeared over many things if you hovered your mouse pointer over them. Embossing, solid, thick and dotted lines all had meaning designed to guide the user in certain directions. Disabled controls looked visibly non-interactive. Even "Open", "Print" and "Save" dialogs were globally consistent.
In that regard, older versions of Windows were beautiful in their simplicity — they were uniform and predictable. The same is true of classic Mac OS also. The reason for this is because both Microsoft and Apple spent a lot of time and energy working with real world users to figure out what made sense and what needed work. The result was that they both ended up with clear user interfaces that had learnable visual cues.
Then this aesthetic design trend started and now user interfaces have never been more unclear. Overwhelmingly UI elements are now flat or inconsistent in their appearance. It isn't clear at a glance which objects are interactive and which aren't, or what the side effects will be when you click on given thing. To make this worse, Electron happened, effectively leaving developers (who usually have completely insufficient understanding of user experience or design) to roll their own user interface toolkits and to build applications that end up looking nothing like anything else on the system. So now you don't just have to contend with the fact that the operating system controls aren't as friendly as they used to be, but now every application is out there trying to play by its own rules too, with their own designs and their own learning curves.
Now we're in a situation where very little of what you learn in one application makes sense or applies in another, which is the epitome of user hostility. I spend a lot of time trying to remotely diagnose wildly inconsistent applications over the phone and try to help him make sense of the mess that is modern day desktop computing. He rightly finds it confusing and overwhelming. Even in my own experience, modern macOS isn't much better.
At this point, Microsoft's "Official Guidelines for User Interface Developers and Designers" (2001) and Apple's "Human Interface Guidelines" (1995) should be mandatory reading for everyone who thinks they know better.
There's real psychology and methodology to building a good user experience. Every single detail matters.
With Apple’s Human Interface Guidelines, it’s as if they consulted with actual humans. Material Design? It’s as if they hate the humans that have to use their apps.
In Google's defense, I think the original rule is something along the lines of "assume all your users or experts in their field". Which is quite true, users pretty much all the time know what the outcome of what they want to do is, they are also knowledgeable in their line of work or hobby for which you are creating an app. So use their domain knowledge to help them along.
He is older now, still fully cognizant and lucid and gladly aging has not taken its toll yet, but he has mostly given up on computers for the very reason you write about so well -- interfaces became more and more fractured.
Things are not where they ought to be, they look different across different applications on the same operating system, they behave in different manners, and all these idiosyncrasies add up quickly, so he resigned and became mostly a consumer of content rather than a user or creator of such. He still has an old PowerBook (next to his modern M1 one) with an old copy of Adobe Illustrator as a poor man's CAD to draw and print things like cable installations and load-bearing sections of walls. It saddens me because he has such a great talent.
While we came to where we are today as mostly a slow decline, I would say it was a two-punch combo that finally broke user interfaces for good: First the complete annihilation of skeuomorphism in favour of design without any cues whatsoever, it might have looked ugly and certain abstract concepts might not have mapped well to the semantics of the physical world, it still offered a clear distinction of what was "interact-able" and what was not. And second, the introduction of Electron-type applications finally ended it.
I'm not sure there is a way out of this hole, so I am mostly resigned to not complaining to developers of apps like the original author either. Because what good does it do?
Funnily enough though (and this might just be my lack of skill in iOS development) I always find the UIKit components surprisingly tough to customize.
This was still a great case-study though! It’s good to have concrete evidence that the performance side of things isn’t an issue
Good - apps should look and feel like the platform.
I would do silly things like clickable image views to get the style right if buttons don't provide the necessary customisability, were I in the author's position. I don't think anyone would be happy with that.
I'm all for platform consistency, which there is very little of these days, but for every API you restrict someone will find a good reason to work around it and that's where the ugly hacks come in.