Having a UX/UI designer contribute to FreeCAD?

A forum for research and development of the user interface of FreeCAD

Moderator: agryson

User avatar
st_phan
Posts: 19
Joined: Sun May 17, 2020 10:24 am
Contact:

Having a UX/UI designer contribute to FreeCAD?

Postby st_phan » Sun May 17, 2020 11:52 am

πŸ‘‹

Hi, I am Stephan,

I am UX/UI (user experience/user interface) designer at a company called Laserhub (a platform where you can order custom metal parts with instant pricing based on your CAD file).

I love the Open Source philosopy and I love FreeCAD as a project. So far I have used SolidWorks, later Fusion360 and at Laserhub mostly OnShape. I love all of those tools – all of them are slightly different and all have their unique strenghts (and weaknesses).

I personally found it a bit hard getting started with FreeCAD (even though I know how to use other CAD software) so I wanted to ask:
β†’ Is there is interest to have a designer help making FreeCAD more user friendly? (i.e. easier for newbies to get started)


β€”β€”β€” Appendix: (1) The potential I see in FreeCAD and (2) what a UX/UI designer actually does β€”β€”β€”

(1) The potential of FreeCAD
A small rant: I HATE that CAD software is so crazy expensive and locked down, which is why I loved FreeCAD the moment I found out about it. However, Open Source software is just not always as easy to use as its commercial counterpart.
I think having a designer (to make software as easy to use as possible) together with a developer (to actually make the software happen) is the best thing ever.
I think functionally FreeCAD is on par with many (if not better than) commercial CAD tools and by making it even easier to use we could make accessible to even more people!

(2) What does a UX/UI designer do?
My job is to work alongside developers to create easy to use software (it's not about making everything pretty!) – which also means knowing technical constraints/tech stack/legacy issues/etc.
Normally I get feedback from users or I interview them, make a draft of an improvement, show it to them (often in the form of a simple prototype), get their feedback, adjust the draft, then talk to devs about technical details and prepare everything (create flows, describe behaviour, make icons, etc.) to be ready for development.


This was a lengthy post but I am curious to hear your thoughts ☻
User avatar
Cyril
Posts: 99
Joined: Wed Aug 23, 2017 5:04 pm
Location: Geneva (Switzerland)
Contact:

Re: Having a UX/UI designer contribute to FreeCAD?

Postby Cyril » Sun May 17, 2020 1:29 pm

I am really happy to see an UI/UX designer here :) .
I share the opinion you describe about FreeCAD. It has very good functionalities but a lot of space for UI/UX Improvement.

I hope you will feel welcome here !

To FreeCAD developers please include and welcome this initiative. Many FOSS projects or association have realised how important is UI/UX and how important it is to include UI/UX specialist in their workflow.
I blog about HVAC / BIM / Energy : pythoncvc.net.Β If you like you can follow the RSS feed.
User avatar
sliptonic
Posts: 1787
Joined: Tue Oct 25, 2011 10:46 pm

Re: Having a UX/UI designer contribute to FreeCAD?

Postby sliptonic » Sun May 17, 2020 3:12 pm

st_phan wrote: ↑
Sun May 17, 2020 11:52 am
I am curious to hear your thoughts ☻
Hi, and welcome!

Of course there's interest in improving the UI/UX around FreeCAD. User difficulty is a frequent topic and most of us are well aware of the problems.

UI/UX tends to lag in open source projects. FreeCAD is not exceptional in that regard. There's a lot of reasons for that but mostly it happens because contributors make contributions that 'scratch their own itch'. We're all volunteers working on whatever interests us because we like it. Unfortunately that means the big picture often gets neglected. In the world of commercial software, the organizational hierarchy makes sure all the development is done according to a consistent vision but that hierarchy doesn't exist here.

A lot of contributors also work on FreeCAD to improve their technical skills. I myself am not a trained programmer or a machinist. I have a degree in psychology but worked in software development in my career. Now I coordinate development of the Path workbench (CNC/CAM) :lol:

I would encourage you to get involved but I would caution you that your involvement will NOT look like it does during your day-job. The FreeCAD community is not like a company and that can be frustrating if you're used to working commercially.

The best thing you can do is pick a particular area or problem that 'itches' YOU. Thoroughly understand it. Study the code, even just to see who wrote it. Propose a solution or better yet implement one and let people see what you're doing.

But most of all, START SMALL! Build up trust over time. Learn your way around the community, application, and some of the source. Search the forum and wiki thoroughly before you propose specific solutions because there very well may be reasons why things are the way they are and the developers who wrote it may be long gone.

The good news is that if you want to make changes, you don't have to get permission. Just implement the change. If it doesn't break things, it'll probably get accepted. If, on the other hand, you want to propose changes and have other people implement them, it's going to be a a much harder process. Drawings, proposals, mock-ups, flow charts, etc are good but they require time from the developers to understand and are always incomplete. Actually attempting an implementation, even if it's poorly executed is much more effective. You'll get loads more support to improve your own source code than you will to get someone else to write code for you.

