FreeCAD UI Overhaul anyone?

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
nyholku
Posts: 149
Joined: Wed Dec 28, 2016 4:18 pm

FreeCAD UI Overhaul anyone?

Post by nyholku »

FreeCAD UI Overhaul anyone?


I'm a little hesitant to bring this up but here goes...

Maybe first some personal background.

Feel free to skip to the SUBJECT MATTER, this background stuff may not be of interest or
relevant.

Just thought it might help to set skene by seeing where I'm cominging from.

BACKGROUND

I'm a professional product developer with main emphasis on software, I'm very proficient in C and Java and not so bad with C++. I'm +50 years young and have programmed and still do daily for 35 years so I've been there done that and have scars to prove it, too many things to mention here.

Some of my personal freetime handiwork:

http://www.sparetimelabs.com/jdraft2/jdraft2.php

http://www.eazycnc.com/welcome/welcome.php

Also participated in some FOSS developement:

http://www.sparetimelabs.com/purejavaco ... vacomm.php

My infatuation with CAD goes way back, in the 1980s I was part of
a small CAD start up for some five years and I've never been able to
stop 'dreaming of CAD'.

After that in 1990s I had a chance to use the first Pro Engineer and
immediately loved it.

Lately I've been using Onshape for some private projects until they
decided that I should pay up or make my private stuff public.

I've also been exposed to PTC Creo and was not impressed by the UI.

All the while I've been looking around and toying with the idea of
starting a 3D CAD project of my own. Fortunately I've been able
resist that!

Now that Onshape is dead (for me) I've been seriously looking for
a viable alternative where I could perhaps contribute something.

I think that from my background you can guess that I've seen and
experimented with a lot of the available free CAD softwares and
th project that by far ticks the most boxes for me and which I
believe will have a future is FreeCAD.


While the project may not be production ready, it is on the way
there and most importantly I get the feeling that this project
has a future.

It is crossplatform which I think is essential for Free software
and it has the beginnings of all the features that a solid (pun
intended) parametric 3D CAD needs to have.

And it seems to be built on projects/technologies of comparable
quality and properties.

FreeCAD is a monumental anchievement and this is coming from a
guy who dabled with beginnings of something in similar vein
when Opencascade was young.



THE SUBJECT MATTER

There is so much things that FreeCAD gets right and I appreciate
the work that has gone into the user interface that I really am
hesitating to bring this up but I think the UI would benefit from
some 're-factoring' which would help both advanced users and new
comers with better 'first impression'.

To me the best CAD UI I've seen so by far is Onshape's -- so why
re-invent the wheel, just pick the good things from there.

FreeCAD is not much different but different
enough that I feel the urge to change it.

Don't get me wrong
I don't think Onshape is perfect but since it cannot be influenced
I'm not here to critique it but to describe what I think could be
improved in FreeCAD by learning from the good points of Onshape.

These may seem trivial and petty but I believe it is the attention
to detail that separates the great from the good and which often
make the difference between adaptation and rejection of a product.

So guess I'm canvasing opions here if there is any interest in
moving the UI to the direction I'm propousing here or creating
an other 'alternative' UI or skin or whatever you want to call it,
perhaps this could be in the form of yet an other workbench.

FIRST IMPRESSION

First impression counts and you can only make it once. This applies
to the product as a whole and to every feature the users uses.

Overall the very first impression when you open FreeCAD is overwhelming
because of the work benches and all the icons. I know several
people who have rejected FreeCAD in about fifteen minutes because they
could not 'get in'.

Image

Contrast this with the Onshape approach where first of all it is
solidly (no pun intended) geared towards Mechanical Engineering
and not everything from ship desing to architecture.

Image

In Onshape on the first screen you are offered
to open an existing document or create a new one. And once you
are in the document the very first command in the single, simple
looking menubar, is 'Sketch'.


Now to anyone who has any 'real' ME background in this day and age
this is clear that this is where you go next. Where as in FreeCAD
this is somewhere among the numerous work benches and toolbars and
it is not easy to find.

