Jump to content

THE GUI SHOULD BE BETTER

If you ever wanted to know all my thoughts on the GUI, here you are! This has honestly been brewing in my mind for decades and while this video took way too long to make, it’s an accomplishment for me that I was able to put this into something coherent. I’m really hoping this leads to somebody bestowing GUI enlightenment upon us, though I’m not betting on it.

This post also doubles as a thread for people to post any helpful information regarding my GUI quest at the end of the video. Thanks in advance for anyone who finds some answers!

  Reply to post

Recommended Posts

My favorite aspect of my current desktop is the ominous looking fellow floating my favorite shortcuts and files between his hands. My vision of a perfect GUI now includes something like this holding things you plan accessing often. Alternatively you could switch it out with something else holding your programs, like that gargoyle from Diablo 2. I don't know anything about GUIs, but ever since I watched the video I can't use my computer without my eyes twitching a bit, and I hope this helps the effort in some way.

desktop.jpg

GUI.jpg

Share this post


Link to post
Posted (edited)
4 hours ago, Ross Scott said:

 

Quote

It's a fair point about me complaining about learning the hotkeys, that maybe was a cheapshot on my part, however it's ALSO coupled with that not being an ergonomically great system.  So we're talking about memorization, but it ALSO not feeling great once it's memorized!

Not so sure about that. Computers always had at least keyboard, mouse was thrown in and always awkwardly just sits next to keyboard. Some people might even think mouse as a concept isn't very ergonomic as a concept or just a lot cause. After all, maybe we'll all start using great efficient ergonomic VR interfaces and forget the pesky rodent, but imo that's very unlikely. I'm almost never comfortable with gestures even if i've memorized it. For me it's simpler to push a button, or two buttons, even better if i can feel the keys and get tactile feedback. And i'm clumsy with my keyboard sometimes too. As I said - it depends on how good you are on one or the other. I'd say keyboard has more potential because there are more keys and all of them are quite precise. Gesture recognition has more chance of misrecognition, pie-like menus ideally should have 4 to 6 elements maximum to limit the possible directions.

That being said, people also dislike the mouse because of having to move your hand as you mentioned. There are ways to remedy that - use a shorter keyboard, use keyboard with trackpoint or trackpad, or use this... thing... i think it's called roller mouse and i've seen government office workers use it a lot:

image.thumb.png.5d04fd648998f65d737e296d80f4bd3a.png

 

Quote

Metro ALSO LITERALLY COULD NOT DO ALL THE FUNCTIONS the regular UI could!  I don't think there was a Metro version of device manager, for example.  So even if you liked it, it was OBJECTIVELY NOT AS FUNCTIONAL. 

I would say that they just somehow didn't bother to replace ALL the things, probably because it would be just to much work considering how complicated Windows is, but since new change is so drastically different it just looks silly. Maybe if it caught on they'd port over the remaining stuff, and they sorta slowly do exactly that in Windows 10. Other than that - yes, the system in popular opinion is quite bad but microsoft doesn't care, they probably have a business plan to take over the world... again. They toned things down in Windows 10 but it's  still there.

Quote

It was like my example in the video where I tried to change the resolution in a VM using the GUI and it was LITERALLY IMPOSSIBLE.  No wonder those users prefer the CLI then!

That's basically what you get when you separate GUI from core. This is what you wanted - to have core and be able to replace the shell. If your shell breaks, the only thing you get is core, and it's a text console interface, so you'll have to fix that somehow. You not being able to change the resolution is most likely a bug in the GUI, or bug in the driver. GUIs for system/hardware stuff on linux usually don't really allow you to do something risky, like setting a resolution display doesn't support, so you'll have to look under the bonnet to work around that. In my 5+ years of using linux as my main driver, I still prefer GUI, I do like keyboard tho and only use console either when i don't need gui for a simple task (downloading a youtube video), when doing my work (software development or accessing remote servers) or when i have to fix something in my system. It's mostly like opening a bonnet of a car when you need to mess with it. Windows just have more GUIs for it but as you said those are quite bad often.

 

Quote

I tried to point out some examples in that video, how would you rapidly select specific files from a line-up like I did in the video with just the keyboard?

Absolutely true, in older file managers you'd just scroll past the files with arrow keys (or hjkl or some other way) and hit (insert) to mark them. In modern GUIs you often will have to be either holding down Ctrl key or helicopter-aiming for tiny checkboxes. Sometimes things are better tho. Even programs that are geared towards keyboard use often still allow you to use mouse for those situations. I would say Image, Video, 3D editing and CAD applications are much better example of mouse-heavy GUI, and guess what - they often do their own GUIs, with efficient ways of doing things, take a look at what shows up when click right mouse button in Krita:

image.png.0746fbece67b8275289bb9f2d4f00029.png

 

Quote

As for the look, I like a lot of elements of old-school Linux themes, but they could use some modernizing.  I'm not thrilled about flat with lots of black and / or white.

Take a look at Oxygen theme:

image.thumb.png.39f054884ad1dbf5fed4dc8b078574a9.png

It was default in KDE version 4, and still available today.

Or better yet, you can customize color scheme of Oxygen or Breeze I mentioned before, get a load of this:image.thumb.png.3e58f8ed508bf856c1303d0a098df920.png

And yes it will work with Oxygen theme too! You can fine-tune everything, in GUI:

image.thumb.png.9dea274cf50c01e0296c0a447c734397.png

Edited by ekket (see edit history)

Share this post


Link to post
3 hours ago, Ross Scott said:

Yllia Yeah I think the motion tracking gloves + keyboard are the "everybody wins" solution for getting away from mouse switching.  
I tend to be more visually oriented and I actually think the GUI

What I like in addition to the keyboard only approach is that it actually works. We have the technology right now and it is comfy. I get that other people prefer other approaches, although it is not as hard as you might think to remember every single hot key you put on every single key of your keyboard. And it is very rare that I hear people disliking it after they got used to it (lots of people complain about it in the beginning though since you have to learn a couple of things). Worth looking into if you want to use Linux or any of the BSDs as your OS but I guess if you want to keep your options as a gamer, you probably have to stick with Windows.

Share this post


Link to post

This video was a work of art. While I can't contribute anything to GUIs - I for one thought eye tracking would had taken off by now or Bio-Neural Electronics - it was enjoyable listening to Ross.

Share this post


Link to post

heh heh , ross uses epic games and the collection chamber :)
Also 3 browsers? is that opera gx or the regular flavor?

Share this post


Link to post
Posted (edited)
5 hours ago, Ross Scott said:

Christ, I can't even use my own forums formatting properly.  I tried using the quote tags and everything went to hell

One way to solve it would be to add posts to quote through the plus button on the bottom-left (‘MultiQuote’). You can also @ people, like @Ross Scott (that does notify them at least). I agree that this WYSIWYG editor isn't the best, though I don't think there's a better solution with this framework. (Just don’t feel forced into underlining text, that’s the worst.)

 

EDIT: Forgot to also mention that you can insert two line breaks inside a quote to break it up. Anyway, I would not mind hearing about better solutions for all this (hopefully they can also work with Invision Community).

Edited by ekket (see edit history)

Share this post


Link to post

The following is a cold-copy of my responses to the video. Its my second-watch, and a lot of these were made *to* things said in the video *as* I was watching to specifically address *it* rather than this thread. You're welcome to respond, but this is an explanation as to why it doesn't fit the "tone" of the thread or address specific users here.

 

