←back to thread

316 points pabs3 | 1 comments | | HN request time: 0s | source
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 #
Dalewyn ◴[] No.42170676[source]
>Most of the open source tools in the embedded space are just a bit crap.

Anyone who sincerely thinks GIMP can replace Photoshop or is otherwise good will never understand why professionals eschew open source software when there's work that needs doing.

replies(3): >>42170741 #>>42171065 #>>42172170 #
regularfry ◴[] No.42170741[source]
It's interesting to compare Blender and Gimp on this axis. And to a certain degree Emacs and VS Code; or Gnome and KDE; or gcc and clang. It's easy for a certain sort of open source project to get so distracted by the point it is trying to prove that it forgets that it has to actually be good.
replies(1): >>42170810 #
SirHumphrey ◴[] No.42170810[source]
The only unfair comparison here is Emacs and VS Code, because their goals are a bit orthogonal. VS Code is meant to be easy but extendable code editor, while Emacs dropped the easy part at least 20 years ago.
replies(1): >>42170890 #
ginko ◴[] No.42170890[source]
Eh, it's not that hard. Just completely different from anything else.
replies(2): >>42171198 #>>42171639 #
regularfry ◴[] No.42171639[source]
"Hard" is subjective, and part of good UI design is reusing visual cues and affordances that the user has already learned elsewhere. A good UI should be discoverable. Emacs is not that. Nor, for that matter, is FreeCAD.
replies(1): >>42173182 #
chefandy ◴[] No.42173182[source]
Discoverability is a huge problem in lots of FOSS interfaces. Most end users will read exactly zero lines of dedicated software documentation in their entire lives because they don’t have to, and that is a good thing for end users. I find most developers don’t even notice the great interfaces in their lives. Compare how clunky online shopping was in the 90s with a modern food ordering terminal. How many people learn to use Slack without consulting the manual? Now how about IRC? Keep in mind that slack is vastly more complex, and for many things, uses the same command technique and notation as IRC... slash commands, hash tag channels, etc. The designers knew that was a brilliant part of IRC so they embraced it knowing advanced users would be right at home, and new users had alternatives, but would probably come around to the advanced way of doing things eventually.

One of the reasons chefs rarely have anything to do with cookbooks they write past the initial set of recipes is because it’s really hard to see things from an inexpert perspective. People ask us things like “how long do I cook [something] and we often have no idea how to answer that question. Knowing how much that can change depending on the heat source, initial ingredient temperature, how long it’s been unrefrigerated, the water content of the pieces you’ve got, the shape of the pieces, etc etc etc, we just say “uh, until it’s done?” But it takes a lot of skill and experience to realize when most things you need to cook are done, so recipe developers and cookbook writers do a ton of testing to figure out about how long it takes to get you 80% of the way there and then give some simple ways to approximately gauge doneness in that context. If they’d learn a few simple things that “aren’t that hard”, they’d have precise, bang-on results like I do, every time. But unless you cook the same things so the time, you’d need to repeat that across all of the different cooking scenarios that require specialized knowledge. Chefs run into that because people want us to tell them how to cook things all the time, so the skill gap is apparent, and we see the value in someone who knows how to address that. It was never really shown to me like that as a developer, so I see why so many get stuck in the “come on, it’s not that hard” mindset, generally.

Interface design is conceptually harder, because you need to really consider many skill levels that have different needs. The answer isn’t developers reading some article to “make nicer looking interfaces” or “dumb things down”— which we’ll just piss people off in the end and many of them will be developers assuming it’s an interface designer’s fault. The answer is to deliberately enfranchise designers into the FOSS process to figure out who would benefit from the software, and make an interface that can serve everyone’s needs: inexpert and advanced users alike, if that make sense. You do not have remove advanced functionality to make it useful to non-developer users.

So the first step is to put aside the dev nerd machismo for a minute and recognize that designers serve a crucial purpose that isn’t “dumbing things down” or “making things look nice” and that most developers have no idea how to do it themselves. Once that’s a thing, figuring out how to enfranchise designers into FOSS will be the next step.

replies(3): >>42173818 #>>42173884 #>>42178835 #
KETHERCORTEX ◴[] No.42173884{5}[source]
> People ask us things like “how long do I cook [something] and we often have no idea how to answer that question.

Yes. Answers like "until it sounds differently" just cause more questions while being the actual answers. How the hell am I supposed to explain "that different sound". After some time you just start to feel it.

replies(1): >>42174497 #
1. chefandy ◴[] No.42174497{6}[source]
Yeah-- it's genuinely hard. I went to culinary school where we discussed this topic at length and one of my classmates (who already had an English degree) is now the managing editor for a household name recipe website, I worked professionally as a chef, I write professionally now, and aced a college food writing course taught by a long-time head restaurant reviewer for the Boston Globe, and I still have a really hard time writing recipes for people that don't have my knowledge. At first blush, it feels like a trivial task-- just like making interfaces did before I went back to school to study design-- but it requires a lot of specialized knowledge and experience that I don't have.

I get why developers are perplexed by everyone's insistence that designers take the lead in creating interfaces, but leaving Gimp aside to look at another problematic FOSS UX, consider Mastodon: folks around these parts were proudly and rightfully touting Mastodon as an interface for Activity Pub as an amazing piece of software and technological achievement, but incorrectly claiming its UX was polished enough to replace Twitter. When I'd bring up the near impossibility of non-technical users being willing to figure out how federation worked when there are free options, the dismissals were fast and furious "I explained federation to my [toddler/grandmother/nontechnical coworker, etc]: it's not that complicated", "there's a (ten million word) beginner friendly onboarding doc that explains it all." "Users don't even need to know how federation works if they just pick an instance and sign up." I'll bet a lot of friends of developers did a lot of polite smiling and nodding in those weeks, and Opera's Tweets(!) about not being able to find any of her friends on Mastodon was all the evidence you need to prove that most people's most basic use cases-- connecting with and keeping up with friends over the internet-- aren't easily satisfied by Mastodon's UX.

If my Grandparents decided they were going to branch out from "the Face Book" to try that hot new Mastodon a few years ago during the spike, the likelihood of their progressing through the "beginner friendly" wall of text on their onboarding website is about zero. If they did, the first time some mind-bending hentai popped up on their screen, they'd have taken their computer outside and burned it. They would not have taken it as an opportunity to get the prerequisite knowledge they needed to even understand what instance shopping was. My parents would have gotten further, but given how frustrated my engineer father gets with much less confusing ideas because he's used to a whole different sort of technology, I say they'd last about 5 days.

You don't get a much simpler task than making a classical French omelet. It's got three ingredients. I can do it in my sleep now-- it all seems very simple. But it was YEARS after culinary school before I got my perfect omelet success rate past like 70%. Being blind to our existing knowledge is natural. That's a good thing when we're working by ourselves, but it's murder when you're figuring out how someone without it approaches the same problem.