I've been meaning to reply to this thread for weeks. Hopefully, it's not too late!
I like the idea that the setup should be like a video game. We should have most of our actions in an easy to find location. Fair warning: All of this is basically my opinion.
History of Linux:
Skip this section if you don’t care about the history of Linux. I’ve been using Linux primary since about 2011. One of the reasons I switched is because the built-in file explorer had dual pane setup. I couldn’t believe that Windows still had a single pane setup when so often we need to move/copy files from one location to another. I tried 3rd-party programs like Ross uses but I didn’t find one that I liked. I also felt that this should be a feature of the OS.
Back then, I used Ubuntu which was using Gnome 2 for the GUI. This worked well and many people were happy with but it was starting to look dated. Gnome 3 was starting to come up but Canonical, the company that makes Ubuntu, decided with good reason that the new Gnome was oversimplified and not the direction that users want to go in. For example, they removed the dual pane feature of the file program! Canonical made their own user interface called Unity.
Unity had a decent setup although it couldn’t be customized very well. Unity was part of Ubuntu in 2012 and in 2016ish they announced it would be going away and they would be switching to Gnome 3. In 2016ish, I switched to the KDE desktop which I could customize close to a Unity layout: https://www.youtube.com/watch?v=RSBMn6eGH88.
As for my desktop layout, I started using the taskbar on the left side of the screen back when I was using XP. This was also the default setup for Unity. The idea was it was easier to get to the side then all the way at the bottom of the screen (reduced travel distance). I also started getting used to having the Close, Minimize, and Maximize buttons on the left side to reduce travel time. Additionally, having the task bar on the left gives you more vertical space since that is a scarcer resource on wide-screen monitors.
Later on, I moved the taskbar/dock to the top of the screen and changed it to auto hide. This way, I have the full screen to run my applications and I can get to the dock by moving the top of the screen to get it to appear.
Ubuntu Touch (now developed by Ubports), uses Pie Menus. You can “flick” up from the bottom of the screen (on a Tablet) to bring it up. The radial menu works well on a touch screen and I think it would work well with a Desktop machine. (Although, rather than flicking up from the bottom, opening the menu would be different.) Remarkably, this menu would work on both Touch screens and Desktop machines (unlike some other systems like whatever Windows 8 was trying to do). Ideally, I would like to find a pie dock similar to what Ross showed. Something that can be opened with a hotkey or gesture that opens around the cursor. That would mean no travel time and the dock would be available wherever the mouse is.
Going back to games, I didn’t like the Pie Menus in Crysis. I don’t think it works well in a game to “flick the mouse” to the selection that you want to use, especially if you have the option to use a hotkey. Maybe it works better with a controller with limited buttons. Crysis kind of turned me off to Pie Menus but with Ubuntu Touch, Ross’ videos, and trying it on my OS, I can see the use now. Counter point to Crysis, Pie Menus worked pretty well in Secret of Mana. I think the animation slowed down navigation a bit but looking back on it, it was nicer and faster than full-screen menus of other games.
Pie menus would be great for applications as well. Some programs are doing this like others have mentioned. Unfortunately, because this is a per application basis, there isn’t a wide spread system for doing Pie Menus in an OS. (Since we are going for hypothetical optimal though, we can say that this is something that we need/want.)
As an aside, Alt-Tab is not useful. I don’t use it and I tried to figure out why. One of the reasons that I think I don’t use it is that on KDE, the Alt-Tab only shows on the current screen rather than all screens. However, I think the real reason is that it is system that requires you to remember the order that you last used an application. I used to use it to switch back and forth between two applications but now that I have more than one screen, I can just put each window on a separate screen. If I need to switch applications now, I just go to the top of my screen to my taskbar/dock and select the program there. (I can also use the Window+Number hotkey but I have that it is quicker to move the mouse than to try to stretch to Win+Number. I have thought about finding better hotkeys but have been sticking to using the default.)
One thing that Ross didn’t touch on that much was being able to search for the program that you need to run. He’s right in that if you don’t know the name, it is hard to search for. But if you do know the name, it shouldn’t be difficult to pull up. The OS should have a search option to find whatever program you are looking for. (Categories are nice too.) KDE’s full-screen Application Launcher works okay for this in my opinion.
Also for searching, there should be a way to search the menus of an application. Ubuntu’s Unity had this feature and it is sorely missed. If we are going for an ideal system, there should be a way to find options in our menus by going through the menus and by searching. I couldn’t find a video on it but the way it would work would be to press “Alt”. Then a search bar would come up and and you search for something like “Save”. It would list what it found and show you how to get to it, such as “File → Save”. Not only is the search great on its own but it is also useful for helping with training.
As far as training and learning where hotkeys, menu items, or what mouse gestures do what, there is a learning curve to everything. Saying that gestures aren’t useful because you have to learn something isn’t wrong but no matter what you do to use your system, you have to do some amount of learning. Worst case, you fumble around Alt menus (or use a search function if you are lucky) looking for your frequently used command. You may even learn the hotkey for an action that you repeat often. Since you have to learn hotkeys, you could also learn mouse gestures. Although, I agree the learning of gestures isn’t the same since you don’t have the option to search a menu as a backup.
There were some complaints about Ross’ setup not looking good (i.e. ugly). Something that is ugly but works is better than something that looks nice but is hard to use and slow. Ross’ description for Macs is the perfect example. One button mice and simple non-busy GUIs look nice but it’s that much harder to do anything. Another example is Latte Dock for KDE. I used it for over a month. It looked better than the default Dock and had pretty animations. I found it slow and even later sped up the animations to the maximum but in the end, I went back to the default Dock. The default dock doesn’t look as pretty but it is much faster and easier to use. (Lighter on the memory usage too.)
Below are some ideas for a setup.
OS: Arch Linux. Arch has good online support (wiki and forums) and the frequent updates keep your system up to date.
Window Manager: KDE (or Gnome). KDE offers more customization. However, there seems to be more Pie Menus available for Gnome.
Dock: Launcher at the top of the screen that auto hides (ideally, only a pie launcher would be needed). In my opinion, dock placemen goes from least to most ideal in this order:
Bottom -> Left -> Top (auto hide) -> Pie/Radial Dock
Menu: radial menu (like some applications have) and searchable
Gnome Pie – in Ross’s video (works okay but not that great for KDE)
Pie Dock – another option (used to work with KDE but seems to be a bit outdated)
Mouse Gestures: These work well for actions that need to be done quickly and only once. Maximize, Minimize, Close are good examples. Cut, Copy, and Paste are good ones too (although the hotkeys are close to the home row in QWERTY, it says you a trip to the control key). I also use a 3-screen setup so a Move one Screen to the Left/Right are useful too. Doing a gesture often takes less time then hitting a hotkey especially if the hotkey requires moving hands off of the mouse and/or home row.
Hotkeys: Great for repeated actions that would be too slow with gesture. These are arrow up/down, page up/down, next/previous tab in a browser, etc. Ideally, the most common hotkeys would be on the home row or close to it.
Search Menus: Unity had a feature where you could search the menu of an application.
Things that don’t work or could be better:
Hot corners: I disagree with Ross on the hot corners. My main reason is that with a multi-monitor setup, hot corners are harder to get to if at all. I use a three monitor setup and the hot corners on the left and right monitors are way to far to get to. Hot corners on the center screen aren’t hot corners at all since the mouse cursor just moves to the next screen.
Cording keyboards: After I saw the video, I pulled out my “Frogpad” that I bought years ago. The idea is that you can use one hand to type. You have to use multiple keys to type a letter. This might be useful for type short things but I found it was faster to move my hand to the keyboard to type. Also, it wasn’t great with Control, Alt, and Windows key combos.
Hotkeys: Hotkeys themselves are useful but there is a fundamental flaw with them and that is “Discovery”. Take Starcraft/Warcraft as an example. There is a 3-4 grid for doing actions such as build farm or have a unit perform an action such as patrol. You would think as a gaming company you would say, “oh this is easy, I will just make my grid align to QWER, ASDF, ZXCV”. However, they went the route with having the keys match words, sometimes. Build farm might be “B” then “F” but build factory would be “B” then “A” since “F” was already used. This comes down to how drop-down menus have been designed (think Alt-F, S to save). The better approach would be to have things aligned to a grid (for the gaming example). For regular GUIs, I’m not sure what the best solution would be. Maybe a pie menu with hotkeys aligned to each sector. The current system is pain. It ends up being, let me hunt for the thing I am looking for. (With Unity, there was a very nice feature where you could press Alt and it would bring up a search for the menus of the application. Without Unity, I ended up just search the web to find a menu option for bigger programs.) Once you find it, if the option is something that you use frequently, you may try to remember the hotkey(s) to get to it. However, remembering to do Alt B, C to something just is slow and requires moving your hand off of the mouse half the time.
Things to try/investigate:
Hardware: What is the best mouse? A Vertical mouse to avoid wrist pain? A large number of buttons on the mouse? What is the best keyboard? Ergonomic, split, or some kind of custom non-standard?
Custom one-handed keyboard or gaming pad for the left hand. Pros: If the keyboard had common hotkeys and commonly used keys (arrows, page up/down), it could minimize having to move to the keyboard. Cons: We would have to move our left hand to keyboard in addition to the right hand. If this one-handed keyboard worked well enough, it could be strictly for typing.
Toggle typing mode: Using AutoHotkey, we could remap the keyboard to have arrow keys and pgup/pgdn for the left hand on the home row. Then, we could press some key to bring it back to “typing” mode. I used this scheme for games. In the Warcraft/Starcraft example, I arrow keys on the home row (similar to WASD). I would press Enter to bring up chat and that would also play a sound and switch back to “typing” mode. Pressing Enter again to send the message would go back to “game” mode. (I can’t think of a good simple way to toggle this outside of a game.)
I use the Dvorak layout myself. I found that it feels more comfortable since my hands can stay on the home row rather than move around for the most common keys. It is a bit of work to learn but since you don’t have a home row, I would recommend either learning Dvorak or learn QWERTY using the home row. I do feel faster typing this way but the comfort thing I found most appealing. There was a free online typing course that I worked through to learn Dvorak. They basically start you off a couple letters at a time (‘u’ and ‘h’, the pointer fingers for each hand in Dvoark, and moving up to the entire home row, then the rest of the keyboard). It took me a couple of weeks to get comfortable with it. (I had a print out next to my computer of the Dvorak layout that I could look at while typing.)
The downsides: if you work in office/lab where you have to use shared computers, in can be a problem. I knew a guy who learned Dvorak and then went back to QWERTY because our computer lab at the time had shared computers. (Not really the case today. This was back 10 years ago.) This probably doesn’t apply to you so if it’s just you on the computer, you don’t have this concern. The other downside is that some OSes and programs make their hotkeys around QWERTY. Control X/C/V is big one that I miss out on. At the end of the day, I still feel like we are stuck with this outdated typewriter model of input. Even though Dvorak is a good software solution, I think there must be a better setup.
Note taking App:
I started using “Zim” a couple of months ago for my note taking app. It’s mostly text but also lets you do “wiki markup” like bold, strike through, underline, as well as checkboxes and bullets. I feel it’s a better way to take notes than text or using Word Processor. You can also organize a hierarchy of wiki pages. (I don’t know how it compares to OneNote or other programs like that because I haven’t used those.)
There is still a lot of investigating that needs to be done. (Looking forward to the follow up video.) The video game analogy works. We need hotkeys on our left hand (maybe even arrows and pgup/pgdn) and an easy enough way to switch from navigation to typing. Gestures are great for simplifying common actions and Radial/Pie Menus reduce traveling and make it easier to select our program. A complete solution doesn’t exist; either KDE’s customization or Gnome’s support for Pie Menus are good candidates. Maybe someone could setup a VM to do a lot of what you showed in the videos.
Hardware solutions exist as well. A multi-button mouse may help. A custom keyboard (or a modified keyboard with AutoHotkey) could reduce dependency on arrow keys and pgup/pgdn.
Thanks for making the video Ross! I started using the Mouse Gesture program that you showed and it has been useful. I started using Gnome Pie as well but haven’t found a Pie menu to replace my dock yet.