A complete UI overhaul of Rhino would be a much welcomed move

I know @stevebaer , I’m sorry, I was kidding, since Discourse seems like the “frontman” to individual (non company) users.

1 Like

Can you name any company, in any industry, selling a product or service at any price point that has better tech support than McNeel? It’s a serious question.

That might be your personal interpretation, but not reflective of reality AFAIK. Many people I see here reaching out for support work for companies, including my own team. Also anyone can contact them by email, phone without having to be part of a company.

G

7 Likes

omg, why do you all have to turn every comment into an off-topic pointless discussion. I was making a joke. This and other threads on this forum have long “overstayed their welcome”

1 Like

now on-topic

@stevebaer is there documentation explaining how to make this example feel more Rhino-like? e.g. how to make right-click rotate the model, make a button to orient the view Top, Right, Front? How to access Rhino commands in order to make buttons for the particular command?

Accessing Rhino is with the RhinoCommon SDK, if you want to run the commands that are already in Rhino you’ll use the RunScript method. Just like you would with scripting.

To refresh your memory:

I don’t know about mouse event handling to get the navigation you want. You probably have to implement that yourself. The rest also as per the SDK, check also all the example code.

1 Like

isn’t this in the WindowsRhino.dll control? In the example there are only a couple of "protected override"s I thought there might be more of these methods in the control class.

I haven’t looked into the ViewportControl, but from it you can get the RhinoViewport, which you can manipulate via code.

I’d go with the Eto sample app. There the ViewportControl is derived from Eto.Forms.Control, which has all the regular input events as one would expect from a control.

So you’ll have to handle that yourself, and drive the underlying RhinoViewport yourself via code.

Note that I haven’t tried this myself, this is all just an educated guess.

1 Like

Coming back to the Icons. My personal opinion is that UI is not necessarily old or bad looking, I rather have the feeling that its overloaded.

And this is because Rhino is overloaded with functionality. And because its overloaded, all icons are so small. If you start with Rhino you are overwhelmed by the amount of functionality. Other CAD software are using Toolboxes. Its not optimal either but the majority of applications are hiding icons for a very good reason. Reducing the amount of information, exposing the user to necessary tools.

If you minimize the design to make it look modern it will only increase the problem, because as others said its hard to spot what is what. Even applications with very few icons suffer from this. Negative examples are Skype, Teams or Spotify. Although looking good, its a pain to find functionality due to meaningless icons. 3 dots are meant to be options?!

Maybe a solution is to combine certain commands into a more general command with a slightly more complex window. For example annotations or circles/ellipses could be grouped into one icon with a single command window. That doesn’t mean you cant keep the commands for speed modeling, but inexperienced user get much more compact UI.

It might also be good idea to highlight/isolate the important tools. Maybe a simple UI mode.

And like Autocad did, you could keep the old UI for vintage lovers. So nobody is unhappy…

2 Likes

This overload is at the same time Rhino’s strong point and weak point.
At the one hand it is an incredibly versatile tool with sometimes very specialised functionality for countless applications and even more possibilities of customisation and enhancement through plugins, scripting ecc.
On the other hand it can be quite intimidating (especially for beginners) and can burry its features and tools under the multitude of options and commands.
Can’t have one without the other I guess, but surely some streamlining is possible.

2 Likes

You said at any price point? Ok, Siemens NX. I was utterly surprised the first time I complained about something on their forums, and I received a PM from the product manager in charge of that project giving me his phone number and inviting me to a call.

I thought it was a joke, but it’s actually the way they operate. Their “early access” presentations (similar to Rhino WIP but released every three months) are the same way, direct e-mails and calls with all responsible people available right there, and they want your feedback. And so far, the wait time for fixes has been incredibly short compared to Dassault/Autodesk (months instead of years and yes, Rhino can be shorter, but also infinitely longer)…

From those forums, I’ve also received (like here) custom scripts and even (weirdly enough) personalized tutorial videos (yes, they mention me by name in the video). :sweat_smile:

But yeah, compairing a Bentley to a Beetle, I know, but I just had to correct that statement. This Beetle does have amazing support, though! Now, carry on with the thread, please. :slight_smile:

PS. All of the above is not the paid support from our reseller where we get our licenses from. That is something else (and also very good). What I describe above is all Siemens directly.

1 Like

FWIW, I once got a personal email from the CEO of Autodesk after participating in a webinar and asking a question (I think it was a webinar about T-Splines, after AD acquired it) and had a short but interesting email exchange with him.

FFS, just stop building up on this OFF topic