post 1:

  • Responding to your video as I go so expect new parts of my post/posts.
  • I got a Tobii 4C and alt/tab and it just selects whatever I rest my eyes on. Task-switching is hold mouse 4, look at thing, release mouse 4. If I press any other buttons while its held, it won't select until I hit the button again so I can discover anything new. Lots of big thumbnails in positions which are clustered in groups and permanently consistent in their locations.
  • I'm debating writing another so I can drag/drop/scale the windows based on what I want the recall behaviour to be.

Post 2:

  • If you use Photoshop 2018 onwards, you can use the resize option to resample the image and it will use AI and denoising stuff to "blow it up". I've managed to turn images that are 400x400 into totally usable wallpapers on a 4k monitor doing this and it is fucking witchcraft. Failing that, use Alien Blowup 3 which does the same thing. It needs a licence, but the internet has ways around that. Again, pure witchcraft. Waifu2X also does this.

Post 3:

  • Coming back to launchy, did you ever see Quicksilver? It has this insane functionality where you can give it a noun object, a verb command and an adjective modifier (tab to switch field) and you could automate lots of very complex tasks or run them without opening a program at all because it just made calls to those programs via hooks and plugins.
  • Like that, and the help-search in OS X that searched the entire file/edit menu and command menus based on what you typed, highlighted it showing you where it would be discovered and then ran it if you hit return is one of the quality of life features I miss most about OS X. It is amazing and I implement it in all of my projects.

Post 4:

  • 10 solves the dpi stuff. You might want to look at software called Blackbox or bblean as an alternative to your discovery menu program.
  • Barring that, ObjectBar still works under Windows 10 and is my single most favourite UI customization program ever made. It is just phenomenal. It does anything and everything you could ever want.

Post 5:

  • You can make Litestep work in Windows 10 with these tweaks: http://forums.litestep.info/viewtopic.php?pid=2330#p2330 it will also fix a lot of other programs which need to know their working-directory.
  • As far as custom UI programs go, Litestep doesn't do anything unique or original that isn't done better elsewhere -- granted, with the same (often identical) requirements of impenetrable pseudoscripting.

Post 6:

  • "Why does a security update screw with the graphics?"
  • Answer: There's some stuff some programs take advantage of to capture user input or manipulate it to trick you into doing things and they patched it out. Some tasks require user action, but by lying about what's on screen you can be asked to do one thing and then actually be doing another. Using proper drawcalls makes this impossible. Blame who wrote your software for wanting to be more barebones instead of going through proper channels of how the OS handles draw-calls.

Post 7:

  • Windows 10 lets you put whatever the hell you want under libraries, even remote directories and servers if they have proper shortcuts -- though its a bit funny about letting you put programs there.
  • Shell32.dll is deliberately protected because again, a bad actor could take advantage of them and trick say, your mom, into putting something somewhere.
  • https://www.addictivetips.com/windows-tips/change-system-icons-on-windows-10/
  • The icon troubles are because IconPackager works by intercepting calls without changing the file. If you want to change that stuff in Litestep, you have to change that stuff in litestep. The easy way usually is just to make a shortcut and change its icon yourself -- and then ask litestep to not show the shortcut button.

Post 8:

  • "I'm having my progress erased!!" -- no, you're using old software that doesn't have a community maintaining it anymore. Don't lock in with software that's general purpose and unmaintained. That's just shitty practice.
  • Given you have what, like 51,000 views on this video alone and however many subs, why don't you ask your damn audience with your influence to help you put something together -- whether its maintaining an existing dead project (I wouldn't say litestep, its genuinely not worth it anymore not to start over) or to port code and features from old projects into something new and amazing.

Post 9:

  • One of the best quality of life UI additions is winkey+arrow in windows 10. If you use Chrome/Edge and pair it with something like say, Discord's web-app, Discord Hide Servers and then the OpenAsPopup, you can tile like 4 windows together any way you want and when you resize one, the other is automatically resized. This is amazing.
  • One thing I'd love to see in OS's is passive vs active UI systems, where passive only shows what you're using, and active then reveals the inputs to you as and when you want/need based on what you're actually doing.
  • One thing I'd ADORE is if programs had some standardized way to ingest and egress information like flow-control and then to run programs, hide them and then put that information into a dynamic window wherever or however I want like I do with server visualization tools -- with a plugin architecture for the visualizer front-end for it all.
  • At that point, users are designing their own UI based on simple logical rules. Combine with very simple visual scripting and you could end up with some crazy powerful stuff very quickly.

Post 10:

  • "More planes, less helicopters." I love this. One thing I'd add: Why do you spend so much time on your mouse? The mouse is the epitomise of the helicopter because its used to find something and make it happen. The keyboard here, is the plane.
  • Generally with consoles and terminals, the scary thing is -- as you said earlier with your programs listing, the lack of capacity for discovery informed action.
  • If discovery informed action can be solved and then turned into recall informed action at the same time, to educate the user as they use their program, isn't that the most optimal UI possible?
  • Also way to discover the oldest rule of mouse driven UI design: that the corners are the fastest object to access, unless you have multiple monitors and swinging into a corner would cause you to pass over it. Its why the start menu is in the corner.

Post 11:

  • I'm in 100% agreement, but Steve was kind of the strict asshole who would yell "this isn't good enough". The most amazing creative mind (Woz) without business smarts and constraint is unfocused and doesn't see the big picture (look up a show called Keep Your Hands Off Eizouken!, you'll like it if this is something you agree with).
  • The problem there usually is the big picture goes to their heads and eventually they stop supplying useful constraints. I view Jobs as a cautionary tale for this, because he's the textbook example of it.

Post 12:

  • If you're interested in this fractional wastage of time, look into Agile software development. Specifically, its principles. They're meant for businesses, but they can be applied to UI design here.
  • Specifically, the stuff it says about waste.
  • http://adaptagility.co.uk/wp-content/uploads/2018/03/7-Wastes.001.jpeg
  • Swap people for inputs here. Swap the customer for the user. Think about flow-state and stuff like that.

Post 13:

  • Coming back to using your influence and a possible product to come out of it, isn't the most optimal product something with the power of LiteStep, but then the ease of access, modification and use as something like ObjectBar with its UI-driven customization -- and then some simple scripting either via nodes or proper scripting so users can add their own elements?

Post 14:

  • Oh fuck, separating the common-shell elements all together from the OS the same way the browser was is super overdue.
  • I'm so glad someone else recognises this.

Post 15:

  • Wow, good on you for recognising that flat themes do have a place. As someone who uses one and loves it, I try to stip any and all unnecessary information and I use the UI strictly to break things up and split them where and however I possibly can. I gave up developing one because Windows 10 was "enough of a compromise" for me in terms of raw themes. Its not perfect but a lot of things about it I do genuinely really like.
  • I love this idea of metrics driven interface design. Something like say, not only studying how quickly people perform, but also how quickly they learn would be incredibly helpful to find GOOD STRONG rules about user onboarding.

Post 16:

  • My trackball is built into my keyboard and is where the numpad would be. I also have a "clit mouse" thing for my right thumb under spacebar. Trust me, it cuts down on these kinds of timings problems tremendously -- and I'm 100% convinced that with further refinement and some eye-tracking stuff, this could be cut down to nearly zero for acts which only require a single click or a "peck" with gaze.

 

 