Onshape does not show the sketch tools if no sketch is open
where as if the icons of all those sketcher commands are shown although
they have no function and thus just frustrating and cognitively loading
for the first time user because you can't even try them.

COMMANDS

All the commands in FreeCAD look more or less the same.

Navigating the model, closing the sketch or adding features are all just icons.

Just as an example the Edit/Close sketch operation, which logicallys is
in a different category from the commands to add a line or arc to a sketch: they all are just
rectangular icons where as in Onshape this (Save/Reject) is represented by
having a green checkmark or red cross where as in FreeCAD these
are just one more icon in the toolbar.

An other example: Create New Sketch button is just an icon FreeCAD,
where as in Onshape it is an icon + text to draw first time users
attention to the important concept and because like they say at
Apple: One word replaces thousand icons ;)

Image

.

Image


By visually cueing different things differently we help the user
to navigate the UI.

Also the icons in FreeCAD just lay doormant in 'static' toolbars that are there
on the screen weather they can be used or not, or are not there even
if you certainly need them, unless you display them. In Onshape
there is just one toolbar that shows only the commands relevant to
the workflow situation.

NAVIGATION

In Onshape the navigation is handled (in addition to the mouse) with
the IMO handy and intuitive 'cube' which is inside the grafics area
and which can be easily re-positioned. Not only is this handy but
clearly separates navigation from other commands as it clearly is
a totally diffent thing. A user maybe hesitant to 'give commands'
to a program but this 'cube' seems harmless enough to try.

Image

Also the mouse navigation needs some work, I find the way Onshape
works is better for me, especially on Mac. I realise there is no
right way but just for this reason it needs to be fully configurable.
So far none of the FreeCAD mouse navigation modes work conviniently
for me touch pad on my MacBook Pro,
something that works trivially for me in Onshape.

FEATURE PARAMETERS

Overall I like the way Onshape presents parameters over the dialogs
that FreeCAD uses. While essentially same I think the Onshape way
better relates the parameters to the design history, it looks cleaner
and more thought out in details.

Image



MODEL VIEW/COMBO VIEW

The Model/Task Combo View with the View/Data sub tabs looks complex
and out of place as it parallels things that are not of the same
category. The View/Data tabs show way too much data which look
much more programmer tha mechanical engineer oriented. Again I
would look at how this is arranged in Onshape.


The grid in the model view is alien to me in a parametric CAD
and makes a toy impression, after all coordinates and XYZ planes
are not what parametric modeling is about. And the sliding color
background does nothing usefull for me. Of course these are
preferences that the user can set but as a first impression to
me they convey the wrong message.


Image

.


Image



NAMING

I think some of the English naming of commands and concept goes
against pretty established CAD terminology. I maybe wrong as I'm
not a native speaker.

Combo View = Design History or Features would be my preferense
Fix Length = Dimension (i.e. give dimension)
Pad = Extrude (pad is hygiene product for women)
Pocket = Hole (including blind hole)

ICONS

Obviously a lot thought has gone into the FreeCAD icons and they
are not bad at all.

However, by default they are way to big which is
impractical and gives a toyish impression. Also the shadows serve
no purpose and look like cheap eye candy.

Overall and going along with the modern (iOS/Win10) trend I like leaner and
meaner user interface, including ascetic icons, better than the sort of
GTK look and feel that FreeCAD has, though I think iOS goes
too far and Windows 10 way too far.

ERROR MESSAGES

FreeCAD puts up a message box ("Select exactly...") when I make
a mistake. And I make a lot of mistakes like any new user.

This disrupts my workflow and forces me to do an extra click.
A better option would be to just 'beep' or have widget that briefly
displays the error and which would hide the message automatically (with
the possibility to re-call it in case I did not have time to read it).



I'm afraid above is not a very coherent and self consistent
presentation of what I'm trying to say but I guess the bottom line
I'm interested in is if FreeCAD UI is going in any direction I'm
interested in and if so could I be part of it?

with best regards Kusti
Last edited by nyholku on Sun Jan 22, 2017 11:26 am, edited 1 time in total.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: FreeCAD UI Overhaul anyone?

Post by triplus »

Hi Kusti.

