8 ms·
Open Letter to sites with annoying interfaces
- johndoe1234 15y agoThis is so true. I look forward to Web3.0 through...
- marknutter 15y agoPutting hover-revealed controls on elements users interact with often is perfectly acceptable. Throwing every single control on the interface, regardless of how often they are used, is bad design and it overwhelms non-techie users.
- jeffool 15y agoTab. The tab key should first take me to the most important clickable (or text-entry) part of your page. If you don't do this... It's not the "I'm not angry, I'm just disappointed" routine. It's both. I'm both angry AND disappointed.
- hub_ 15y agoAnd good luck discovering these with a touch screen interface. People always forget that one.
- droithomme 15y agoYes, absolutely so. Amazingly, iReader, from Apple, for the iPad, uses this antipattern in the critical main navigation bar! It disappears instantly and one has to click randomly at the top of the screen to get it to reappear, then try to press the tiny button that takes you back to the table of contents before the whole thing rolls up again after a delay of a second or two. Very frustrating. This sort of nonsense is bad enough when one has to hover with a mouse. But when there is no hovering available on a device and one finds key interface elements are invisible and must be unhidden by clicking randomly, one must wonder what sort of monkeys they got working there, or at least what their background in UI design is.
- ugh 15y agoThat’s not how iBooks actually works. (That doesn’t get Apple off the hook, though. You encountered the problem so it’s a valid one. Confusion about how something works is definitely not the user’s problem, it’s the developer’s.) The navigation bar only disappears automatically after you selected a book in your library. It is displayed for a few seconds to show that there are controls. After it disappeared you can make it appear by taping anywhere. It works analogous to the video player. So it’s consistent with other navigation controls that don’t have to and probably shouldn’t be displayed all the time. Once you tap the text to make the navigation bar show up it won’t disappear automatically – ever – at least as long as you are reading the same book and don’t go back to your library, no matter where you switch to. One of the problems with the current behavior is that anywhere doesn’t really mean anywhere inside iBooks. The left and right margins are reserved for turning the page. That can frustrate users who want to make the controls appear. If they tap the wrong place they turn the page instead of making the controls appear. There is no obvious demarcation about safe places to tap. Making the controls disappear when playing a video works better because users really can tap anywhere. There are no unsafe spots. Here is how I would change it: I would just not hide it by default. Users would still be able to hide it by taping on the text.
- droithomme 15y agoAhhhhhhh. Thanks. OK, so actually I now see that single (one-finger) clicking makes it go away AND makes it come back. It wasn't actually fading on its own because of a fade out hideaway timer, it's just that I was touching the pages. And I wasn't having success bringing it back consistently because it doesn't listen to clicks along the very top of the page.
- j_baker 15y ago...and heaven help anyone using JAWS on such an interface.
- hub_ 15y agoAccessibility is often ignored by website designer. That's very unfortunate.
- rwmj 15y agoHN isn't that great on a touch screen either. I guess pg doesn't use a tablet because the comments link is too small and awkwardly placed for a finger.
- omaranto 15y agoI've become very adept at zoom&tap. In fact I probably do it about as fast postioning the pointer with my laptop's trackpad. I agree it'd be nice not to have to zoom before tapping.
- SquareWheel 15y agoI find the behavior can cut down on clutter when pulled off correctly, though. Twitter offering context-based actions, for instance.
- enjo 15y agoI'm not sure I agree. It completely breaks on tablets for one thing.
- masklinn 15y agoDoes not have to though, Tweetbot's UI behaves nicely in this regard. It does not have hover, but its equivalent is to tap a tweet. This opens a small "drawer" of 5 tweet-specific buttons (reply, retweet, favorite, detail and "actions", which include posting a link to the tweet, copying the tweet's content, emailing the tweet's content and translating the tweet's content).
- gojomo 15y agoIt helps when the activation hover area is large: anywhere over a tweet, all new per-tweet options appear.
- po 15y agoYou're right if by correctly you mean not like this. The 'correct' way to do it would be to indicate that the field is editable. Once the user has clicked you can enable/reveal the save button if you really want it hidden. Twitter's tweet box is obviously an editable form element that can be clicked on. It is ok if clicking on an element enables additional contextual actions… the problem is that we don't look at a page with our mouse pointer. The pointer is a proxy for our hand not our eyes.
- droithomme 15y agoThanks so much for this article. Hidden interface elements that only appear when hovering over a secret spot like it's some kind of easter egg is one of the most frustrating things I have seen. It's not really user interface design so much as it is user interface abject failure and total ignorance of how interfaces work. I refuse to call anything so dysfunctional design! This has been sneaking into desktop application interfaces also for about 5 years now. There's no problem with it in a video game where you are finding a secret passage, or it is an easter egg that is of absolutely no consequence whether anyone finds or not. But for critical functionality it is inexcusably and is so offensive to concepts of usability that any "designer" using this technique in software for basic functions should be identified and blacklisted from industry. What is the affordance of invisibility? There isn't one.
- stephth 15y agoMy work involves designing interfaces and this discussion could help me understand this topic better; but like the author of the article, your post shows some intense frustration towards rollover-only elements, but none made it very evident to me as to why it's so frustrating and why it's so "stupid". We all experience things differently, and I'd love to picture a perspective where it's so frustrating. Here's how I see it (and as you'll see, I'll be taking various assumptions. Please feel free to tell me I'm wrong (but make a case)): We like to have everything at hand, but we also like (it's more like a need actually) to focus. Too many elements are a distraction. That's basically why we put things in boxes even if we don't intend to transport them anywhere: out of our sight. Our brains want/need to focus. That would be my answer to your question "What is the affordance of invisibility?". The example of Google - if that really is a delete contact button, I don't use that app - I would agree is bad design, because its effort to find it outweights the benefits of having it hidden (partly because its placement is not apparently logical and that makes it extra hard to find). In the first example in the article (github) however, I would tend to think that that specific solution is OK. The author of the article forgot to explain what that button does. A quick look at github, a rollover and a click (three actions) shows me that its function is it edits the description of the repository. How often do you edit the description of a repository? Not that often. Probably very rarely. And the more you use github, the smaller its usage gets proportionally to the rest of the app. The day you need it, you'll find it relatively quickly. Because you've experienced this practice for a while in other sites, and even more so because you've seen github act like that every now and then. Your brain is able to predict that if you don't see it, it might very well be rollover-only. The first logical place you try is the within the repository dashboard, over the description of the repository. Not too hard. I think in this case the benefits of every time I read that page not having that element there and not having to neutralize it myself with my brain by ignoring it vastly outshine the effort of looking for it when I rarely need it. It's a good deal. [1] I would love to understand a little more about why this concept didn't work out for you. edit: typos, formatting and deleted some unneeded parts -- [1] The github element in the case of a touch interface is not great, I would agree, because it's harder to predict that by touching the white area of the description the button will show up. But it works (as in: you can still access it). And you have to cut interface designers some slack (or instead give us the strength we need): we're still trying to figure out what to do exactly with the current mess of having two very different types of clients (mouse and touch) accessing our web interfaces. After we figure out if we should unify, we need to figure out how. Killing rollover interactions might be a necessary casualty in that road (but that would make part of me sad, there are wonderful usages of rollover, see for example the custom sliders in here: http://worrydream.com/LadderOfAbstraction/ http://worrydream.com/LadderOfAbstraction/), either way I'd love to understand a little more, and I assumed that in this discussion we're focusing on rollover, not touch.
- po 15y agoI have always called these interfaces 'scrubbing interfaces' and I believe it's a well known anti-pattern. It used to be popular with flash programming and design-heavy sites that didn't want all of those 'ugly controls'. Here is my rule of thumb: avoid attaching functionality to the hover event. Visual effects/indications are fine.
- droithomme 15y agoI agree. I hadn't heard that term. There's a related anti-pattern called Mystery Meat Navigation. http://www.webpagesthatsuck.com/mysterymeatnavigation.html http://www.webpagesthatsuck.com/mysterymeatnavigation.html http://en.wikipedia.org/wiki/Mystery_meat_navigation http://en.wikipedia.org/wiki/Mystery_meat_navigation Mystery meat was weird looking inexplicable icons that you had to click to find what they do or hover to get a description. Sometimes, including in both those references, they extend it to be cases where the inexplicable icon doesn't even exist and a description is invisible until hover. The hover patter, what you call scrubbing, seems to me to be related to but different from mystery meat, which is characterized by seeing a navigation element and saying "What on earth is that supposed to be?"
- randall 15y agoMystery meat nav (and bad design) is what I call it.
- latchkey 15y agoI agree! Here is another semi-close example. Not about hovering, but how about needless hiding of important user experience? https://github.com/mozilla/browserid/issues/797 https://github.com/mozilla/browserid/issues/797 I filed this super minor issue in the browserid issue tracker and it was closed with 'as designed'. No feedback as to why it was designed this way, but it sure seems silly to me to hide the 'remove' button under an 'edit' button. I can understand this on a UI like an iPhone, but on a web page? Oh well.
- skore 15y agoWow, that's just silly. I agree - "Delete" is simply not a subset of "Edit"ing an option in a configuration. It may be a subset of editing the entire configuration, but having a two-step process that makes a non-connected action into a child action is mind boggling. People need to learn their CRUD/BREAD better.
- latchkey 15y agoInteresting that you write 'Edit' vs. 'edit'... Here is another issue I just filed last night: https://github.com/mozilla/browserid/issues/809 https://github.com/mozilla/browserid/issues/809 tl;dr: Super minor, but the case of buttons is actually important UX too. I'm worried about BrowserID UX because we are implementing it on our site as an additional login system along with Facebook Connect. I'd love to see BrowserID become successful since we need an alternative to Facebook and OpenID is a train wreck. But, I worry that with bad UX, it will remain just an unused interesting idea.
- skore 15y agoYeah, but I'm probably just used to it and since I was referring to BREAD, it kind of made sense. I guess it's one of those age old questions like "do we say 'your' or 'my'?".
- phillco 15y agoThe GitHub example used to be better designed in that the "edit" link would appear right next to the text. So, you'd the see the repository title, move your mouse over it, and hey! see how to change it. With the button all the way to the right, that connection is somewhat lost.
- kjhughes 15y agoOn the one hand, it's better to reduce clutter for the less common case of editing rather than reading. On the other hand, it's better to indicate availability of functionality without requiring hovering. What do you think of a modal solution whereby individual editing interface elements are shown collectively only when the user indicates editing intent through a single, master control?
- droithomme 15y agoPersonally, I like those. I assume you are talking of the interface on some sites with let's say a user profile and there is a visible [EDIT] button in the upper right. Click on it, and all the nice formatted readable content is replaced with editable text elements that can be tabbed through, and these might have formatting bars in them or section delete buttons. Different from the discussed scenarios where basic functions are hidden and one must move the mouse around to different places to see if they may or may not exist, which is bad and smacks of video game treasure finding design, which is fine for video games and absolutely not fine for other applications. With the proposed [EDIT] design it is quite clear what is going on by examining the page visually. A related issue would be that the same profile viewed by other than the owner of the profile would show no [EDIT] button at all, nor would such button appear to them under any circumstances. No features hidden because for non-owners, there is nothing to edit.
- geuis 15y agoI'd like to add 2 other sites to this list with horrible mobile interfaces that frequently show up on HN. extremetech.com and geek.com Extreme Tech's mobile site is totally unusable. They have a very crummy interface, instituted with javascript, that overrides the simple scrolling ability built into the browser and overlay it with a system that tries pseudo-pagination. If they would simply get rid of their attempt at a clever interface and just display their actual site, there wouldn't be a problem. If any Extreme Tech developers are reading this, please fix your mobile site. The 2nd culprit, geek.com, crashes Mobile Safari. I'm on an iPhone 4. Because of whatever you are loading on your mobile site, it freezes the browser for upwards of a minute. Half the time the browser crashes before its done loading. Please, fix that too. I actively avoid reading any of those sites, since I read HN from my phone about as often from a regular browser. Another more generic complaint are to the people who use position:fixed on their sites to create headers and side navigation. Guess what, on mobile devices these don't scale. What ends up happening is that I need to zoom in to read your text, but then 3/4 of the screen is covered with your nav menu. Please, stop doing that. Test your sites on mobile browsers. Its easy. Take the one in your pocket out and try your site. I'm not even advocating extensive dedicated testing. Just try it out like a normal user does and make sure it works most of the time. These are things that are so horrendously, obviously bad that I don't know how they ever got through any reasonable kind of QA. Edited for excessive usage of caps. Sorry.
- radagaisus 15y agoposition: fixed; is long as you use percents. Thing is position: fixed doesn't even work on iOS: https://gist.github.com/1196262 https://gist.github.com/1196262
- geuis 15y agoposition: fixed was added in iOS 5. However, it becomes unstuck when pinch/zooming.
- pferde 15y agoThis kind of problems amazes me. It's year 2011, almost 2012 - we should have had flying cars and forcefield doors by now. Yet we are still struggling with getting a web page to work identically in different web browsers.
- radagaisus 15y agoIt made me both LOL and think. We are doing a snazzy crazy UI in the admin panel. But the thing is, we don't want people to use it. That sounds strange, but we optimized our convention, and we do allow people to configure stuff by themselves, but we don't want to motivate them to do so. An input field is crying for you to put something there. A little edit button in the corner not so much. And the added bonus is that we can hide all those ugly forms until they are really needed. Also, think about an experience that was the exact opposite of this post. You thought about something ('where is the delete button?') and you 'gambled' where that button will show up, or what touch move you should use - think how awesome the filling was when you were correct.
- modeless 15y agoThat isn't the "delete contact" button. Did he even try it? The "delete contact" button is in the toolbar, which makes perfect sense. The trash can next to the name field simply clears the name field. So why not always show it? This is not just the "edit contact" screen, it's also the "view contact" screen, and cluttering it up with trash cans next to every field would absolutely detract from the scannability of the page when you're not editing. Why not have separate pages for viewing and editing? That's bad for usability too; it invites mode errors.
- mitjak 15y agoAnd right there you define where you should and shouldn't use roll-over based UI elements: if a UI element is only useful as part of interacting with another, then hiding it in other situations makes sense (e.g., clearing a text field as part of editing the text in the field).
- FuzzyDunlop 15y agoContext sensitivity is a great justification for hidden elements. Litter your page with visible edit buttons and, in a poorly designed UI, you might forget what part of the page each edit button binds to. It makes sense to show only some controls when your mouse or cursor is focussed in the right place, because then you know those controls are relevant to what you're doing. What I think was overlooked with the two examples - Github and google - is the replacement of text-based controls with icon-based ones. Github's top nav is now just tiny icons, the Google pages are all icons. You can barely tell what these are unless you hover over them long enough to see an explanation. This is the real problem, I think.
- sunchild 15y agoI've always thought that reveal-on-hover controls makes perfect sense when you present a list of similar things. In that case, showing one edit button, one delete button, and possibly a detail button is too much noise. My basic rule is, if there's more than one or two of the same control, then it should be hidden.
- pferde 15y agoYes, hidden, but with a visual clue (small arrow, button with an ellipsis) that clearly says: look, here are additional controls relevant to this part you're looking at.
- WhatsHisName 15y agoI agree. Google seems to have replaced the concept of "Simplicity is best" with a misconceived notion about elegance. I don't want to search for hidden buttons just to log off, or delete, or open, or save changes. I just want to get things done and move on.
- deleted 15y ago[deleted]
- bozho 15y agoThis 'hiding' makes sense with lists of items, each of which has the same options. You wouldn't want to see 30 identical delete icons, it would be ugly. There are two important examples. Twitter hides the actions buttons and facebook doesn't. Twitter uses icons and media-poor tweets. So having the actions invisible is the best way to go, otherwise the UI will be too cluttered with actions. Facebook has wider spacing, more graphics in the post itself, and its actions are text-only. That's why they can be visible - they don't distract you from the content. So I wouldn't say having invisible actions is bad. It's just not always good.
- buster 15y agoStrongly disagree with the article. you have to ask yourself: How often are you searching for a contact and want to edit it and not only view it? On average, most people won't edit it, so it's useless to have an edit button 90% of the time. I think it's a pretty neat solution. The poster only has to get accustomed to 21st century technology, it's not 1990 anymore with textfields and buttons all over the place. It's like the typical rant of an old grandfather, complaining that something has changed and that everything was better decades ago. Bullshit. Just be a bit more flexible. The placement of the hidden edit button can be discussed though. I am wondering why the github button is so far away from the content to edit... Another example: The G+ profile editing is one of the best i have ever seen. It's "this is how your profile looks like to another person, hover the field and edit it". It's just easy and it's change something where it is shown, not going to another page and edit some values and go back and forth to see the changes.
- lailsonbm 15y agoUsers, always them… My reaction? Meh!
- pgtart 15y agoadd facebook to that list of anoying websites the most terrible user interface i have ever seen. they should hire some real designers and make it fun again
- funkah 15y ago"Open letter to sites with annoying interfaces"?! Maybe I'll write an open letter to traffic. Or an open letter to waiting in line at the post office. Or an open letter to humidity.
- its_so_on 15y agoI didn't read this carefully, but it seems that "hidden" interfaces that pop up during a mouse hover and so on are a main objection. Well, I must say, that often when using a web app, I expect to have to wait 5 seconds for a reload as I am moving my mouse in for a click (for example, imagine if there is a text link "Rate this page" under the current average rating) -- when, instead, as I hover over it it turns to 5 empty stars immediately, so that I have just saved 5 seconds for a page reload, I am immensely delighted. Basically, I do agree that hidden interface elements are awful. At the same time, every "second page" that you would normally have to wait for is far better as a 'hidden interface' that pops up right away! I dare say that when you wireframe out the possible pages of your web app, the very best interface might be having most of those pages right in the main page, just hidden. Report feedback, report a bug, reset your password, all these things that would require a page reload and losing your scrolling in the page and so on, can be brought 5000 ms closer to the user but putting them in right at the point of the click. So, I do agree that there is nothing as frustrating as a hidden user interface element. However, you can also pleasantly delight your user by bring the 'next page' right there.
- jv22222 15y agoThe iOS interface is full of this behavior. I thought that was part the reason why it was so clutter free and easy to use due to less clutter.
- jmilloy 15y agoPlease. The first example is for editing the repository description, and becomes visibile when hovering over the description. The second is for clearing the name field, and becomes visible as soon as you are actually editing this field. I agree that hidden interface elements should be used carefully, but if these really are the best examples you've encountered, then it's not really a big problem. I wouldn't even consider the second "example" a hidden interface element.