Post 17:

  • What you're asking for is a way of communicating intent that has nothing to do with language, on a system that at its fundamentals, is defined by language.
  • That's... Really not very smart.
  • To explain, if you want to select a thing from the highest number of possible things via elimination, the best option is to pair a keyboard with an algorithm, do auto-complete and then pair that with a system for combining those selections into higher things.
  • A mouse isn't designed for this task. Its designed to select things which are visible, and unknown to a user for the purpose of discovery and learning, or to select an absolute value within a field, when a relative value will not do (ie, a position in a 1D space like a volume value, a 2D space like a UI, a 2.5D space like a modern UI, or a 3D space like an ingame world).
  • The mouse is supposed to be for selection, adding/removing things from a selection, or travelling through a space. For just selecting stuff to execute, its actually very very poor because it is just an object which represents a projection of the eye to the screen -- and the differentiation of the eye for reading from the objects on screen via the human hand.
  • What you're asking for ultimately isn't for better mouse control but for something fundamentally more absolute in the same way a touch-screen or gaze is more absolute - but with the precisional discipline of a mouse.
  • The closes to this I've managed is using eye-tracking and head-tracking together so I use my eyes for coarse movement, and my head for gentle refinement.
  • Flat out, you're too mouse dependant and that's one of the first things people unlearn when using computers.
  • As you get faster and you memorise the tools, you should slowly be shifting away from using the mouse unless it is essential for that task to using keys.
  • But the mouse is your preference, and you're hitting the dry limits of the mouse as it stands.

