I wish to understand what elements or aspects of the design of modern websites the end users are annoyed from. Though you are free to express your personal opinions, it would be even more insightful if you could provide objective criticism and suggestions for alternative implementations so that I may incorporate the same in my current and future projects to make them as user friendly as possible.
Some criticisms I have encountered a while back include:
- Switches being basically checkboxes with more ambiguous active state
- Scrolling animations that prohibit user from linearly scrolling through the page
Make sure that the opinion is not
- Related to business/legal matters e.g. Cookie consent notices, ad banners etc.
- Too vague e.g. Poor website layout
- Highlighting objectively bad practices e.g. Lack of accessibility features
I recognise I could have followed a design system for this question, but I want to understand the situation from the perspective of the end users to see if they have a differing view on what a convenient user experience should be like.
Put a damn selection area around your switches/check boxes so I don’t have to click precisely on the teeny tiny little box with my giant fingers. You know what I want to do, There are no other elements near it. Just put a damn div area around the object that has an onclick so I can toggle the thing without zooming it to the size of my screen to press right on the tiny little button to toggle my setting
When a page is so bloated with crap, certain elements load much after certain others, leading me to believe the page has loaded, and to click on something jus as somthing else loads and pushes it down/to the side.
“Cumulative Layout Shift”
It’s so annoying.
And 100% of the time the thing you end up clicking is an ad. It’s definitely intentional.
One terrible combo is infinite scroll plus links in the footer (Bing does this, if you needed another reason not to use that site). I think pagination is generally a better pattern, since you can link to a specific page.
Also lack of back button functionality and having your state reset on refresh are also pet peeves.
Sometimes it becomes a race between me and the site implementing infinite scroll to see if I can reach the footer before the site can load more content; the only time I curse my internet connection for being good
- I don’t understand the logic of presenting just-arrived users with a popup to sign up for a newsletter or anything. I have just arrived and will need time to see the content before I can make that kind of decision.
- likewise, I do not understand moving a video to floating at the bottom corner of a page after I have scrolled past the original location of the video. If I wanted to watch the video, why would I have scrolled past it? Very often reading is superior so moving the video to the corner only adds distraction to my attempt to consume your content.
- Please do not overwrite established keyboard shortcuts for browser functions. Even if you have a desktop version of your web-app you should accept that your users are using a browser to access the web-app version of your product and retain all established browser keyboard shortcuts.
- Lazy loading of data is counter productive most times. When a set of data is presented by a web page, pagination is fine. This provides a clear indicator that the set of data on the current page is complete, and a CTRL-F can be performed. The process of lazy loading of additional data after scrolling to a certain point provides the end user not visual cue where the current set of results lives within the full set. In the best of cases this means having to continually scroll to the bottom of a page until nothing new loads before doing a search through the results. In the worst of cases lazy-loading will remove earlier entries and make it completely impossible to do a search through presented results.
- Is your site or product intended to be end-user data to sell to data brokers? If not, then you should not be engaging in any practices that will result in any data being sold to anyone. If you are selling a physical product or service that is unrelated to end-user data and you still find yourself tempted to sell end-user data, please consider increasing your product’s price instead. This practice makes it seem that your product or service is not of high enough quality for you to make the money you need from it, and instead have to rely on the questionable practice of selling user data to close that gap.
- Nagging customers to disable ad blockers is objectively pathetic. Unfortunately these are NECESSARY because the vast majority of sites pushing advertising are doing so through 3rd party services that are NOT moderating the content of the advertisements to remove malware or outright scams. Either accept that this is a security necessity, or insert your advertisements yourself. The vast majority of ad blocking software do so based off of the established codes used by 3rd party ad vendors and manually inserted advertisements will not suffer. Your ad network made this a requirement and you should be punishing them, not your users.
- if you have pagination on your site’s content, either allow to next set of results to actually load a new page, or ensure that clicking “Next” also includes moving to the top of the list when the next page is loaded. After clicking “Next” I shouldn’t have to manually scroll up to the top of the new results.
And just like that, all the vague annoyances I’ve had just became tangible. Thanks.
Making the page have empty margins by squeezing all the content into the middle of the page. When I started learning how to make website back in the 90’s, this was considered a major no-no. It’s really only done these days, because they focus entirely on how it looks on a phone held vertically than on an actual computer. But there’s no reason to not have it use the space on devices that can see it.
Which is dumb because CSS allows you to change the design based off screen size, so it’s 100% developer laziness.
Websites that deliberately disregard browser settings and find ways to forcibly autoplay videos.
That includes sites which use animated gifs in order to simulate playing a silent video, to trick you into clicking on it.
Just give me a damn still image if I don’t want video. I will only get angry if you shove video down my throat.
I personally find fading-in of web elements in scroll to be annoying. Cookies should also have an immediate one-click reject-all button directly visible without having to enter any menu.
Oh, also, any links that are inaccessible by Vimium are annoying.
A morbillion javascript frontends, data hoarding middle ends, and another morbillion tracker tags all so you can display 5 sentences of text and a default picture which causes the website to take 5000 years to completely render as you watch Wappalyzer light up like a christmas tree on fire. Use static HTML and CSS ffs, it’s there for a reason.
Modern HTTP is such a horrendous steaming pile of crap that I could honestly spend an entire day talking about the horrible ways we accomplish WWW, with about a solid 70% of it being directly attributed to pos Google.
Basically the entire UI and content feels built around / optimized to serve ads. Which means everything sucks
- websites that fuck with scrolling in any way
- autoplaying videos
- sticky videos
- developer focused websites without darkmode
- popups when you move your cursor out of the window of the website
- unprompted popups
- links that break middle mouse button clicks for opening in a new tab
- burger menus on an otherwise rather empty website, or pure content site on desktop
- gigantic text, where 2 rows take up my entire screen, especially bad on larger monitors
- that relatively new
sign in with google
popup on the top right on some websites - low defaults for
amount per page
selectors in product lists or similar, the default should depend on how many products fit on my screen, not some arbitrary value - slow loading content, or other requests that take more than ~100ms. With a modern internet connection this shouldn’t happen
- (not cookie banners in general, but) overly large cookie banners, also the
legitimate interest
toggle which, most of the time, is enabled by default (you might have interest in my data, but its definitely not legitimate); or cookie banners which block you from reading the site before clicking anything, (I know this is related to legal stuff it is not legally necessary to make invasive cookie banners)
Other people have already mentioned some of these as well
I hate having to toggle off legitimate interests off vendors too. The very premise of this option has been anti-consumer from the beginning.
I hate when a website allows me to deselect corporate partners who have access to my data, but rather than deselecting all of them it offers me the chance to manually select 600 or 800 one at a time.
I have to mention consent popovers anyway, because many of them don’t even comply to law. They should be better. None should ask for sharing data to over 50 or over 100 “partners”.
I hate what I would label marketing or design websites with huge banners and non-telling marketing-speak text. I want information, and in a reasonable form and density. A huge banner [of happy people] with no relation to the product is wasted space. I want concise information, not evasive and positive-only speak.
Article webpage where the next article follows. Even worse when there is no clear visual content separation to indicate it’s something different now.
Auto-playing videos. Despite browser blocking them, evading that, or popover videos when scrolling, or videos embedded that have nothing to do with the article. They are atrocious.
Overly verbose text. Overly verbose intro text and context descriptions. Not getting to the point. Not linking sources.
Too small text. I have a web-browser setting for default font size. Don’t make it 40% of that for no reason.
No dark mode. In the evenings, flashing me is always irritating, and I have to manually enable a dark mode hack.
Wasted space for layout spacing. Looking pretty over usability or dense information.
Zoom can be implemented good or bad - depending on what you increase in terms of font size, spacing, component spacing, etc.
Contact - support or otherwise - only via shitty chatbot or web forms with too much required details. Give me a simple email address.
Newsletter or subscribe requests. I’ll do it if I want to, never upon request. Worst when they show up before you consumed their content; could not even assess quality or interest.
Shit DOM design, lack of selectors. Programmatically interfacing with a website through DOM can be very helpful. For CSS hacks, or content extraction. Like tracking Terms of Service or Privacy Policy, or customizing or fixing layouts. Lack of speaking DOM element classes or ids breaks those interfaces.
Switches and checkboxes that are unclear if they are on or off and which option does what.
I see it a lot in games where it is extremely unclear from the wording and the swith/checkbox if it needs to be on/checked or off to make the thing do as you want.
And when the swith has a light green and slightly grayer light green or similar as ita colours it doesn’t help, because not only doesn’t you know what way the swith need to go to get the outcome you want. You doesn’t know what way the swith is going anyway.
How did you manage to type “swith” so many times?
Looks like autocarrot to me.
Hidden scroll bar. We don’t need that extra half centimeter of content, we need a visible scroll bar I can conveniently grab. Why do I have to try to maneuver the cursor to the right spot to make the scroll bar appear, then find the current position, move the mouse to it hoping the scroll bar doesn’t disappear again, and finally get to scroll.
Both infinite scrolling and excessive paging interfere with me being able to navigate to a spot.
- If you need to do infinite scrolling do it the right way and just display it all on one page. It’s not like the content is ever a significant part of the bandwidth needed. Now you can simplify your buggy JavaScript monstrosity by not implementing paging and I can use <CTRL-F> to more easily find what I need
- and seriously stop with the excessive paging - we all have computers that can manage more than 12 lines of stuff. I’m not even talking about the slideshow websites, at least they have the logical motivation of maximizing ads. For example if I’m reading some dreck ranking the us state on some metric, it’s ok to display all fifty on one page. If I’m reading something with a list of thousands why am I paging through 10-20 at a time with no way to jump to what I’m looking for?
A big plus one to ambiguous switches. Two things I didn’t see already mentioned:
First: if you have content that requires horizontal scrolling, like a big table or report, that horizontal scroll bar needs to be on the screen, not at the bottom of the report. I shouldn’t have to scroll hundreds of rows vertically in order to be able to scroll horizontally. While we’re at it, column headers need to stay on screen when you scroll vertically past them.
Second: if there are two choices, identifying which is active needs to be more than just changing the color. Outline that shit or add a halo, throb, or something. Sometimes a user depends on tabbing and not using a pointing device or touch screen, especially when using assistive technology. This is especially heinous when the content is consumed on a tv using a remote control, such as a streaming service or DVD menu.
pages that move after the initial load without user input should be illegal.