Mods, please wake up and delete all these posts, including mine, thanks.

I believe that the overload problem is solved with a semantic interface or with a dynamic and editable interface. Both are solutions that allow to scale a million-tool program, by procedurally display only the necessary tools, by demand, by context.

By semantic I mean that instead of the command information being so poor (commands are only associated to plugin name, group names and bars names, or in GH components are only associated to categories, subcategories and plugin name), they are massively hyperlinked with keywords using a CNL (Controlled Natural Language). Complex systems like Rhino needs this semantic networks because modelling operations is like a language where every operation is a word and every process is a sentence and every task is a paragraph and every project is a book. There is a syntax and there is a grammar. So the toolset is like a library, there is a huge amount of books. If you present your library by categories, you have no choice but to put a lot of categories and discard a lot of books from each category, which works fine if you are looking for a popular book. On the other hand, if you have each book labelled with a lot of information that describe the book, you don’t need to look for the category and then search in that group, but you have freedom of search. It is not the software that imposes you how to access a tool, but the software is intelligent enough to adapt to the user’s way of thinking. For example, just by clicking on something that says select, it has to display options like object(s), filter, property, metadata… and if I click on object(s) it shows me the commands icons to select objects. This traces a semantic path, which can be used to teach the software to be more useful to the user using very simple metaheuristics, using shortcut paths or sort them by frequency… It also opens the door to using voice input and also to train ML models to make it a smart software that literally can process knowledge (as a table of facts where a fact is a relationship between concepts, usually on the form of subject-relation-predicate or subject-relation-predicate-context). This does take a lot of work and that’s why I didn’t mention it before, but I think it’s something that will get done as well at some point.

The other option, by editable interface I mean what I said before, having a canvas like GH but with specific objects to display commands graphically instead of components with input and output parameters. Instead of the software understanding the context (as in a semantic interface), there are default and user-defined UI layouts. I know you can do that now, but still, it only allows you to group by categories which imposes a non scalable solution.

I understand that you use other software as a reference, but you also have to take into account that others may have the same problems. I also understand that it’s easy to speak from theory, but it’s the kind of thing that the more you think about it, the more it makes sense (as well as being a trend-setter of innovation in many other areas). And well, I thought it was interesting to contribute this to the debate, I love this topic.

2 Likes

Although, I overall agree that the UI should be smarter. I don’t see how you can adapt it to meet each grammar (industry requirements) nor each user’s workflow. Also if you trust the ML users will be limited only to the most used commands in a certain (sentence) by the majority of users. Which would be the ground architects. And totally confuse and repel the other users.

1 Like

That’s not what grammar is. Language is purely formal, not thematic. I mean, the language is constructed with elements that do not depend on the content that the language describes. A CNL is to allow each user to express themselves in their own way and for the software to understand them all in a common language.

Is the other way around, thanks to that you have personalised ads instead of mainstream ads.

personalized ads based on other people’s clicks.
Unless you deploy the AI for each user individually disconnected from the global database

IMO opinion discussing IF icons could benefit from a redesign is pointless. Obviously they can, and any skilled graphic interested designer who understand how Rhino is used by beginners and advanced users should be able to do a good job by harmonizing the icons and fine tune them with out breaking the visual appearance so old tutorials has to be modified. Whether they have colors, gradients or are inverted. GUI upgrades happens to apps all the time so coherency of logic is IMO paramount. That way users will understand what new icon represents the old command.

I agree that Rhino looks a bit old, but that also means familiar. MAC introduces some very interesting GUI features that looks better than the Windows version, but at a cost. I model much faster in the windows version…

What I really want to see in the UI is vectors for scalability, making buttons with the built in iconmaker is overly tedious, and having settings for colors that are background sensitive would be fabulous, so black lines doesn’t appear on dark backgrounds. Same goes for text, so we can have light text on dark backgrouns and dark text on light backgrouns automatically.

Regarding logic of the acutal icon I would advocat that most important is your ability to remember it and quickly locate it. The danger of going to aesthetically homogeneous is that they can become difficult to distinguish, but that is also the danger of going too crazy on the “make it stand out” appearance. Then they all disappear in each others noise.

I do think that Rhino and the users would benefit from Mac and Windows GUI merge though, that way tutorials and documentation doesn’t have to be made twice and youtubes made by users will be easy to understand by all new to Rhino regardless of platform.

3 Likes

yeah, that I wonder why is still only on MAC? This should be the first step in the UI Overhaul.

You are confusing personalisation with recommendation.

not at all