Post 18:

  • "Do you really want to memorise all these hotkeys?"
  • You're neglecting the 80:20 rule of design to try and back up your argument here. And yes, I DO. Why? If I use something often, I want not to have to think about it. That's called muscle memory and automaticity (https://en.wikipedia.org/wiki/Automaticity) -- you can't develop it on a mouse because its contextually driven and demands absolute input using a relative input device which is a mental level of abstraction that shouldn't have to exist in the first place but does because of the limits of technology.
  • If you're angry, go develop some automaticity. You have to do some of the leg-work, not just the software.
  • Do I learn every single one? No. I hit winkey, press dev and hit enter brainlessly, and know device manager will start. Dis does the same for display. This is true of every program I can recall without discovery (turning discovery actions into recall actions is onboarding) I'm not thinking about actions, they're just happening. From three letters alone, I have 999 possible options and I don't have to get them exactly right because its ranking them against frequency of access and accounting for my common errors.
  • If you want the maximum done and you're hitting dry-limitations of an input device, either try another or alter the UI. I genuinely want to see both the keyboard as we know it and cursor-systems as we know them change enormously, as well as UI design -- but UI design is just one part of that whole mess, not the entire thing.

Post 18:

  • Mouse-Gestures, while very cool are limited to somewhere around 50 major inputs, as points in order on a 3x3 grid. You could bump this up by having that change based on what key you hold as you perform them (for example, holding CTRL or SHIFT or ALT when initiating them in an order or just at all) could bump it up to around 350.
  • The mouse is, at its heart, a relative input device, and it measures directions of travel. It just happens to be used as a pointing device, which other things are much much better at.
  • Using it for what its mechanically best at it is the best use of the mouse.
  • Most of these gestures around the 50 minute mark are still slower than hotkeys. They're very nice and look very cool and I want to see more of this in operating systems but this is something which has users memorising something which has no link to language because its tied to space to create absolute actions.
  • What you'd really need is a way to onboard spaces and velocities and positions within those spaces into language maybe based on probability or something.
  • Its a shame we don't have a dedicated button on the mouse only for gestures. You call it a wand, so it would be almost like a spell button or cast button. That I would use the shit out of and it sounds fucking awesome, especially if you link it to shit like pie-menus which also use the relative locational strengths enormously well.

Post 18:

  • On the lightsabre: What would be fucking awesome is if the system knew if you had your hand ON the cursor or not using a very cheap simple capacitive sensor, and then it just knew if what you pointed at was what you were looking at, or if you were moving the mouse toward or away from that point to create some kind of new contextual input that modifies other things.
  • A cursor and a cursor, with a frame of reference. One your goal, the other how you get there and the third, the nature of the space you do it in (eg, clicking buttons vs selecting objects/mass/pixels in a space).

Post 19:

  • Per program context actions are common in most hardware now. My Razor N52 Nostromo is a godsend for this stuff, since I can based on the application I'm in, launch another, and then use its arrow-keys as shift-states to load up to four other sets of things.
  • I'd be much happier if it would just load up like a visor that slides down from the top or something, and it would tell me what was on each key as I was using it though so I knew what they did before I hit the button to aid in my own self-onboarding.

Post 20:

  • Oh man that is a mood. I overcame the same problem by putting next/previous tab on two of the buttons on my trackball which maximises my ability to browse one-handed. I know that sounds suspect (not a dude, but I know that's the 'default' assumption online), but I have an injury in my hands that means I need to rest them so being able to rest my left-hand easily is a godsend and gives me an excuse to do research instead of work -- which in turn, helps me work better because y'know, research.
  • For the record, I close the tabs with middle-click or CTRL + W.
  • As for why I use chromium/edge, I can banish every UI element except for the titlebar (which I would love to get rid of via some kind of auto-hide or toggle, but haven't found a way to yet) and I use a lot of quality of life plugins
  • Examples include Picture in Picture for youtube, hiding discord's sidebar, some stuff for privacy, saving youtube videos, and a tree-style tab-viewer that lets me see which websites spawned which websites based on how I was navigating.
  • I also use the bookmark bar to a ridiculous degree because its all 100% searchable with custom names and icons. It gets nuts when you pair the name of a website, then hit tab, then type what you want to search using that website's own search-tool and I use this every day for wikipedia, librarygenesis (free books!), scihub (free scientific whitepapers), FreeFullPDF (another godsend) and archive.org to rip google books and google scholar's content.
  • They're amazing resources and I recommend them to everyone who reads this, especially if you work in education or the sciences because none of what you pay to read a journal or paper goes to the person who wrote it, it goes to the publisher who monopolize that shit. Fuck those guys I hate them.

Post 19:

  • One of the things that AI would be good for is categorizing user input into clusters. Howard Mouskawitz when asked to come up with the best pickle discovered there is no perfect pickle: there are only perfect pickles -- and that things fit into clusters of category - and it hits me that we're not in the same cluster, but are both very fed up with the status quo.
  • From that, couldn't you use heuristic assessment to give an AI all of the limitations of human hands and eyes and thinking -- and then just generate UI shit at random and have the other AI that's limited mechanically and mentally based on those clusters to how we work try to navigate those systems and then rank them using the metrics system you proposed?
  • You'd get some really wild innovations, especially if some of the onboarding stuff is also imitated and ranked based on how quickly users learn new things from scratch but it has to be done right or it would make things worse, not exponentially better.

Post 20:

  • Windowblinds! Fuck yeah that wonderful BeOS theme you showed first I used that for YEARS! I love that little bump. Its so cute. In theory if Windowblinds works, every theme should work because they just hook into the features of Windowblinds itself. If it works on 10, they work on 10.

 

Post 21:

  • Lots of themes have low contrast because a lot of users are working in the dark, literally. I think in the same way Windows 10 picks your colour and shows you the feedback immediately, there should be like an n-colour option in Windowblinds for contrast, not just colour for windows 10, so you can then enhance and make the colours pop using a fucking slider, not editing values or fucking about with menus somewhere and spending who knows how long dicking with stuff.
  • Better still, what if you could seamlessly chop elements from different themes and then lump them together based on your preferences and then do some software tweaks to those values without opening any image editing software to make the theme you want out of the chunks you want? That should be looooong overdue.
  • At some point, could you go over the themes you do like and what you like about them -- and then also what you dislike, discussing the usability not of the locations of objects unless they differ massively from the defaults -- the colours, fonts, shape language, trends you liked/disliked from different eras, and the stuff like that? I would watch the shit out of that video like two or three times and I'd gladly sub to a patreon to motivate you into making it if you had one.

Post 22:

  • The good Linux themes are hidden in /r/unixporn.

Post 23:

  • The terminal is faster in some cases, but its got zero discovery and demands recall or self-managed discovery which flies in the fact of everything we've been doing for the last 40 years with UI design, period.
  • Whoever solves that problem is going to have fixed UIs forever.
  • Sorta like, something which reads things exposed, and constructs a UI stepping backwards based on the logical rules of a workflow you give it but then allows deliberate exceptions to those rules wherein those rules are sub-optimal due to their consequences or frequency of access.

Post 24:

  • Oh shitting christ, a flow pie-menu that has islands rather than terminations, that's fucking genius right up until text or a search is needed.
  • How do you solve the problem of search?
  • The other problem too is when you have islanding, you have to work back through the space you've created -- and in turn, its very hard to go backwards in these systems because they tend to be destructive in nature (ie, you can't revert to the previous step you were in without an entirely new action from the cursor, or to request an undo operation -- it has no resting state.. so you could use the mouse-wheel to rewind or push forward through previous states and examine the last state -- and then to list the history of actions as a column somewhere onscreen.
  • I guess then, the solution would be to engineer a resting state for it -- so as you swipe, your past actions stack somewhere that's reachable -- and then the option to proceed forwards or backwards could be defined via what modifier you hold (shift/control/alt).
  • Its that tradeoff between discovery and output.
  • the fastest input is strictly relative in direction from an origin on a 2D plane.
  • But you get more inputs by adding further options -- say for example, you are shown the conclusion of the direction you select, like a branch or a tree, and the ones you get nearer to you can see -- which is even LESS blind than tabs and buttons!

Post 24:

  • I think the problem with the console or terminal is its infinite inputs for non-infinite outputs.
  • UI use has to be thought of an elimination of potential options, drilling down into specifics by using a convention people understand.
  • If there are nine potential options, you could get by using only one input, because each space of a character is up to however many there are on the keyboard. If its thousands, or even a value rather than a specific act, things get more complicated. "How much" of something do you want? Where does it begin and end? These are things that need to be solved. There are lots of soft so-so solutions for these problems, but not many "very good" ones.
  • I've had success pairing the trackball with gaze recognition -- so my gaze picks a slider, and then what I do with my hand changes the value while CTRL is held. Its VERY fast but not 100% reliable, as it depends on windows knowing what a slider is for all programs consistently. That's a lot easier on a mac because the UI elements are all built the same way in most cases, and much harder on windows.

Post 25:

  • One of the best examples of a pie-menu I've dealt with is a 3D modelling app called Modo. Some combinations of hotkeys call up menus, and you drag and release the button. It is blindingly fast but instead of using big icons for everything, it uses text, and keeps things at 8 or less options. If you rest a cursor in the direction without releasing and click instead, you can drill down into finer options -- eg, pushing in that direction and then scrolling to define the value of an operation, then releasing is a thing you can do. Its very cool stuff.

Post 26:

  • I'm currently working on a game and I want to try using some of my UI ideas for it. At some point, I'll put out an example or a demo but until then, I'm mainly working on the guts of the game itself. I'd be happy to work with others on a project but only as a designer, given my time is currently taken up as a programmer and I'm already transitioning toward a software-designer role anyway.

Post 27:

  • You can do the start-menu anywhere trick using ObjectBar, and design your own start-menu however you want based on whatever rules you want. Combined with some simple scripting to generate shortcuts based on simple rules based on what you're doing inside a given folder, and it is horrifyingly efficient.

 

If you made it this far, power to you.

 

For anyone curious, my peripherals of choice are a Tobii 4C, 5 monitors (three for work, two for other set above my gaze so looking up requires more mechanical work and thus I spend less time wasting time on them for things like chat, etc), a Nostromo N52 Speedpad with a lot of custom scripts, a modified Logitech N570, a modified HHKB2 Lite and lots and lots of scripting.

Share this post


Link to post
Posted (edited)

Hi Ross, the circular menus you mention at 1:05′38″ are called “pie menus” and the idea was first published in 1969.

The foremost expert in this I know of is Don Hopkins, who worked to implement and popularize them for decades. He has a good overview here: “Pie Menus: A 30 Year Retrospective”.

@UsefullPig writes above about the pie menus in The Sims: that was Don Hopkins.

@NightNord and @chiefwhosm mention Maya in page 3 of this thread as another application that uses them, and Don has the following to say about that:

Quote

Bill Buxton at Alias and his marketing team spread a bunch of inaccurate FUD about their "marking menu patent", which I accidentally discovered and tried to correct and get him to stop doing decades ago, but he refused, and continued to spread FUD.

 

So Alias kept advertising their "patented marking menus" for DECADES, purposefully and successfully discouraging their competition 3D Studio Max, AND many other developers of free and proprietary apps as collateral damage, from adopting them.

 

When I asked Buxton about the "marking menu patent" before it was granted, he lied point blank to me that there was no "marking menu patent", so I couldn't prove to Kinetix that it was OK to use them, or contact the patent office and inform them about the mistakes in their claims about prior art, and the fact that the "overflow" technique they were claiming in the patent was obvious.

That quote is from this post: https://news.ycombinator.com/item?id=17103627

He wrote the whole story about pie menus and patents in “Pie Menu FUD and Misconceptions”.

 

I’m very interested in this subject and I’ve enjoyed your video tremendously, thanks!

Edited by AlbertoGP
Correct typo “as” → “has”, correct attribution for mentioning Maya. (see edit history)

Share this post


Link to post
Posted (edited)

So, here I am, actually creating an account here to add feedback to Ross' GUI video. Hello! These are just a few, hopefully constructive points that came to my mind while watching the video. Maybe this helps to give the default Windows 10 GUI a shot. Not everything is bad. In fact, I believe that with the notes below I work quite efficiently, and I do not really have any need for major improvements. But sure, you never know, what you might be missing out, until you see it.

 

(This was initially intended as a YouTube comment, so it is written in direct speech)

 

You use hopelessly outdated, deprecated software (I mean your UI apps as well as your general work-apps). All those weird apps from those old 2000-aera websites, which have last been updated in 2005. Get rid of them and look for more modern alternatives. Sure, some programs simply don't exist anymore - in that case check your workflow, maybe you're doing something unnecessarily complicated, and that's why no one bothers to update that specific old app. But I get it, there are some very specific programs that simply have no alternative (besides your UI apps).

 

E.g. your usage of that text-editor and quick-access to specific opened files. The last time I had a separate task-bar entry for each opened file was probably 10 years ago. Get VS Code or something similar, which will then handle the opened files in tabs. No need for 10 editor-icons in your dock/taskbar. In e.g. VS Code you can again use ALT+TAB or ALT+[Number] or CTRL+PGUP/PGDWN cycle through opened files (all rebindable to your likings). There also exist lots of extension to adjust the editor to your liking.
True, you can't access the desired file instantly from the taskbar, but if I have 10 files open, it probably takes more or at least an equal amount of time to find that file on the taskbar, than to access VS Code via mouse-click or ALT+TAB and then selecting the file in-program via commands/shortcuts.

To quickly switch between opened programs, try using ALT+TAB + Arrow Keys or even WIN+TAB more.

 

Try multiple virtual desktops. Helps to keep your desktop clean and specific to a certain task. Also manageable with keyboard shortcuts, e.g. WIN+ALT+D to create a new virtual desktop.

 

Try Microsoft Powertoys: https://github.com/microsoft/PowerToys
This will add a lot of nice features to Windows, like custom-defined drop-zones for your programs, a quick-launcher by pressing ALT+SPACE (very useful) and stuff like batch-renaming in Explorer.

 

Everything https://www.voidtools.com/ is also an idea. Indexes your files and provides a quick search for everything or specific things on your PC. However, I'm currently satisfied with Microsoft Powertoys' ALT+SPACE feature.

 

I still use AutoHotkey for some things, but honestly, I rarely have used it in recent years.

For programming get used to PowerShell and setup WSL, e.g. with Ubuntu https://ubuntu.com/wsl. Use https://conemu.github.io/ to quickly access your consoles/shells.

 

I'm a programmer and it is key for me to work efficiently and fast. Main target for me is to use the mouse as little as possible, I want to keep my hands on the keyboard as much as possible. You seem to use your mouse quite frequently, which rarely translates to a fast workflow. There definitely is an initial learning curve when trying to incorporate lots of shortcuts into your daily workflow, but it definitely pays out.

By the way, I moved by taskbar to the left screen side. I feel like that gives me more vertical working space, and my taskbar never runs out of space anyway.

 

A few other random things:
- You mentioned, that CTRL+C not working sometimes. Never have I had that happen to me. But I'm not surprised of these side effects, if you clutter your OS with that much deprecated software and shell replacements.
- "Why do I have to go to the bottom corner [to show the start-menu]?" I never do this. Just press the WIN-Key, done. I personally use the full-screen start menu with some important apps, but in general I do not use the start menu that often.
- Yeah, there can be a lot of clicking on small icons when dealing with system settings, hardware configurations or internal services like gpedit.msc or taskschd.msc. However, that does not affect me in my daily working routine. Those are system settings, I do not touch them that often.
- There are quite a few mouse-gestures addons for Firefox. I really like them. Would be interesting to have something like that for Windows, definitely. However, I doubt that using lots of gestures would be faster than shortcuts. It would also probably tire out your wrist/fingers more after a day of work. Would be interesting, to see a comparison for that.
- Windows styles/looks: Well, thats's entirely subjective. I don't mind the styling of Windows 10. I quite like the flat colors and sharp corners. But to be honest, I do not care how it exactly looks, as long as it's somewhat pleasant to look at. Most important for me is dark mode, as much black as possible. Just helps to prevent hurting your eyes when you are working a lot with editors and such. Btw: there are Firefox addons that automatically darken all websites dynamcially, which prevents burning your eyes on a blank white page when previously looking at nothing but pitch black programs.
- Windows explorer: well, you got me there. I don't mind it that much, as most of the time I'm browsing files in my IDE, but yeah, could be better. Microsoft Powertoys helps a bit, but a second file-tree or similar like with TotalCommander would be nice.
- Your mouse-flick to the bottom right to open the browser: Why would I need that? Firefox opens automatically with Windows, and I access it via ALT+TAB/Numbers or clicking on the taskbar. Firefox never get's closed once it's opened. Besides that, I use a 1440p privately and 4k monitor for work, which means may main programs can share space nicely, no need to switch apps at all. Furthermore, I use a pretty slow mouse speed, and I tried that on my 1440p screen: Takes me about 30cm of travel to get to the bottom right from the center of the screen - so for my setup, that's kinda cumbersome.
- The wheel-navigation around the mouse-cursor: Cool idea. However, wouldn't that again require lots of precision? I prefer typing to get to the app I want (see Microsoft Powertoys ALT+SPACE to type for a app you want).

 

Back in the day, and I mean like 15 years ago (at least it feels like that), I had a somewhat similar setup to your current one. I used bb4win/blackbox, and really loved it. However, looking back at it from my current setup, it was much, much worse. It's just a bad shell to begin with, to be honest, with all those conf-Files and 1337-haXXor-GUI components, that are not really providing an useful improvements to workflows. I used RocketDock at some time as well, which I also liked back then. But again, I absolutely don't miss it now.

 

In conclusion, I really don't mind the Windows 10 GUI. Call it Stockholm-Syndrom, but I happen to enjoy it with a relatively small amount of extra-apps. I have previously also worked on MacOS and Linux, both have their advantages but also disadvantages. When switching from Windows to Linux, I wish certain Windows-Features were available in Linux, and vice versa. At the current time however, I'm satisfied with my Windows 10 setup and can work quite efficiently with it.

Edited by FiveFuenf
Add note on what apps I mean. (see edit history)

Share this post


Link to post
Posted (edited)

Ross, I think your problem is that you’re approaching this as someone who spends a lot time on his PC and uses it for a lot of relatively complex functions. You have to realize that you aren’t most people. To tell the truth, even though I just bought a new gaming laptop, I barely use it. My go-to for everything I need is my phone. And your idea that ease of use is only if interest to old people shows me you don’t quite understand the nature of the questions you’re asking. I used to use my laptop all the time, but I’ve mostly transitionEd to the phone because of ease of use. Likewise, if Microsoft did what you wanted and had “the public” test it’s GUI’s, it wouldn’t be the public doing the testing it would be the sort of person who would opt into that in the first place. I have no interest in becoming a GUI wizard, I’d rather spend my time reading a book about the Civil War or doing some other things that interests me. You make it out “learning something new” is no big deal, but for the average user it is. I think the main flaw of your argument is, “There are lots of things that are ideal for the majority of users”. I think you are really underestimating people’s subjectivity and how many different things people use their computers for. Like, ironically, AVGN just came out with a video that basically considers what you believe to be the ideal, the GUI getting out of the way, to be bullshit. 
 

Not I think your desire to find the ideal interface for yourself is something that you shouldn’t be pursuing, but I think you’re incredulity about why your ideal system doesn’t already exist is misplaced. I think that you are like a car guy who doesn’t understand that for the average person a car is just something they used to go from point A to point B and as long as they get where they need to go they’re generally not going to be too stressed out about it.

Edited by daisekihan (see edit history)

My little gaming blog

https://corktowngaming.wordpress.com

Share this post


Link to post

What we need in a GUI, is Eurostile as a font, and have a minimalistic-tech design. I also prefer rectangles to circles, because your screen is also one, and circles don't fit well when side by side, the edges are always a bit sketchy. And as for the colors, definitely something that's modest and pleasant on the eye, we don't need anything too bright (255 0 0 red, or yellow), but instead gray, faded gold, light blue, silver, and lots of animations and popups. Like when you open a folder in Windows, it just... appears, out of nowhere.

 

Also, I think that to move forward in a big way with the UIs, two things need to happen. We need a bigger keyboard. For everyone. Because every key you are using now sort of has its use, and really, a side panel to the left of your WASD, CTRL, etc. gaming keys wouldn´t hurt anyone, but would open up plenty of opportunities to explore. Like, have one modifier and then about 20 keys, each one doing something useful, and of course, completely programmable, so that you can use it for what you want. Usually, you would operate the mouse and find the program or type the name of it in a bar and it would find it. Having shortcuts for this makes it better, because really, everyone is using, for example, the web browser. One click and it opens with your home page. And I know that a few keyboards have done this already, but the button placements were absolutely horrendous, like, above the scroll lock. The keyboard doesn't need to be thicker, but wider. And it shouldn't be a 3rd party thing, I would expect software that would handle it already packaged with Windows, and the keyboard manufacturers would quickly pick up the pace, I have faith in them.

 

And the second thing is, whatever OS you are planning to develop, it needs to be fully operational with BOTH the mouse, and your fingers. So of course, we need large monitors with touchscreen capabilities. We are in the era of 4K ultra-wide monitors, but absolutely nobody seems to care about the touchscreens. With phones and tablets, we have clearly seen it, that such things can be done, because people are using their phones for businesses, work, recording, minor editing, so if you just scale it up and give it proper support on a platform that's used by a billion people, we might get somewhere. I can see hundreds of applications that would benefit from having touchscreen support.

 

Alternatively, we need to change the keyboard, once again. Not just make it wider on the side(s), but also, look at where your thumbs are. When you are not pressing the spacebar, which, you are usually doing with just one of your fingers, not two at a time, you could use the other one for gestures on a pad, if such thing existed. Unless we change the way we input information, we can hardly expect a better output.

Share this post


Link to post
Posted (edited)

Okay, Ross, you asked for it.

 

First of all, you should watch this video, it's exactly about bad UI. You'll feel shared frustation.
https://www.youtube.com/watch?v=dKx1wnXClcI
(Speaking of that guy, I'm sure, you'd like this video from him as well. It's about music and bad jobs, though.)
https://www.youtube.com/watch?v=AIxY_Y9TGWI

 

Here are my GUI solutions, but you probably will hate them. I'm currently on Windows 7 too, so I am not sure, how future-proof my workarounds are. Too. But I don't rely on external software so much.

 

I'll start with minor things, retreading points from your video, and at the end will drop a major reveal.

 

So, as for look of the GUI, I'm fine with windows 1998 themed look. It has a feel of physical object, and you can distinguish "interface" part from "actual content" part, it's not "everything is snow-white" modern style where everything blurs together.
As for instant tooltips over taskbar. I use standart windows taskbar, and tooltips pop out pretty fast. I suppose that for that you need to turn off every animation that windows keeps turned on by default. Stuff like smooth scrolling and other "eye candy". Less animations — more free time. Classic theme turns off many unnecessary animations by default, but not all of them.
Though, some experimentation showed that in order for tooltip to occur you need to stop moving your cursor over an icon. So, it requires a bit of precision.

Also, as I noticed, you need those tooltips mainly to manage different text files. When I work with texts, I use Notepad++ (mainly because of hatred towards Word interface and other crap that Word pulls off), and Notepad++ has great support of tabs. Like, you don't have this problem with browser windows, right? Because all Internet tabs are in one Firefox window? You can do the same with text files. Also, speaking of browser, do you really need to open in so often? I open it on the system startup and rarely close it.

 

Double clicks: you can turn them to just clicks via vanilla Windows means. Open "folder parameters" or something like it in control panel and there it is. (Sorry for imprecise terms, my Windows is in another language, so it's backwards translated.)

 

Mouse gestures are annoying, IMO, and hotkey combinations are basically the same thing, but much less prone to misclicks and mistakes. There are plenty of combinations that you can do with left hand. Same goes for "precision" argument — there are hotkeys for actions that require precision. Like, do you really close windows by X? Just alt-f4 them.

 

Now it is time for promised reveal. YOU DON'T NEED DESKTOP AT ALL. Okay, hear me out. It's empty, purposeless space, waste of pixels on nothing. Basically, it's what you see when you don't work in any software, and you better be spending every moment on movie or something. It's just a place for icons, and some light file management, and there are better ways to do file management and to launch programs.

 

So, what do I do? I put Total Commander in autoload, and it is my "desktop", "default" thing that I look at. I alt-tab between it and other windows, and don't have a need to look at desktop at all. Not only Total Commander is highly customizable file manager with some features that I now find essential and life-saving, but you definitely can use it to launch software and games. For more information, look at the attached picture of my "workspace". BTW, Total Commander is not some obsolete piece of software, it is supported and it works in windows 10.

 

(It's not advertisment, if you find Total Commander expensive, well, you know what to do.)
https://www.ghisler.com/screenshots/en/01.html

 

Yeah, you lose beautiful wallpapers, but you can watch them on second monitor. And you probably need second monitor anyway.

Интерфейс.png

Edited by V_R (see edit history)

Share this post


Link to post
Posted (edited)

Linux

 

looks like you have already tried and can't find one that works for you out of the box.

there are many different GUIs for Linux that you can customize to your hearts content. at the very least, you don't have an entity aggressively trying to remove your customization's.

 

one thing that i didn't see you show from the Linux crowd is tiling window managers.

they don't really solve the same problems you are complaining about here, but the main idea is to remove needless effort organizing your windows. unfortunately, from what i have seen most of them rely on you searching for the program you want. admittedly, it's also what i do these days. the windows 10 search is abysmal - you can literally type the exact name of the program, respecting case and the beset match will be to search the web.

 

Unfortunately, if you switch to Linux, you'll still have to boot windows to play a large chunk of your games. it should improve your workflow for the parts where you don't have to run games though. I guess it'd suck if you have to quickly boot a game to get a clip of something.

 

One place i found for nice looking UIs: https://www.reddit.com/r/unixporn/

In my browsing of it, seemed to be more style than functionality. I guess pretty == upvotes. There are many low-contrast themes. But on occasion there seems to be something that looks useful.

Edit: just found this, seems to be addressing my exact complaint: https://www.reddit.com/r/UsabilityPorn/

 

My Workflow basically a rant

 

I take refuge in my terminal... thankfully there isn't much I need to do that isn't in the browser or the terminal.

I agree with the points you make about the terminal, it doesn't work for a large majority of things. but for the specific things i need to do for my job, it works well.

 

My current job has me working on a mac, and the keybindings are different... Obvious ones like ctrl+c etc, but also things like the home & end buttons just don't work in most programs on mac (or if they do, they'll take you to the start of the text instead of the start of the line).

or Firefox, where on windows & Linux ctrl+h will bring up history... on mac you use the command key instead (ctrl button is there but seems to just be vestigial), which works for most of the hotkeys in Firefox except history because command+h hides your window.

 

I dread the day that I have to work on Windows, because from what I have used, the terminals on there aren't great. Sure you can get bash on it, but you still run into random problems.

 

your hand-on-mouse-at-all-times theory is interesting... in my editor the philosophy is the opposite. you should be keeping both hands on the home-row at all times. same concept, but yours makes more sense for video editing and the like.

 

P.S. the magic mouse is terrible. No middle click, no right click by default (although you can enable it). Really the only 'gesture' I found useful was a glorified scroll-wheel, although I didn't go to town customizing different actions. Oh, and it would screw up those 3 simple gestures too often to tolerate. To top it all off they put the charging port on the bottom of the mouse so you can't charge it and use it at the same time. Talk about UX.

Edited by 1wsx10
forgot a thing... and another (see edit history)

Share this post


Link to post

Disclaimer: not an UI/UX-pro, just a Linux-pro. But I can throw in some workarounds. Currently I'm struggling with too much windows, not wanting to use virtual desktops, because there must be something better (or just lazy), and possible hammer-nail POV.
 
Get a second GPU (or repurpose your iGPU), install Linux, virtualize Windows with passing the main GPU to it. Overhead? 5FPS (in ~2015 FPS).
Personally I've run two Linux gaming machines on two GPU's, one bare-metal, one virtualized (yo dawg!).
It seems, even from the post above, that this is not greatly known stuff.


Game on Windows, customize on Linux. Or even better: update Windows in the background and have a perfectly working (yet busy) computer (☞゚ヮ゚)☞
 
It's not for the faint of the heart and requires some technical knowledge, but it's available on most current hardware and better than you expect. Look up Linus Tech Tips Linux gaming videos [1]. Or Level1Techs [2] or r/VFIO [3] for the gory technical details.
 
Seriously, most of your wishes describe some things I've at least saw working on Linux, at some point I've tried even to apply a Leap camera recognizing hand gestures. Unfortunately Leap has broke this at some point and it seems it didn't prioritize this functionality in the first place, and now Leap itself is dead.

 

And finally for moving the hand off the mouse to the keyboard I have two solutions:

- one is to start using the mouse left-handed (had a co-worker that did this),

- get yourself a split 60% keyboard (optionally with mouse emulation) [4], set the halves to align with the shoulders, place mouse anywhere (i have mine 15 cm from my right hand, measuring middle to middle).
 
[1] https://www.youtube.com/results?search_query=linus+tech+tips+linux+gaming
[2] https://www.youtube.com/results?search_query=level1techs+vfio
[3] https://www.reddit.com/r/VFIO/reddit

[4] Ultimate Hacking Keyboard ultimatehackingkeyboard.com (disclaimer owned, liked much), ErgoDox or derivatives (one of them was even in the video, misnamed as a shortcut keypad, just can't find the timestamp now).

Share this post


Link to post

Okay, Ross, your quest for a UI holy grail or renaissance is a fools errand.


In a lot of ways UI is just the language we made to communicate to computers and in the same way as people not wanting to learn a new language, even if that language would be a faster/cleaner way of communicating, People don't want to learn a new UI, heck, technically qwerty keyboards aren't even arranged in the most efficient way for typing and it's not like qwerty inc has a monopoly on keyboard sales either these keyboards do exist, it's just only power users care enough to actually take the time to learn and make use of the better layout.

Anyway that's less of why you won't find what your looking for and more an explanation of why UI has seemingly stagnated, although that isn't really true either, languages are always changing after all, we do it all the time with acronyms, we type GUI instead of "graphical User interface" because typing/saying "graphical user interface" every time is a mouthful; Shortcuts, Macros, even things like touchpad gestures or pulling your window to the top of the screen to maximise it are the acronyms of UI, we all have our own dialects, but we share the same base language.

I also think it's very important to point out one perfect UI solution for one person may be a nightmare for others, there is no "UI Kung fu" as you put it there are simply different favours of kung fu, some better for some things then others, sometimes working in the terminal is legitimately the most effective way of getting some things done, but for most things and people that isn't true, what you should be asking isn't what new UI should we be using, but how we can evolve/supplement current UI practices to allow most people to get what they want to do done without hindering everyone else too much.

Now none of this is out to defence Windows 10 of course, I moved to a Linux distro earlier this year in part to get away from our corporate overlords at Microsoft, but most of Microsoft's decisions with windows 10 makes sense in the context of making it accessible and safe for the vast majority of people, that's just how it's going to be and most users are fine with that, you and I on the over hand, less so, but it's not like options don't exist the one a bunch of people have pointed to, and the one I personally use is KDE Plasma which I honestly can't recommend highly enough.

I don't really think I can go back to how Win10 does things now either, I think you would be surprised with the amount of things you can edit with Plasma if you had another look at it, for example I just discovered you can actually edit what's on the titlebar (you can even remove the min/max/close buttons if you really wanted), point is KDE Plasma is the gold standard in desktop environment customisation and is probably the best modern solution you can find at the moment that gives you the control you want, heck, you can even install plugins to add functionality to most things.

The only non starter for you with this solution is that you need to run it on linux, which has a few caveats:

  • Games compatibility can be a pain, your mileage may vary depending on the games you want to play though, wine (windows comparability layer) has come a long way and proton (Valve's flavour of wine built for games) picks up the slack for games wine struggles with, It's surprising how many things just work out of the box these days and it's worth looking into.
    • Lutris is worth looking into in aiding with this, particularly when it comes to older games.
  • You might need to find some new software, I spent most of my time converting to linux looking for software to replace what I was using on Windows 10.
  • Hardware support might be slow to come and for some things may never come at all
    • Companies have a habit of not making drivers for linux because of how small the market share is so it often falls to the community to make the drivers themselves

Sorry got a bit off topic there, but there is my essay offering to add to the pile of essays you've inspired :P

@Ross Scott I will legitimately help you get going with Plasma if you wanted, as fair as I'm concerned your more likely then I to convert people to linux then I am, and I want the Linux market share to be as large as possible.

you probably won't take me up on that but ¯\_(ツ)_/¯

TLDR:

  • Desktop UIs are like a language, we each how our own dialects, stop trying to reinvent the wheel and make a new language.
  • There are no silver bullets here, UI is a product of the job it's trying to achieve and what's great for one job isn't for another.
  • The best general UI for power users like us is a customisable one, KDE Plasma is the gold standard for this currently.
  • Seriously KDE Plasma is great and you should get it right now

 

Share this post


Link to post
8 hours ago, Ross Scott said:

Also, your desktop is a perfect example of the problem I notice visually with a lot of themes.  Your terminal windows look pretty slick, dark theme, but readable colors, looking nice.  Then BAM your web page is bright as hell in comparison and just overpowers the rest of it.  My solution was to go for something in between, but maybe forcing everything to be dark on the web with plugins could work too.



I never posted a picture, you must be referring to the guy I quoted.  My work desktop is the default Ubuntu Mate theme and 20 half empty text documents all called the same thing.

"You don't get to bring friends."

Share this post


Link to post

This was added to the youtube comments section and I'm adding it here for preservation purposes.
It was written by joejoesoft the dev for Rename Master, this is done without permission, so if it is a problem I will remove it.

"

https://www.youtube.com/watch?v=AItTqnTsVjA&t=3835s -

Hi Ross; I wrote that program you're using at this timestamp. (Rename Master). Version 3.15 was released last month after 2 years of no updates. This version is almost all GUI updates, ironically.

 

I've been studying GUI design for decades now and it's the hardest part of creating programs. It's an art form with some science behind it (mostly user psychology), but it's still mostly experimental. You have to play a dance between what's easy to learn and efficient to use. Discovery is a huge issue with this dance, as is Navigation. Your truth of "Getting out the way" is known as progressive disclosure in the GUI world. You show just enough for most people, but make a very easy and related way to drill down for more info. Showing too much leads to information overload and hinders learning.

 

There are also two different types of users to appease; mouse users and keyboard users. Moving between the two positions is a pain, since it interrupts flow and uses a different part of the brain. In short, this navigation between wipes short-term memory. Keyboard is the fastest way to interact, but also the hardest to learn since it's "invisible" most of the time on a GUI. Mouse discovery and navigation is the easiest and almost all users start interacting with a new program this way. Most users never leave using the mouse, except to type. More advanced users use the one hand for shortcut keys and the other hand for mousing. This makes shortcut keys you can activate with the left hand a premium. The most advanced users can navigate Windows using a keyboard exclusively. I can speak from experience and say that keyboard support is almost exclusively added as a last-thought.

 

I also know why "Copy" is being ignored more frequently - it's almost always Web Browsers and more specifically Chromium. I also created ArsClip (Clipboard Manager) and have become extremely versed in the Windows clipboard and all of its limitations. One of the clipboard features I use is a sound that plays when a new clip is placed on the clipboard. This gives you an unmistakable cue to know that your copy executed. I've noticed that Chromium's optimizations for display speed makes certain underlying data not yet available when trying to copy. It will often ignore a Copy or Search command on a whim. On Windows, the Clipboard has not had any significant updates since the creation of Windows. The only thing they've added all this time is a very rudimentary clipboard manager for Win10 that's hidden behind an invisible keystroke. Microsoft has not applied their lesson about discovery and navigation.

 

I also have answers for a lot of your "why does?" questions in the video, but a Youtube comment it's a great place for this. Almost all of it relates to backwards compatibility and having to support mistakes of the past. Windows now uses version virtualization, so a program compiled to run on Vista will think it's running on Vista. Even when the program calls the routine to check the version of Windows, Windows will respond with the older version. All the older versions of support libraries (DLLs) will appear to exist for the program. The Win10 GUI scaling routine also does something similar. It will "lie" to the program about the screen resolution and the positions of coordinates, so the program thinks the screen is smaller and does its GUI generation larger. And, yes, malware was known for hijacking the Windows shell to run itself. For both of these reasons, the old hacks used by program like Windows Blinds will no longer work.

 

I can also tell you why mouse gestures aren't going to be "the next thing". I also wrote a mouse gesture program (Mouse Wrangler) and it's not popular. The biggest problem with gestures is the same as the keyboard shortcuts - they're invisible. There's no way to quickly look up what gestures are available and what they do. They fail the discovery and navigation tests. I also use Opera and this inspired me to create Mouse Wrangler, but I quickly learned that I only ever use about three gestures. My most used routines (Minimize and Close) are now just assigned to my extra mouse keys.

 

The last topic I'll bring up is producer-consumer operating systems. Most users are now just consuming information. This was the paradigm shift Windows 8 was trying to copy - the "tablet" style interface and it failed. The entire OS of Android and iOS and its GUI is designed around this behavior - which is why it sucks to try to type or copy/paste in these environments. They're meant for you to use with one or two fingers, navigate only, only only use for a short time. PCs are thought of as tools for producer-type users and long-time usage. Consumer-types are by far the larger audience and the Windows PC GUI is essentially the same because of using metrics based on this audience composition.
"

Share this post


Link to post
Posted (edited)

I've worked as a software developer at large companies. Usually, "Good enough" is all you can shoot for. You aren't given the time nor incentive to make something truly great. Not that any one person really could, even if they had the motivation. Do you know how many lines of code are in Windows 10? 50 million. That’s 50 million lines of code written by hundreds or thousands of different people, some of whom are most certainly dead and didn’t comment their code properly, over the span of decades, since I guarantee you Microsoft wouldn’t start fresh with their flagship product. There’s still code in there from Windows 95 if for no other reason than to support some legacy compatibility modes. No one person fully understands it. To be honest, I consider it a miracle that Windows works as well as it does today. I can count the number of BSODs on my custom built gaming PC on one hand. That is an astounding achievement.
 

To fix this problem, you said you needed experts. These experts will never exist, because the amount of time you need to gain enough experience to solve this problem is greater than the length of a career as an OS developer, designer, tester, or manager. Ramp up time would be a nightmare for any team. You’d have to pass knowledge along to others, and even with the best documentation in the world, ramp up time means that it’s simply not worth it to solve this problem for any software company, even Microsoft.

I also want to say that a perfect system like you want is impossible without knowing EXACTLY what you need right from day 1, which has never happened in software development EVER. Have you ever played Factorio? You always hit a point in making your factory where you think "If I had known I needed this at the start, I would have done this section totally differently. I can either tear down EVERYTHING or accept some inefficiency." Humans, being fundamentally lazy, pick the latter unless the problem is truly too big. Requirements for software change. Constantly. You get a new customer who wants the product to do one more thing, one more feature. You didn't plan for it, and it causes some small slowdowns, but hell, let's do it. It would be cool. Or you get a security issue in that cool new thing you designed. Or the head designer who didn't take good notes dies in a car crash, or one of a million other things goes wrong. Or you're asked to write a fix on a section of the product you don't understand because the usual guy is sick and can't come in, and no, it can't wait, so you write a hack, it fixes the issue, and nobody looks at that section of code again.

Tl;Dr: The nature of software development is such that "the perfect GUI" that you want will never come into existence. Especially not from Microsoft.

Edited by Inglonias
Chewing on my post. (see edit history)

Share this post


Link to post
Posted (edited)

Hey, i'm an amateur pixel artist. While i can't chime in too much, I did do something kind of strange that may seem interesting to some folks here.

 

image.thumb.png.5af2a9abc6afd084412c1a12245b4d2d.png

 

The file is too large to be directly uploaded here, so above is a screenshot. For the full size, scroll down.

 

image.png.f8e83a5df3ff6858626a9a298de6adf3.png

 

(cause holy shit)

so instead i'll upload it to imgur

 

This has literally zero fucking technical advancement, and is more just something i believe to be aesthetically pretty.

 

This was a mockup desktop that I use as a d&d character sheet.

yeah that ones kinda new

 

Essentially, for my latest character, I decided to make a fake desktop. It's inefficient, breaks some rules of pixel art, and isn't particularly impressive, but I think it looks pretty decent

 

Here ya go


Sorry for the inconvenience. I know this isn't what you guys are looking for...but hey, more for the pile I guess.

Edited by Eisen (see edit history)

Share this post


Link to post
Posted (edited)

the way to get around the mouse thing is to use a keyboard with built in trackpoint.

that also enables you to search for applications or select folders more quickly by typing.

 

i think tilling window managers(i3wm, dwm or something similar) on linux can get you quite a bit of efficiency and probably don't fuck with your configs, or at least if they do you'll be able to read it in the patch notes.

the only problem with those is that you need to run them in a distribution thats built for them or that you customized to suit them, because manjaro for example has a bunch of gui elements preinstalled that don't fit into a tilig enviroment.

from what i remember regular programs don't have any issues(i didn't get around to setting up an arch linux or whatever yet so im stuck with manjaro and xfce which works for me but definitely isn't gui enlightenment or anything).

 

i think a lot of the movie guis are just fantasy because the interaction doesn't actually display enough bits to tell the computer what to do.

 

also a linux command line is infinitely better than a dos one, most of the time there is an incredibly fast solution with the right string of commands you just have to learn them(for your select and copy example theres probably a regex fitting all of the files you  want to copy).

 

Edit:

after reading a couple of posts and seeing takes on mobile GUI i felt compelled to talk about that aswell.

Disclaimert: i don't actually use a phone from day to day and only sometimes use some experimental linux based os on an exotic phone, however that does give me quite a bit of experience with new ui concepts which i think does fit into this thread quite well.

 

-i don't know if it makes it faster but i really like hardware keyboards, because physical feedback makes it possible to type blindly and imo makes the overall experience a lot more pleasant.

 

-gestures work really well on phones and i said that before it was mainstream, spcifically sailfish os and even older maemo display great intuitive gesture control that frees up space traditionally occupied with a home button or navigation bar, and goes even further by displaying only the open application and nothing else but allows you to hold the close animation to make the application transparent and look at the notifications.

 

-very recently the suckless people (who are also behind dwm) released they're own phone GUI sxmo its very unfinished and at time of writing doesn't have gui settings for the modem but the general concept is a mixture of gesture controls and abusing the volume and power buttons for menus and quick actions. this, to the best of my knowledge, for the first time frees up the desktop on a phone by shifting applications into a hardware button controlled menu. a lot of the text is smaller than it needs to be which isn't great. when using the maps app gestures sometimes trigger on accident because unlike sailfish os gestures in sxmo can start from anywhere and not just the screen edge.

 

-another great concept i've seen in a couple of linux phone GUIs and most completely implemented in sailfish os is having all open applications on one screen with some interactivity in the smaller view so you don't need to switch between apps as much and have a dynamic selection of widgets.

Edited by discordia (see edit history)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in the community.

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

This website uses cookies, as do most websites since the 90s. By using this site, you consent to cookies. We have to say this or we get in trouble. Learn more.