Also, be patient. Unlike a commercial software, time is on our side and most of us are in this for the long haul.

BTW, if the Path workbench is is an area of interest, I'd be happy to help get you started. The 2D CNC workflow is one that I'd specifically like to improve and it fits with your LaserHub experience.
vocx
Posts: 4348
Joined: Thu Oct 18, 2018 9:18 pm

Re: Having a UX/UI designer contribute to FreeCAD?

Postby vocx » Sun May 17, 2020 5:12 pm

st_phan wrote: ↑
Sun May 17, 2020 11:52 am
...
I think having a designer (to make software as easy to use as possible) together with a developer (to actually make the software happen) is the best thing ever.
...
I agree with everything sliptonic says. This that you mention sounds a bit like you give orders to the developers, and the developers will write it like you designed. Unfortunately, that will not generally work, because as sliptonic says, there is no grand plan at the moment that unifies behavior in the entire software. The software is composed of a "core", and of separate "modules" (Part, PartDesign, Arch, Draft, Path, FEM, TechDraw). Essentially, each main module maintainer develops their module how they see fit, depending on their workflow. Programmers develop something that they want, and implement the graphical interface how they manage with the given tools that the core provides. Even if your recommendations are good, implementing them may require big refactoring of the code, so the developer may not even know how to achieve the behavior that you suggest. Maybe this has to be done in the core, and that is hard to change for the majority.

Most developers in FreeCAD aren't career developers either, they are mechanical, electrical, civil engineers, machinists, designers, architects, etc., who picked up programming to complement their skills, so we aren't all extremely savvy in the internal C++ code.

The best thing you can do is learn to use the software well, and maybe come up with grand plans and ideas. As long as they make sense, we will notice them; I'm sure we won't just ignore them as impossible. And if you can produce mockup drawings or program a little, that's even better.

We had this very interesting post where a user interface designer studied the interface of Musescore. A serious analysis of FreeCAD's interface like this one would be welcome. Last we heard, the person who made this video later joined the Musescore's development team, so it all worked out for all parties. There's been recent discussions on improving the interface. Unification of selection
Last edited by vocx on Sun May 17, 2020 6:53 pm, edited 3 times in total.
Always add the important information to your posts if you need help.
To support the documentation effort, and code development, your donation is appreciated: paypal.
User avatar
st_phan
Posts: 19
Joined: Sun May 17, 2020 10:24 am
Contact:

Re: Having a UX/UI designer contribute to FreeCAD?

Postby st_phan » Sun May 17, 2020 6:21 pm

Thank Cyril, sliptonic and vocx for the warm welcome :)

I (obviously) have used Open Source many times in the past, but this is my first time trying to contribute so many thanks for the "open arms".

I am expecting Open Source development to work differently than the commercial one which is why I did the "Hi this is me, kind I help you?"-post. It's really calming to hear that many of you are also not software engineers. I did work a bit as a frontend-developer in the past, so I know Javascript/HTML/CSS pretty well, but not much Python and no C++, but better than nothing I guess :D

"Actually attempting an implementation, even if it's poorly executed is much more effective. You'll get loads more support [...]" sounds like a great bit of advice. I am not afraid to touch code and if this is a good way to get started it is definitely something I'll try.

And yeah, that is the frustrating part about UX: It doesn't help yourself. Designing good software is for the other people that are new to it ... and of course commercial software is much more interested in fulfilling that need (€€€) :D

This bit also resonated with me "[...] maybe come up with grand plans and ideas. [...] we will notice them;".
I did not want to come across as the bossy designer that tells devs what to do (sorry if I did), this is definitely not what I want to.

Thank you also very much for the links about the stuff that is currently happening regarding the interface.

I will have a look through the application, code and forum and see where I can get started :)
vocx
Posts: 4348
Joined: Thu Oct 18, 2018 9:18 pm

Re: Having a UX/UI designer contribute to FreeCAD?

Postby vocx » Sun May 17, 2020 7:02 pm

st_phan wrote: ↑
Sun May 17, 2020 6:21 pm
...
This bit also resonated with me "[...] maybe come up with grand plans and ideas. [...] we will notice them;".
...
I forgot to include the recent posts talking about unification of selection methods. See my previous post with the updated links. This is also one of the things that often comes up, that there are different workflows in each of the workbenches. Ideally all workbenches should behave generally the same so that the user has a smoother transition from one workbench to the other.

What we really need is experts. We have experts in many fields, in architecture, in wood working, in electrical engineering, in computer engineering, people who have been using other CAD packages for 30 years, etc. But we don't have a lot of people who know about user interface design. So, if you know this topic well, then of course you can contribute with your expertise.
Always add the important information to your posts if you need help.
To support the documentation effort, and code development, your donation is appreciated: paypal.