7 ms·
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 softwa
by leoedin 2y ago
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.
- regularfry 2y agoI 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.
- chefandy 2y agoYes. 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.
- robinsonb5 2y agoThe 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.
- chefandy 2y ago> 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.
- Dalewyn 2y ago>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.
- regularfry 2y agoIt'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.
- SirHumphrey 2y agoThe 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.
- ginko 2y agoEh, it's not that hard. Just completely different from anything else.
- SirHumphrey 2y agoI agree, but it’s definitely not meant to be beginners friendly.
- regularfry 2y ago"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.
- 2y ago
- shiroiushi 2y ago> electronic design engineers rarely have the software skills required to develop EDA software. You could say that about many other fields too, but then why do we have great tools like Blender, Krita, Audacity, etc.? Artists and musicians have great software skills, but electronics engineers don't? There's always been a huge overlap between EE and CS degrees, with "computer engineering" degrees coming about as a merger of the two fields decades ago, so I find this statement hard to believe.
- TylerE 2y agoWell, Blender, at least started as commercial software. It was only open sourced after the foundation was put together to hit the source code out of the bankruptcy.
- regularfry 2y agoThat's a long way in the past though, and one of the fascinating things about the Blender project is the way that they have been able to break with their legacy in a way that other projects seem incapable of. Modern Blender is a very different experience to the early iterations.
- kilpikaarna 2y agoYes, but Blender at that point was very primitive, both from a features and usability standpoint. What really drove Blender forward in its earlier years were the open movie projects, both as a way of raising funds for development and as a way of putting the software through its paces to find spots that need improvement. Ton Roosendal has been a superbly skillful project leader in other ways too, like finding the right technical areas and features to focus on, putting the needs of the artists/users first, knowing when to set aside his own vision in favor of what the community wants and not undertaking major rewrites until there is enough momentum behind the project to see them through.
- hn492912 2y agoThat's a very interesting question and I'm not really sure what the answer is in general but I can answer for myself. I'm an EE. I can code. I think I'm pretty good at it. But there's a reason I didn't major in CS, I don't enjoy it all that much and I don't do it as a hobby either. If you believe that those who contribute to FOSS is a small percentage, then I think for non-SW folks you're looking at a small percentage of a small percentage, which means sparingly few contributors which means sparingly few FOSS EDA tools.