As for first impressions. FreeCAD is general purpose CAD framework and it's not just geared towards Mechanical Engineering. But as you see on the first start the very first information Start workbench provides is to gear you toward your point of interest. And once you create something it will be listed under Recent file section. Further the Start workbench offers you tutorials and examples. Basically everything what Onshape does.

The only thing Onshape does better is they put more emphasise on the design aesthetics. This is something (web) UX designer can fix and therefore contributions are welcomed.

As for the commands. Setting text beside icons is possible in Qt. And as for PartDesign/Sketcher command scopes. FreeCAD 0.17 does it in a such way you suggest. That is when you create a sketch you only get Sketcher WB commands. I personally must admit if i could turn this behaviour to off i likely would do that for now. Maybe i will get used to it in the future. For now it doesn't do it for me as i am more used to the current system. But first time FreeCAD users could i guess find value in this as will be confronted only with the commands relevant to the Sketcher or PartDesign tasks. As for the icon aesthetics. In FreeCAD 0.17 icon overhaul is in the process and this option should likely do it for you based on the reference you gave:

viewtopic.php?f=22&t=18417

Note that IconThemes module needs further work.

As for navigation widget. Once we move to Qt5 and if QOpenGLWidget will be used i do imagine adding Qt widgets on top of everything should become easier. In FreeCAD 0.17 new object transformation widget was added. As for the pop-ups. Nothing wrong in using one when it makes sense but whenever they can be avoided i agree they should be avoided. Especially if the obvious thing can be done instead of providing a pop-up. If you plan to contribute anything i would suggest start small and resolve something that looks like a bite size issue.
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: FreeCAD UI Overhaul anyone?

Post by cox »

I would love to see you implementing the view cube for FreeCAD :D

One issue I can see if looking to improve the UI of FreeCAD is your point that FreeCAD is not just for mechanical engineers, it could be considdered for everyone that wants to do anything with 3D, it might not be specialised for their task, but there is room for them in the UI for them to experiment, play and grow.

It would be interesting though, to see a new take on a UI
Need help? Feel free to ask, but please read the guidelines first
nyholku
Posts: 149
Joined: Wed Dec 28, 2016 4:18 pm

Re: FreeCAD UI Overhaul anyone?

Post by nyholku »

Thanks for joining the conversation.

The view cube is actually where I think one (I) could start. Not a huge task and sufficiently isolated and not depend on weather anything else ever happens.

Yes you are right, FreeCAD is not just ME, but I think it would be good if it could have 'mode/skin/whatever' that would make it appear like it was, maybe the Workbench mechanism could be used to implement this.

If you are ME you are not interested in any of the other stuff and vice versa of course. So all the other stuff just gets in the way both initially and in the long run.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: FreeCAD UI Overhaul anyone?

Post by triplus »

nyholku wrote:The view cube is actually where I think one (I) could start. Not a huge task and sufficiently isolated and not depend on weather anything else ever happens.
Sounds good.
danielfalck
Posts: 395
Joined: Fri Oct 07, 2011 8:58 pm
Location: Beaverton,Oregon, USA
Contact:

Re: FreeCAD UI Overhaul anyone?

Post by danielfalck »

I agree with a lot of what the OP lists. I now use Pro/E/Creo at work and sometimes use Fusion 360 at home (for assemblies) and see a lot of value in other ways of doing things. The 3D navigation cube is also used in Fusion 360 and is super useful. That would be a nice addition.
The great thing about FreeCAD is it is open source and could in theory be skinned/changed to fit one's own expectations. I could see a developer taking it and stripping it down to something similar to the functionality of OnShape fairly easily. Ask Werner and Yorik to guide you on that to begin with. Experiment with hiding workbenches at first. Look at how the menus are layed out in the workbenches next. Propose icon changes and naming changes after that. It can be done. This developer and user community is very flexible and helpful.
I bet the OP can get to his goal and I would support him on it. Yorik helped sliptonic and me get the Path workbench started and it is a reality now. The FreeCAD community is wonderful.
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: FreeCAD UI Overhaul anyone?

Post by yorik »

