5 ms·
Tog's Paradox
- ChrisMarshallNY 2y agoThis has been my experience. There's a friction, between delivering the highest reasonable Quality, yet also allowing the initial users to provide feedback, and helping us to adjust the UX. I deal with that, by using what I call "Constant Beta." My projects are designed to reach "beta" (or betta), as quickly as possible, so people can start actually using them, even if incomplete. Since I write Apple stuff, I can use Apple's TestFlight. I tend to start using it very early in the project, and there's often hundreds of releases, by the time it actually ships. I have found that users will almost never provide feedback, no matter how easy I make it, or how much I beg, so I need to infer their usage, via requests for help, or features that I can tell are being used/not used. The stuff I write has extremely strict privacy requirements, so I often can't collect metrics, or have to anonymize the shit out of the ones I do collect, so there's a lot of tea-leaves-reading, in my work.
- eesmith 2y agoBack in the 1990s we called it 'evolutionary prototyping'. https://en.wikipedia.org/wiki/Software_prototyping#Evolutionary_prototyping https://en.wikipedia.org/wiki/Software_prototyping#Evolution...
- jodacola 2y agoFirst I've seen this, but also: this feels like a slightly long-winded explanation of what we're actually trying to achieve through improving efficiency and such through software, right? Make things easier and improve productivity, because we humans can do more with technology. Especially relevant in the current AI dialogue around what it's going to do to different industries. > Consider an HR platform that automates payroll and performance management, freeing up HR staff from routine tasks. HR teams will need to justify what they do the rest of the time... This quote, though, is one I'd like to further mull: added software complexity that is the result of job justification.
- ChrisMarshallNY 2y ago> added software complexity that is the result of job justification. I have found that some folks like to be "high priest gatekeepers." They want to be The Only One That Understands The System, so they are indispensable, and it also strokes their own ego. If possible, they might customize the system, so they are the only ones that can comprehend it, and they can often be extremely rude to folks that don't have their prowess. I suspect that we've all run into this, at one time or another. It's fairly prevalent, in tech.
- psychoslave 2y agoI don’t know, I tend to prefer honing my skill at crafting simpler solutions. And if some colleague come with something simpler than my proposal, I will rather be pleased and honored to be able to work with bright minds that can cast more lights for me on path to more elegant patterns.
- jodacola 2y ago> high priest gatekeepers I like that! I'll be adding that to my back pocket for an appropriate conversation in the future. I've absolutely experienced this, and, to a degree, I'm dealing with it now in supporting a huge enterprise platform that's a few decades old. The really interesting (frustrating?) piece is that the "high priest gatekeepers" are on both sides of the equation - the people who have used the system for years and know the appropriate incantations and the people who have developed it for years and understand the convoluted systems on the backend. This dynamic (along with other things, because organizations are complex) has led to a very bureaucratic organization that could be far more efficient.
- ChrisMarshallNY 2y agoI remember an xkcd, that was talking about releasing a version that fixes a keyboard mapping bug, and a user complaining, because they had learned to compensate for the mapping error. You can't please everyone.
- crazygringo 2y agoNot really sure what makes this a "paradox"? Seems like a lot of words to say that, when you deliver the features users want, then they will continue to want more features. (And all these features keep making users more productive/efficient, so it's a good thing.) And, of course, more features means more software complexity. But I'm struggling to see a paradox here, or even what's supposed to be the novel observation.
- ChrisMarshallNY 2y agoWhat makes it a "paradox," is the classic Waterfall model that most companies (even ones that say they are "agile") use for development. In Waterfall, the design and requirements are "one and done." They are not supposed to be revisited and iterated. Once we have gone past "thresholds," we are not supposed to go back, without many staff meetings and begging to Higher Ups. I have found that I need to make my entire product lifecycle iterable. I need to have a "done" state, so that I can get something out, and that needs to be extremely high Quality, but I also design my projects to be re-entered, and re-implemented, with the expectation that I'll be rapidly jumping back in, and making fairly significant changes (not just bug fixing).
- crazygringo 2y ago> In Waterfall, the design and requirements are "one and done." They are not supposed to be revisited and iterated. The article doesn't seem to be about waterfall though? But even if it were, I don't see what's novel here. In waterfall, the design and requirements are "one and done" for version 1.0. But then you plan a version 2.0 in response to the new features desired, and then 3.0, and so forth. In any case, the article doesn't even mention waterfall or agile, so I don't think it's about that.
- ChrisMarshallNY 2y agoThe article isn't really about any particular model. It's about product development, in general. > ...But then you plan a version... Yeah, but these are painful. I know of which I speak, as I worked for decades in Waterfall companies. Rapid iteration at High Quality is really difficult, but it's also the only way that I've found, that delivers truly useful software (the products that I write). It's a great deal more difficult to do this with hardware, though. I worked for hardware companies, for most of my career, and suffered hardware development methodologies forced upon software. It was painful. Since working on my own, I have developed what I call "Evolutionary Design" techniques, and they seem to be working, but I also work at a much more humble scale, than I used to.
- psychoslave 2y agoGreat, now I’m fully confident that humanity is on its road to maintain existence over all the struggle cosmological challenges might throw at it. It might do so in the form of an intergalactic bureaucracy though. Now, please don’t disappoint this bright new hope, go back to your work while I sit down in my sofa watching that prophecy happening.
- posix86 2y agoTog's paradox is the main reason why I suspect that generative AI will never destroy art, it will enhance it. It allows you to create artworks within minutes that until recently required hours to create and years to master. This will cause new art to emerge that pushes these new tools to the limit, again with years of study and mastery, and they will look like nothing we've been able to produce so far.
- Drakim 2y agoThis is exactly what happened when digital tools like Photoshop became mainstream, where you can copy-paste, recolor, adjust, stretch and transform. It didn't obsolete the manual creation of art, but instead enhanced it. It's common for artists to sketch on paper (or tablet) and later digitize and color on their computer, achieving results faster and better than what was possible in the past.
- psd1 2y agoI agree but also don't. I crave authenticity. I recognise the creativity and talent in digital painting, but it lacks authenticity. I hardly feel I'll like AI art more. Not all art needs to be high art, of course. I've bought prints of digital paintings and woodblock prints. Nonetheless, /r/ArtPorn today is like going to the cinema and being shown a compilation of TV adverts. AI art is probably not going to improve that.
- Drakim 2y agoI totally get that, but do consider that there were probably people in the past who felt that non-analog art wasn't authentic. That it's not a real piece of art on a real piece of paper or canvas, but a mocking grid of pixels digitized to mimic the authentic but with a jagged plastic aftertaste. Personally, I love pixel art and think it a very legitimate medium to create art in. I can understand why somebody wants art to be something physical and real, unique and non-digital, but I feel much more strongly that the advent of digital art gave more than it took. My hopes is that the same will be true for AI art.
- 2y ago
- d--b 2y agoThe examples he gives aren't very clear. Let's just state one that's fairly obvious to me: Back in the day, someone introduced tabs in browsers that made it possible to browse several websites in a single browser window. People loved it so much that they started running browsers with dozens of opened tabs. But then this caused more pain, because now people had too much tabs to navigate. And this sparked the creation of tab managers, which introduce more complexity in how people browse the web than they used to.
- falcor84 2y agoA couple of decades ago, browsing the web was considered a specific "activity" that you do on a computer for a specific need, and then and close the browser window when you're done. A few decades earlier, using a personal computer at all was considered to be a specific activity, and people didn't really "know they needed" to have multiple applications running at the same time. Tog's paradox seems to explain this evolution really well.
- kayo_20211030 2y agoReally good piece, with which I agree. Parkinson's law seems off to me w.r.t. Tog's paradox. Were it true, Tog would be silent because nothing would ever get more complex. > that work expands so to fill the time available for its completion If it's restated as "that the worker expands time spent so as to fill the time available to them", it comes in line. And is more in line with my observational experience. People like to do things in their job. If the "job" gets easier, people invent "job+", and Tog's on the money.
- marcosdumay 2y agoParkinson's work expansion is very often on the form of new features, better finishing, higher quality, and etc. It doesn't necessarily imply people creating bureaucracy out of thin air to justify their existence. It's just means that people don't leave extra time being "extra". The busy-work explanation isn't even consistent, because people mostly can't create busy-work in a project scope. It's something that comes from the overall processes.
- kayo_20211030 2y agoPossibly we're taking by each other. Persons with a focus on a narrow work goal, when given extra time, will probably come up with extra, productive goals using that extra time. It's not bureaucracy (at least for the honest), and it's not busy-work. It's just better work; but, it's outside the parameters of the originally defined task. Often, they'll ask the tool to help them. Not for the piece-work element, but for a slightly expanded purpose; maybe simply for organizational goals that aren't in any handbook. Sometimes it's vanity, sometimes it's lulz; it just seems pretty human.
- oersted 2y agoThere's a flip side to this that I think is quite positive. When you build a tool that improves efficiency, the users either do more with the same effort or do the same with less effort. The former might be more constructive, both are good. When the tool is particularly effective, it enables use cases that were not even considered before because they just took too much effort. That's fantastic, but I suppose that's the paradox described here, the new use case will come with new requirements, now there's new things to make more efficient. That's what progress is all about isn't it?
- thuridas 2y agoAs a developer, that is heart warming thought.
- nine_k 2y agoIt looks almost as if humans have a nearly infinite backlog of things they would do if they only had time and capability, and a limit on the amount of effort they are capable of exerting per day. Then, once new tools increase their productivity and free up a bit of resources, they pick more desiderata from the backlog, and try to also accomplish that. Naturally they seek more tools for the newly-possible activities, and the loop closes. This applies to any activity, leisure emphatically included. Travel became simpler → more vacations now involve flying a plane and thus obtaining tickets online and thus comparison-shopping, aggregating reviews of faraway places, etc → omg, vacation travel is complex again. It just allows to fulfill more of a dream.
- a_c 2y agoHuman as an aggregate, yes. Individually, not so much. I’ve seen way too many people getting lost in life when traditional values no longer applicable to them. They still have desire, but lose all their purpose.
- delichon 2y agoThe nearly infinite backlog also means that there is nearly infinite demand for labor and Luddite adjacent arguments that labor saving technology causes persistent underemployment are invalid.
- falcor84 2y agoEven if we shouldn't be concerned about "persistent" underemployment, I still think that rapid "transient" unemployment due to rapidly evolving tech over the coming decades may cause significant societal upheaval that we should be concerned about - even if it's "just luddites" coming to burn our data centers.
- Epa095 2y agoFriendly reminder that things ended up quite shit for the actuall ludites, and the advantages only 'trickled down' after a generation or two. So I will keep being worried for everyone who works now, and their kids.
- fsflover 2y agoDoesn't it contradict with the Unix philosophy of "Make each program do one thing well"? I don't see how cp and ls are getting infinitely more complex with time.
- pphysch 2y agoDan Luu: The growth of command line options, 1979-2017 https://danluu.com/cli-complexity/ https://danluu.com/cli-complexity/
- deleted 2y ago[deleted]
- tightbookkeeper 2y agoThey demand more commands
- analog31 2y agoIronically, programmers could also be "users" in this paradox, since we use complex software tools too. As tools for making software get simpler and more productive, programmers demand more complex features (languages, IDEs, paradigms, frameworks, etc).
- lupire 2y agoThis is the weightlifter's paradox. Lifting weights never gets easier. Lifting weights and getting strong makes the weights heavier.
- bonoboTP 2y agoSimilarly with the difficulty of many things. When you learn some math, you go on to learn some more complicated, more abstract math. When you solve a research problem, it creates new, often harder puzzles.
- _9y71 2y agoWe have created many innovations to speed up tasks and simplify certain jobs. These improvements are always marketed as ways to create more time for family, leisure, and personal interests. But they didn't actually free up time for these purposes. Instead, the extra time is often filled with even more work.
- nonce42 2y agoA similar paradox applies to interpersonal relationships: in many cases, if you try to reduce someone's workload, they will take on more tasks and end up where they started. E.g. Wife: "I'm too busy; you need to do more". Husband: cleans more. Wife: takes on the PTA fundraising auction. "I'm too busy; you need to do more."
- ncruces 2y agoThat stops when husband can legitimately claim he does more than wife.
- pphysch 2y agoThis is why correctness-oriented programming methods, while popular among academics, have and always will struggle with mainstream adoption. A corollary of Tog's Paradox is that the definition of "correct" in a given program is always changing (as requirements evolve). There are exceptions, like rocket science.
- rcarmo 2y agoOh man. I still have Tog On Interface in a prominent place in my bookshelf. Sometimes I take it out and wonder at how thoughtful he was about UX and how messy and inconsistent things have become since then.
- m3kw9 2y agoA lot of times adding of new features or complexity is due to competitors filling a new need. Essentially the same thing but driven differently
- LaundroMat 2y agoDoes the increase in complexity also bring a comparable increase in value? Do the gains of increased complexity justify the investments they require? Even if they don't, we don't often dare _reduce_ complexity, marginally decreasing gains while massively decreasing cost.
- silvestrov 2y agoIt is somewhat similar to Jevons paradox: when technological progress increases the efficiency with which a resource is used, but the falling cost of use induces increases in demand enough that resource use is increased, rather than reduced E.g. People who purchase cars with Improved Fuel Economy ends up driving so much more that they end up using even more fuel than they would have with a less efficient car. https://en.wikipedia.org/wiki/Jevons_paradox https://en.wikipedia.org/wiki/Jevons_paradox
- Eisenstein 2y agoThat 'paradox' is pretty much just basic economics when dealing with an elastic product, though. 'When efficiency gains reduce the price of a good that people would buy more of if it were cheaper, consumption of that good will rise'.
- eesmith 2y agoYes, and the provided Wikipedia link goes into detail about the mechanisms behind the rebound effect.
- MatthiasPortzel 2y agoIt can also be a result of the XY problem. Person wants to do Y, they imagine a software that does part of the hardest parts of Y (call that part X), and they commission software that does X. They then commission a ton of other small parts of Y to be added to the software of the course of years. Whereas an all-inclusive software to do Y from the beginning would have been simpler. This issue can be avoided by product leads with vision for the entire problem.
- konstruction 2y agoI miss mention of Parkinson's law stated (1955) by the naval historian Cyril Northcote Parkinson in "The Economist": "work expands so as to fill the time available for its completion" https://en.wikipedia.org/wiki/Parkinson%27s_law https://en.wikipedia.org/wiki/Parkinson%27s_law
- pattimanners00 2y ago[flagged]
- trash_cat 2y agoBut this is unders the assumption that developing an optimal solution to a problem is not possible, which it is. This happens rarely though.
- klysm 2y agoWould love to see how you’re defining optimal. That usually depends on having one metric
- m463 2y agoI think there should be some other saying... If a business has a great product, they will seek to simplify it until they piss their customers off. Like tesla removing car functions until their customers are bad or fumbling drivers. (turn signal stalks, headlight switches, defrost)
- musicale 2y agoReminiscent of the "working for the man" paradoxes: - If you complete your work faster, you will be assigned more work, reducing free time as well as hourly wage. - Any improvements in productivity will become the new baseline for performance. - Any cost savings will be absorbed by the company, while any cost overruns will be passed on to the rank and file workforce. And the "conservation" paradoxes: - The more you reduce power consumption, the more the power company will raise rates to compensate. - The reward for reducing water usage by 10% this year is a mandate to reduce water usage by 10% next year.
- DrScientist 2y ago> Reminiscent of the "working for the man" paradoxes: Those are only true if the gain in productivity it not shared between owner and worker. And whether that happens depends on the balance of power between the two in terms of supply and demand and various laws.