←back to thread

316 points pabs3 | 9 comments | | HN request time: 2.938s | source | bottom
Show context
elashri ◴[] No.42170406[source]
Sometimes I envy that although I am not a SWE. I work in a field that is so close with the open source and tech scene that we don't have to rely on commercial products like some other fields. It is hard to compete or gain enough interest in some fields of engineering to any open or free solutions.
replies(3): >>42170536 #>>42170659 #>>42171188 #
shiroiushi ◴[] No.42170536[source]
Unfortunately, I've noticed that non-SW engineers frequently turn their noses up at open-source solutions, and really the entire concept of open-source software, and seem to prefer proprietary solutions, the more expensive the better. I've seen this in the software world too, with embedded systems engineers, though Linux, gcc, etc. has made huge inroads here, though it took decades, and mainly came from the Linux adherents pushing downwards into the embedded space from the desktop space, not from any interest by the existing engineers in the embedded space.

Just look, for instance, at FPGAs: almost all the tooling is proprietary, very expensive, and very buggy too. Or look at PCB design: Altium seems to be the standard here still, despite Kicad having made huge advances and by most accounts being as good or even better. It took decades (Kicad started in 1992) for the FOSS alternatives here to really catch on much, and only really because PCBs became cheap enough for hobbyists to design and construct their own (mainly because of Chinese PCB companies), and because CERN contributed some resources.

I'm not sure what the deal is with engineers hating collaboratively-developed and freely-available software, but it's a real thing in my experience. It's like someone told them that FOSS is "socialism" and they just reflexively dismiss or hate it.

replies(17): >>42170583 #>>42170588 #>>42170592 #>>42170613 #>>42170625 #>>42170632 #>>42170646 #>>42170650 #>>42170658 #>>42170680 #>>42170736 #>>42170804 #>>42171260 #>>42171378 #>>42171833 #>>42172852 #>>42173816 #
leoedin ◴[] No.42170625[source]
I don't think it's simply "engineers hate open source". Most of the open source tools in the embedded space are just a bit crap. The reality is that good software needs many thousands of hours of development time. The embedded space is actually pretty small in development budget terms - so fewer engineers who might devote time - and also there's less overlap in skillset - electronic design engineers rarely have the software skills required to develop EDA software.

Most of the incredibly well used robust open source packages are sponsored by large tech companies. The embedded space just hasn't had that kind of sponsorship.

replies(3): >>42170666 #>>42170676 #>>42170692 #
regularfry ◴[] No.42170666[source]
I suspect it's the ways in which they are a bit crap. All software is a bit crap one way or another.

FreeCAD's UI is "a bit crap". The "workbench" metaphor is fine as a metaphor, but the specific way the workbenches are put together in FreeCAD is oriented more towards the way the functionality is implemented than what the user wants to do with it. You have no choice but to understand technical implementation details.

That's just one example, but that attitude to UI in FreeCAD is absolutely pervasive.

I think that's a general problem in the space. The user interfaces in general aren't designed, they're an outgrowth of the direct implementation of the underlying functionality.

replies(1): >>42170835 #
1. chefandy ◴[] No.42170835[source]
Yes. You’ll have a hard time finding a full-time professional photographer that hasn’t tried Gimp, and an even harder time finding one that still uses it. That’s not even getting into graphic designers— Gimp’s typography tools are awful. Open source software that’s useable— more recent blender versions, Inkscape, Firefox, Signal— is the only stuff that’s caught on in large part because they deliberately enfranchise designers. As an experienced, art school trained designer with far more than enough full-time coding experience to implement my own designs, I still exclusively contribute code to FOSS projects as a developer. I’ve seen both sides of this and am perpetually dispirited by the dismissive, haughty, and frankly ignorant attitudes towards designers among many developers. FOSS interfaces are put together by and for people who a) have a working mental model of software functioning, so they reason about interfaces differently, b) know more about the code than the problem domain, c) are used to and pride themselves on learning complex systems based on a set of complex docs. Until changes, user-facing FOSS applications will be used by developers no matter how useful they would be to others.
replies(1): >>42171226 #
2. robinsonb5 ◴[] No.42171226[source]
The sad thing is that the current car-crash state of GIMP's UI is what, 15 years after they received the input of a professional HCI designer? In some ways it's improved a great deal in that timespan, and in others it got significantly worse. To this day it lectures you like some bratty kid playing Simon Says if you try to use File -> Save to save a TIFF image. (Complying with my instruction and then telling me why Export would have been better is fine. Recognising and understanding the instruction but refusing to comply with it is not fine.)

> a) have a working mental model of software functioning, so they reason about interfaces differently

You're 100% correct, they do reason about interfaces differently, and thus have wants and needs which are different from those of non-technical users. Those wants and needs are not met by mainstream software, but are met in some OSS software, so it should come as no surprise that such types want to defend that software against the incursion of those who want to make it just like the mainstream offerings!

Like you I have a slightly different perspective here, having been a hobbyist software developer for some years, but having worked in print and design as a day job.

But I still bemoan such things as the awful keyboard handling of the current GTK file dialog, when compared with the old GTK1.2 file dialog. The old one was truly hideous to look at, but handled filtering files by keystroke far better than any current file dialog.