I agree this is a very good summary of nice upgrades that would be reasonably easy to implement. There is currently a big rework being done by agryson on the icons, so probably that part is already being addressed, in any case I'd recommend having a good look at the huge work he's doing. I think much of it goes in the same direction you stated above.

The rest (cube, start page, the organization of the combo box, and some work on the toolbars), I fully agree these all could become a lot better. My feeling would also be, start with the cube, because that's one point where you'll probably get 100% approval from the community. The rest, that's where discussions will begin ;)

There is not much discussion on the UI in FreeCAD, that's probably one of our weak points. There is indeed not much coherence on UI behaviour, each developer currently implements things more or less as he sees fit. Starting to introduce such, let's call these standards, and pinpointing (and hopefully fix :) ) areas of FreeCAD that flee away form these standards, would be something very good IMHO. There have been many people coming to this forum in the past screaming that the UI was all wrong, but as usual none of them produced a single line of code... And since the FreeCAD UI is huge already, this is no simple task.

As you might have seen already, everything we do in FreeCAD is discussed here on the forum, and if you are touching the things that people are used to work with, you can expect some resistance. That's how the community works. So you might want to propose things in a gentle "non-destructive" way. But no doubt that having someone ready to work on these issues would make everybody very grateful.
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: FreeCAD UI Overhaul anyone?

Post by NormandC »

Hello Kusti,

Welcome here.

Before going further, I urge you to download a development version of FreeCAD, which will eventually become 0.17.

https://github.com/FreeCAD/FreeCAD/rele ... g/0.17_pre

You will see that the PartDesign workbench, which is geared toward ME, has a totally new and improved (but still unfinished) work flow. Next have a look at the FC v0.17dev: Part Design Next Usecases and Best practices topic pinned at the top of the Help forum.

You will then need to adjust your overview. ;)
nyholku wrote:To me the best CAD UI I've seen so by far is Onshape's -- so why
re-invent the wheel, just pick the good things from there.
I want to point out that FreeCAD has been in the works for the past 15 years. Onshape has only been around for what, 2 years tops?

So your "re-invent the wheel" comment is kind of bass ackward. ;)

Also, Onshape has tens of full-time paid programmers. A complete UI overhaul is a huge task.

I agree that it would be beneficial. But I am also against plainly copying some commercial software. We used to get people come in and tell us "why don't you do it like Solidworks, it's perfect". It was pretty annoying.
nyholku wrote:Overall the very first impression when you open FreeCAD is overwhelming
because of the work benches and all the icons. I know several
people who have rejected FreeCAD in about fifteen minutes because they
could not 'get in'.
I guess this could be easily improved by simply redesigning the StartPage. Showing just a few options accompanied with huge images. Maybe something like
  • Open existing project
  • Create a new mechanical part (--> creates a new file and switches to the PartDesign workbench)
  • Create a new architectural model (--> creates a new file and switches to the Arch workbench)
  • Create a new part using primitives (--> creates a new file and switches to the Part workbench)
Maybe we need to think about what's important to show on the StartPage. I would say that the Arch and PartDesign (and maybe Part) cover most of the use cases. Who uses the Mesh Design workbench? Who designs ships, really?

Do we really need to show a list of the latest commits? It takes up a huge chunk of the screen, but I never look at it! A simple link to the Github commits page, at the bottom, would do I think.

Also, put more emphasis on tutorials, or where to get them.
nyholku wrote:Onshape does not show the sketch tools if no sketch is open
Refer to my comment about 0.17.
nyholku wrote:In Onshape
there is just one toolbar that shows only the commands relevant to
the workflow situation.
Ditto. But it's only implemented for the PartDesign workbench. Contrary to others, I'm all for it. ;)
nyholku wrote:In Onshape the navigation is handled (in addition to the mouse) with
the IMO handy and intuitive 'cube' which is inside the grafics area
and which can be easily re-positioned.
I'm all for that navigation cube, many programs have something similar, but I wonder if there's some kind of patent on such a thing.
nyholku wrote: I realise there is no
right way but just for this reason it needs to be fully configurable.
I remember seeing either jriegel or wmayer say there was a reason for not allowing the mouse navigation to be customizable. I don't recall why that was...

