4 ms·
This is absolute nonsense. Customers ask for complexity, they just ask for it indirectly. The tax code is a perfect example. Nobody asked for thousands of page
by stickfigure 7y ago
This is absolute nonsense. Customers ask for complexity, they just ask for it indirectly.
The tax code is a perfect example. Nobody asked for thousands of pages of tax code, but after you add up all the individual rules (each of which someone asked for), you get thousands of pages. The business logic of any long-serving application ends up like that, which is why we can't just replace all those COBOL systems in a long weekend.
The hard part about software in the real world is not making software simple. The hard part is pushing back on the real world to make it simple enough to model in software.
- aaron-lebo 7y agoWhat's nonsensical about it? I feel like you are pretty much agreeing with them. Nobody really wants a complex tax code, either. If politics wasn't a game of compromise and design by committee, people would find something else to invest their time in other than hacking the tax code. Why do people love Steve Jobs, the mercurial guy he was? It's because he truly cared about user experience and there was that part of him that was obsessed with making things intuitive, which he mostly succeeded at. Nobody is like, I want this shit to be so complex, but they do want to have more and more functionality and want to be empowered. The problem is that people without a software background (and a lot that do without taste/experience/or a real concern for the user) have a hard time imagining how all of these little features add up into a big ball of mud. Rails became wildly popular because DHH understood the importance of good defaults with the ability to dig deeper if the user wanted. I can't get over the fact that I've discovered simple but powerful and obvious things like Bob Nystrom's Pratt parsing, and with a lot of time and care been able to pare more programs than I cant count from 1,000 to 300 lines, and so on. When you get down to it, apis can be as simple as a function and as complicated as a program, and we are bad, not as users, but as programmers at crafting monstrous interfaces at the low levels which echo throughout the codebase, because nobody (maybe business requirements) says ENOUGH like a Jobs. I bet you we've got dozens, hundreds of programs that are 10x, 100x bigger in raw size that they need to be. The user a lot of times doesn't know what they want or need until they see it, so it comes down to us, the designers to empathize and guide the user. You can have fast, cheap, robust, and flexible, and therefore "good", but you have to really care.
- MattGaiser 7y agoJobs famously ignored what customers asked for though. Customers did not get direct input into what he built. > “Some people say, "Give the customers what they want." But that's not my approach. Our job is to figure out what they're going to want before they do. I think Henry Ford once said, "If I'd asked customers what they wanted, they would have told me, 'A faster horse!'" People don't know what they want until you show it to them. That's why I never rely on market research. Our task is to read things that are not yet on the page.” Many devs don't even get input into the feature, yet alone the ability to ignore customer input when they believe it to be wrong.
- aaron-lebo 7y agoExactly! I worship at the altar of Steve. I've got a shrine in my house. That quote is kind of at the heart of what I wrote. It's why I said: > The user a lot of times doesn't know what they want or need until they see it, so it comes down to us, the designers to empathize and guide the user. Users do not want complexity, they want to be empowered. There is a subtle but important difference there and it's easy to disguise the latter as the former. Is that a quibble over semantics? It might be. But to call the post "nonsense" is just as much of a quibble, because there's real truth there, the success and adoption of the Mac etc is proof of it.
- abernard1 7y agoApple is pretty unsuccessful at most _software_ that isn't a commodity. They're a hardware and marketing company at their core. All the actual value from software on their platform comes from 3rd party providers, whether that's apps or SaaS. The easiest point to make on this is that Apple has botched all of their SaaS offerings not related to content. And their office applications are borderline unusable for anything aside from education or the content industry. Everyone adopts either Google Suite or Microsoft Office (or a combo) depending on their use case. It's highly arguable that Apple "empowers" people with software given that everybody uses software on top of their platform not provided by Apple.
- SilasX 7y agoMy understanding is that the tax code complexity is (mostly) not from top-down “let’s reward this”-style rules (ie what “customers” request), but of the difficulty of defining “income” in a hyper-technically-precise way against people heavily motivated to minimize it by that definition. That is, “oh no, my tips are a gift, not income”. “Hey I didn’t get paid for that job, I was just allowed to use the company car.” That creates an arms race of ways to game it and more rules to say “no you can’t do that either”. But, more to the point, I’m not sure if such customer requests generate the complexity even in the general case. JIRA, for example, has a ton of bloat, very little of which is related to delivering good UX or features.
- aaron-lebo 7y agoThe tax code is complex to a large degree due to the political process. See Mayhew's Congress: The Electoral Connection, or literature on path dependency. https://www.amazon.com/Congress-Electoral-Connection-David-Mayhew/dp/0300105878 https://www.amazon.com/Congress-Electoral-Connection-David-M...
- SilasX 7y agoYes but those changes are going to be trivial compared to the arms race dynamic I described. The changes from political pressure are debated in one place, yearly by a small number of people, but the growth of anti-gaming regs are a defense against the innovations of 300 million filers.
- stickfigure 7y agoI don't quite understand your objection to the tax code example. In every business domain there are real world constraints that cause people to want business rules of ever increasing complexity. The IRS cares about the definition of "income"; maybe your business cares about which ads get seen by which users or how much you should charge for a cell phone plan. What seemed simple at first is almost certainly incredibly complicated after 20+ years of exposure to humans. JIRA seems like another great example, actually. JIRA's key feature is that any organization can customize workflows in whatever way they want. Is it slow and bloated? Yes, all that customizability comes at a cost, even if you don't use it. That customizability was driven by customer requests. My organization uses Pivotal Tracker. It's fast and friendly. But it has exactly one workflow and if you don't like it, tough. They aren't going to sell a lot of licenses to Fortune 500s that way.
- lmkg 7y agoBut some people actually DID ask that the tax code be thousands of pages. For one, tax preparation firms. For another, anti-tax advocates. Both of them advance their goals directly as a result of the complexity of the tax code, regardless of the underlying rules. (Anti-tax advocates would prefer taxes not to exist. But they want taxes that do exist to be painful, as a tactic to increase anti-tax sentiment.)