replies(2): >>42174898 #>>42188766 #
3. chefandy ◴[] No.42174898[source]
> But I still bemoan such things as the awful keyboard handling of the current GTK file dialog, when compared with the old GTK1.2 file dialog. The old one was truly hideous to look at, but handled filtering files by keystroke far better than any current file dialog.

Yeah and I think most UX designers would consider that a bad design though-- developers are users and if it's tough for developers to use, then it needs to be optimized. As someone who's created a few APIs, I know that developing friendly interfaces for developers-- APIs are interfaces that humans need to understand and use-- involves the same blind spots as developing for end users. At first, Microsoft concentrated on developer experience a lot, but I think Apple is probably doing a better job of it now. Their programming environments are products they sell to developers, so they concentrate on making their interfaces smooth(ish) for developers.

Additionally, in the discipline of interface design, the visual polish should be a secondary or tertiary concern. Things like gestalt, implied lines, negative space, and type hierarchy are obviously core tools to orient users, especially in very complex interfaces, but the higher-level look-and-feel stuff is often not even handled by the same people in larger design organizations. Even things those higher-level designers might be concerned with-- interaction designers using the subtlest animations to indicate action or intent, for example-- still meaningfully affect software usability, though.

It's unfortunate that FOSS projects generally just aren't set up to accept design contributions, but it's not anyone's fault, per se. It just isn't the way the standard FOSS organizational structure evolved-- it was basically like a commercial software dev organization but the lead developer was also the product manager. Without a product manager to balance the design and development needs, design will obviously fall to the wayside. Unfortunately, that's left a pretty hostile environment for designers in FOSS. A lot of FOSS developers get defensively arrogant or combative when I even bring it up, but at this point, I'd rather set my beard on fire standing next to a gas pump than go deep into a usability analysis for a great FOSS tool, all of which I'm willing to implement myself, only to have a defensive dunning-kreuger echo chamber of design "expertise" tear my work to shreds without even considering that they might be conflating what they're used to with what's actually good, and they'd almost certainly benefit from change. I get why that happens-- it's just standard social cohesiveness, ego etc. and is not unique to software dev, and it's not their fault that dev culture developed that way.

But even though it's not FOSS maintainers fault, if they want non-technical users to use their software, it's certainly not anybody else's responsibility to enfranchise UI designers into their projects if they care about non-technical user adoption.

4. prokoudine ◴[] No.42188766[source]
2004: STOP TELLING ME I'M GOING TO LOSE MY LAYERS WHEN SAVING TO JPEG!

Also 2004: HOW DO I RECOVER LAYERS FROM JPEG?

2024: STOP TELLING ME YOU ONLY SAVE TO XCF AND I NEED TO EXPORT TO JPEG!

Also 2024: crickets

I'm not kidding you. That is exactly what I've been witnessing all these years. Project loss complaints went from daily routine to almost zero. But there's a price to pay.

replies(2): >>42190674 #>>42196708 #
5. chefandy ◴[] No.42190674{3}[source]
For decades, Adobe has presented a clear text message in the save dialog box and appends a removable _copy to the file name if the format lacks layers/transparency/alpha/animation/CMYK support/the appropriate bit depth, etc. but it doesn't impede professional users' progress when they know what they're doing. It also doesn't change the representation of the document in memory so you can just save a fully-layered version right afterwards unless you manually reload the file from disk.

That approach warns less knowledgeable or hurried users when it looks like they're aiming the gun at their foot, but it still lets expert users follow through unimpeded. Figuring out how to communicate the risk to the user while not removing functionality is proper interface design. Simply not letting people do it is "dumbing it down," and one of many examples of why Gimp is not an appropriate choice for high-volume professional users despite its on-paper feature list.

6. robinsonb5 ◴[] No.42196708{3}[source]
> But there's a price to pay.

And I resent the fact that I'm expected to pay that price when I'm not the one who was losing projects.

And as I said, carrying out the instruction but then telling me that I should be using Export instead would be acceptable. Refusing to carry out the instruction, even though the software has identified and understood the instruction just because I failed to say 'Simon Says' is not acceptable.

(Hi, by the way! I think you did some translations for PhotoPrint and CMYKTool some years back?)

replies(1): >>42202428 #
7. prokoudine ◴[] No.42202428{4}[source]
Hi Alastair :)

Yes, I understand the frustration. The team didn't come up with anything better although maybe they could. I think another suggestion in this thread could very well be posted to GIMP's issue tracker.

replies(1): >>42216363 #
8. chefandy ◴[] No.42216363{5}[source]
Looks like they created a separate gimp-ux repository a few mos ago at least. I'd gladly contribute design work and code there if my experiences would be more collaborative and less painful than they were before I just gave up trying like a decade ago. In my experience, anyone making a design contribution could only do it in a discrete standalone PR-- with gimp's foundational lack of UI design, that's like someone that owns a crumbling dam saying they will only accept proposals to fix individual broken spots because the pieces that are still intact work just fine. The only real options were to make a fork and change it, or... go fork yourself-- and there was no way I was taking on all of that design and coding myself.
replies(1): >>42223347 #
9. prokoudine ◴[] No.42223347{6}[source]
I think everyone will benefit from UX contributions.