Do you realize that commercial programs usually offer a single mouse navigation style, and FreeCAD has seven??? It makes my head spin that people can't seem to find a single one of them suitable. :?

On a related subject, the mouse navigation style is something that trips a lot of newcomers.

I wrote a UI enhancement proposal about it: UI improvement proposal: mouse navigation indicator

To which triplus replied with a python module: NavigationIndicator
Image

I would love to see this added to FreeCAD by default.
nyholku wrote:The grid in the model view is alien to me in a parametric CAD
and makes a toy impression, after all coordinates and XYZ planes
are not what parametric modeling is about.
The solution is simple, just turn the grid off. As for XYZ planes, how can you say that it's not what parametric modeling is about? It's absurd. You absolutely need to ensure that your model is locked against the coordinate system (sketch origin). You need the XYZ planes to map your sketches to.
nyholku wrote:And the sliding color
background does nothing usefull for me. Of course these are
preferences that the user can set but as a first impression to
me they convey the wrong message.
I've seen a trend in recent years with the commercial programs where they switched the background color to pure white, or a greyish gradient. I guess I could live with that.

FYI the default color gradient is ripped off CATIA. You could say that the project founder, Jürgen Riegel, is a CATIA fan.

As far as UI overhaul goes, I think we need to mention the great experimental work ickby did a couple of years ago for an alternative interface:

https://youtu.be/wrOP7sLqwiM (fun starts at https://youtu.be/wrOP7sLqwiM?t=3m20s ;) )

From what I understand, ickby was waiting for Qt5 support to be added to FreeCAD to resume work on it. But since he's currently the only developer working on PartDesign, it may take a while before the alternative interface development resumes.
nyholku wrote:Pad = Extrude (pad is hygiene product for women)
Maybe in your language, true for main use of the word in French (which is why I translated it to "Protrusion" in FreeCAD), but Pad is the word used in a few CAD programs, including CATIA I think.

Besides, Extrude is already taken by the Part workbench. It's not a good idea to have two different commands (PartDesign Pad and Part Extrude) have the same name. It's already a problem with Fillet and Chamfer.

And that's another thing that creates confusion and that will eventually need to be addressed: tool duplication. But that's opening a gigantic can of worms.
nyholku wrote:Pocket = Hole (including blind hole)
Wrong, a hole is always round, while Pocket can be used with any type of profile.

A hole can also be much more complex and include properties such as countersunk, counterbore. But it may end up being named "Bore" in PartDesign, according to the PartDesign project page. (But my preference would go to hole)

Like Pad, I believe pocket is inspired by some other CAD program. In the ones I'm used to, it's usually named cutout (or cut-out).
nyholku wrote:However, by default they are way to big which is
impractical and gives a toyish impression. Also the shadows serve
no purpose and look like cheap eye candy.
That's where I strongly disagree. Icons are always ridiculously small in CAD programs. I like the default size in FreeCAD just fine. There's nothing preventing you from changing their size in the preferences (something no commercial CAD program I know of offers, BTW). And I like that the icons are vibrant, not butt-ugly like in CATIA :D , or washed-out like in Onshape and a few other commercial programs. The all-white UI, monochrome icons is all the craze, but at some point it will change. When everything is white or a light shade of grey, you can't distinguish anything!

P.S. Kusti, would it be possible for you not to make manual carriage returns in your posts to break sentences into very short lines? I prefer the text to flow naturally with the width of my browser window, plus when quoting excerpts of your post the quote gets all messed up.
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: FreeCAD UI Overhaul anyone?

Post by NormandC »

By the way, this should have not been posted to "Part Design module development", since it refers to the whole FreeCAD UI, not only the PartDesign workbench.

I vote for moving the topic to Open discussion.
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: FreeCAD UI Overhaul anyone?

Post by NormandC »

Related topics:
I have been unable to locate an old topic of mine that referred to a series of articles by a CAD blogger somewhat provocatively titled "CAD usability sucks". It's almost 6-year old. The blog is shutdown. I'll try to dig up the links on the Internet Archive.
Post Reply