Front end developers: stop moving things that I’m about to click on
medium.com
medium.com
Since almost the beginning, graphic designers were trying to layout Web pages like an advertising brochure, lots of bad ways, rather than as hypertext. When, in a sense, they finally did take control of the Web, HCI (usability in service of user) had evolved into "UX" (advertising-like graphic design in service of non-users).
There's often disincentive for things like "user can understand what the controls are and what the state is", "user can focus on the information they want", etc. UX won't care about these things until some time after users are so aware of the problems that it affects engagement metrics and eventually A/B testing figures out why.
I'm imagining a eureka moment, during which a UX researcher, trying to find a new, improved dark pattern, to screw over hapless users harder, accidentally lets slip in some old-school good usability, which wasn't even supposed to be in the test sets, but discovers that this strangely resonates with users.
Some companies just don't respect their users or customers, and/or try to optimize for short-term metrics that make some individual or agency or department look good at the expense of long-term loyalty. But I've never seen a UX person willingly suggest a dark pattern... all the ones I've worked with were forced to implement them, despite much protest, because some manager wanted it there.
I’ve literally quit a job out of protest, where I started reading user emails complaining about the service we were building.
Stuff like “put the unsubscribe button at the far end, gray on a gray background, so it will be harder to find”. People were actually closing their bank accounts as they couldn’t find a way to unsubscribe from the service…
We had a few hard talks about it and when the company kept up with it I just up and quit.
And I got a job for a lot more money almost immediately. Turned out people who would do that to users, were underpaying their employees quite a bit too, who would have thought…
I couldn't take it anymore, half my interviews were companies I think shouldn't even exist at all. Decided screw the industry, I'm gonna scrape together a living any way I can and spend the rest of the time working on whatever I want to.
I might be poor now but at least I can sleep at night and I've never been happier.
An annoying popup message would warrant a direct complaint from me. A pattern of bad UX might cause me to jump the ladder and try to get somebody to pay attention and change things. But quitting in protest isn't something I can always afford to do, and it isn't always the best strategy for change anyway. If you come across as unreasonable or explosively reactive, they'll just replace you with someone they deem more level-headed or compliant and do the thing they were going to do anyway. But if you have an opportunity to use persuasion/diplomacy instead of force, sometimes that can work.
Anecdotally: I don't typically work in "pure" tech, instead getting jobs in nonprofits and/or the energy sector. In these industries, concepts like UX aren't always familiar to management or marketing (it's not even 100% prevalent in tech proper either). Bad UX is just as often a result of ignorance, not malice, and a chance to discuss things and educate other stakeholders without hostility.
An example of the newsletter popup situation... we held a short meeting to discuss the pros and cons. It was important to the business to get these leads, but they also listened to the UX side of it. We arrived at a compromise: Instead of showing the popup front and center at page load, we would wait for some time (30 sec?) plus some scroll percentage (at least half the page length), then slide it up in a corner, make the close button highly visible (big and black instead of tiny and light gray), and set a cookie to not re-show the popup if they dismissed it once. Is it as good as not having a popup altogether? No, but it started a discussion and (hopefully) met both user and business needs halfway.
FWIW I was also the one who pushed for clearer organization-wide unsubscriptions (so you don't have to manually unsubscribe from every single dept's newsletter using a separate link), did a privacy audit (unfortunately to little effect), etc.
There is definitely a time to quit in protest, but there are still small changes one can effect from within an organization -- if they're open to listening and acting in good faith, which is thankfully the usual case in my fields. If you have an evil cult-of-personality CEO, on the other hand...
lol, it was the product department, they like to think of themselves as higher ups, they see the VPs and execs galavanting around with business dinners and cocktail lunches and they want in, so they tell everyone light grey "unsubscribe" in 3em smaller font on a white background is a great idea, besides...the un-skipable FAQ splash screen will redirect them to solving their problem on their own which makes them feel accomplished and keeps them on the system while reducing support costs, see how awesome they are?
i've heard this circular corporate self righteousness too many times
A browser plugin that reads the image heights and page heights on each page you visit, along with your window size, and reports that back. Then pre-sizes the height of the window and the elements for other users with the same plugin based on what it recorded.
Early 1990 I experimented with Mosaic, and I experienced it the first time: I wanted to click on something but in the few hundreds of milliseconds between my decision to click and really clicking an alert popped up and I accidentally dismissed the alert and couldn't read the message.
This does not only happen on the web. All GUI software suffer from this problem. I know that Office products also have caused me to misclick because something just appeared or disappeared.
I have been thinking about a tweak to the GUI: Let things appear or disappear but still accept click events for about 200 milliseconds longer. As if the change did not happen yet. Perhaps combine this tweak with a soft but quick blending-in of the change, and only enable the new GUI after the blending-in finished.
This is different from the problem that GUI buttons move but at least related. Perhaps with this tweak moving GUI buttons won't annoy as much, because we can react. This is not ideal, but not as bad.
http://www.art.net/~hopkins/Don/unix-haters/x-windows/xbugto...
For a more philosophical approach to user interface design, see "Jojo on UI":
http://www.art.net/~hopkins/Don/unix-haters/x-windows/jojo-o...
Then I don't have to guess if there is anything to scroll.
And an additional complaint about those tiny-thin scroll bars that some idiot-designer though were slick because they so minimally interfere with the rest of 1920px-width display, which also makes them a giant pain-in-the-wrist to click on because the width to make it appear is so thin, and then clicking on the scroller is another challenge whereby it's much easier to accidentally make the scroll bar disappear. Rinse and repeat.
I used to be half-decent at railgun in Q3A, but I now struggle to hit scroll bars. That's a fucking design problem.
(because I'm an idiot, not because the reply text shifted on the page)
Accidentally click on some white space? Well too bad, we’ve closed whatever you’re looking at, even though you’re not in a modal. Oh and also, you’ll need to wait 30-seconds for this new page to load, and you can’t just bail out and go back a page, because your browser can’t hold the previous page in cache/memory properly because it’s some overly-complicated JS app.
Then I wonder where the Description and Acceptance Criteria are for the next User Story, because it remembers that you (accidentally) contracted the Description for User Story X therefore you obviously don't want to see it for any others...
This gets doubly frustrating when navigational elements don't contain actual anchor links. If you long-tap on mobile to open in a new tab, the browser decides you are selecting text and there is almost no way to dismiss the resulting copy/etc popup without tapping elsewhere on the page - which you cannot do without navigating elsewhere or otherwise causing an unwanted action.
No one told me it had to be perfect, but I care about the user and don't ever want the user to be surprised.
That's the difference you get with outsourcing your engineering team vs developing in-house. If you choose a good team, your developers feel directly responsible for the user experience, go beyond stated requirements, and aren't just doing the bare minimum in order to make a paycheck. A good UX professional is constantly testing their work with unexpected input.
I value polish for its own sake highly as I think you do too, a well made tool is more rewarding to use. But the ones forecasting developer effort need a concrete justification. So it's best to just sneak this in if you can and hope other people you work with feel the same, after all it's much quicker to do it up front than to lose context and revisit it later. Asking permission will cost far more than your 30 minutes.
It may even be the same thing you described, if they somehow managed to attach a sound to an animation instead of a handler.
/edit: It still plays videos on hover after changing it. Only now there is no player popup anymore.
Slightly related, but does anyone know how come Netflix's search algorithm (for lack of a better word) and its general search-related UI is so bad? A specific use-case that I had a few days ago was that I wanted to watch a nice comedy movie, preferably not from the last few years.
There was no easy filter on time periods, nor a filter on the country where that movie was made (I was thinking of filtering on France or Italy at some point), no way to tell Netflix "show me all the movies employing this actor" that you have in your catalogue, nothing of the sorts. In the end I think I searched for "Belmondo comedy" or something asinine like that, which, sure enough, after some horizontal scrolling (?!?!) ended up by recommending me a Tom Hanks comedy from the 1980s. I did not watch Netflix that evening.
How do people find stuff on this platform?
Unfortunately, Google/YouTube and others have lost the plot and no longer employ good UX professionals in their flagship products.
Sites like Booking.com do this to the umpteenth degree.
Short-sighted optimization for engagement is the cause of an overwhelming majority of the problems on the Internet.
It feels so fantastically “pushy” to start playing the audio of some random junk that just happened to be under the selection reticle.
They helpfully added a configuration option to turn this behaviour off, which is a tacit admission that it’s a misfeature that users want to disable.
It does nothing.
The videos still play.
But yeah, hover is just for info about the thing you're about to click, not pretending I've already clicked it when I haven't.
The stupid thing about Youtube is that sometimes a video starts playing on hover, in the thumbnail and without sound, and then I actually do click it because indeed it is something I want to watch, and then I miss the first couple of seconds because it's already shown those, with the sound off. It's just the most bizarrely stupid UI decision I can think of.
This was such a common thing to test for in fluid layouts under AIR/AS3/Flex, or any previous lingua franca where you had to design and code your own rollover effects or web components. So much is elided in mouseout and mouseover. Really, unless you've coded those events in a stack from movements, you don't understand what they mean. In any UI, it's the #1 thing you have to watch out for (along with stuck hovers, accidental focus and things like that). Mouseover/out depend on the entire screen graph as well as timing to establish user intent. Thrashing the whole UI off that because you shift the layout is the worst example of how to do it wrong. Amateur hour.
I weep for this new generation of web developers. So much more complexity, leaving little time for studying and nailing well-established HCI principles, which used to be less of an issue when web was simpler.
What vexes me is that I learned these principles from companies like Google in the first place.
I have literally no idea what people are learning now in academies before being set loose to do front-end work, but obviously it's mediated through so many libraries that they haven't had much time to consider what's going on behind low-level user interactions and load sequences.
Because if you provided these, the browser would know how much space to leave for the image to occupy after it had downloaded [this was back in the dial-up modem days. So images usually loaded gradually after the rest of the page] and so the layout of the page would not change. Conversely, if you didn't provide 'width' and 'height' attributes, the browser would only leave a default small icon sized space for the image and then you'd have the page content move and shuffle about as each image downloaded and the rest of the page content got elbowed out of the way, to accommodate it.
It's funny how such basic concepts of usability seem to have fallen by the wayside in our new modern Web3 [or whatever version buzzword we're on now] in favour of moving content, modal overlays and the like. And, since so many sites these days just aggregate content from countless other external sources, even that basic notion of pre-defining your image sizes is often neglected too.
https://i.kym-cdn.com/photos/images/original/001/333/130/835...
Sadly, the tech may have changed but both our ideas on usability and the incentives at play have remained the same. Which is to say, the devs I know of all know that popup videos, banners, modals, etc. are all trash much like the popup ad banners of 1997. But we do them anyway because the people that pay us have financial incentives that have been proven via misguided A/B testing that they work. And by misguided I mean... we're talking about manipulation, right? That's the whole shell game of A/B testing. You're testing your way to what works best for you and not your users. It's Tinder knowing the perfect match for you but not showing you that person because you'll quit the app if you ever met them.
I can't even take a11y or people that advocate a11y seriously today. You built modals and carousels with frustrating timeouts that slide content before I'm done looking at it! You're a circus clown.
A/B testing is a tool. Any tool can be misused.
On the other hand: marketing and execs could misuse and abuse an empty room if they do desired, so I wonder why we bother giving them tools in the first place.
That’s quite the claim.
Yes. It is totally possible to misuse the tool and run bad tests. That’s why, at least where I work, we don’t run live A/B tests until we’ve done some initial validation that the idea isn’t just terrible, and we have some level of confidence it will work and not harm the user’s experience. For example, we could segment user feedback and customer support issues we received by test variant so we could look for unexpected issues we might have inadvertently caused with the challenger design.
I can’t speak for how A/B testing is used elsewhere, but every A/B test I’ve run has been because we thought it would improve things for the user.
You certainly could run an A/B test to see which banner ad is more deceitful, just like you could use React to build the website that sells the scam medicine that banner ad is advertising.
Then: Page was slow because the delivery was via a 56k analog modem.
Today: Page is slow because the average page size is 2.2mb. Plus JavaScript parsing + execution time. Plus asynchronous calls to go load more stuff. Plus time to re-layout around the new stuff.
I work for a large health care company. They got on the JS bandwagon a while ago. We used to have huge sites that loaded fairly quickly (under 2 seconds) and cleanly. Now? The last two years doing accessibility work - a lot of these same sites which have been converted to Angular or React? They're taking in excess of 15-20+ seconds to load.
I think it's mostly blocking chains of multiple networks requests that execute in sequence (taking a network round-trip each time). I inherited a slow ~2mb frontend app at work, which seemed horrendously bloated to me. It turned out to be not that easy to reduce to the size (due to large amounts of code depending on large libraries), but it also turned out to be possible to make it load fast without reducing the payload size.
- Every single database read depended on it
- Many of them were subscriptions rather than simple reads, and so couldn’t be trivially replaced by an API call.
Don’t use firebase guys.
You can see the size of each bundle in here: https://firebase.google.com/docs/web/sdk-metrics
By my second or third job, nobody seemed to care about it and when I brought it up, it was brushed aside as a "browser issue" and not something we devs needed to worry about.
You make a great point, and something I'm seeing a lot more of now that I'm in accessibility.
That's amateur stuff. Our car does this intentionally. As your finger is in mid-air, on its way to hit something on the touch screen, it's detecting this motion and then shows a context bar in the top and bottom by the time you land your finger. Which often overlays whatever you were going to touch.
It's so comically bad that I think a team of engineers is laughing back at the factory: "look! he's trying to touch something again!".
The other prank they included is traffic alerts. You're sitting in a traffic jam for 10 minutes already and then my music stops, only to hear: slow traffic ahead.
Don't forget you've been talking to a service rep this whole time, or more likely sitting going "uhhhhhhmmm..." like a dipshit.
> an autocomplete has one chance to reorder per keystroke. if you got it wrong and you have a better ordering a bit later you must “swallow the sadness” (as per the original author of this wisdom) but never change already displayed items
[1]: https://twitter.com/dan_abramov/status/1470751551568363530
Search in windows puzzles me. Like I don’t get why it takes so long to search files in explorer, while traversing the same folder structure programmatically takes milliseconds. Hard computer science problem!
But, yeah, it sucks.
I suspect it has more to do to explorer registering something with the file system to be notified if any of the folders being searched change or something like that. Something completely useless in any case, I'd much rather it doesn't do anything smart and gives me a result instantaneously.
This drives me crazy.
Yeah, MS is not good at search, but I think having one engineer tackle windows search for over all these years would have brought us instant and relevant search results.
How many times I have to find the right keyword to find something I KNOW is there but that satisfies the search engine is more than I want to recount.
- Type 'f'
- foo appears in the search.
- Type 'o', because I type with 10 appendages and getting them to work together requires pipelining.
- foo disappears from the search
This should never happen.
Firefox has a related misdesign. If you type a word which matches both a search keyword and a history item, the search keyword takes precedence -- which is nonsensical, since I've typed nothing (not even a space) following the search keyword. So e.g. I have a `cpp` keyword to search `en.cppreference.com`; typing `cp`+Enter brings up `en.cppreference.com`, as does `cppr`+Enter, but `cpp`+Enter does a search for an empty string.
type 'for' - forums.overclockers.co.uk appears, this is where I'm going, I go here once on most days
type 'forums', because my fingers didn't get the memo to stop - forums.samygo.tv appears at the top, a site I haven't visited (on purpose) in almost a decade, mostly because I don't have that tv any more.
Massively annoying.
Seems that if a program has frequency/recency sorting, it'd best have an additional layer of intelligence such that it checks what results would've been returned by other substrings of your search term.
But I think all those other viewpoints lead to less desirable behaviour, for me. I'm not going to pretend it's universal because I don't have the research, but it pisses me off.
I want my bank, Monzo.
I type Mo
It shows Monzo
But I instinctively type an 'n'
It shows a Google result for "Monica" whoever the hell that is, plus driving directions to somewhere, plus settings, plus results from my emails, plus results from my messages, plus every Easter Monday since the dawn of time from my calendar, plus a whole load of photos it decided were relevant... everything except Monzo.
Now I have to type 'z' to get Monzo to display again
The playlist shortcut shows six playlists, but 2-5 seconds after rendering these, about the same time it takes you scan over them and see if the playlist you want is offered in this set and get your finger into position, it re-renders them with different content & different order.
The full playlist selection does the same thing, using some hybrid and opaque MFU / MRU algorithm -- I'd be delighted with a pure alphabetical ordering, rather than having to visually scan down an unsorted list that's re-ordering itself as I read.
Mind, the Spotify UI can be held up as a shining example for basically every user-hostile anti-pattern, so I guess there's some consistency in their design.
I did have to do some work to track down the alphabetical ordering feature for my playlist listing, after they unset it and moved it, but it is possible to set it, at least for the main listing (I find the MRU thing helpful for the "Add to playlist" menu, so I don't mind that I don't know if it's possible to set it there).
1. Unplug laptop from monitor
2. Power off monitor
but step one triggers some automatic input detection mode for about 10 seconds during which the monitor ignores its power button.Actually — they make those “green” plugs, where power is cut from the majority of the plugs if none if flowing through the control plug. Maybe check those out.
Someone at Google did the math and figured they can save some single-digit percentage of their annual bandwidth spend.
At their scale thats $millions and that guy got promoted for frustrating every person out there like yourself.
It’s not something you had to learn just to pass a CS exam and then promptly purge from your memory.
The buffering state is a state, not an arrow!
User interface states should respond to inputs, including cancellation, retry, etc…
The _desired state_ (playing or pausing) and the _actual state_ are two different things.
Whenever these two things are different, they should have two separate representations.
The problem is that they are mashed into one ambiguous representation.
It's so irritating if you're doing the same operation many times, ie sending the same picture to multiple people separately.
Also the share menu has a different layout according to what app you're using. I understand that it's up to the app developer to get fancy with it, but it would be really nice if you could have a setting for "use standard share menus", or something like that. Or even better if there was some way you could make it be the same every time, like choose your favorite apps to share to.
It's unbelievable that these billion dollar companies can be satisfied letting this garbage represent their product.
I'd make sure to fix these if it was my hobby project, let alone a "finished" product that's on sale by a giant multinational.
Just completely random - "fuck you, user - hunt though this random list".
It boggles the mind who would ever think that would be a good idea.
Glad I'm not the only one suffering through this misery!
There's countless examples, but the one that really annoys me every day is when the alarms go off.
I have alarms to wake up in the morning, and on the alarm screen you have to swipe to dismiss, but to snooze you have to tap the other button.
Sleepy me has a lot of trouble remembering which one's which, even though I've done it probably a thousand times at this stage.
And even though it's a big 6.7" or whatever it is screen, they make the buttons absolutely microscopic.
Then they took it away with an "update", so now I'm stuck with only the crap UI.
Thanks Samsung.
No, I never want to share anything ever at all to #company-all on Slack. Do not show it in my YouTube share menu when I want to send a dog video to my partner.
Perhaps a year ago they drastically improved load times, but the recommendations became much more stupid, and in recent builds I feel they've actually struck a good balance.
I've seen that share-selection-reordering on numerous devices, including Onyx BOOX, which seem to otherwise mostly provide their own Android interface. So whatever's driving that seems to be deep in the environment.
"You can use responsive ads to provide a great user experience on your pages. They look good on desktop, tablet, and mobile devices. "
But when you use a responsive ad, google can dynamically decide the height of the ad. They don't want you use use a fixed height container:
"The parent container has fixed or limited height. Responsive ads should not be placed inside containers with a fixed or limited height, as they may be taller on some devices or browsers. If you need to limit the height of your responsive ads, you’ll need to modify your code and use CSS media queries to set the height of the parent container."
https://support.google.com/adsense/answer/9183362?hl=en&ref_...
https://support.google.com/adsense/answer/9183362?visit_id=6...
WHYYYYYYYYY
Hopefully the contents of said alert weren't important, but in most cases I'll never know…
However, that unfortunately doesn't help with in-app notifications/alerts.
If any one application emits multiple notifications (say, several new calendar items), they pop up in a group -- but this is hard to see, since they're all stacked on top of one another. There is an X at the top-left corner, just like all other notifications. When you go to click the X, the group suddenly expands, and the X changes into a "Clear All" button!! 80% of the time this results in me closing a large stack of notifications without realizing they even existed.
For websites, Google calls the Cumulative Layout Shift (CLS) and it’s one of the Core Web Vitals they use for measuring website performance.
Either way, I'll reply with it in a bit.
I agree with others that I think the incentives are against the user here. In the IG case they don’t care if I find my friend quickly. It does not help them in any way. But hey they got a click on the autocomplete suggestions (win for that PM) AND another view on the explore page. Clearly I love these features!
When I visit a modern webpage, it feels like I'm watching a golem take form from the debris around it. It starts out as this weird ugly contentless frame, and then things start popping in one at a time. It's quite hard to know when it's done.
Makes me miss the days when servers would serve me a full webpage. Browser shows me that it's loading, and once it's done it's done. It's also easier to develop sites like that, as you don't have to code your own loading spinners or make those weird "empty placeholder content" boxes that kind of show you how the site is laid out.
But thats what we get when multiple teams are responsible for the same web real estate.
Nothing better than trying to reply to a death in the family of a coworker with a LMAO smiley.
[edit] Microsoft Teams is just generally terrible. It's likely the worst piece of 'competent' software I have ever ever used. [/edit]
Steam suffers from it too - while clicking through your "Discovery Queue" it often displays a link to a video of someone streaming the game it recommended. Not that it matters now, Discovery Queue is hopelessly broken for me - only shows some very low-quality games i'm not interested in
The ideal solution to all of these would be for the UI to keep track of drawing events and disable any click that occurs in proximity to a just-redrawn area, and beep instead.
I'd like to see frontends (browsers, Android, iOS?) remember their widget hit points for ~400ms, and if you've touched somewhere that had a different widget hit point within that time, use the old widget.
I don't know if I want to hear from you ever again yet!
I think one of the build-an-OS-from-scratch projects had this as a feature. You create a window first for a program before starting it and it is not able to pop up outside of that or change its focus. Don't remember which project it was but it always stuck in my mind as an awesome feature.
In my startup, uh, I'm on good terms with our front end developer and we agree on Web page design techniques:
So, no popups, pull downs, overlays. Nothing on the screen jumps around or moves. Large, relatively bold fonts and high contrast.
Always have both vertical and horizontal scroll bars.
No warnings or requests to permit the site to use cookies -- the site makes no use of cookies.
Hmm, maybe someone somewhere, maybe the EU, will make a big stink that we have not asked users to let us use cookies. Sounds like a good source of publicity until finally we end the stink explaining that we use no cookies and are not required to get approval for NOT using cookies!
The site HTML makes nearly no use of JavaScript.
Users don't login.
Users are not asked to spend money or up click on some popularity counter.
The server cores generate each Web page quickly, and each page sends for only about 40,000 bytes. When we convert the storage for our SQL database from rotating disk to solid state memory, the page generation will be significantly faster. Net, the site is responsive.
The pages and user interface are based on just the HTML controls with one line text boxes, push buttons, links where each link is a single word in the Roman alphabet in English with a simple meaning -- page design techniques very familiar to likely 2+ billion people.
Ah, we don't expect 2 billion devoted users right away and will be pleased with 1+ billion!
The EU does not require you to ask permission to use cookies if you do not use cookies. Encouraging web developers to not use cookies, and as a consequence have no banners, is one of the positive incentives of the cookie legislation.
For the EU, I was poking fun at what appears to be some heavy bureaucracy in the EU. Also I was referring to the EU as a geographic region and not necessarily a government. I was guessing a "stink" might come from some person, maybe in the media or some small organization; I didn't say or believe that my site would actually be violating some EU law.
No request to permit cookies is one more way to save the users from botheration and more quickly get to the purpose of the Web site.
> your site does not exist
The code runs as intended, and site exists and is on the way to being available to the public.
The site seems to be by a wide margin the best solution for a problem.
The problem the site solves is one part of a quite general problem. There should be opportunities for more startups to solve other parts of the general problem. The general problem should be good for 2 billion users, but the part being solved by my startup might be 1% to 5% of that, that is, 20 million to 100 million. That is the site has a focused audience. The focus stands to make the audience smaller but easier to please.
Side note about the first example, I wonder if Lyft is having chats about "Users really want to set up group rides, but always back out of the funnel - we have to make it easier for them!"
Also, your report is the only instance I've seen to confirm that this happens -- for whatever reason no one believes me when I post something about this to any Android group. Just like I seem to be alone in trying to figure out how to get the Contacts (when launched from the dialer) to show only specific groups (such as contacts with phone numbers). I can do this from the Contacts app, but not the Contacts tab inside the call dialer app.
I noticed it a lot on Google products where it annoys me quite a bit. It does this in search where it expands a bubble thing with irrelevant carousel content just after the first results (cannot even recall what the content is because it is not helpful). That pushes the entire list of results down making me either click the wrong search result or waiting before clicking. Both probably good for OKRs but horrendous user experience.
Worst one is though on (Pixel) Android where it does this in the notification when receiving a call. It starts with bubbles for "decline", and "accept" but then after a second it inserts "screen call" in the middle, replacing "accept". Screen call is a accessibility feature that breaks the expectation how the call works (no voice). It made itself used the first time for when trying to take an important call. A completely unnecessary move, as the list of options could just be appended... This again makes me wait for all options to come up before clicking.
I know Windows Phone is long dead, but its virtual keyboard was consistently superior at providing suggestions that were well-aligned with user intent and not awkwardly delayed such that options shifted while the user's finger was in-flight.
Fast, functional, responsive.
Then again, McMaster Carr want you to use an app on mobile and the new RS site works on mobile quite well, with the lag more hidden by the inefficiencies of mobile browsing in general.
The "Console" button on the top right shifts just at the right point in time for me to see it but miss clicking it.
I trained myself to start typing con to autocomplete console.cloud.google.com instead.
However, this has been a problem in Google search results for a while now (and you know what I mean, I don't even have to say it), I figured they have would fixed it by now... I have even made a custom Chrome Extension that kills these annoying ads and shifty DIV's. It would be nice to see a big list of these crappy shift DIV's and UX fails.
I'd disagree. My mum is 83 and has complained about this in apps on her phone and when using websites.
This was (is?) the issue for quite some time. I always wondered if the analytics people knew about it or they thought that ad just gets a lot of hits. It was always some AliExpress promotion.
Copious times.
99% of the time I'm forced to use a site that turns out to be a horribly bloated SPA that I only get to see after enabling JS, and which will do irritating things like what is described in the article, among others, it's to do something that could've easily been done with a simple HTML form and perhaps a bit of JS enhancement.
Think youtube.
Anyone know what I mean? Can anyone relate to my frustration?
A screenshot of the app shouldn't be a loading screen!! It seems to depend on how long it's been since the app was last opened and/or how the internet connection is at the time. Bank apps show a proper loading screen.
This has started to really irritate me since it feels like every application in Apple's mobile ecosystem does this. My device has SIX GIGABYTES OF MEMORY[0]. Why do you need to swap everything out of RAM almost instantaneously?
What grinds my gears the most is that state isn't preserved. Apple Maps and Music are the absolute worst for this. Music will show the same screenshot and then just unceremoniously dump me to the "Listen Now" or "Browse" screen (it seems random which) and completely disregard whatever playlist or album I was in. The last song I played and track position are kept but good damn luck getting back to the spot I was in--particularly which playlist--before the app got put on ice.
That screenshot is just a point of "hahaha nope" frustration.
0 - Yes, I mean actual Random Access Memory, not "storage capacity."
It's absolutely infuriating!
I have some suspicions that it was done that way on purpose.
Drives me insane.
And they also think your frustration is “longer engagement”, validating their KPI and job security and companies ability to sell shares
* see cool photo
* go to interact with it
* photo is gone, replaced with something else
On Outlook 365, I'll start typing an email, and then as page load finishes(?) it moves my cursor off the email field and my keystrokes get interpreted as keyboard shortcuts. I've probably never accidentally deleted an email but who knows!
MacOS on login will similarly let me start typing my password, and then decide it's actually done loading the screen and erase the password characters I've typed, and the prompt only gets the last 2/3 of my password.
First issue is that it shows the controls for the video, and allows you to click on them and shows you them as clicked or changed, but when the video loads it resets them.
So if you want to reduce VOLUME or mute things before video loaded. Give it a try, looks like it works, nope, too bad, it's reset. Same with the PAUSE button. Nope, it will fool you into thinking you have paused it but it will actually autoplay the video. Basic essential functionality in a video player rendered useless.
Secondly is the Setting menu to reduce / change quality or speed up the video. Here menu items load in after the menu is first open, even after the video has loaded. So you go to change something useful but nope you accidentally click the report button or something. You literally have to open the menu, wait a couple of seconds and then you can click on the option you want.
Now there was a similar issue with stuff not loaded, underneath the video player, where the user would click something near the follow/unfollow but they would accidentally unfollow the user. Now they added a confirm dialog, so at least that's an improvement.
What kind of idiot designed this?
This is particularly visible on mobiles where I need to be really careful where I click and usually wait for the whole page to load, or have a muscle memory on where to click what (for pages I visit often)
If it is impossible to fix then we should at least make buttons not clickable for ~100ms if their bounding boxes changed significantly (or just popped up on your screen)
You start typing and at first it shows you best matched accounts - things you recently visited or you follow - and then it loads in search suggestions on top of them, pushing the whole layout down
when in reality you already saw the thing you were going to click on and now you misclicked on one of the suggestions
Even if you can't find anyone who specifically can be blamed or had a conscious plan, it seems like something that would be an emergent phenomenon.
"Invisible hand" as they say.
Fast forward to 6 months after launch. We've now replaced the native control with an "all singing/all dancing" javascript version written in Vue. Thing is, it doesn't know all the lyrics and it couldn't do a box-step if it was stepping off a box. We get bug reports literally every few days because it doesn't act like the native control. And we'll _never_ actually stop the bug reports because people on different systems expect it to act like the native one. Something that is literally impossible to do when writing it on your own.
So now, even with all the evidence pointing to it being a bad idea, nobody want to rip it out because the integration is too muddy and could cause further bugs.
:facepalm
Scrolling behavior is user-configurable. There's no need to decide "Fuck your preferences, one scroll-wheel click is going to be 1 line of text" and override my configuration. There's no need to implement "momentum" to scrolling, or make it bounce, or try to implement smooth scrolling since my browser does it anyways.
It would sad if your employer did layoffs and your lazy ass was top oned because your idea of impact was stuff like this
It's funny, I frequent a government-owned website for people with disabilities and receiving public benefits, and one of their UI elements is a marquee message "You have a message!" which scrolls from right to left. If you are deft enough to click on it, you will discover that your password expires soon! (Your password always expires soon) That is actually not the important message section of the site but the system notifications that don't tell you anything about your benefits status or applications. It's a laugh riot every time I see one of those message marquees. I've quit clicking on them because I've figured out they are worse than meaningless.