News for hackers. Stuff that matters.
Re:If OpenSSL were a GUI by dekhn on Friday June 10, 2022 @04:03PM (#31698786)
Truly great GUI design is very challenging. I've used very few applications which I think have a truly great UI that beats the CLI in terms of the efficiency of presenting options in orthogonal and conditional ways (orthogonal: two features which don't interact at all can usually be programmed independently and appear in distinct locations, while conditional: options that are only valid if another option is set to a specific value).

The best UI I've worked with so far is Fusion 360. Like most 3d modelling tools it has a fairly steep learning curve, but it does a fantastic job of making your life easier. It has a bunch of UI dialogs for parameter setting (some of which are better than others) that do a good job with both orthogonality and conditionality. I really wanted to like blender but just about everything in it feels rotated 90 degrees to how I'd do it.

Re:If OpenSSL were a GUI by dataflow on Friday June 10, 2022 @04:31PM (#31699048)
> I've used very few applications which I think have a truly great UI that beats the CLI in terms of the efficiency of presenting options in orthogonal and conditional ways

I can think of so many off the top of my head: Word, Excel, PowerPoint, Chrome/Firefox, Acrobat, Audacity...

And this is before you get into stuff dealing with pictures, like Photoshop or literally almost every modern game.

You can do most of these on the command line (see ffmpeg, imagemagick, etc.) but I'm pretty sure > 99.99% of people do not prefer a CLI version of such applications over the GUI forms.

IMHO the power of CLI apps isn't in their orthogonality or presentation, but ease of automation and composability, and the ability to cram a ton of features into a single interface without really caring about how easy it is to use for 99% of people.

Re:If OpenSSL were a GUI by dekhn on Friday June 10, 2022 @04:52PM (#31699240)
Rather than listing several specific applications, what i'd do is generalize:

Word processors: are a real improvement over using ed at the CLI, or really any scripting tool, to process large amounts of human-readable text. Although in many cases, simple markup on simple text in a simple text file can be excellent.

Spreadsheets: for all that people complain about spreadsheets, they do a few things fairly well (cellular data model, dependency-graph-driven computations)

PowerPoint: I should have mentioned that "sheets/slides/presentation" apps are one of the best examples of this; features like "Align vertically" are a great example of where UIs make certain operations very intuitive and easy

Browser: I dunno, I prefer e-links :)

Music editing: Actually, the whole world of track-based video and music editing. This is a such a huge improvement over any other system (musicians and video professionals may disagree), specifically the ability to quickly view, cut and paste, and combine multiple parts of longer videos. A lot of this depends on a concept that only really became feasible once disk storage really became huge: https://en.wikipedia.org/wiki/Non-linear_editing

Composability and orthogonality go hand in hand- much of my argument rests on the idea that composing orthogonal features is trivial for UIs, whereas composing interacting features leads to combinatorial complexity and can really only be expressed in code (and possible visual programming- being used more and more commonly to give artists GUI control over complex code-like operations).

The automation is the last interesting bit- will visual programming ever become ubiquitious, so that most people doing automation don't actually drop down to some CLI/text interface/programming language?

Re:If OpenSSL were a GUI by adrian_b on Saturday June 11, 2022 @03:09AM (#31702603)
Nobody will argue about the advantages of a WYSIWG text editor, file manager or spreadsheet over their CLI counterparts.

The problem is that for any of these kinds of applications it is possible to do either a great GUI, which enables maximum user productivity, or a bad GUI, which slows down the user.

Sadly, if I try to remember the best user interfaces for such programs, the award still goes to some ancient MS-DOS programs that I had been using 30 years ago, i.e. the Brief editor for programmers, the Xtree Gold file manager and the Lotus 1-2-3 spreadsheet.

Those programs did not have real GUIs, because they had to use the text user interface of MS-DOS, but they already had the most important features of any GUI, e.g. tiled windows, pop-up windows, menus, histories for any kind of user input, many kinds of visual selection, scripting, keyboard macros, and so on.

After you learned the keyboard shortcuts for menu commands and maybe you also developed your own custom keyboard macros, it was possible to perform any task on those ancient programs much faster than on any modern equivalent.

I am not sure which is the reason, but maybe those old programs were more efficient because the mouse was optional. You could use a mouse if you had one, but the programs were perfectly usable without a mouse.

I assume that because of that, the developers paid a lot of attention of how to ensure that every task could be done by pressing a minimum of keys.

Even if most modern GUIs are supposed to also support a keyboard-only use, in practice I always discover that some operations are either impossible or extremely awkward when not using the mouse. (when using just the keyboard, a graphic selection cannot be expected to work as well as with a mouse, but any kind of text selection should be as fast or faster)

A point-and-click user interface is supposed to be better for a casual user, who cannot be familiar with the complex keyboard-shortcut sequences that might be needed for performing a task at maximum speed. This was certainly true for almost all GUIs in the first one or two decades of their use, but many modern GUIs have a lot of very well hidden and hard to discover options, so being a GUI becomes no improvement over a CLI where you need to read the man page.

In conclusion, there is no doubt that GUIs should be better for many tasks, but in practice one encounters too many bad GUIs, for which it may be simpler to use ancient CLI alternatives.

Re:If OpenSSL were a GUI by elsjaako on Saturday June 11, 2022 @03:58AM (#31702783)
> Nobody will argue about the advantages of a WYSIWG text editor, file manager or spreadsheet over their CLI counterparts.

I think you've never met a LaTeX fan.

Regarding spreadsheets and file managers: for simple tasks I agree they can be better than the command line. But for even a moderately complex spreadsheet I usually prefer a python script, and I've seen office workers spend literal hours doing something that could take me under a minute using the command line.

Re:If OpenSSL were a GUI by adrian_b on Saturday June 11, 2022 @02:22AM (#31702414)
I wonder what versions of those GUI applications that you like have you used.

I was very content with the GUI of Word, Excel or PowerPoint of 20 years ago.

On the other hand I despise the recent GUI of MS Office, where many options are not grouped in a way that I would consider rational and it is frequently very difficult to discover where some options are hidden.

The same with Internet browsers. I was very content with the GUI of Netscape Navigator, then Mozilla.

Firefox was worse than Mozilla since the beginning and it became worse and worse, with various options becoming more and more hidden or disappearing completely. Opera had retained for a longer time than other browsers a traditional, more customizable GUI, but then it has also succumbed to the modern fashion of dumbing down the GUIs.

When the tabbed windows were introduced in the Internet browsers, that was a great improvement. However, with this exception, in my opinion the browser GUIs have become worse, not better, than the old GUIs, because I have lost control over many features that I could configure in the past, while other surviving options have become increasingly difficult to discover.

So if we refer to their current versions, most of your examples are for me exactly the examples of the worst modern GUIs.

Re:If OpenSSL were a GUI by arendtio on Saturday June 11, 2022 @06:19AM (#31703391)
So you are saying that MS Office products have 'truly great UI design'? You must be using a different version than me. The web-based version is full of bugs and the traditional desktop version is neither a good choice for well trained nor for complete newbies. Instead it is some kind of weird compromised.

To give an example of not so great design: One thing that bothers me every day is the dialog that comes up when you want to 'save as' a file. There are about 3 different versions you can go through, depending on, if you want to use Sharepoint/Teams, OneDrive or you local machine to save the file. They all have different capabilities (e.g. some allow creating new folders), appearances and some are only usable if you want to use a recently used location.

Granted MS Office certainly has not the worst UI design, but in my opinion, those applications are pretty far away from 'truly great UI design'.

Re:If OpenSSL were a GUI by Siira on Monday June 13, 2022 @03:58PM (#31730950)
Automation and composability are an important part of a UI. CLI tools also generally beat GUIs in speed. A hypothetical text2pdf runs almost instantly. Doing the same thing with Word can take 5 minutes.
Re:If OpenSSL were a GUI by tiben_ on Friday June 10, 2022 @08:08PM (#31700706)
Have the same feel when two months ago i switched from 10 years vim usage to intellij for code. The UI is so well designed, the "everyday's coder problem is so well understood in the UI layer its just a pleasure to work with this tool. The UI just reflect that. Everything is just so well organised. As a web UI developper, and despite material/responsive requirements i refer often to IntelliJ's GUI. Its just so well designed.

OpenSSL can have this kind of UI. Its just a matter of understanding user requirements.

Re:If OpenSSL were a GUI by bsder on Friday June 10, 2022 @04:09PM (#31698857)
What you probably like most are the "Radial Menus". Which are a damn good GUI paradigm.

That nobody uses outside of games.

And Fusion 360 basically had to write their own entire GUI engine to do all the stuff they wanted.

Infuriatingly, Fusion 360 doesn't provide a Linux version which should be stupidly easy to do since they wrote their own GUI.

Re:If OpenSSL were a GUI by dekhn on Friday June 10, 2022 @04:18PM (#31698922)
IIRC Fusion 360 has radial menus (https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-6514...), and I think it was a major part of Maya or another one of the older modellers. I was never a huge fan and the mouse model still trips me up (imho, mouse-button-1 drags should rotate, and shift/alt mouse-button-1 pan and zoom, respectively).

Also, everything in Fusion 360 could be done in Qt5 without a lot of work, it's just that getting all the hints and the second level details (like maintaing the selection when you switch tools) is a real bear.

Re:If OpenSSL were a GUI by meue on Friday June 10, 2022 @06:14PM (#31699963)
I work in industrial design and the use of Alias for surface modeling is quite prevalent (and has been for decades). It used to be called PowerAnimator, and marking menus were first added somewhere around the release of v6 (1995). Alias/Wavefront actually incorporated this functionality into their first release of Maya several years later, trying to innovate on the feature further with the use of hotbox menus [1][2].

Since Alias corp. was later acquired by Autodesk in the early 2000's, you can imagine Fusion 360 as being the symbolical evolution of it. Especially considering the current Alias UI has not changed much since 1999! [3][4]

If interested more on this topic, fun HCI bath-time reading: Gord Kurtenbach's 1993 dissertation on The Design and Evaluation of Marking Menus [5]. Not surprisingly, from Alias/Wavefront he went on to head Autodesk Research for most of the 2000's.

[1]: https://books.google.com/books?id=7wEAAAAAMBAJ&pg=PT89&lpg=P...

[2]: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86...

[3]: https://youtu.be/cVusw4JNK0s (1999)

[4]: https://youtu.be/323fmUgwMyI (2022)

[5]: https://damassets.autodesk.net/content/dam/autodesk/www/auto...

Re:If OpenSSL were a GUI by dekhn on Friday June 10, 2022 @08:17PM (#31700760)
Cool, thanks- I had forgotten about Alias before Maya. I was introduced to radial when Maya came out (somebody demo'd in, I was interested by couldn't afford it).

I think of Fusion 360 as being more descended from Inventor (which defined a lot of my early expectations for 3d modelling). I'm only a hobbyist and I used Fusion 360 with large (mesh) surfaces (it got significantly better at meshes recently) and it definitely got clunky, although the performance is fine when working with parameteric brep objects.

I've been using Autodesk products (starting with 2D AutoCAD on a 286 running DOS) for quite a while (35 years).

Re:If OpenSSL were a GUI by somat on Friday June 10, 2022 @11:50PM (#31701754)
Radial menus have the same problem(admittedly to a lesser degree) as icon fields(for example, a phone home screen, or most file explorers), they fail to be well sorted and as such are harder then they need to be to find things. A linear list with a search option, or better yet a table where you can sort by several attributes is a better option.
Re:If OpenSSL were a GUI by Ruq on Friday June 10, 2022 @06:48PM (#31700225)
Krita makes use of radial menus as an option.