Author Topic: A Companion to the X-Y Problem - The IKEA Effect  (Read 1632 times)

0 Members and 1 Guest are viewing this topic.

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 15229
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
A Companion to the X-Y Problem - The IKEA Effect
« on: May 22, 2020, 11:57:22 am »
(The X-Y problem: http://xyproblem.info/ )

https://stitcher.io/blog/the-ikea-effect

In context of forum activities -- remember to keep an open mind, many of us are ready to offer help but there's nothing worse than honest help that gets denied.  It's common to bring a question about a proposed solution, but the better question is often the proposal itself: what is motivating that choice?  Have other approaches been considered?

A good lesson, in general, is to take humility in your accomplishments.  Just starting out in something, you'll greatly overvalue your effort -- the difficulty curve is steep, and climbing it takes heroic effort.  But once you've climbed to that point, the next stage will come that much easier, and so on.  With time and dedication, you'll find that, what was once a heroic effort, is now a mere idle thought.  This isn't to demean or trivialize your effort spent; follow the zen philosophy: just try not to get attached to things.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: nfmax, I wanted a rude username

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4616
  • Country: au
  • Question Everything... Except This Statement
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #1 on: May 22, 2020, 12:16:20 pm »
While I do catch myself falling back to the easier position, I've tried to build the habit of treating my past work like another persons work, If I did something crap in the past, call it like I would for anyone else and move on. makes things so much easier when someone is reviewing things, or making suggestions, if you treat it like someone elses work your going to come to agreement on feedback and corrections, as its no longer emotionally tied to yourself.

Also can sometimes lead to fun doubletakes from colleagues when you say "yeah that ass hat Rerouter a few months back did this, what in the heck was he thinking there"
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 19672
  • Country: nl
    • NCT Developments
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #2 on: May 22, 2020, 01:29:07 pm »
(The X-Y problem: http://xyproblem.info/ )

https://stitcher.io/blog/the-ikea-effect
Suddenly I understand Chinese equipment marketing for putting out equipment which can be hacked...  >:D
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: Alti

Online Tomorokoshi

  • Frequent Contributor
  • **
  • Posts: 870
  • Country: us
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #3 on: May 22, 2020, 01:34:35 pm »
It's interesting how those are variations of organizational foibles that have been covered in the past. "Not Invented Here" syndrome, any number of writings from Fred Brooks, Peopleware, etc. all view this problem through the lenses of the time.

A corollary to the XY Problem is what I call "Jumping to Solutions", as distinct from "Jumping to Conclusions".

Another red flag is use of the adverb "just" when describing the scope of a technical issue: "... then you just have to...", "... just have to write some software...", "... that's just a few days work...".
 

Offline nfmax

  • Super Contributor
  • ***
  • Posts: 1047
  • Country: gb
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #4 on: May 22, 2020, 01:48:59 pm »
A corollary to the XY Problem is what I call "Jumping to Solutions", as distinct from "Jumping to Conclusions".

Ah yes! When I worked in military R&D, the name for that was "Solutioneering"
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 5244
  • Country: de
  • A qualified hobbyist ;)
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #5 on: May 22, 2020, 02:11:02 pm »
Doesn't this forum provide a good training on detecting and solving the X-Y problem? >:D
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 5325
  • Country: fr
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #6 on: May 22, 2020, 02:38:33 pm »
It's a general behavior - we always tend to value more what we have invested time/money on. It's true for almost everything we do in life, and is largely why, for instance, we value more our own goods than our neighbours', or our own achievements more than those of others. If you don't, that's interesting, but you then must be *very* zen.

That's not always in opposition with humility. There's a fine line between pride and arrogance, and generally between valuing and overvaluing. Yes, some people objectively overvalue something relatively basic they have done. Sometimes the overvalue factor is more subjective.

Beyond the general points (XY problem and Ikea effect, both being indeed relatively common), I take it that you're expressing some kind of frustration:
Quote
many of us are ready to offer help but there's nothing worse than honest help that gets denied

I agree this can be pretty annoying, and it happens on a regular basis. Especially on forums.
To play devil's advocate though, wouldn't (/shouldn't) humility, here again, and a "zen" attitude make us sort of "immune" to our help attempts getting denied?
« Last Edit: May 22, 2020, 02:40:25 pm by SiliconWizard »
 

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1106
  • Country: gb
  • Embedded stuff
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #7 on: May 24, 2020, 04:31:48 pm »
My last project had the Ikea Effect in spades. Every new programmer said more or less the same thing, "this code needs re-working from scratch". The legacy team would say, "no, we just need to port to new CPU" or "just need to adapt to new API". Turned out they had been doing the "just need to..." for 15 years, thus resulting in the spaghetti mess which was buggy as hell.

Of course, the management always preferred the "just need to make this one small fix", over a bigger chunk of investment, thus perpetuating the mess. The code entered that "nearly working" zombie state, they surely ended up spending far more money that way.
Bob
"All you said is just a bunch of opinions."
 

Offline duckduck

  • Regular Contributor
  • *
  • Posts: 56
  • Country: us
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #8 on: May 26, 2020, 11:14:23 pm »
Another red flag is use of the adverb "just" when describing the scope of a technical issue: "... then you just have to...", "... just have to write some software...", "... that's just a few days work...".

I started my career in IT as a retail computer tech. It didn't take long for me to figure out that "just" was a red flag word. "You just need to install this sound card driver." There were frequently major technical problems hiding behind that word.
 

Offline Syntax Error

  • Frequent Contributor
  • **
  • Posts: 250
  • Country: england
  • <[[ facemask ]]>
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #9 on: May 27, 2020, 12:20:15 am »
Possibilitization.

Today's new methodology as embraced by the going forwards uptick team. The same bunch of -fleeks- who feel the need to scrum and re-imagine the agile paradigm. Thus preventing clients from discovering that continous integration really means, the software is un-tested and buggy.



 
The following users thanked this post: tooki

Offline tooki

  • Super Contributor
  • ***
  • Posts: 4997
  • Country: ch
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #10 on: May 28, 2020, 07:55:08 pm »
A closely related effect has long been known as “Not Invented Here” syndrome: the reluctance to use something built by others, in favor of rolling your own. NIH syndrome is responsible for countless instances of shitty user interfaces in software. Many developers take misplaced pride in doing everything from scratch, even things like drawing menus, buttons, and text boxes, rather than using the OS’s widgets. The result of this reinventing of the wheel is that they forgo the perfectly round wheels the OS provides, instead delivering 7-sides wheels with eccentric axles, since they haven’t had years of refinement and debugging. Genius!
 
The following users thanked this post: nctnico

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 15229
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #11 on: May 28, 2020, 09:24:10 pm »
Conversely -- when dealing with OS APIs, or compatibility layers (Qt, wxWidgets, etc.), or VMs (JDK's AWT or Swing, etc.), you have your choice of, well... not very good, crusty, messy, etc.  I've heard complaints about Qt (crusty, messy?), worked with AWT and a bit of Swing myself (they're fine, honestly), not really worked with much Windows myself (it's a mess)...  I'm not aware of any that is actually bottom-to-top coherent, nice, and compatible; the last one especially, since everyone else is a cluster.

And yes that includes *nix, because *nix is not at all immune to the underlying phenomenon at play, indeed FOSS projects are likely more vulnerable if anything.

It's... all but a proven theorem? that any sufficiently advanced codebase, API, toolkit, whatever -- is an incoherent mess, evolved over many years or decades, over thousands of systems and dozens of paradigms; you have your choice but they all suck.

Really, this is about the point where software and politics overlap.  You have your choice [from this small proscribed set of options], and they all suck.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 4997
  • Country: ch
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #12 on: May 29, 2020, 09:06:03 pm »
The cross-platform GUI toolkits tend to be awful, since they cannot adhere to the minutiae of each target platform’s native behaviors. The OS native controls (at least on major platforms) have been fine-tuned and debugged over the years.

Anyway, IMHO, 95% of the times developers want special functionality in a widget (the typical justification for doing a custom control), they would have been wiser to just use a standard control instead. Standard controls don’t surprise the user with unexpected behavior. And they’re reliable, compatible, and get many accessibility features for free.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 19672
  • Country: nl
    • NCT Developments
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #13 on: May 29, 2020, 09:37:00 pm »
The cross-platform GUI toolkits tend to be awful, since they cannot adhere to the minutiae of each target platform’s native behaviors. The OS native controls (at least on major platforms) have been fine-tuned and debugged over the years.
wxWidgets uses the platform's own controls; it doesn't even provide controls unless the platform doesn't support a particular control natively. AFAIK on Qt you can choose between Qt's own look & feel and the ones from the platform. I wouldn't consider GTK to be a cross-platform GUI toolkit; it is more a band-aid to port a Unix application to Windows quickly but the result is mediocre at best. I agree that software should use the platform's own controls in order to create a uniform look and operation.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 4997
  • Country: ch
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #14 on: May 30, 2020, 10:34:11 am »
That all sounds nice and dandy, but it’s not just about the look of the controls. As you mention, they differ in operation, too. But more importantly, not all controls exist in every OS. MacOS in particular has a number of native controls with no Windows equivalent.

I understand the appeal, to a developer, of a cross-platform GUI toolkit. But in practice they entail a LOT of sacrifices and compromises.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 19672
  • Country: nl
    • NCT Developments
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #15 on: May 30, 2020, 12:22:01 pm »
That all sounds nice and dandy, but it’s not just about the look of the controls. As you mention, they differ in operation, too. But more importantly, not all controls exist in every OS. MacOS in particular has a number of native controls with no Windows equivalent.

I understand the appeal, to a developer, of a cross-platform GUI toolkit. But in practice they entail a LOT of sacrifices and compromises.
Not with wxWidgets. wxWidgets is not made to just offer where OSses happen to have an overlap because the creators understand that that would lead to poor results. There is plenty of support for OS specific features.
« Last Edit: May 30, 2020, 12:27:10 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 5325
  • Country: fr
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #16 on: May 30, 2020, 02:36:47 pm »
That all sounds nice and dandy, but it’s not just about the look of the controls. As you mention, they differ in operation, too. But more importantly, not all controls exist in every OS. MacOS in particular has a number of native controls with no Windows equivalent.

I understand the appeal, to a developer, of a cross-platform GUI toolkit. But in practice they entail a LOT of sacrifices and compromises.

I remember an article about that, which I found interesting. It basically concluded that cross-platform GUIs were often not a good idea, and that it was in the end often better to factor your code so that most of it can be made portable (and thus cross-platform), but that GUIs were often better dealt with with OS-specific code. Of course it all depends on the project, on the team, etc. Just keep in mind that (unless you're very familiar with one) using a cross-platform GUI toolkit often involves a relatively steep learning curve, then sometimes wasting days or weeks to figure out how to work around some limitations. Sometimes that time is better used writing dedicated GUI code for each targeted OS (not saying this is true in general either.)

For a detailed (but certainly opiniated) summary: https://blog.royalsloth.eu/posts/sad-state-of-cross-platform-gui-frameworks/
 
The following users thanked this post: tooki

Online Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9250
  • Country: 00
  • Display aficionado
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #17 on: May 30, 2020, 02:57:11 pm »
Much of it seems to boil down to that essential first step when dealing with questions: figure out what people are asking. Not just what they're asking, but what they're really asking. Reading between the lines is essential. I've learnt to deny perfectly valid requests because they feel off, until I'm either satisfied that the request makes sense or the requesting party does indeed understand the nature of their request. The false negative rate seems to be much lower than the false positive.

Unfortunately people are often so helpful that they'll just dive in and start answering the wrong question, confusing the asking party and themselves.
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 5244
  • Country: de
  • A qualified hobbyist ;)
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #18 on: May 30, 2020, 03:30:40 pm »
It's also something you have to learn when you are providing pre-sales support as an engineer. It's crucial to understand what the customer actually wants to achieve, i.e. the whole story and not just some small task inside a larger project. You'll encounter the X-Y problem regularly. In those cases we've often found a more elegant and/or less expensive solution, or even overturned a concept completely, and the customer was extremely happy to get what he really wanted and not what he thought he would need.
 

Online NiHaoMike

  • Super Contributor
  • ***
  • Posts: 6236
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #19 on: May 30, 2020, 04:50:08 pm »
See this thread for a nice example:
https://www.eevblog.com/forum/projects/calculating-heat-dissipation-requirements-for-high-pressure-compressor/?all
Original statement of problem:
Quote
I'm trying to figure out the actual cost and complexity of setting up a high pressure air compressor (3000-4500psi), small high pressure holding tank, plus a couple pressure regulators downstream to step down to normal shop air 40-90psi.  I have occasional use for high ~3000psi pressure
Detail that suggested a more workable solution:
Quote
I have an outdoor steel enclosure with steel grating over vents that is suitable for failure testing parts with very thin plastic walls, but even that basic testing will require a little more pressure than a typical consumer air compressor can produce.  Doing failure testing of parts with thicker walls will require a trip to an outdoor gun range or similar location for obvious safety reasons.  There is no practical way to test the reliability and safety of a design without destructive testing in a safe and controlled manner, like placing the DUT in a vented steel enclosure and then over-pressurizing the thing until it fails.  I'm sure I'll come up with more uses for HP as time goes on.
I suggested a cheap pressure washer would allow a safer way to destructive test using water.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 4997
  • Country: ch
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #20 on: May 30, 2020, 04:50:19 pm »
That all sounds nice and dandy, but it’s not just about the look of the controls. As you mention, they differ in operation, too. But more importantly, not all controls exist in every OS. MacOS in particular has a number of native controls with no Windows equivalent.

I understand the appeal, to a developer, of a cross-platform GUI toolkit. But in practice they entail a LOT of sacrifices and compromises.
Not with wxWidgets. wxWidgets is not made to just offer where OSses happen to have an overlap because the creators understand that that would lead to poor results. There is plenty of support for OS specific features.
If it lets you use OS-specific controls, then it means that what you design in it isn't actually cross-platform. I'm not exactly sure what it would accomplish if you have to design an OS-specific GUI anyway (which you should do). I took a look at it and it's a cross-platform toolkit using native controls, thus limiting you to the controls that exist in all the supported platforms. (This is in no way unique or novel, many such systems have existed over the years.) I checked and it does NOT have all the controls that natively exist in MacOS, and thus falls squarely under the "sacrifices and compromises" I was talking about.

Besides, it is categorically impossible to design an application such that its design complies with every target platform's GUI conventions, since they often contradict each other. It's not just about the colors of pixels. It's about how things work. It's about how things are worded. It's about where things go. So even if every platform had all the same controls (which they decidedly do not), and you could automagically make them take on the "skin" of the target platform, it still wouldn't be native. (For example, Windows developers typically do not understand the deep pervasiveness of drag-and-drop in Mac interaction patterns, with the result that things a Mac user expects to be draggable aren't, because they're not draggable on Windows, so the developer never even thought about making it so.)

So, I chuck it onto the list of cross-platform development toolkits that people claim truly produce first-class "native" apps that, upon closer inspection, definitely does not. Not saying you can't make good apps with such a thing, but not first-class.
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 4997
  • Country: ch
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #21 on: May 30, 2020, 05:00:00 pm »
That all sounds nice and dandy, but it’s not just about the look of the controls. As you mention, they differ in operation, too. But more importantly, not all controls exist in every OS. MacOS in particular has a number of native controls with no Windows equivalent.

I understand the appeal, to a developer, of a cross-platform GUI toolkit. But in practice they entail a LOT of sacrifices and compromises.

I remember an article about that, which I found interesting. It basically concluded that cross-platform GUIs were often not a good idea, and that it was in the end often better to factor your code so that most of it can be made portable (and thus cross-platform), but that GUIs were often better dealt with with OS-specific code. Of course it all depends on the project, on the team, etc. Just keep in mind that (unless you're very familiar with one) using a cross-platform GUI toolkit often involves a relatively steep learning curve, then sometimes wasting days or weeks to figure out how to work around some limitations. Sometimes that time is better used writing dedicated GUI code for each targeted OS (not saying this is true in general either.)

For a detailed (but certainly opiniated) summary: https://blog.royalsloth.eu/posts/sad-state-of-cross-platform-gui-frameworks/
I totally agree. For major apps, the best approach (from a usability standpoint) is to write a core "engine" in a shared language, then write completely native GUIs on each platform using developers and UX designers who are native to that platform.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 5325
  • Country: fr
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #22 on: May 30, 2020, 06:01:01 pm »
I totally agree. For major apps, the best approach (from a usability standpoint) is to write a core "engine" in a shared language, then write completely native GUIs on each platform using developers and UX designers who are native to that platform.

Unfortunately, the "write once, run anywhere" paradigm has almost overtaken the whole software development world, so you usually have a very hard time convincing others of that.
 
The following users thanked this post: tooki

Online nctnico

  • Super Contributor
  • ***
  • Posts: 19672
  • Country: nl
    • NCT Developments
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #23 on: May 30, 2020, 06:58:34 pm »
I totally agree. For major apps, the best approach (from a usability standpoint) is to write a core "engine" in a shared language, then write completely native GUIs on each platform using developers and UX designers who are native to that platform.

Unfortunately, the "write once, run anywhere" paradigm has almost overtaken the whole software development world, so you usually have a very hard time convincing others of that.
Indeed. It costs way too much to write an OS specific UI. The advantage of cross-platform frameworks is that it is relatively easy to make an application which runs on every platform. Most of these frameworks go much further than just abstracting the GUI; most of the OS idiosynchronies are also covered. wxWidgets for example has a function which tells you where to store user and application data. Even between the various Windows platforms this is something which varies wildly. The same for threads and mutexes. Besides that wxWidgets offers many of the features the Boost library is providing. It is foolish the discard cross-platform frameworks because they don't support some corner cases out-of-the box. They are very useful even without aiming to ever port your application to a different platform.
« Last Edit: May 30, 2020, 07:13:14 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9250
  • Country: 00
  • Display aficionado
Re: A Companion to the X-Y Problem - The IKEA Effect
« Reply #24 on: May 30, 2020, 08:08:09 pm »
I like how this thread has turned into an OS UI discussion on the first page, as if to illustrate part of the problem. ;D
 
The following users thanked this post: tooki


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf