Tog's Paradox

(votito.com)

128 points | by adzicg 5 hours ago ago

58 comments

  • nine_k 3 hours ago

    It 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.

    • TheJoeMan 2 hours ago

      I like to apply a similar lesson taught to me about content to consume - with the internet, there is a nearly infinite stream of entertainment and news, and it can feel overwhelming. In the past, our predecessors could read their 1 local printed newspaper and be "finished". So you have to change your thinking, to be we are able to curate a high-quality stream that constantly flows by, and when we desire, we can dip in and scoop up 1 serving.

      To your comment about vacations, the issue is people subconsciously want to ensure their trip value is "maximized" - oh no, do I have time to see all 10 best spots in the city? Or some historical building is closed, and you read online how it's a lifechanging experience to see, and now you feel left out. So you have to push that aside, follow the 80/20 rule, and appreciate what you ARE able to do on your trip.

    • delichon 3 hours ago

      The 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 3 hours ago

        Even 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.

      • nine_k 2 hours ago

        It mostly means that human desires are insatiable by construction, so humans always feel somehow missing out and wanting.

        Check out the works of S. Gautama on the topic; it's enlightening! :)

      • Epa095 3 hours ago

        Friendly 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.

        • delichon 2 hours ago

          I don't know anyone who disputes that economic progress necessarily has winners and losers in the near term. Or that there is much we can do to cushion the blow to the losers. But to prevent the blow altogether would mean preventing the rise of powered looms and other machines that have done much for those later generations. It would be an example of ruinous empathy.

        • lupire 2 hours ago

          Indeed. People who use Luddite as a slur are ignorant of history and (possibly unwittingly) repeating capitalist propaganda.

  • silvestrov 15 minutes ago

    It 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

  • jodacola 4 hours ago

    First 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 4 hours 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.

      • jodacola 3 hours 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 3 hours ago

          I 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.

      • psychoslave 3 hours ago

        I 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.

      • lupire 2 hours ago

        Considering your choice of metaphor, it's clear that the phenomenon existed long before "tech". It is a hallmark of bureaucracy through the ages.

  • posix86 4 hours ago

    Tog'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.

    • psychoslave 3 hours ago

      We don’t align completely with the part on mastering, at least as stated here.

      That is, yes, we can make large amount of images/videos/texts with generative AI that we would never have been able to produce otherwise, because we didn’t dedicated enough time in mastering corresponding arts. But mastering an art is only marginally about the objects you can craft. The main change it brings is how we perceive objects and how we imagine that we can transform the world (well at least a tiny peace of it) through that new perspective.

      Of course "mastering generative AI" can be an interesting journey of it’s own.

    • Drakim 3 hours ago

      This 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 2 hours ago

        I 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 an hour ago

          I 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.

    • marcosdumay 2 hours ago

      The same way that photography didn't kill painting. But it killed some specific forms of it.

      What we have today isn't very useful. But once it gets good, gen AI will probably have a similar impact.

  • oersted 3 hours ago

    There'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?

  • MatthiasPortzel 5 minutes ago

    [delayed]

  • LaundroMat 34 minutes ago

    Does 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.

  • ChrisMarshallNY 4 hours ago

    This 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.

  • rcarmo an hour ago

    Oh 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.

  • kayo_20211030 3 hours ago

    Really 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 2 hours ago

      Parkinson'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.

  • analog31 2 hours ago

    Ironically, 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).

  • nonce42 2 hours ago

    A 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 an hour ago

      That stops when husband can legitimately claim he does more than wife.

  • un1970ix 2 hours ago

    We 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.

  • d--b 3 hours ago

    The 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 3 hours ago

      A 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.

  • m3kw9 38 minutes ago

    A lot of times adding of new features or complexity is due to competitors filling a new need. Essentially the same thing but driven differently

  • lupire 2 hours ago

    This is the weightlifter's paradox.

    Lifting weights never gets easier. Lifting weights and getting strong makes the weights heavier.

  • pphysch 2 hours ago

    This 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.

  • psychoslave 4 hours ago

    Great, 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.

  • fsflover 2 hours ago

    Doesn'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.

  • crazygringo 4 hours ago

    Not 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 4 hours ago

      What 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 3 hours 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 3 hours ago

          The 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.

          • crazygringo 3 hours ago

            Sure, I totally agree with you. That's why waterfall gets a bad name. It just seems like waterfall vs. agile is a totally separate topic from the article.

            • ChrisMarshallNY 3 hours ago

              But the prevalence of Waterfall is the elephant in the room, that interferes with rapid iteration, which is what the article is about.

              We can ignore it, if we like, but it's still there, making big giant ploppers on the coffee table.

    • adzicg 3 hours ago

      it's paradox in a sense that reducing complexity actually ends up increasing complexity; Tognazzini originally proposed it as a complaint against Tesler's Law ("Conservation of complexity"). Tesler observed that complexity stays the same when people try to reduce it. Tognazzini suggested that the complexity doesn't stay the same, but actually increases.

      • crazygringo 3 hours ago

        I can understand the concept of conservation of complexity -- that you can reduce steps ("complexity") for the user by automating those steps in the software and making the software more complex.

        But then you don't need to build more features. The "conservation of complexity" obviously assumes that the feature set is static. Once you allow the feature set to grow, obviously complexity will increase.

        So I still not only don't see the paradox, I continue to just see common sense. I don't see what's supposed to be new here.

        • sharpshadow 2 hours ago

          Technically the complexity is done by somebody to reduce the complexity for somebody. If it would be 1:1 it would stay the same, but since one solution can be copied to many the complexity overall reduces. But the reduced complexity gets filled again. So reducing complexity increases complexity. That's the paradox.

    • marcosdumay 2 hours ago

      Those famous "paradoxes" that are actually true are only paradoxes on the context of other widely believed ideas. And, of course, those other ideas are false.

      This one is a paradox on the context that the way to create software is to make a complete specification first, then implement it.

    • falcor84 2 hours ago

      Add I see it, the paradox is that while users might say that they want the software to be "simpler" to use, what they actually want is more complex software where each particular action is simpler.

      For us developers it may not look as a paradox, since we're so used to constantly adding levels of abstraction, but to me it does seem like a paradox on the UX front.

    • elijahjohnston 3 hours ago

      I think the paradox comes from the assumption that one of the goals of a software product is to simplify a human task. Where the paradox comes into play is that it actually increases the complexity of that human task.

      I could be wrong!

    • tokai 3 hours ago

      Yeah its really not a paradox. There's nothing contradictory in the observation. Increased efficiency making it possible to introduce more complex tasks is not inexplicable at all.

      • lupire 2 hours ago

        It's a "veridical paradox". A statement that seems impossible to a naive mindm