Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This problem first occurred in the mid-'90s, and people saw it was a problem, and that's why we specified the image dimensions in HTML (before the GIF or JPEG header was loaded), so the layout wouldn't shift during load, when people were already reading and navigating.

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.



In my experience, it was usually higher-ups and not the UX people who wanted to implement dark patterns. The UX people and devs wanted to make the enduser experience better (believe it or not), but were frequently overridden by some higher business priority (we NEED this popup as soon as the page loads! opt them in to all the newsletters by default! highlight the highest-margin products).

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.


It’s not so hopeless though. Not sure about UX, but for devs there are plenty of jobs, so you are free to switch whenever you see people doing or worse, demand you to do, dark patterns.

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…


Props to you for having some professional integrity in an industry where it's practically frowned upon.

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.


Realistically, not being so young anymore, I think it's a matter of picking my battles. I'm plenty vocal at work, and have resigned jobs in the past for serious human rights transgressions (such as one startup trying to sell their filtering technology to China to censor dissidents).

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...


> it was usually higher-ups

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


Don't forget about "modernizing" the design. It needs to be modern. AKA it needs weeks of design people to copy what some popular website or app did that they personally think looks rad.


Both front end and backend devs are the eqivalent of workhorses who implement whatever the business wants. Few can afford to keep their record spotless and while I struggle to point out my own blemishes I sure as hell worked on things I didn’t believe in or things I wouldn’t do if I didn’t have to earn a wage.


This isn't strictly true, it really depends on the company. I've worked at places where I absolutely had the autonomy to implement features in a certain way so as to not degrade user experience. Nobody has ever asked me to create a button that jumps around, and if your workplace is so inflexible that you can't effect any change so such a basic UI thing doesn't happen, I'd suggest looking for a new one.


Imagine if the people designing the Discord, Windows 10+, Telegram, and Amazon Prime cancellation UI to manipulate you into paying for services, were in charge of designing airliner cockpits and industrial plants. User interfaces can and should do better in preventing unintentional user error, and people should refuse to implement, use, or accept dark patterns.


Sun's tragic X11/XView based "xbugtool" pioneered a lot of this misbehavior and worse in the early 90's, especially when you foolishly tried to use it to file a bug against itself, which triggered some extremely dark patterns indeed, like scrollbar spoofing, passive-aggressive input queue blocking, and keyboard focus locking:

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...


It would be really nice if modern browsers just waited to load all the images (or at least their sizes) before rendering any text on a page. Yeah, it would be slow as hell! It would force web designers to start compressing their images again and specifying sizes in the layouts. Obviously this isn't really possible anymore because of the range of screens we're dealing with. Okay, then here's an alternative:

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.


This problem is even older, but was not as prevalent as now.

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.


[flagged]


Nah, he's pretty spot on "User eXperience", it's not about designing a usable tool to maximise user productivity or pleasure, but rather, about designing a specific experience, which may or may not align with productivity or pleasure (and often does not)..

Exactly stuff like "if users can do X too easily, we loose engagement/ad misclicks/the feature _WE_ want them to interact with", so we "design an experience" that leads users away from doing X too much, but it's an experience designed to maximize user frustration to just below the point where it makes users ragequit into a different platform/product.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: