logoalt Hacker News

sho_hnyesterday at 11:47 AM6 repliesview on HN

This shows a general problem that FreeCAD still has: Inside an initially off-putting and frustrating UI experience is a really good application trying to get out, but at the moment a new user still has to dig it out themselves.

For example, problems like this one. Or the confusing 3D navigation (switch to Gesture or TinkerCAD mode in the Settings), or the non-interactive view cube. And many other gotchas and paper cuts that can almost all be changed with a few clicks to make it more intuitive, or just more similar to popular competition (e.g. the OpenTheme add-on gets you that Fusion look you see in many FreeCAD tutorial videos).

It's a classic pattern with long-running FOSS projects. The authors get somewhat blinded to the pain because they're used to it, plus change is difficult for the established userbase. There's also a feeling that emulating competitors is surrendering one's own identity, and the idea that some of the rough edges are justified by "the powerfulness". Thus radically changing defaults, streamlining, simplifying and even just matching user expectations is often perceived as "taking the power away" and really difficult to have the daring-do to just do. Even though on the other side of the transition a much larger and happier userbase awaits.

A lot of FOSS projects eventually do mature to the point where they can pull this off, and I think there's real signs that FreeCAD is starting to get there. The upcoming 1.1 release has a ton of modern UI catch-up, such as on-canvas gizmos, and a few good defaults changes.

There's a lot more work to do, but like others I have the feeling that FreeCAD may well be approaching its Blender/KiCAD moment. I suspect becoming a contributor right now could be good fun.

I speak from experience! We've to some extent been on a similar journey with the Plasma desktop.


Replies

RankingMemberyesterday at 2:54 PM

> It's a classic pattern with long-running FOSS projects. The authors get somewhat blinded to the pain because they're used to it, plus change is difficult for the established userbase.

Thanks for putting into words something I've definitely felt for a long time. It's like a junky old car with broken dash controls- you get used to having to bang on things to make them work, but if someone needs to borrow your car they're like "this is how you live!?".

fainpulyesterday at 1:00 PM

Well said. It seems to me, many FOSS projects suffer from long time contributors which are extremely conservative and don't like any kind of change. Hence every new or improved feature becomes merely a setting (which barely anybody will discover) which is not enabled by default. The UX does only worsen this way because old cruft coexists with its replacement, settings grow fast, the combinatorial explosion of all feature combinations produces tons of bugs and new users will always be turned off by the first use experience.

To make the necessary overhaul, someone with the "power to decide" is needed, which is somewhat incompatible with unpaid open source development. I think this video about Audacity's redesign is informative in this regard:

https://www.youtube.com/watch?v=QYM3TWf_G38

show 2 replies
MegaDeKayyesterday at 4:00 PM

> The authors get somewhat blinded to the pain because they're used to it, plus change is difficult for the established userbase. There's also a feeling that emulating competitors is surrendering one's own identity, and the idea that some of the rough edges are justified by "the powerfulness". Thus radically changing defaults, streamlining, simplifying and even just matching user expectations is often perceived as "taking the power away" and really difficult to have the daring-do to just do. Even though on the other side of the transition a much larger and happier userbase awaits.

I think it is unfair to say that they are "blinded to the pain". They are well aware of it from what I've seen of the Dev discussions on Discord. But the vast majority of the devs are volunteers so they can only do so much so fast. There are also some very nice usability improvements as of late that borrow from other programs, like the Solidworks-style navigation settings and the on-screen draggers for pad / pocket / transform type operations. Yes there are tons of preferences and some of the defaults might not be great, but they've added a "Search Preferences" field to help sort through them all. Then there are issues like in the link below where the discussion of how to improve FreeCAD considers comparisons with other pieces of software.

https://github.com/FreeCAD/FreeCAD/issues/19440#issuecomment...

Another point I'll add is their creation of a Design Working Group to help sort through usability issues and generate a consensus for devs to subsequently implement.

show 2 replies
lq9AJ8yrfstoday at 1:20 AM

i like the way prusaslicer has a conspicuous setting to enable intermediate and advanced settings so that users can start with a less intimidating setup and opt in to the bells and whistles if and when they are ready.

this pattern could probably benefit a lot of apps

ssl-3yesterday at 5:56 PM

I agree with you.

But there's also potential downsides to digging in and fixing the UI.

For instance: I've made a few simple boards with KiCAD. The first one was frustrating as hell and took forever, because my distro had helpfully installed the very latest version of KiCAD.

Meanwhile, the tutorials and videos were generally all about older versions. Which is fine, I guess, except way too many of them didn't even specify a version number.

So I (a complete newb) spent way too much time trying to find nonexistent UI widgets and being mystified that a given tutorial often seemed to be written by someone who was using different software entirely.

(The answer here is, of course, to have decent-enough official tutorials that stay in lock-step with software releases, so as to always get people started on the right page. But doing/enforcing that feels like work, and that's not usually what people want to feel when they volunteer to help write CAD software.)

vablingsyesterday at 9:41 PM

The blender moment is required. There is a reason most CAD software looks and operates similarly apart from NX (fuck you nx)