Most active commenters
  • ChrisMarshallNY(8)
  • crazygringo(4)
  • lupire(4)
  • psychoslave(3)
  • falcor84(3)
  • marcosdumay(3)

Tog's Paradox

(www.votito.com)
132 points adzicg | 63 comments | | HN request time: 1.481s | source | bottom
1. ChrisMarshallNY ◴[] No.41914211[source]
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.

2. jodacola ◴[] No.41914216[source]
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.

replies(1): >>41914241 #
3. crazygringo ◴[] No.41914235[source]
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.

replies(6): >>41914293 #>>41914315 #>>41914328 #>>41914346 #>>41914963 #>>41915364 #
4. ChrisMarshallNY ◴[] No.41914241[source]
> 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.

replies(4): >>41914364 #>>41914374 #>>41915120 #>>41916722 #
5. psychoslave ◴[] No.41914274[source]
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.

6. posix86 ◴[] No.41914285[source]
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.
replies(3): >>41914383 #>>41914526 #>>41915319 #
7. ChrisMarshallNY ◴[] No.41914293[source]
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).

replies(1): >>41914360 #
8. tokai ◴[] No.41914315[source]
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.
replies(1): >>41915174 #
9. elijahjohnston ◴[] No.41914328[source]
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!

10. d--b ◴[] No.41914330[source]
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.

replies(1): >>41914905 #
11. kayo_20211030 ◴[] No.41914345[source]
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.

replies(1): >>41915281 #
12. adzicg ◴[] No.41914346[source]
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.
replies(1): >>41914418 #
13. crazygringo ◴[] No.41914360{3}[source]
> 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.

replies(1): >>41914406 #
14. psychoslave ◴[] No.41914364{3}[source]
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.
15. jodacola ◴[] No.41914374{3}[source]
> 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.

replies(1): >>41914425 #
16. Drakim ◴[] No.41914383[source]
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.
replies(1): >>41915322 #
17. ChrisMarshallNY ◴[] No.41914406{4}[source]
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.

replies(1): >>41914446 #
18. crazygringo ◴[] No.41914418{3}[source]
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.

replies(1): >>41914939 #
19. ChrisMarshallNY ◴[] No.41914425{4}[source]
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.

replies(1): >>41914491 #
20. crazygringo ◴[] No.41914446{5}[source]
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.
replies(1): >>41914495 #
21. psd1 ◴[] No.41914491{5}[source]
Worse than that: https://xkcd.com/1172/
replies(1): >>41914506 #
22. ChrisMarshallNY ◴[] No.41914495{6}[source]
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.

23. oersted ◴[] No.41914503[source]
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?

24. ChrisMarshallNY ◴[] No.41914506{6}[source]
I think that's the one I had in mind.
25. psychoslave ◴[] No.41914526[source]
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.

26. nine_k ◴[] No.41914693[source]
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.

replies(3): >>41914766 #>>41915028 #>>41916743 #
27. delichon ◴[] No.41914766[source]
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.
replies(3): >>41914865 #>>41914903 #>>41914935 #
28. falcor84 ◴[] No.41914865{3}[source]
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.
29. Epa095 ◴[] No.41914903{3}[source]
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.
replies(2): >>41915071 #>>41915104 #
30. falcor84 ◴[] No.41914905[source]
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.

31. nine_k ◴[] No.41914935{3}[source]
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! :)

32. sharpshadow ◴[] No.41914939{4}[source]
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.
33. analog31 ◴[] No.41914955[source]
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).
34. falcor84 ◴[] No.41914963[source]
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.

35. fsflover ◴[] No.41915013[source]
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.
replies(2): >>41915487 #>>41915803 #
36. TheJoeMan ◴[] No.41915028[source]
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.

replies(1): >>41916695 #
37. lupire ◴[] No.41915071{4}[source]
Indeed. People who use Luddite as a slur are ignorant of history and (possibly unwittingly) repeating capitalist propaganda.
38. lupire ◴[] No.41915095[source]
This is the weightlifter's paradox.

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

39. delichon ◴[] No.41915104{4}[source]
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.
40. lupire ◴[] No.41915120{3}[source]
Considering your choice of metaphor, it's clear that the phenomenon existed long before "tech". It is a hallmark of bureaucracy through the ages.
replies(1): >>41915303 #
41. lupire ◴[] No.41915174{3}[source]
It's a "veridical paradox". A statement that seems impossible to a naive mindm
42. marcosdumay ◴[] No.41915281[source]
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.

43. un1970ix ◴[] No.41915300[source]
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.
44. ChrisMarshallNY ◴[] No.41915303{4}[source]
Oh, yeah. Basic human nature.
45. marcosdumay ◴[] No.41915319[source]
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.

46. psd1 ◴[] No.41915322{3}[source]
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.

replies(1): >>41915656 #
47. nonce42 ◴[] No.41915348[source]
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."
replies(1): >>41916055 #
48. marcosdumay ◴[] No.41915364[source]
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.

49. pphysch ◴[] No.41915487[source]
Dan Luu: The growth of command line options, 1979-2017

https://danluu.com/cli-complexity/

replies(1): >>41915621 #
50. pphysch ◴[] No.41915552[source]
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.

51. ◴[] No.41915621{3}[source]
52. Drakim ◴[] No.41915656{4}[source]
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.

53. tightbookkeeper ◴[] No.41915803[source]
They demand more commands
54. ncruces ◴[] No.41916055[source]
That stops when husband can legitimately claim he does more than wife.
55. rcarmo ◴[] No.41916071[source]
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.

56. m3kw9 ◴[] No.41916145[source]
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
57. LaundroMat ◴[] No.41916200[source]
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.

58. silvestrov ◴[] No.41916380[source]
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

59. MatthiasPortzel ◴[] No.41916456[source]
It 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.

60. MichaelZuo ◴[] No.41916695{3}[source]
The interesting question is, why do so many people value spending time ‘maximizing’ with uncertain prospects more than extra time to enjoy the trip?
61. Suppafly ◴[] No.41916722{3}[source]
>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.

I agree that that happens, but I suspect a lot of times it's not a conscious decision by the person who is doing the gatekeeping. The end result is more or less the same, but often those people feel like they are the only one that understands, not that they intentionally want to be the only one that understands.

It seems like a trivial difference, but having some empathy for these people and finding out which is which makes it possible to deal with at least a subset of these people.

62. stocknoob ◴[] No.41916743[source]
One trick is to hold your desires relatively constant (remind yourself that just X years ago, you dreamed of doing Y, which you can do now for much less effort). We somehow let the cost involved in a task influence how much we can enjoy it.