21 ms·
Ok-Cancel versus Cancel-Ok
- zaksoup 8y ago> Make it so much different and Factorio specific, that the way it is done in your specific system will not interfere with your muscle memory I think this is a really thoughtful way to deal with the problem of x-platform UI that isn't using system chrome/dialogues. Don't get in the user's way, and let them develop muscle memory specific for the game.
- gowld 8y agoThe "Factorio specific" way looks the same as the Mac OS way (aka the correct way, since the Mac was built on UX research ;-) ). Was the author just hesitant to admit that his/Windows idea was wrong? The other advice on the linked NN post is sensible too: "If you're designing a desktop application for one of these two personal computer platforms, your choice is easy: Do what the platform owner tells you to do." Not conforming to your environment's native design language is trouble. A miniscule part of the audience are playing the game on both kinds of platforms; the vat majority toggle between Factorio and their home OS.
- mmphosis 8y agoCan you imagine a first person shooter game with dialog boxes popping up all the time? Shoot now? Shoot-Don't Shoot. Light switches with a dialog box? Light switch: on-off slider. Cancel-Reset-Apply Web sites that throw up overlays over the content to ask some inane question? oh, wait.
- kurtisc 8y agoThis explains why they're swapped for the print dialog in Chrome between Linux and Windows. Often I select a word intending to search it, hit print instead and then hit the wrong button trying to cancel it. This is why I have pieces of paper with one word printed on them.
- psychometry 8y agoTechnically, they're both wrong. Button labels should be verbs. The Cancel - Open example from OS X is the right way to do a dialog box.
- tridentlead 8y agoNot really, Ok can be a verb. You can “Ok” a change.
- jarcoal 8y agoTechnically, but it doesn’t tell you much about what you’re doing. Having the action be more descriptive allows users to act more quickly.
- personjerry 8y agoIn that context "Ok" is merely a euphemism for "Accept", which would probably be a better label
- DonHopkins 8y agoAt least it's not "Submit", which is just oppressive and demeaning. "Approve" would be more active and positive.
- pwg 8y agoIn all fairness, the "Submit" button in standard HTML is using the second definition of "Submit", not the first: https://www.merriam-webster.com/dictionary/submit https://www.merriam-webster.com/dictionary/submit 1 a : to yield to governance or authority b : to subject to a condition, treatment, or operation * the metal was submitted to analysis 2 : to present or propose to another for review, consideration, or decision; also : to deliver formally * submitted my resignation 3 : to put forward as an opinion or contention * we submit that the charge is not proved It (the "Submit" button) is "present[ing]" (or "deliver[ing]") the form data field contents to the server. And in fact, myself, until I read your comment, never even considered the word in the context of the "yield" definition due to how it operates.
- thanatos_dem 8y agoI ran into this during in my old days of UI development using Java Swing. I eventually came across MiG Layout (http://www.migcalendar.com/miglayout/cheatsheet.html http://www.migcalendar.com/miglayout/cheatsheet.html) which had a steep learning curve, but was extremely powerful. In particular, you could give components a tag attribute, and it'd do platform-specific component reordering based on the tags. It was pretty sweet!
- scrollaway 8y agoHN folks will appreciate the entire Factorio blog. They are super open about the design of their game and it's full of micro-postmortems. https://www.factorio.com/blog/ https://www.factorio.com/blog/ Also, if you're reading this, you are in a demographic that is likely to absolutely love Factorio. Go buy it, it's 20 eur/usd, you won't regret it. Some call it "Programming: The Game".
- codeflo 8y agoOh, you will regret it. That’s like saying “Try heroin! You’ll absolutely love it.” Not technically wrong... (Edit: I’m joking. It’s a great game.)
- scrollaway 8y agohttps://www.reddit.com/r/factorio/comments/7lfn1w/my_friend_wants_to_try_the_new_patch/ https://www.reddit.com/r/factorio/comments/7lfn1w/my_friend_... :)
- wybiral 8y agoIt is really addictive though. When you get to the point of having little helper robots that do your bidding... Priceless.
- DonHopkins 8y agoBut it's funny because it's true! Factorio is INCREDIBLY addictive, because it stimulates that excellent feeling you get from successfully writing and refactoring beautiful code.
- c3534l 8y agoI actually organize my creations by thinking about hardware architecture, too. To me, Factorio is just a pretty graphical CPU.
- keithnz 8y agoyes, regret it you will. I've had it for a while and from time to time I see someone play it online and go "oh, I should go play that again".... just recently.... 7pm: I think to myself, let's do some work on my side project... but first, lets play a little factorio 3am: FU#! :/
- Edmond 8y agoIf it is matter of vote, I'd vote for Ok --> Cancel most of the time. My justification for this is to avoid accidentally going for Ok when what you want is Cancel...but this happens to be biased against left-handed people!
- nailer 8y agoOK then cancel makes sense because 'OK" is the first, and therefore default option Cancel then OK makes sense as 'OK' is then in the bottom right corner, same place as the 'next' in a wizard GUI. But call it 'Continue' or something, whatever you're saying OK to.
- Phrodo_00 8y agoI think that a lot of the thinking behind putting the action to the right is to have Cancel be sort of the default option (the keyboard'd still default to the action) as a way of avoiding user automatically doing actions they regret (and with the presumption that cancelling won't make them lose any work). Of course, once they get used to that, it still becomes automatic
- mygo 8y agocolor cancel red. and never color an “ok” or “go” or any action other than cancel red. not even if your app’s color scheme is red. and don’t use both red and green. then just be consistent.
- jakelazaroff 8y agoI would only color destructive actions red (and "positive" actions green). People tend to interpret red buttons as if they'll delete something, but "cancel" should usually be the option that doesn't change anything. For example, if you have a dialog that lets you delete something or cancel, the "delete" button should be the red one (although delete/undo is a much better flow than delete/cancel: https://alistapart.com/article/neveruseawarning https://alistapart.com/article/neveruseawarning)
- deleted 8y ago[deleted]
- maxxxxx 8y agoWe have a review software that has buttons "Wait"-"Approve" and then "Sign"-"decline". So on one screen the positive button is on the right but on the other it's on the left. I have declined tons of reviews just by clicking on the right button reflexively.
- jessaustin 8y agoIs this intentional? Do they want you to be really sure?
- maxxxxx 8y agoI doubt it. There is no "are you sure?" on the decline button. So typically I decline something and wonder why two days later someone complains why have declined his review.
- tzs 8y agoThere was a widely used program on Windows back in the 95 days that on the nag dialog asking free users to get the paid version would random switch between the two orders. The idea was to keep people from unconsciously clicking through that dialog. I think this was WinZip, but am not certain.
- code_duck 8y agoIt's an effective dark pattern. Many websites practice similar trickery.
- dchest 8y agoI wouldn't call it a dark pattern: there's no trickery or deception; nothing bad happens if you pressed the wrong button. It's called a "nag screen", and in many cases it's the only difference between a trial version and a paid one. Here's an example from Total Commander: https://www.dedoimedo.com/images/computers_new_2/windows-cool-apps-tc-nag.jpg https://www.dedoimedo.com/images/computers_new_2/windows-coo... (the number to press changes randomly between launches)
- code_duck 8y agoIt's an attempt to trick the user into clicking the wrong button. Maybe not dark, since all that happens is it annoyingly opens an website, but nonetheless, it is not pleasant or user friendly to intentionally deceive others into doing something they wish to avoid. I believe that practices that are labeled the dark patterns on websites often have no more impact than that. I'd call it 'user hostile'.
- dchest 8y agoNo, it's a attempt to intentionally slow down user. I don't remember nag screens that open websites: it either tells you that you press the wrong button and re-randomizes the button order or quits the program. There are also versions that just have a timer that enable "Continue" button after a few seconds (e.g. https://kinzuakid.files.wordpress.com/2009/05/gsak-nag-screen.jpg https://kinzuakid.files.wordpress.com/2009/05/gsak-nag-scree...). It's very different from websites that trick you into clicking a button that leads you somewhere. It's a nag screen in a demo version that you can get rid of by purchasing the program. It intentionally nags/annoys users, but very far from dark or gray patterns. In fact, many of them only appear if you violate the license by using the program after the allowed period; being slightly less user friendly but still allowing users to use the program.
- jaysonelliot 8y agoThis has been a debate for as long as I've been a UX designer (mid '90s), and probably much longer. Ultimately, the answer about this UX style is very much the same as a question about writing style—there's no objectively right answer, but you have to be consistent. For example, you can pick up any number of style books from Strunk & White to the Chicago Manual of Style and get different "right" answers about writing style, but any editor will tell you the ultimate solution is to be internally consistent. The arguments for each approach have merit. "OK on the left" designers will argue that because we read from left to right, the positive response should be first. "OK on the right" designers will say that the positive response carries the user forward, and because we read from left to right, forward progress should be on the right. My personal feeling is that there's another argument for OK on the right, which is that the majority of users are right-handed, so the default choice will be closer to their dominant hand if it's placed on the right. Then again, I may be looking for evidence to support my preference, which probably arose from the fact that I began designing on the Mac, so I was conditioned to Apple's "OK on the right" standard at an early age, and I've simply conflated "familiar" with "correct." So the answer from this veteran UX designer would be: Use whichever placement your users are going to be the most familiar with, but whichever you choose, be 100% consistent with the choice you make.
- RussianCow 8y ago> So the answer from this veteran UX designer would be: Use whichever placement your users are going to be the most familiar with, but whichever you choose, be 100% consistent with the choice you make. Not only that, but make the "OK" choice standout with a different color. If the "default" option is brighter than the rest, your eyes will most likely gravitate towards it first, regardless of the order of the buttons.
- pier25 8y agoIn my bank web application the OK button is on the left, and... both buttons are RED because that's the brand's color! It's a terrible web app.
- 8y ago
- danschumann 8y agoGoing to the right seems natural to progress, but is that because English is left to right? If a language goes up to down, do their dialog boxes proceed downward?
- klodolph 8y agoApple Human Interface Guidelines do indeed recommend the "OK" type buttons on the left for right-to-left texts (and put the menus on your mobile apps on the right instead of the left, etc). Computers do not generally use vertical text for localization, for example, Chinese and Japanese are left-to-right as far as the computer is concerned. (This doesn't apply in all cases just to the way UIs are localized. You can still make text vertical, for example, see https://www.w3.org/TR/css-writing-modes-3/ https://www.w3.org/TR/css-writing-modes-3/)
- makecheck 8y agoIt’s not just the order but the placement, the titling, and ultimately the whole message being presented. Windows managed to do this as backwardly as possible (no pun intended). Switching their button order vs. the Mac might not have mattered if Windows put the first button in the bottom left corner for predictability. Instead, they right-justified an entire group of left-ordered buttons so you have no way of knowing if the corner button will be the main action. Then they tended to use nondescript button titles, made worse by APIs that make it easier to pop up yes/no questions than Action1/Action2 (i.e. custom titles) so apps lazily trend toward nondescript. And then the OS had relatively tiny fonts without formatting that made it hard to understand at a glance what a message is even asking, requiring careful reading to proceed. A good UI is not a very simple thing, there are lots of details to be considered.
- fnordprefect 8y agoThere was a lot of good work done by Apple in the days of classic Mac OS - see eg pages 103, 196-7, 201 and 206-7 from the Macintosh Human Interface Guidelines, available eg at http://interface.free.fr/Archives/Apple_HIGuidelines.pdf http://interface.free.fr/Archives/Apple_HIGuidelines.pdf Some of the reasons behind the suggestions (which are clearer when you view the associated pictures in the pdf): "The Western reader’s eye tends to move from the upper-left corner of the dialog box to the lower right. Put the initial impression that you want to convey in the upper-left area (like the alert icon), and place the buttons that a user clicks in the lower right. Following this guideline makes it easier for users to identify what’s important in a dialog box." "The button names in the save changes alert box correlate to the action users perform by pressing the button. The buttons read Save, Don’t Save, and Cancel. Using these verbs reinforces the identity of each possible action to the user. In other words, the Don’t Save label provides much more context for the user than the word No does." "In order to prevent accidental clicks of the wrong button, you should always keep safe buttons apart from buttons that could cause data loss. Standardizing the location of buttons in a safe configuration provides an additional safeguard for the user. Place the Save button in the lower-right corner with the Cancel button to its left. Place the Don’t Save button left-aligned with the message text. Make the Save button the default button, which means that it should be linked to the Return or Enter key. This way, the user is less likely to accidentally click the Don’t Save button or activate it with a keystroke and cause irretrievable loss of data." "Whenever possible, name a button with a verb that describes the action that it performs. Button names should be limited to one word whenever possible. You should never use more than three words for a button name." One good justification for the Cancel->OK order is that it means the default button (usually the OK button, but also Save, Print etc) is always in the same position in the dialog -- far bottom right -- regardless of how many other buttons there are, and how wide they are. This gives consistency / familiarity / muscle memory. It also lets you place "data loss" buttons well away, in the far bottom left, as "an additional safeguard for the user". On classic Mac OS, you always knew pressing a button towards the lower left corner, and set away from the other buttons, could spell trouble. The problem with the Windows way of doing things is that the default button moves depending on the width and number of other buttons, and there is no "safe button place" and "unsafe button place".
- badsectoracula 8y ago> But little I knew, that this is actually specific to windows, and on Linux or macOS, the order is reversed Actually on Linux it depends on the toolkit and/or environment you are using and in this case it seems that GNOME/GTK is the odd one out. After doing some search, it looks like that every other toolkit and environment uses OK -> Cancel: http://ocsmag.com/wp-content/uploads/2015/02/plasma-krunner-modules.png http://ocsmag.com/wp-content/uploads/2015/02/plasma-krunner-... (KDE) https://docs.kde.org/trunk5/en/kdeaccessibility/kmouth/kmouthctts.png https://docs.kde.org/trunk5/en/kdeaccessibility/kmouth/kmout... (KDE) https://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/kdialog.png https://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/kdial... (KDE) https://www.sao.ru/hq/sts/linux/book/xbook_marshall/prompt.gif https://www.sao.ru/hq/sts/linux/book/xbook_marshall/prompt.g... (Motif) https://www.sao.ru/hq/sts/linux/book/xbook_marshall/dialog1.gif https://www.sao.ru/hq/sts/linux/book/xbook_marshall/dialog1.... (Motif) http://northstar-www.dartmouth.edu/doc/idl/html_6.2/images/macro02.gif http://northstar-www.dartmouth.edu/doc/idl/html_6.2/images/m... (Motif) http://www.antillia.com/oz++/images/IconBar.png http://www.antillia.com/oz++/images/IconBar.png (Motif) https://tkdocs.com/images/idleprefs_l.png https://tkdocs.com/images/idleprefs_l.png (Tk) http://zetcode.com/img/gui/tkinter/colorchooser.png http://zetcode.com/img/gui/tkinter/colorchooser.png (Tk) http://www.fltk.org/doc-2.0/html/filechooser.gif http://www.fltk.org/doc-2.0/html/filechooser.gif (Fltk) Even on TUIs/Console the order tends to be OK -> Cancel: http://linuxcommand.org/images/adventure_dialog-radiolist.png http://linuxcommand.org/images/adventure_dialog-radiolist.pn... (dialog) https://i.imgur.com/ruW7AQE.png https://i.imgur.com/ruW7AQE.png (Free Vision) https://raw.githubusercontent.com/pfalcon/picotui/master/picotui.png https://raw.githubusercontent.com/pfalcon/picotui/master/pic... (picotui) Also FWIW in my own programs i am always going OK -> Cancel since it feels more natural.
- eliaspro 8y agoIIRC KDE (or was it Gnome) changes the order depending on whether it's a RTL or LTR locale.
- badsectoracula 8y agoApparenly Windows does that too [1] (or did at some point, i can't find any recent shot that showed a dialog box). It actually looks like it flips the entire window horizontally in RTL :-P. [1] http://www.geocities.ws/mowasel/tech_zone/images/dialog5.jpg http://www.geocities.ws/mowasel/tech_zone/images/dialog5.jpg
- foobar1962 8y ago> But little I knew, that this is actually specific to windows, and on Linux or macOS, the order is reversed... Did anybody else pick this up? The person has only ever seen Windows. That’s extremely limiting. A later comment talks about how Microsoft designed things... one of the big differences between Mac and (DOS and early Windows) was that Mac developers tended to use the Apple tool kit and design guidelines, but the other platform devs tended to inventvtheir own and go their own way — being deliberately different. I taught computing in the early 1990s around the transition from DOS to Windows 3.1 and on a Mac if you learned to print in one app you had it right for all others. With DOS each app was a completely different set of key presses (looking at WordPerfect and Lotus 123). Windows standardised this but it took a while for devs to catch on that consistency with other apps is good practice
- zeitg3ist 8y agoI have always used a Mac, and just occasionally Windows: I have never noticed this detail until I read this article. Sure, something always seemed “off” with dialogs in Windows, but I couldn’t pinpoint it. So I don’t think the author never used a Mac, it’s more likely that they never connected the dots either.
- chairmanwow 8y agoI think it’s this very consistency that make using the JetBrains family of IDEs so painless. The power-user keybindings are equivalent across all of their products. The standardization make picking up a new language the hardest part about a new IDE instead of having to learn a new tool AND having to learn a new language.
- doubleunplussed 8y agoThis is one reason cross-platform GUI toolkits are great. My apps are in Qt, and the dialog boxes are idiomatic on all platforms without me having to know or check.
- rkuykendall-com 8y ago> Did anybody else pick this up? The person has only ever seen Windows. That’s extremely limiting. The original Factorio team ( once they grew to 3 ) developed 100% on Windows, Mac, and Linux respectively. So Twinsen may have very little experience outside of windows, that probably helps him develop an authentic Windows experience, while the Mac and Linux developers do the same, and the result is a great cross platform game. Disclaimer: My in-game hours for Factorio probably qualify me for Stockholm syndrome, so lots of bias here.
- michaelcampbell 8y agoI always preferred, "Do <the thing>" or "Don't do <the thing>". Be explicit in what the buttons mean.
- dylan-m 8y agoYep. That's one of the reasons I have always really appreciated GNOME: they're steadfast about buttons that do what they say, and it makes everything so much nicer to deal with for me. Part of this is GTK does a good job avoiding situations where stock OK / Cancel buttons are an easy way out. I think a reason for the vast number of them in other places is developers are lazy gits and lots of UI frameworks make it effortless (like, a single function that blocks your thread effortless) to create really lame question dialogs with ready-made generic labels.
- simion314 8y agoGTK gets bad points for me because it forces me to use their file choosers, no choice to avoid that then attempt some runtime patching the applications.11
- deleted 8y ago[deleted]
- Someone 8y agoInterestingly, Apple’s Human Interface Guidelines from the 80’s do not say the order must be Cancel—OK. They say: ”In general, dialog boxes should be laid out with the most important information and controls at the top left, working down to the less important information, ending with the default button—the button most likely to be clicked—at the lower right” So, there’s “in general”, and “most likely to be clicked”. The first leaves wiggle room, and the latter opens the door for changing the order. They even almost give an example: an alert “Are you sure you want to erase all changes to your document?” with buttons “Erase” and “Don’t Erase”, in that order, with “Don’t Erase” being the default button. I don’t remember ever seeing a dialog on a Mac in those years that had OK—Cancel, though (there were a few in the 90’s from bad ports)
- circlingthesun 8y agoIf you assume that people tend to consider all options before making a choice, putting the primary action on the right makes sense. If you put the primary action on the left, a user will see it first, but then read on to look at the other options. Once all options have been considered, the user has to go back to click the first option. If the primary action is last, the user can immediately click it once all options have been seen.
- dmoy 8y agoWell damn. Read an article about factorio at 5:30pm on Friday, there goes my whole weekend.
- Pxtl 8y agoI like OK Cancel because it implies that tab-enter on the last entry field is submit without breaking expected left-right right flow of tab index.
- doh 8y agoYears ago I read an article [0] that was championing Cancel-Ok based on the fact that most of the world reads from left to right and thus the eyes move from left to right. If you use Ok-Cancel, user's eyes have to essentially go back to the positive action, which is the one that they do more often. [0] http://uxmovement.com/buttons/why-ok-buttons-in-dialog-boxes-work-best-on-the-right/ http://uxmovement.com/buttons/why-ok-buttons-in-dialog-boxes...
- Stratoscope 8y agoI wonder if they are really sure about that. What do you think, no or yes?
- doh 8y agoWell, it convinced me at that time, so now I force all our designers to structure it also as Cancel-Ok. On the surface it makes sense to me, but that doesn't mean it's correct. So I go with Cancel-Ok, but holding this conviction very loosely.
- Stratoscope 8y agoThis is one of those things where there is no wrong or right answer. We are just trying against all odds to find something that will help users feel comfortable and make the right choice. My philosophy used to be to follow the native platform convention, so on Mac it's Cancel-OK, on Windows or Linux it's OK-Cancel. Seems simple, do what people are used to. But what about a web app that someone uses on Mac at work and Windows at home, or vice versa? Do they expect the app to work the same wherever they use it, or do they expect it to follow the different native platform conventions? My mind is spinning.
- abrowne 8y ago> Linux it's OK-Cancel. KDE yes, but GNOME and most GTK+ desktops and apps are definitely Cancel/OK. Google used to be pretty mixed, but Android and the Material re-designed stuffs seems to be pretty much Cancel/OK too.
- scottbell-moron 8y agoSCOTT BELL IS A FUCKING MORON
- gsich 8y agoAs long as it is consistent with the OS. Linux programs are especially bad in this. You never know what you'll get.
- keyle 8y agoAs a UX designer, I think consistency is key. And if your user base is mostly on Windows, go the windows way. If they're mostly on OSX, go the Apple way...
- latexr 8y agoOn macOS I have turned on the setting that lets one tab through all controls (System Preferences → Keyboard → Shortcuts → All controls). When a “Cancel OK” dialog appears, “OK” is the default choice (in blue) but Cancel is the highlighted one[1], presumably because it’s the first option. This is incredibly convenient because ↵ will activate “OK”, while pressing the space bar will activate “Cancel”. One gets used fast to pressing a single key to act on a dialog, instead of having to tab through controls. [1]: https://i.imgur.com/zsX66tX.png https://i.imgur.com/zsX66tX.png
- tzs 8y ago> System Preferences → Keyboard → Text → All controls It's System Preferences → Keyboard → Shortcuts → All controls on my Mac (10.13.5)
- latexr 8y agoYou’re correct. Fixed the top post. Thank you.
- wruza 8y agoYou have one of those no-escape-key macbooks, right? Yet another epic fail by that post-apple company.
- latexr 8y ago> You have one of those no-escape-key macbooks, right? Wrong.
- Too 8y agoWow, you have to manually activate such an option? On windows it's default. One of the things i love about windows is that it's always been designed for keyboard only use, not just bolted on as an afterthought. Every dialog, widget, application and feature can be used with only the keyboard and it's fast, easy and predictable how to. Unfortunately since windows 8 there's been some regressions in this area with the new metro interface. Defaulting the underlined hotkey to off (since windows xp), was also a big mistake imo.
- jasonjei 8y agoThe way I see this debate is very simple: some people in parts of the world drive on the left side of the road, and some people in other parts of the world drive on the right. I might argue there is only one “right” way to drive, but both are valid approaches.
- boterock 8y agoCountless times i've been victim of the "do you want to save?" dialog where the replies were |Yes|No|Cancel|. In some cases the brain knows it made a mistake, and whatever dialog comes, the reply should be the negative one. And with those options, the subconscious clicked No (the most destructive operation) before I knew what was happening. To me, the buttons should read |Save|Discard|Go back| in whatever order the creator wants. I think that even the dialog could just skip the text, with those button labels it isn't needed at all.
- YokoZar 8y agoFactorio's Save implementation is one of the worst I've ever seen. If you start a completely new game, the default name for a save game is the previous game you were playing. This means that you can very easily overwrite hundreds of hours of gametime by dabbling in multiplayer or a test map. I reported this but it got closed by some jerk moderator as "working as intended" - looks like it got forgotten: https://forums.factorio.com/viewtopic.php?f=23&t=46646 https://forums.factorio.com/viewtopic.php?f=23&t=46646 It's still the behavior in the game.
- dogweather 8y agoI'd downvote this for the title if I could. Better: > Ok-Cancel versus Cancel-Ok: [added value of article] E.g.: "A/B tested", or "a historical review", etc.
- zaksoup 8y agoI thought the HM guidelines required titles be as true to the article as possible. I’ll keep your feedback in mind next time I submit a link! Thanks.
- DoreenMichele 8y agoYou are supposed to use the original title. You aren't supposed to editorialize. There are some exceptions to the rule of using the original title. They are listed in the guidelines: https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- zaksoup 8y agoThat's that I thought! Thanks for the comment.
- hoosieree 8y agoAll of these are wrong, because they're answering the wrong question. Stop second-guessing the user! Get rid of all these buttons, but provide a mechanism to UNDO the change. Linear undo plus the option to reinstate "factory default" settings is probably optimal for most applications. Would you tolerate a text editor that asked you to confirm each letter you typed?
- pmiller2 8y agoSome actions aren’t undoable.
- amelius 8y ago"Launch missiles" is the prototypical example, although in reality I hope there is some sort of undo functionality.
- pmiller2 8y ago"Send email" is a more mundane example that's actually likely to occur in real apps.
- ReverseCold 8y agoSome email software (notably, Gmail) allows you to undo by delaying the actual send for a few seconds.
- amelius 8y agoYou're assuming there is no useful purpose for the dialog box other than asking the user to confirm their action.
- dpark 8y ago1. Side effects may be permanently destructive, making Undo infeasible. How do you undo emptying the recycle bin? How do you undo posting a cert on the public internet? 2. Cancel is not just for “are you sure”. It’s often there for “never mind, let me go back”, as in the file open dialog example.
- towndrunk 8y agoDoes it bother anyone else when the "k" is not capitalized in "Ok" on a button?
- mmphosis 8y agoThe cache size is currently 0k. Increase the cache size? Ok-0k
- mmphosis 8y agoDo you wish to Cancel? Cancel-Cancel
- duskwuff 8y agoEarly versions of the Macintosh operating system used "Do It" as the default button text in dialogs, but changed that to "OK" when users reported confusion over why the computer was calling them a "dolt". https://www.folklore.org/StoryView.py?story=Do_It.txt https://www.folklore.org/StoryView.py?story=Do_It.txt
- SeanLuke 8y agoIn the very first example screenshot on that page, it would appear that the user is presented with three different ways to cancel the action: clicking NO, clicking CANCEL, or clicking the close box. I would presume they effectively do the same thing? As far as I know this is typical of a Windows dialog box. I'm a Mac user: can someone tell me how this could possibly be considered good UI? BTW, Cancel-OK dates from both of OS X's parents: MacOS and NeXTSTEP.
- edpichler 8y agoJust to remind us, millions of people live in societies that reading is right to left https://en.wikipedia.org/wiki/Right-to-left https://en.wikipedia.org/wiki/Right-to-left I think both ways are correct, and independent of what we chose, the most important is the application keep coherence and cohesion with itself and (when it is possible) with it's enviroment.
- doubleunplussed 8y agoOne thing bugs me about the GNOME way of doing things. OK is on the right, cancel is on the left, great. Consistent and easy to get used to. But...with client-side-decorations, these dialog buttons are often present instead of the window buttons (i.e. close/minimise/maximise). But the window buttons are on the right! So you want to close a normal window with window buttons? Top right. You want to cancel a dialog box that uses CSD? Top left. This confuses my muscle memory to no end, as I have to check if a window is a dialog box or not before I can move my mouse to close it. And it's not like they'll eventually make every window a dialog box - accidentally opening gnome-terminal will always be a normal window to be closed with the close button and not a dialog button. I think the best solution is to switch the Window buttons to the left like Ubuntu used to do.
- pests 8y agoI love this sentence buried at the end I don't think anyone has commented on yet: "We plan that almost every widget in this GUI (and the of the game) will have tooltips briefly explaining what everything does, since for example not even us developers know what Enemy base Richness actually does any more." Such an honest statement with absolutely no followup. Love it.
- cylim 8y agoI think, for mobile design, it is relatively more straightforward to press the button on the right (because most people are right-handed), that's why `Cancel-Ok` design is getting more popular.
- emodendroket 8y agoLike everything else, whatever benefits one or the other has is far outweighed by consistency with the host environment, if you can do it. But of course a game on multiple platforms has constraints that make this difficult.
- lamontcg 8y agoYou want to know bad design of a cancel button? The lyft app when you want to cancel a ride has a "cancel" button that cancels the ride instead of cancelling the cancel. Accidentally cancelled a ride one time in the middle of it when I fat fingered the first button and then stabbed at "cancel" thinking it meant "abort" and not "ok, continue"...
- zaksoup 8y agoGenuinely curious, what's a better way of doing this particular flow: user taps "cancel" dialogue asks "Are you sure" and presents options: "cancel" and... "cancel"?? What should the options/dialogue be?
- Too 8y agoOne of the options should be "Continue your ride" or "Return to your ride". The second one should be "Cancel ride". Or you use the default back button of your OS (top left in ios/windows or hardkey on android) and only provide the "cancel ride" button to move forward.
- kchr 8y agoHow about Yes/No (or No/Yes)?
- sbr464 8y agoWhat if it wasn’t a per org choice, but defined by a governing body? Similar to how countries implement which side of the road to drive on etc. Then each new startup/product team won’t have to have the existential crisis invoking, bikeshedding conversations about this very topic.
- kerng 8y agoSimple for me. OK on right, because it's like go forward. Left is like go backward. Everything else is just confusing to me. Your mileage might vary.
- RoadieRoller 8y agoOne of the masterpieces I've read on developer created UI. https://blog.codinghorror.com/this-is-what-happens-when-you-let-developers-create-ui/ https://blog.codinghorror.com/this-is-what-happens-when-you-...
- robbrown451 8y agoI vote for Ok on the left (even though I have used macs for years) because Ok is the "normal," typical action. "Cancel" is only done when you've basically made a mistake by opening the dialog box. Since we read from left to right, someone working quickly will only have to read the first one to do the action without breaking their flow. If you are hitting cancel, your flow was already broken when you opened the dialog box.
- qwerty456127 8y agoI vote for Ok on the left because Cancel should be easiest to find without looking and thinking. When I decide I don't want to change anything this window is for I just click the lower-rightmost button unconsciously, faster than I can read it, e.g. the way you slap yourself when you feel like a mosquito might be there biting you. So, when the button there is not Cancel this can be destructive.
- Too 8y agoHow about top to bottom? Like the windows copy file dialog where there is no obvious correct way forward or back: http://i.stack.imgur.com/GeQG7.png http://i.stack.imgur.com/GeQG7.png
- megablast 8y agoCancel is pretty obvious to go back. I don't find this good at all, you really have to read what is going on. A simple replace/duplicate/skip would be better for me.
- ernesth 8y agoSo why do Samsung android phones put the "back button" on the right contrary to the other android devices? In latin and germanic languages, left means back, cancel, undo, bad whereas right means continue, progress, right!
- Zonneh 8y agoBecause most people are right handed and their phones are so big its easier to tap back on the right than left. (My theory, no source)
- cesarb 8y agoBecause early Android devices had the back button on the right. See for instance the first Android device (https://en.wikipedia.org/wiki/HTC_Dream https://en.wikipedia.org/wiki/HTC_Dream): the button order was according to Wikipedia "Call", "Home", "Menu", "Back", "End Call". The standard Android button placement later changed to have the back button on the left, but Samsung kept the old order, probably so that users who upgrade their phone within the Samsung Galaxy series don't have to relearn their muscle memory.
- scarejunba 8y agoI only know one thing. When I use Venmo to charge my friends I often end up paying them instead. Right side primary. Right hand dominant.
- tjoff 8y agoThe most important aspect of this is keeping it consistent. Speaking of which... Android messed this up royally where they just changed their minds and changed all dialogs to the other way with (if I remember correctly, which I probably am not) Android 4.0 Ice Cream Sandwich. Drove me insane trying to relearn muscle memory to ok/cancel. Maybe they have documented their reasons for it? (couldn't find it)
- seaghost 8y agoYou could think of it as previous and next. They cannot be swapped.
- dymk 8y agoFor Mac/Linux, sure. But that's not what Windows users are used to, and therefore don't model as "previous/next".
- xg15 8y ago> The solution we are now experimenting it sounds like a bad idea: "Make it so much different and Factorio specific, that the way it is done in your specific system will not interfere with your muscle memory". I actually kind of like the solution they found, but I'd still argue that this way of reasoning really is a bad idea. If you remember your Kant - always act so that everyone could do what you do - this would be horrible. UI is all about consistecy and while it's nice they don't want to interfere with the consistency of the rest of the UI, if every designer would use that excuse, we wouldn't have any consistency at all.
- jaxondu 8y agoI'm not a UX person but I notice bank ATMs places OK (Action) button on the right, and Cancel on the left. Recently I encounter an ATM by a new bank which places the button the other way, and feel weird. So my guess is there is no right way or wrong way. Just the way we're used to.
- Ensorceled 8y agoI briefly managed a team where the two senior developers were in the middle of a style war. Half the team was K&R the other OTBS. And half the UI was Ok-Cancel and the other half Cancel-Ok. Years ago, we had a critical for a “company saving trade show demo” setup on an early version of Windows NT. There was a server fault and when we brought it back up there was a glitch. No matter what we did the system kept presenting us with a modal warning that proceeding would probably destroy the data on the hard drive. The choices where Ok and Continue. After several calls to MS we finally called our partners and GE was able to back channel us to the developer who wrote the modal who told us “Continue” was the safe option. At least he admitted it wasn’t the best way of presenting “do it” or “skip this step” options. Personally, I’m firmly in the Cancel —- “verb the thing” camp these days.