7 ms·
There's a difference between being slow to criticize and completely withholding criticism. I agree that software is written by smart people, working under const
by quanticle 5y ago
There's a difference between being slow to criticize and completely withholding criticism. I agree that software is written by smart people, working under constraints.
But so what? If it sucks, it sucks, and we should call it out as such! How will we ever improve anything if we can't highlight what's wrong with the current solution?
My go-to example in this regard is the Microsoft Office ribbon. I remember, when the ribbon was introduced, I saw a presentation from a Microsoft employee (I can't remember if he was a developer or a product manager) going over the extensive testing that Microsoft did with focus groups to "prove" that the new UI was superior to the previous menu-based one. I remembered being both very impressed with the ostensible rigor of the process, and disappointed with the result. All that work, all that testing to delude themselves into believing that a UI where elements moved around, and weren't in predictable locations was going to be something that users (especially experienced users) would prefer.
And sure enough, even to this day, I still see users (both new and experienced) struggling with the ribbon. It sucks! And the fact that I know a lot of very smart people worked on it doesn't change that fact. In fact, it makes it worse. It would be one thing if such a horrid design were the result of a haphazard design process, implemented by incompetents. But it's not. It's the result of a lot of very smart people Goodharting themselves into believing that they've found the one weird trick to make their software both powerful and easy to use.
I strongly believe, that, if in the early days of the ribbon, someone had stood up and said, "This sucks!" things might have gone in a different direction.
- highwind 5y agoI personally like Ribbon over rows and rows of small icons without labels. I think of Ribbons like tabs that organizes the buttons that makes sense together. But I'm not a power Office user and that's just my preference.
- droopyEyelids 5y agoWould you spend a little time sharing stories about other things you prefer?
- quanticle 5y agoThe ribbon didn't replace rows and rows of small icons without labels. It replaced a hierarchical menu. Now, did the hierarchical menu have flaws? It did, insofar as it was rather forbidding to explore, and as a result, new users had trouble finding functionality by clicking around. That was the use case that the Ribbon sought to address. What the designers of the ribbon did not understand was that users have other ways to find functionality. They could look up functionality on the Internet. There were even physical books which told you which specific menu to click on for a particular function. What the ribbon did was instantly render all those resources useless. Moreover, by attempting to constantly surface different controls based upon the context of the current task, the ribbon made it extremely difficult to make new resources and tutorials. You could make a tutorial with screenshots, only to have users come to you with screens that look nothing like your screenshot, because they just happened to be highlighting a slightly different element.
- lstamour 5y agoOn macOS, you get both the ribbon and the hierarchical menu. Heaven help you if trying to navigate the "ribbon" on an iPhone though. That said, I actually do like the simplified ribbon on Office for the web - once you figure out that it too is different. I do kind of have a bone to pick about complaining about change for its own sake though. You could say the same -- all the earlier resources are useless - about the move from Windows NT to XP to 7 to 10 to 11 (we'll pretend 8 doesn't exist) when buying a new computer. Why not complain that your Active Desktop is missing, the desktop sidebar from Vista was a poor imitation and gone in just one release, Netscape Suite doesn't load webpages due to SSL errors and you can't publish webpages from your web browser like you used to, and you have to double-click folders to open them instead of single-clicking them like back in the old days of Windows ME? Sometimes change is just change and you have to adapt to the times.
- quanticle 5y agoWhy not complain that your Active Desktop is missing, the desktop sidebar from Vista was a poor imitation and gone in just one release, Netscape Suite doesn't load webpages due to SSL errors and you can't publish webpages from your web browser like you used to, and you have to double-click folders to open them instead of single-clicking them like back in the old days of Windows ME? I can and I do! Sometimes change is just change and you have to adapt to the times. That is exactly the kind of fatalistic attitude Microsoft, Google, Facebook, Apple, et. al. want you to have. "Oh there's nothing that can be done." "Change is inevitable." "I just need to go along and accept whatever scraps my corporate overlords deign to throw in my direction." Corporations aren't natural phenomenona. They're not the sun, nor are they moon, nor are they the wind. They are composed of people, and those people can be persuaded to make different decisions if there is a sufficient outcry. Just look at Apple's proposal to enable client-side scanning for objectionable content. There was a huge outcry and Apple walked back its plans as a result. In the case of the Ribbon, I think one of the factors leading to the success of Google Docs is the fact that it has the old-school hierarchical menu system that Office 2003 had, but which Microsoft refactored into the Ribbon with Office 2007. In a way, Google Docs was more familiar to Word users than Word itself, making it easy to switch.
- skybrian 5y agoIf you described how you saw some users struggle, that would be useful observation. Saying "it sucks" is a judgement call that adds no useful information. There are always people who dislike things, so one more stranger saying they dislike it doesn't add anything.
- afterburner 5y agoSometimes people come to the correct conclusion without knowing how. And sometimes people come to the wrong conclusion with a painfully detailed process that really just led them astray. So maybe gut-level reactions shouldn't always be dismissed, and detailed reactions shouldn't always be held above gut level ones.
- skybrian 5y agoOkay, but why trust a stranger's gut reaction over your own? When you post your gut reaction, you are the stranger on the Internet. It doesn't matter who you are in real life.
- quanticle 5y agoBecause a stranger has an outside view. A stranger can see when something is weird or broken, and shouts when that weirdness or brokenness hurts them, versus the insider who is numbed by familiarity into taking the behavior of the system for granted. It's not just software, either! There's a common social phenomenon known as the "broken-stair" problem, where you have a toxic, abusive person in a community, and everyone in the community has just gotten used to that person's behavior and normalized it. Sometimes it takes an outsider to notice that this toxic person is a net harm to the community.
- afterburner 5y agoHonestly I was primarily thinking of coworkers commenting on work.
- bigwig8702 5y agoI think there's two important aspects of this article: 1) Assume the people who wrote the code aren't stupid. 2) Be nice to developers Point #1 is valid, because yes a lot of times intention is difficult to suss out and the guy who wrote it might have known something you didn't, or maybe the circumstances were different when it was written. Point #2 is just wrong, it goes against the entire principle of Egoless Programming. Like you said about Ribbon, if it sucks you need to just admit it and either make it better or scrap it. It's just software, people don't need to incorporate every bug they write into their personal feelings of self-worth. If anything developers should embrace criticism, there might be lessons there to learn.
- Jtsummers 5y ago#2 does not contradict egoless programming. If you think it does, well, I'll take a page from your book: You're an idiot who has no clue what egoless programming is. But, more seriously, "egoless programming" requires effort on the part of both the criticizer and criticized. The criticizer cannot act rudely and then exclaim, "You shouldn't be offended, it's just that you're a crap programmer and write sucky code!" That's an incredibly unhelpful way to work with the vast majority of people. If you don't understand why, well, the kindest thing I can say is that you are pitiful or maybe clueless. The person being criticized needs to set aside their ego, in egoless programming, and accept criticism with a minimum of emotional response. But that's hard. However, the criticizer needs to be aware of who they're speaking to and how they're responding, otherwise they're being foolish, at best, or an asshole, at worst. The criticizer should act in a friendly manner, collegial, in order to be as honest and straightforward as possible without pushing the boundary and causing unneeded offense. Offense is often an emotional reaction, not a logical one, acknowledging that is critical to working with others and achieving your objective of egoless programming. You don't get to declare one day "We're going egoless people!" and follow it up with "All your code sucks!" and expect a successful transition to the egoless programming approach. Egoless programming is a cooperative path that people embark upon, not a declared mode of working. For emphasis I'll repeat myself: Offense is often an emotional reaction, not a logical one. If you want to achieve egoless programming you have to work on both yourself: Letting things that offend slide off, whether the offense was intended or not. And how you work with others: Acknowledge that offense is an emotion, and being a rude dipshit is a great way to trigger that emotion in others, even if they try not to react with offense, so don't be a rude dipshit, be nice.
- bachmeier 5y agoMaybe my memory is failing me, but I don't recall MS adopting the ribbon because it was better (even if they said it was). The purpose was to patent the ribbon UI, get it in front of as many people as possible while MS had a monopoly, and get it established as the "right" interface. That would make open source competition inferior and would allow MS to charge a tax on commercial competitors. For example: https://www.infoq.com/news/2018/02/Ribbon-UI/ https://www.infoq.com/news/2018/02/Ribbon-UI/
- Terry_Roll 5y agoThat would make a lot of sense, I remember when that started to appear in windows programming circles, many people jumped on it just because it was new and different but over time it sucks and I actually prefer the W2k look and feel where possible, ie drop down menus and a simple toolbar with icons.
- thekiptxt 5y agoSure, but criticism comes in different flavors. “This software is difficult for me to use because of X” is a valid and fair take. “This software/development team sucks” is uninformed criticism if someone doesn’t know the full context. For all I know, the developer may very well be aware of my situation, but there’s some reason that X must exist. I worked for a very large financial services company, and when I told people this, they would commonly bring up something to the tune of “your app/website sucks because of X!” And the response was very commonly: “we know, but we’re legally required to do this.” I also worked on film projects, and occasionally someone would catch some goof (e.g. continuity error) and say “I can’t believe you missed this!” My (internal) response would be: “I didn’t overlook this. I have seen this film hundreds of time in slow motion during editing. We just didn’t have the budget to correct it, and it drives me nuts every time I see it. I could point out 70 other minor errors that YOU missed.” It always reminded me how often we (myself included) mistake our own mental models and experiences for a comprehensive-enough understanding that we can pass judgement.
- quanticle 5y agoI think there's real value in hearing, "This sucks," even if there isn't a clear chain of reasoning backing it up. I've done a bit of gamedev, and I've found feedback of the form, "This isn't fun," or "This part feels boring," to be far more valuable than detailed analyses. Like you said, the user usually doesn't have the full context. So if a player comes to me with a detailed analysis about why a specific area of the game sucks, it's likely to be wrong. Or, even if it's not completely wrong, it's likely to miss second and third order effects that have impacts later on. So, for example, someone telling me that part of the game is not fun because a particular character or ability needs to do more damage, be easier to use, require fewer resources, etc, etc, is less valuable to me than someone telling me, "Hey this thing feels kinda useless." "This thing feels useless," is a valuable signal. The detailed analysis is basically noise because it misses the fact that addressing the problem in the most direct way might ruin the rest of the game.
- louwrentius 5y agoSorry for not adding anything to the discussion but I really resonated with this comment, thanks!
- munificent 5y ago> But so what? If it sucks, it sucks, and we should call it out as such! How will we ever improve anything if we can't highlight what's wrong with the current solution? Declaring an existing solution sucks is not sufficient to improve it. You also need to understand the constraints that led to that sucky solution and have some evidence that those constraints no longer apply. Otherwise, you'll just burn a bunch of time reinventing the same misshapen wheel. > All that work, all that testing to delude themselves into believing that a UI where elements moved around, and weren't in predictable locations was going to be something that users (especially experienced users) would prefer. What are you so certain that it's they that are deluded? > And sure enough, even to this day, I still see users (both new and experienced) struggling with the ribbon. Sure, but you don't notice when users don't struggle with it. This sounds like confirmation bias.
- elpakal 5y agoI generally agree with the points you are trying to make but > Declaring an existing solution sucks is not sufficient to improve it. Have you ever received poor App Store reviews? In my experience a drop in ratings (for example) can drive a whole lot work. Sure it can help to understand constraints, context, etc but even anecdotal feedback can be helpful.
- munificent 5y agoFair. Feedback that something sucks can perhaps incentivize an investigation into why. And that investigation might turn up ways that it can be improved. But I think people generally overestimate the positive value of just declaring something bad. All the real work lies in figuring out why and how to make it better.
- elpakal 5y agoagreed and good points. this just happened to coincide with an email at my work about a drop in our ratings and it caused quite a stir.
- quanticle 5y ago
- deleted 5y ago[deleted]