Jump to content

THE GUI SHOULD BE BETTER

Recommended Posts

Posted (edited)

Desktop Shortcuts

 

Dude, if you don't like them then just don't use them. Nobody is forcing you to use them.  It is an optional feature after all, and many users actually use and like them. I thought removing user choice was your biggest issue? I guess it's just fine when it's something you personally don't like. Screw the millions of users that like desktop shortcuts. I don't like them so THOUGH SHALL NOT PLACE SHORTCUTS ON THE DESKTOP. 😛

 

Desktop shortcuts are also shortcuts placed literally on the desktop. Your version of "desktop" shortcuts is just a custom menu with a folder named "desktop" in it. Nothing is even organized in those menus anyway so what's the point? Just use the standard start menu with custom folders if you need them. Did you do all this just so you can click anywhere on the desktop to bring it up? That seems far worse than the default start menu because now you need to have some exposed desktop space to click on to open the menu. I'm sorry but this all seems pointless and counterproductive.

 

Solution: Just use the start menu with custom folders instead.

desktop_shortcuts.thumb.jpg.9ccc4875c2b65b8592f8db0ba06418c6.jpg

 

Main Shortcuts

Solution: Just pin all your commonly used apps to the start menu.

start_menu_shortcuts.thumb.jpg.13a40c4fe9cbed2dbedf785c4ddcf23f.jpg

 

Managing Text Documents and Notes

 

"Say I have 5 text files open". Whoa hold on there buddy! If you need that many open at once you should be using something better than word/notepad in the first place. I'd strongly recommend Notepad++. Don't let the name fool you though. This isn't just for coders. It's basically Notepad on steroids with complete customization options, themes, plugins and tab support. Very much like a web browser. You will never go back to default notepad ever again.

 

If you take notes all the time then I'd recommend the free Microsoft app OneNote which let's you organize all your documents into sections  and automatically backs them up to your OneDrive account. There is also the open source TiddlyWiki which is a note taking / personal wiki thing that I use all the time. It's actually just an HTML file so you can have it open as a tab directly in your browser next to all your webpages.

 

Identifying and Switching Apps Quickly

 

Solution: Use the alt+tab or win+tab hotkeys.

spacer.png

Edited by Isaiah (see edit history)

Share this post


Link to post

Hi! Long time viewer but fresh on forums!

 

I have given it a bit thought and cocluded that M$ doesnt change the interface because of fear of losing customers - most Windows users are casuals who learned how to computer and internet and will be spooked by new things - this is what happened with Windows 8. So the current Windows 10 is a compromise between new and old for those people who didnt learn new tricks since Win95 to feel at least a bit comfy. As for UI customization I prefer Linux, but not the command line. The command line is for maintenance and stuff. The thing about Linux GUI is that I believe writing it is a pain, thats why many things are done from command line. I recently changed my laptop and tried the flavour called XFCE, but felt like I want a dock. So I installed the one called Plank and by removing a piece of code removed the Windows taskbar-like menus. This broke a few things but Im happy for now. I think if youre looking for OoB solution that is not an option. Linux gives you best chances of adapting the screen to your liking. While M$ is just stuck in a habit of office users who fear computers.

Share this post


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

This was a very difficult video to watch. I feel like all of Ross's problems here are self-inflicted, and mostly due to trying to fit to his model an operating system that really doesn't want to. I should also say this: I'd hate for Ross's standards in GUI design to become the industry's standard. His choices are so alien and unappealing to me that I'd probably stop using GUI entirely if they were to become the norm.

This is part of the reason I plan to make a followup.  I didn't adequately explain that what I have NOW is NOT my vision of what I WANT the GUI to be like.  The only aspects of my current GUI I defend are shortcuts off the desktop, my hotspot launching option, and rapid identification.  I apologize if I made it seem like my current GUI was the way to go.  Now, if you're attacking me on the pie menu system and gestures though, that's fair, I'll take that.  I WAS advocating that I think that could lead to a lot of advancements.

 

8 hours ago, Isaiah said:

You seem to be talking about specific application guis here which is not at all what the video and discussion is about, so it's not really applicable, even though you can edit lots of types of media with the keyboard. You prefer a GUI (me too) and that's totally fine but the reason this whole CLI vs GUI debate happened was because you disputed the usefulness/efficiency of the keyboard. But just because you don't personally like using it doesn't mean it's objectively worse (quite the opposite in many cases actually).

 

However, none of this matters if you don't want to use the keyboard. You keep saying people are welcome to prove you wrong but at the same time you seem quite paranoid of keyboard proponents and seem to view them as irrational zealots who want to take away your mouse. So I'm not sure you are as open-minded as you think you are.  It might be a lot better if you just stated you're only interested in GUI solutions so nobody waste time suggesting things you'll never try.

 

It's not that I won't try it, it's that I'm not seeing the speed increases for non-coders.  If I spend most of my time doing multimedia, that means I'm on the mouse a lot and it's unavoidable.  So that means switching back to the commandline to type is an additional delay in time.  Again, this is partially about EFFICIENCY.

 

I acknowledged in this thread that if you're typing on the keyboard most of the time, the keyboard could be more efficient!  That was a consideration I hadn't made before.  As for irrational zealots who want to take away my mouse, have you seen the Youtube comments?

 

I'm not against using the keyboard, I'm against slowdown.  If I'm working in multimedia and web browsing and many other varied programs, using the mouse for maximum speed is inevitable.  So that swapback needs to be taken into consideration, otherwise my TOTAL speed goes down.  But disregarding that, give me some non-programming scenarios where the CLI is simply faster and I bet I could come up with some GUI concepts that would be about as fast.  There might be a few where there the CLI edge it out, but I'm guessing not a lot.  I think it would have be something extremely specific before a versatile custom-designed GUI would fail. 

Edited by Ross Scott (see edit history)

Share this post


Link to post
Posted (edited)
2 hours ago, Isaiah said:

Dude, if you don't like them then just don't use them. Nobody is forcing you to use them.

 

It is an optional feature after all, and many users actually use and like them. I thought removing user choice was your biggest issue? I guess it's just fine when it's something you personally don't like. Screw the millions of users that like desktop shortcuts. I don't like them so THOUGH SHALL NOT PLACE SHORTCUTS ON THE DESKTOP. 😛

Okay, sorry, I realized I wasn't clear with my wording, I actually wasn't arguing people should be UNABLE to have desktop icons if they want them, what I meant was this was ugly as a default and a poor way of doing things. Of course, if people prefer that, they should still be able to have it.

 

To be super clear, I want people to be able to customize their GUI in ANY way they want.

 

As for "don't use them", yes, that is POSSIBLE, and it's going to be an ongoing battle for pretty much as long as you use a computer AND with no alternative provided.  Every time you install a new program, it's going to dump icons there.  Some installers give you the option not to do that, others don't.  You can never escape desktop icons permanently by default.  Additionally, there's no other alternative given if you want to rapidly access everything that WOULD go to the desktop.  Windows is designed to have desktop shortcuts.  If you NEVER want to see them AND install new software, that's just not an option under normal means.

 

Quote

 

That seems far worse than the default start menu because now you need to have some exposed desktop space to click on to open the menu. I'm sorry but this all seems pointless and counterproductive.

I can click in  what would be the taskbar area also.  I could also configure it to have them come up literally wherever the cursor was, but that would have taken more brainpower to figure out how to do, I was lazier here.

Quote

 

Solution: Just use the start menu with custom folders instead.

 

There are 4 inefficiencies to what you're proposing v. my method:

1. I have to travel down to the bottom left of the screen each time

2. I have to click twice as opposed to once

3. Even when clicking once, I have a higher travel time to the folder in ADDITION to the travel time to the start menu

4. I can't fit as many programs in the same amount of space

 

Maybe some of these can be fixed, I don't know.  For the record: my method could be a lot better, but my options were limited.  I think I might need an additional piece of software for this purpose specifically

 

Quote

Main Shortcuts

Solution: Just pin all your commonly used apps to the start menu.

 

I'm not defending what I have here.  I said in the video I thought this was an example where circle dock would be superior, because it would involve less travel time than the start menu.

Quote

"Say I have 5 text files open". Whoa hold on there buddy! If you need that many open at once you should be using something better than word/notepad in the first place. I'd strongly recommend Notepad++.

I've been meaning to use something better than Notepad and for a while I did, but then I had a power failure and lost all contents of a file I was editing (I thought that shouldn't be possible, since it would be stored in memory and not alter the source unless I was saving), this made me more wary of 3rd party programs, but I should probably give some more a try sometime.  Again, it's something else I haven't gotten around to.  I was hoping people would post themes showing the nicest looking notepad-like colors, fonts, etc. but that hasn't been the direction the commentary was gone exactly.  Hey, you mention themes, what are the nicest ones for Notepad++?

 

Quote

 

 

Solution: Use the alt+tab or win+tab hotkeys.

 

This has minor inefficiencies, since it involves 2 hands for maximum efficiency (if you use keyboard-only you have to hit the tab key repeatedly to swtich to the task you want) and involves a little more travel time.  This was an example too where I had access to better options long before Windows did, I've had a dock system like that off and on for maybe 17 years.

Quote

Queued File Transfer

 

Solution: Windows 10 explorer actually supports queued file transfer but you can also just use whatever you like.

 

 

Well first, I've had this since 2002-ish, so I would have had to wait 13 years for Windows to give me what I wanted.  Second, I admit I could be an idiot here, but could you tell me how to enable it?  It doesn't do that by default.  I just did a test on 10 and tried copying a bunch of files, the second job started immediately, wasn't queued.  I saw the option to PAUSE a transfer, that's it.  I admit, I'm either stupid on this or Windows 10 does not support queued file transfers.

Edited by Ross Scott (see edit history)

Share this post


Link to post
Posted (edited)

My suggested solutions are only to help you migrate to Windows 10 from your current setup today. However I'm probably mistaken about the built-in queued file transfer feature and mixing that up with the ability to pause. But like I said you can just keep using a third-party program and you're already using an explorer replacement with that feature anyway.

 

Edit: It's also worth noting that large and/or complex file transfer operations are usually done using the command-line. And Windows actually has a built-in CLI tool (since Vista) called Robocopy that can apparently queue up transfers and more. So Windows 10 technically does have this feature but it's not the kind you're looking for.

Edited by Isaiah (see edit history)

Share this post


Link to post

Yes Ross this has been brewing in my mind too for so long, too long.

 

I suppose the horrendifiying default gui for windows could be from trying to standardize it to an already existing billion people userbase. It's kind of like the state approved North Korean haircuts.

 

spacer.png

 

They're made for everyone so they fit no one!

 

I'm not saying that's excusable or anything. If they tried something different, human beings have a tendency to adapt, especielly if it's a smoother experience in the long run.

 

The true evil is treating customization like a virus. They could do a lot better with the prepackaged gui. They could do A LOT better with what hoops you have to jump through just to fit things to one's ways and needs.

 

But this is all things you've already said more or less. (more)

 

For anyone who cares or are bored out of their minds here's my personal setup that works for me, personally.

 

I tried some various shell replacements, I wasn't satisfied. So I went with no shell at all! Full screen does what it's supposed to! Perfect! When I log in I see this:

 

spacer.png

 

Now it doesn't quite look like this, in reality I am in 1080p and have a wallpaper instead of a solid color. To use a wallpaper without shell you can set the shell to wallpaperhost.exe

 

But I digress. That is Far manager, it's a Norton Commander clone. Norton Commander is a DOS era gui and what 99% of all explorer file manager alternatives today are based on. I love it, with hotkeys, macros and a command line which doubles as an extremely fast program search, going back to explorer feels like cutting a lawn with a breadstick. It also has mouse and touch support, so...

 

I was very annoyed over how windows 10 is organized. I am the only one using this pc, and there is user folders, public folders, user and public start menu program folders, and user and public desktops. If I wasn't using LTSC (Long Term Servicing Channel, formely Embedded, it's stripped down Windows for ATM machines basically) I would have libraries too on top of that mess!

 

So I relocated all those to just C:\

New desktop icons are put there, new start menu folders and shorcuts are put there aaaand my media folders and system folders. Because that hierarchy is what makes sense to me. Am I crazy?

 

Now one part that's not perfect but OK I GUESS is minimizing:

 

WDpJc8L.png


This just what happens when you minimize without a shell. It's literally a leftover from, buckle up, Windows 1. I didn't leave out a zero there. In 1 through 3, the compressed titlebars used to be disguised as icons but that part of the code has since been deprecated.

 

Unlike Ross, I love keyboard shortcuts and I rather keep my hands on the keyboard as much as possible and only use the mouse when I have to. My hand is clumsy, my fingers are dancy. It's not for everyone, but my is it fast and fluid for me this way.

 

I have preferred alt-tabbing over the taskbar for years upon years! It has gotten to the point, having many windows open, I can hold alt-tab and let to go when I intend to. Just from getting a feel for how fast the selection moves. To me this is tons faster than moving my clumsy hand to get the cursor to the right taskbar (or dock) item.

 

The tray: No.

I abhor the tray. It's a small taskbar for stuff that's runs in the background you either rarely interact with or interact with so often it's a nuisence to open the tray everytime you want to open your program. I already made sure nothing ever minimizes to the tray so I don't miss it. There's a caviat here. I don't have battery or network icons.

 

Right now I have solved the former by (drum roll) not solving it at all. I realized I plug in the charger when my screen dims or isn't at full brightness, not when the battery tray icon changes. When do I ever use the battery icon? All I really care about is if I have to charge or not. Percentage has never been an issue for me. On my phone, that's an entirely different situation. But my laptop is most likely somewhere where an outlet is.

 

The latter I ctrl alt del and switch networks from there, it is admittedly not ideal but maybe I'll figure something out. Or as Ross put it, surrender to chaos.

 

But the center piece truly is Far, the Norton Commander clone. It's my start menu, it's my file manager, it's my desktop, my command line, my run and my search.

 

I think I'm wise to follow the advice from men I trust.

 

 

Share this post


Link to post
3 hours ago, Ross Scott said:

This is part of the reason I plan to make a followup.  I didn't adequately explain that what I have NOW is NOT my vision of what I WANT the GUI to be like.  The only aspects of my current GUI I defend are shortcuts off the desktop, my hotspot launching option, and rapid identification.  I apologize if I made it seem like my current GUI was the way to go.  Now, if you're attacking me on the pie menu system and gestures though, that's fair, I'll take that.  I WAS advocating that I think that could lead to a lot of advancements.

I apologize for the strong wording, didn't intend to exactly attack your preferences. Regardless, I have a hard time imagining how the pie system or the gesture system would be more efficient compared to keyboard shortcuts. I just get the impression that you have not really unlocked the power of shortcuts, and that is because despite what you might think, Windows just does not have the capability to utilize them properly, even with added on tools. In a Window Manager environment, a single keypress can bring up your entire video production setup, load all the appropriate modules/settings and even interface and modify all your hardware to your exact needs. None of this is exaggeration btw.

 

Anyways, if you haven't already, take a look at heavy rain's vision of a VR desktop. In general I think your gesture-driven design would work the best there:

 

https://www.youtube.com/watch?v=SsQT3mbvVWY

Share this post


Link to post
2 hours ago, Ross Scott said:

Every time you install a new program, it's going to dump icons there.  Some installers give you the option not to do that, others don't.  You can never escape desktop icons permanently by default.  Additionally, there's no other alternative given if you want to rapidly access everything that WOULD go to the desktop.  Windows is designed to have desktop shortcuts.  If you NEVER want to see them AND install new software, that's just not an option under normal means.

The start menu is the alternative and was meant to basically replace the desktop starting in windows 8 with the ability to pin icons to it. Also, most all the programs I install make desktop shortcuts completely optional so it's never been an issue. I would suspect your issues are coming from installing tons of old shady programs. Speaking of which, you should really install all those in something like COMODO sandbox instead. This will not only protect your system from harm but also automatically prevent any icons from being created on your real desktop.

Share this post


Link to post

I feel like i should clarify some stuff here about Linux. It might even be useful for the follow up.

 

Unlike Windows, Linux is not at its core, a desktop environment. It's only an operating system. People don't realize this, because they confuse Linux with the distribution they use (Ubuntu, Fedora, Manjaro, so on and so forth). Linux at its core, is only two files: the linux kernel and the linux headers. Now you can absolutely use only these two "packages" to interface with machines, but realistically, you will have to add on additional modules to gain the functionality you need. For example. you are going to need to install network-management packages to be able to access the internet. This monolithic-kernel philosophy means that the user has choices in every single aspect of the operating system. You can literally decide on the way the core functionality of the system works. So when you say that Linux desktops have the same bad GUI design philosophy as Windows, well that's just because you are using the default packages shipped by distributors. If you don't like them, you can just rip them out entirely and replace them with whatever alternative you'd like - and nothing will break. There are hundreds if not thousands of different packages that you could mix and match to achieve your desired GUI. And if all else fails, you could always get someone to code it for you from scratch.

Just wanted to  clarify this because I read a lot of ignorance about Linux in this thread. Also the video sadly does not feature the Linux situation in the correct light. I firmly believe that your desired GUI can be easily achieved in GNU/Linux. I'd even imagine that there are already several projects that do all that you want, it's just a matter of finding them on places like Github and linux package repositories.

Share this post


Link to post

One semi-personal point I think may be of interest: I find the traditional "Desktop Metaphor" GUI works best for me, switching to command prompt when necessary, but one thing that stuns me is how few people ever actually attempt to use one like a real, physical desktop, which was the whole point of the thing in the first place.  Much like my actual desk, I regard the "desktop" folder on my system as the space to put what I'm dealing with right now - work in progress (and stuff to be processed ASAP, which on a real desk might go in an "in" tray) sits on the desktop, and whenever possible I try to have the desktop totally cleared and tidied away by the end of the day or when I shut down.

Once you get back to the fundamental inspiration for designing the "Desktop" GUI in the first place, I feel a lot of design decisions for the default installed configuration, most likely to feel "natural" to the maximum number of people, immediately become pretty obvious; for example, permanent launcher icons for programs have no place on such a desktop - you wouldn't drill a hole right in the middle of your actual desk and install a button there - but temporary folders you're working on today, and mounted volumes of USB sticks and removable drives, do.  Desk tidys like "my computer" are more of a matter of taste; some people have sitting neatly on their desk, others prefer to keep everything in a drawer.

Share this post


Link to post
Posted (edited)

So I started looking for the pie / radial menu Ross was describing in the vid and the closest I've come is Radial Menu by Jacob Iedema, anyone found anything better - that opens up on the mouse pointer?

Should also mention that I wanted a way to hide the start menu without changing the shell (as that breaks a lot of things such as the Metro Settings app etc) and came across a thing called "NirCmd" - running a batch file on startup with the command "nircmd.exe win trans class Shell_TrayWnd 256" allows me to hide the taskbar whilst keeping full functionality (set the taskbar to autohide beforehand if you don't want maximised windows to act like it's still there). The same command with 255 will reveal it again.

Edited by JWGinge (see edit history)

Share this post


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

In a Window Manager environment, a single keypress can bring up your entire video production setup, load all the appropriate modules/settings and even interface and modify all your hardware to your exact needs. None of this is exaggeration btw.

 

See this is where we have to look at the larger picture for the user.  Anything that can be launched with a keypress can also be launched with a shortcut or a mouse gesture.  You just have to set up the script for what you want ahead of time, that's true in both cases.  So in my eyes, if they're on equal footing, you have to look at how often you need that key, how easy is it to hit, how close is it to others that you use, etc.  Plus you mention launching a video setup, well that's just your foot in the door.  Once it's LAUNCHED, then I probably need to be navigating it via mouse for maximum speed.  So my hand is heading back to the mouse, unless this is a one-handed hotkey launch.  I mentioned in the video I saw potential with custom keypads with ergonomic though behind them.

 

Really, I'd say that's not incompatible with anything I was saying in the video.  It's once you start needing TWO hands on the keyboard to make the most of hotkeys that I think average users (or anyone who needs the mouse for maximum efficiency / convenience for software they regularly use) start losing a lot in terms of overall efficiency.

 

57 minutes ago, JWGinge said:

So I started looking for the pie / radial menu Ross was describing in the vid and the closest I've come is Radial Menu by Jacob Iedema, anyone found anything better - that opens up on the mouse pointer?

 

Someone linked me to this, I haven't had a chance to test it, could be super powerful if it's using AHK:

 

https://www.autohotkey.com/boards/viewtopic.php?t=12078

Edited by Ross Scott (see edit history)

Share this post


Link to post

Honestly, @Ross Scott, you might be better off either settling for the Notepad++ and AHK radial menu suggestions. I'm not seeing much out there to tickle your fancy unless you were willing to do some distro hopping in Linux land. Even then, without some configuration, I'm not seeing much that differs from your standard Ubuntu/Mac/Windows experience.

 

Best of luck on your GUI adventure!

Share this post


Link to post

I initially posted this as a comment on YT, but thought it'd get better reception here.

 

I personally think one of the pinnacles of modern GUI design, is the ability to use the Alt key to trigger any form element (buttons, checkboxes, radio options, focus textboxes/dropdowns, etc). That way, you can use a mouse, and see everything graphically, which is better when you're opening a menu/form for the first time, but you can also learn keybinds for faster navigation. As you repeat certain tasks more and more frequently, it should be expected that you learn keybinds for them. Alt-keys are possibly better in my opinion than Ctrl keys, since they're always visible in the GUI (the little underline). There's no need to read any documentation, or pull up a settings/binds menu to learn them. Alt is also fairly unused, so reserving it for GUI navigation within each program is entirely feasible.

 

That said, I generally disagree with the idea of Win32-style forms in general. Win32 forms are great, neatly organised, and very powerful when the Alt key is used, but I feel we could do better again. I personally have been using a tiling window manager for 3 years now under Linux (i3, to be specific), and am very happy with my current setup. So happy in fact, I could use it for 20 more years, before tiring of it functionally, and aesthetically. I wanted to talk about this after the Alt key, because tiling WMs seem somewhat controversial. I'll list the drawbacks first, since I believe there are less of them; 1) most tiling WM environments are very keyboard heavy. You might argue this is a problem with travel from the mouse, but you'll usually find yourself using the keyboard to navigate within programs themselves. So, the travel time becomes from the keyboard to the mouse, rather than the mouse to the keyboard. The only real issue with a keyboard-centric UI, is that it basically depends on two hands. I won't discuss disabilities, since there are many that can radically alter computer use in general, but requiring two hands makes things like eating, or laying back from a desk difficult. On a laptop, it's generally better. Two hands on the palmrest keeps the laptop steady in your lap, versus only having a finger on the trackpad. It also helps with precision on laptops, since keys for the keybinds are very easy to locate by feel, versus delicately moving a finger on a trackpad/trackpoint. 2) The other issue with tiling WMs, is that learning keybinds is basically a requirement. It's not too steep of a curve, but the fact that it's a requirement will be an issue for a lot of people.

 

As for the benefits, most of what Ross talked about in his video is covered already by tiling WMs.

 

>The GUI should look nice enough that you never get sick of it
Agreed. A major advantage of WM environments, compared to desktop environments, is that your desktop is comprised of lots of small, easy to understand components, similiar in some ways to LiteStep. Making aesthetic changes is usually trivial, which is good, since each user has the power to shape the aesthetics to their individual, and subjective taste.
>There's no perfect GUI for everyone however.
Agreed, but some are significantly better than others. IMO, tiling WMs are possibly the cloesest we have to perfection, followed by Alt-keyed Win32-style forms.
>There are lots of things that are ideal for the majority of users
Agreed. This one is difficult in the context of tiling WMs, since default configs are usually barebones. That being said, it's easy to grab somebody's elses config from GitHub to use as a base for your own. There's also plenty of communities and websites where people post their configs along with screenshots. Finding a base default to work from shouldn't be hard.
>The GUI should get out of the way when you don't need it
Absolutely. This is where keyboard-centric interfaces thrive, since you don't need a single pixel of screen real-estate for clickable UI elements.
>The GUI should be as efficient as possible if you know what you're doing
Again, a strength of keyboard-centric interfaces. The issue here is for when you *don't* know what you're doing. In this case, you'd need to fall back to graphical elements. WMs like Awesome and Qtile are good in this regard, as they allow graphical menus, buttons, etc to be incorporated alongside the keyboard interface. The Alt-key solution also works here, by having everything graphical, but allowing a keyboard to be used for greater speed and precision. Once solution I've seen people use on tiling WMs specifically, is to write a personal list of keybinds, bind it to a help key, and have it open as a PDF or text file for quick reference during initial learning. Not ideal, but just another solution.
>The GUI should activate when you want it, and NOT when you don't
>It shouldn't be easy to do something you don't want to by accident
Tiling WMs largely solve this problem. i3 in particular, has a concept of the "mod" key. The mod key can be anything, but most people map it to the super (Windows) key. Since no other program uses the Super key, it's free for use as a modifier, to begin any "system-related" shortcut. Since triggering system shortcuts requires the mod key to be held, doing so accidently is rather difficult.
>If you're not typing, switching between the mouse and keyboard should be kept to a minimum.
Agreed, however, as I said above, using a keyboard-centric WM, generally means you also start using keybinds to drive individual programs. Travel time becomes from keyboard to mouse, rather than mouse to keyboard.
>You need multiple mouse buttons for maximum efficiency
Perhaps, if you wanted mouse gestures. The middle click button is still woefully under-used, so if you really prefered a mouse over a keyboard, I'd start by adding functions to middle-click, before adding buttons.
>Having text against a low contrast background is a terrible idea, same goes for solid white spaces mixed with really dark colors
Agreed, although this is just an aesthetic choice, particular to most of the premade themes available. Tiling WMs are very easy to customise aesthetically, so you can pick out whatever palette you like.

 

Well, that was a wall of text. Hopefully Ross gets a chance to read it :)

Share this post


Link to post
Posted (edited)

Okay I hope I don't write a wall of text here but I usually write more than I should so sorry if that happens.

 

First, thanks for the video, it was an enjoyable watch (as most of your videos) and as someone who cares about UI look and ergonomics I'm glad you helped visualize the issues in the current state of things.

 

A lot of good points have been made in this thread, I didn't expect so many Linux users here in this forum but I was greatly surprised, I even saw someone mention Haiku which I think has great UI (and not UI) ideas.

Thus I decided to make a different point to what I intended in the first place, this will be a rant more about choices rather than actual UI design.

 

First, to add some context, I'm a long time (10 years or so) Linux user, however, I'm by no mean a Linux zealot, I never stopped using Windows (mainly because gaming) but secondly because I actually enjoy the Windows UI, it works well and stays consistent, I always more or less know what's going to happen. Linux on the other hand (and when I say Linux I'm generalizing of course because it's a huge environment of UIs) is usually much more buggy and inconsistent all over the place (ever used KDE with GTK apps for example?), and things break much more often.


I should also clarify that I'm not a huge terminal fan, I do use it because I'm a developer and we have to run a lot of commands during the day of course, but I'd say that I use the mouse a lot more than the average Linux power-user, I do not use tiling wms such as i3 or awesome or terminal apps when I have a GUI counterpart.

 

Now, to the point, I believe you make a lot of good points in the video, and I do believe the "perfect" UI is going to come from the Linux desktop (there's no such thing as perfect, but you understand), however, for that, we need a lot more developers and users, so we get more accurate bug reports, QA, etc. right now most of the problems dealing with the Linux desktop come from these little annoyances that would not be there if we had more users to report them and more professional designers and testers in the development team; the problem is that this is not going to come until more people start to use Linux and help visualize these problems.

 

Therefore, I completely understand that you might not want to use Linux as your daily driver because you mostly deal with gaming and video editing, and that makes perfect sense, however you must understand that Microsoft does not care about what you or other power users think because put simply the percentage of people who are willing to make a 1h video about the topic and completely change the Windows shell is near 0; the percentage of Windows users who complain visibly about anything at all is bigger but still insignificant to Microsoft's business plan.

 

Even more, they will probably try and close up even more the Windows ecosystem by not allowing shell replacements or such, they do not want more complexity added to the codebase than what they already have, and they want to avoid potential security issues or minor annoyances that can occur from giving the user more control, because 98% of Windows users (made up percentage of course) don't care about customization or ergonomics, because they type at 20WPM anyways.

 

Linux is a completely different deal, when GNOME decided to move from GNOME2 to GNOME3, Mate was created so that users could stay with the same workflow, there are also KDE3 forks, XFCE is pretty much the same from 12 years ago, etc. Besides, whatever you want, you can customize, but you and the rest of the forum already know this so I won't keep trying to make a point here.

 

However what we really need are more users like you which have a critic eye to question what's wrong and provide alternatives, but which also have the popularity to change people's minds and show Windows users that Linux isn't so bad and they should try it out, if you really care about issues like this, you gain nothing by consuming Microsoft products and perpetuating their OS monopoly, the point for better UIs can be made, but in a platform where you really have choice and a voice to be heard.

 

More users on the Linux desktop would mean more money to polish things up, to hire driver developers, would mean more incentives for game and software companies to develop with Linux as a target, etc. As I said before, I'm a Windows user as well, I'm not some kind of Linux anarchist even if in the last paragraph I might've sounded like one, but I really wish I didn't have to use Windows.

 

Thanks for reading if anyone made it this far.

 

 

 

 

 

 

 

Edited by dysoco (see edit history)

Share this post


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

I've been meaning to use something better than Notepad and for a while I did, but then I had a power failure and lost all contents of a file I was editing, this made me more wary of 3rd party programs

But default apps are not immune to data loss either so I don't understand the reasoning here. OneNote is the only Microsoft app I know of that will auto backup your files. Microsoft Office probably does too and I'm sure you know about the Open Office Writer recovery feature.

 

Notepad++ actually has an automatic save/restore feature for new unsaved documents open in the program. Which means the chances of losing unsaved data are much lower than default notepad. It also means you can take quick temporary notes and not have to save them to file when closing the program.  Every tab (saved and unsaved) will automatically be restored when you open it again. I love this feature and use it all the time.

 

18 hours ago, Ross Scott said:

 

 

I was hoping people would post themes showing the nicest looking notepad-like colors, fonts, etc. but that hasn't been the direction the commentary was gone exactly.  Hey, you mention themes, what are the nicest ones for Notepad++?

 

The problem is that the "nicest" themes are entirely subjective and I know from your video that what you think is nice I think is ugly 😛 so impossible to say. But here are just a few default themes:

 

Edit: I just realized that by "theme" you may have thought I was also talking about the toolbar and overall look. These themes or styles are just for the text area, but you do have 3 options for toolbar icons in preferences.  There may also be a plugin out there that let you do more. It's all open source so anything is possible.

Spoiler


nppp_theme01.png.18ad84c5211835a6ca323ab05d70ce84.png

 

nppp_theme02.png.c62c11e49e19146e232b381797a9b41b.png

 

They're all optimized for code editing so lots of dark themes and compact fonts because that's what coders like. But you seem to prefer medium tone themes so here are a few lighter ones that might work for you.

 

nppp_theme03.png.bd3d7a7f61b35a285685c657e0df540a.png

 

nppp_theme04.png.933fdb36a75d84c05ea9ef8383ad5b2e.png

 

However, all these themes are just XML files so you can create, customize and tweak them all to your heart's desire. Here's one I just set a custom font and background color for and changed the toolbar icons too.

 

nppp_theme_custom.png.70b393946a8834fc915b83f5bf97a6c1.png

 

Since it's optimized for code editing it's also supper useful for editing any kind of script since you can create or get many custom code highlighting plugins. For example here's one for Source engine DF languages:

 

spacer.png


 

 

Edited by Isaiah (see edit history)

Share this post


Link to post
Posted (edited)

Another interesting concept that has been floated before is a Zoomable User Interface (ZUI) and the best / most complete one I've seen is called Eagle Mode. Probably more of a concept piece than anything, but having used it a fair bit, I appreciate the concept a lot and thought it might sit as another idea to consider. Feels a bit exhausting in some regards, but does very well in terms of completely turning the idea of a GUI on its head. Another important note is that this one isn't meant as a replacement, it currently exists as an application that still runs atop an existing GUI. Haven't tried their Windows variant as I live on Linux.

YouTube Demo: https://www.youtube.com/watch?v=G6yPQKt3mBA

 

Source for Project: http://eaglemode.sourceforge.net/index.html
 

Screenshots:

spacer.pngspacer.png

Edited by Fanoto
Adding screenshots. (see edit history)

Share this post


Link to post
Posted (edited)

Linux user here, thought I'd give my 2 cents.

 

Regarding the command line: the seeming reliance on it in Linux is a necessary consequence of the freedom to customize.

 

Someone on a tech support Q&A site asks: "how do I do X", or "I'm trying to do Y but I get this error", or "Z is broken, how do I fix?" Now, there might be perfectly good answers to these questions that involve using the GUI, answers that sound like "click this menu, then go here, check those boxes, click apply". But the problem is that this will only help the users with that particular GUI -- if the answer assumes GNOME and someone else uses KDE, that second person is shit out of luck if they're Googling for the same problem. Or maybe it worked in an older version of their GUI but not in a newer one. The lack of standardization means that GUI-based documentation can only reach a limited audience. So, it's best to just give a command line solution, since chances are that will work across distributions, and command line options change more slowly over time than GUIs, so people searching for the problem in 10 years time will probably still be okay.

 

It's kind of like how in pre-modern times, every little province had its own unique dialect, so literate people would write in Latin for religious and diplomatic purposes (and traders would use the lingua franca). The command line is the Latin of Linux.

 

On the other hand in Windows, almost everyone is on the same interface, changes to the interface tend to only coincide with major releases, and even then there's a lot of continuity. So GUI-based answers are more robust and universal.

 

But this leads to the regrettable situation where a new Linux user wants to accomplish something, and they're told to enter an incomprehensible sequence of incantations into a scary black terminal window. Who knows what that might do? What if they make a typo? How do they undo it? This all unnerved me when I started using Linux.

 

As for whether it's faster or slower to do things on the command line, I actually think Ross has a point here, and that's coming from someone who likes the command line. What I mean is, for most of the things I can think of that the command line makes easy, it's also easy to think of a GUI that could do the same thing. However, such a GUI may not always actually exist, or it might exist but not let you customize it very well, or it might exist but just suck. Sure maybe it's quick to type out

mkdir new_dir && cp **/*.txt new_dir

to copy all text files in a nested folder hierarchy into a new directory, but I'm pretty sure something like everything can do that and it's almost as fast. Plus you need to factor in the time you spent reading manual pages to figure out all the command line options, the time you spent forgetting them and looking them up again, the time spent forgetting which command to even use, the time you spend dealing with cryptic error messages, etc. Command line programs just have poor discoverability. I've gone through all that pain already and I don't mind reading man pages, so I'll reach for the terminal more often than GUIs. But usually it's not more than a marginal gain in efficiency.

 

The cases where the command line is flatly superior tend to be arcane things used by programmers. There are many GUI frontends for git, and they all suffer from some combination of not exposing enough features (annoying), and obscuring what exactly is being done to the repository (dangerous). But perhaps that's more about git's poor/leaky abstractions, rather than a failure of GUIs.

 

I think the whole argument misses the point because the real power of command line programs come when you don't type them into the terminal in the first place. Instead, you chain them together in scripts and bind them to hotkeys or trigger them from other programs. This is where the UNIX philosophy really shines, and as a small example I'll give you how I customized my screenshot-taking workflow to work exactly the way I want.

 

Here is how I wanted it to work:

 

- I press the PrintScreen button, and it changes my mouse cursor so I can select a rectangular region of the screen.

- It should then immediately take an uncompressed PNG screenshot of that region and save it with this exact filename and timestamp format:

 

~/Pictures/screenshots/screenshot_2020-06-03_16-26-28Z.png

- I should then get a prompt that asks me what I want to do out of the four most common things I want to happen after taking a screenshot. Do I want to 1) copy the image to the clipboard, 2) upload the image to Imgur and copy the URL to the clipboard, 3) open the image in the default image-viewing program, or 4) open the screenshots folder. I should be able to use that prompt with the keyboard only.

- If I chose 1 or 2, I should get a non-intrusive notification telling me that it was copied to the clipboard successfully. Furthermore, if I chose Imgur, it should save the filename, the image URL, and the deletion URL into a text file called imgur_links.txt. That way I can keep track of all the screenshots I've uploaded, and delete them later if need be.

 

I couldn't find a pre-existing GUI screenshot program that let me do all of these exact things, and trust me, I tried plenty. Maybe one exists, but if it does, it is probably a very big and bloated program, because such a thing would have to be sufficiently general that it wouldn't just support my hyper-specific use-case, but the superset of hyper-specific use cases of many more people. That means a bigger program, bigger memory footprint, and bugs are more likely and harder to fix.

 

However, making all of the above work was a simple matter of shell scripting. This is what I have bound to run when I press the PrintScreen button:

 

#! /bin/bash

rightnow=$(date --utc +%FT%TZ | sed -e "s/:/-/g" -e "s/T/_/g")
filename="$HOME/Pictures/screenshots/screenshot_$rightnow.png"

sel=$(slop -f "%i -g %g")
shotgun -i $sel $filename

choice=$(echo -e "[1] Copy image to clipboard
[2] Upload to Imgur
[3] Open saved image
[4] Open screenshots directory" | rofi -width 20 -dmenu -l 4 -p "Choose what to do with the image")

case ${choice:1:1} in
    "1")
        xclip -sel clip -t image/png $filename
        notify-send "Screenshot copied to clipboard" ;;
    "2")
        urls=$(imgur $filename)
        image_link="${urls% *}"
        deletion_link="${urls#* }"
        echo $filename $image_link $deletion_link >> $HOME/Pictures/screenshots/imgur_links.txt
        echo $image_link | xclip -selection clipboard
        notify-send "$image_link copied to clipboard" ;;
    "3")
        xdg-open $filename ;;
    "4")
        xdg-open ${filename%/*} ;;
esac

 

The reason this works is because there exist simple, small programs that do each little part individually, and are designed to work well together. Let's go through the most important ones:

 

"slop" is a simple program for selecting rectangular regions. Literally all it does, is let you drag with the mouse to make a rectangle, or click on a window, and it will output the coordinates and size of that rectangle as text to the standard output.

"shotgun" is a simple program for taking screenshots. You give it a rectangular region, and it takes the screenshot and saves it to a file. That's it.

"rofi" is a program that lets you make DIY menus. Here's what it looks like in this case:

 

7t5An4a.png

 

You give it a list of newline-separated options as text, and it displays those options for you, and allows you to choose between them using the keyboard, by either typing what you want or using the arrow-keys. It narrows down the possible selections as you type, and when you press enter on one, it outputs that text and closes. Rofi can actually do a bit more than that, but that feature ("dmenu-mode") is what I use it for. It's called that because it replicates the functionality of an even simpler program called "dmenu", but it's harder to customize how dmenu it looks so I went with the slightly more featureful rofi.

"xclip" comes with most Linux distributions, it lets you interact with the clipboard programmatically: copy stuff to it, and paste stuff from it.

"notify-send" takes some text and displays it as a desktop notification.

"imgur" on my system is the name of a script I took from the Imgur website and modified slightly. It takes an image file and uploads it to the site, and outputs just the image link and the deletion link.

 

Each of these little programs all follow the UNIX philosophy:

 

Quote

Write programs that do one thing and do it well.

Write programs to work together.

Write programs to handle text streams, because that is a universal interface.

 

They all do a single simple, even trivial thing. They all communicate with each other via text, passed through pipelines. And they all are meant to work in harmony with each other and with other tools.

 

For example, you can pair slop with a screen video recording tool like ffmpeg so that you only record a small portion of a screen. Or you could use it to select a region and send that to another program that applies some kind of effect -- perhaps enhance the contrast, or blur it out so that sensitive info is hidden in a screenshot. Notify-send lets me set custom reminders, tells me when my downloads have finished, or what new things are in my RSS feed. Rofi/dmenu in particular are very useful because they abstract the entire notion of "selecting from a list", which is extremely common. I use them to choose between screenlock/logout/shutdown/restart, or choose I file I want to open from a search, or what I want to run from a list of installed programs, or what window I want to switch to, or what commit I want to check out in a git repository ... really the possibilities are endless.

 

When you have small programs that communicate via text, rather than a graphical interface, you can very easily duct-tape together all kinds of unique and specialized Rube-Goldberg behaviours using shell scripts (or any language really). The resulting scripts tend to be pretty small, small enough that you can understand the whole thing at once and can write them quickly. You don't need to be a good programmer to write them -- I'm a pretty bad programmer -- and even if you can't code at all, you can steal other people's from places like /r/unixporn. You can then trigger these things however you want -- with keyboard shortcuts, or at startup, or on a schedule, or when the operating system detects some event, or from a GUI front-end.

 

The smallness and simplicity makes it easier for developers to write correct, performant programs. They don't have to think about complicated interfaces, they just need to get the main functionality right and get information in and out via standard input and output streams. For example with something like ripgrep, the creator can't be spending his time on graphics, because he's absolutely hellbent on making it the fastest and most efficient search program in the world. But if someone else wants to make a graphic frontend for it, that can be done.

 

There's the asymmetry: commandline programs can have GUIs attached afterwards, but GUI-only programs can't get commandline input/output (except perhaps with great difficulty).

 

This is the real reason why Linux people like the command line: it's a common language for automating workflows. In that sense it's similar to Autohotkey, but the difference is that you're not bound to a specific GUI environment, and there's also a radically different way of treating information flow between programs (pipes and standard streams).

 

This isn't to say that Autohotkey isn't powerful -- it is extremely powerful, and can in fact do that entire screenshot workflow I outlined. Many people complain that there's nothing quite like it on Linux, again because of the fragmentation of the graphical ecosystem. Autohotkey is GUI oriented, and has an easier time gaining access to the internal state of running programs, but it can also be fragile, since the programs it's controlling aren't always designed to be used in this way.

 

(I didn't realise this until today but there's an entire tiling window manager written in AHK, that is amazing!)

 

There's something else that also gets conflated with "command line", and that's TUIs: terminal user interfaces. These are kind of a hybrid between GUI and pure command line tools: they run in the terminal and are keyboard-oriented, but they look like simple text-based GUIs. An example is something like the ranger file browser. These are cool because they tend to be pretty extensible and customizable. Ranger is actually cross-platform so runs on Windows, you might want to check it out. Anyway when people say "the terminal is faster" they are often including TUI programs in that, rather than just raw command line type-and-press-enter workflow.

 

As for text editors: I'll echo the recommendation for Notepad++. I use it all the time when I'm on Windows. The killer features to me are the tabs and change persistence. You can just press ctrl-N to open a new tab, start typing notes, and you don't have to bother saving or even coming up with a filename. It just autosaves your changes to somewhere (I think in AppData?) and you can close the program without worrying -- it'll all be back when you open it again. I use it at work to take notes .. I have unsaved tabs in there going back to last September lol. It's a real shame there's no Linux version, though there is a "notepadqq" clone that's okay.

 

I tried looking for programs that do mouse gestures on Linux. Surely there's a good one, I thought. Well, the best I could find is easystroke, but that looks to be abandoned years ago and there are a lot of unfixed bugs. That really sucks. Maybe I'll write one ... how hard can it be?

 

Oh and it's good to see another "row-homeless" typist. I never understood the way we're "supposed" to type, with fingers always coming to rest on the home row ... whenever I tried it that way it just felt awkward and alien. When I'm not actively typing I just keep my two index fingers on the little bumps on the F and J keys to orient myself, and the rest of the fingers can chill out wherever.

Edited by xxendi (see edit history)

Share this post


Link to post
Posted (edited)

It took me a few sittings to get through this video.  It was worth it, thanks Ross.

 

Why have GUI themes gone backwards?  (& high emotions against non-conforming UIs)

 

In short:

 

(1) GUI frameworks (win32, qt*, gtk*, etc) have become much more difficult to theme for.  Constantly changing targets, horridly complicated codebases, etc.  When you make a theme it's a pain to start and it doesn't stably last.  This is an important reason why many of the theme sites (for both Win & Linux) have not had much added to them since the late 2000's.

 

(2) Audiences now automatically react negatively to any sort of UI experimentation.  People are getting constantly burned by bad UI changes that they can't opt out of (eg Google & Microsoft products) so now they hate all UI changes regardless of who they are from.  Any sort of difference or change is "OMG THIS IS HORRIBLE I CAN'T COPE" as if we now have an uncanny valley of UI appearance.  This is getting really psychologically entrenched, I can't emphasise enough how much of an issue this is.

 

 

I recently came across someone who creates crazy UIs as part of the experience of her games & programs:

 

spacer.png

 

Unfortunately they were getting pushback from people, which I think is a bit sad to do to those who experiment, suggesting that they somehow hurt society by daring to publish their fun little programs.  My response to the page I just linked goes into some more detail:

 

Quote

UIs are an interesting area.

 

Every time I’ve attempted to use something like GTK or QT I’ve balked at the complexity. I’ve always wondered why it is so and considered whether or not I should try writing my own.

 

The “internet opinion consensus” is that I shouldn’t. In this era of twitter I’m beginning to think the internet opinion consensus is more of a self-fueled illusion than I thought.

 

Nathalie: do what you want and enjoy yourself. No-one is forced to use it and no group is made worse off by you releasing it (unless you’re a big company like Google, at which point people are forced to tolerate anyway :P).

 

Some approximate psychological insight gathering into why people might have knee-jerk reactions against custom UIs:

 

(1) A lot of 2000’s era software (like Antivirus) used custom UIs and people hated them. I think a combination of “this program needs to be utilitarian”, “this UI is getting in my way” and “this UI looks like the product of a marketing department, not an artist” were at play here. This is still strong in many people’s memories.

 

(2) Users are conditioned to only see a few UI styles. Anything else tends to end up sitting in an uncanny valley of bad or old. This often comes up in Linux-related forums where users complain that some applications look different to others and how it is “jarring”. I used to be in this boat too, coming from Windows many years back with its better UI consistency, but I discovered over time that the perception of the problem is worse than the actual problem. Humans are more adaptive than what they think, they’re just not used to exercising it with computer UIs.

 

(3) Turbulent toolkits and their histories. People don’t like to think about UIs, toolkits or systems because they bring bad memories. Opinions of GTK3 devs and the great divide made since GTK2, complexity and corner-cases of win32, the intrusiveness of build systems like those that Qt require, java complexity in general, etc. People have forgotten that UIs can be fun because their memories are so tied up in the big projects and their problems.

 

Unfortunately this all leads to people feeling strong emotions and acting before they think. Over something like UIs that, on the outside, seem like a mundane topic.

 

Expect more high emotions from UI discussions

 

If there is something people hate more than UI problems, its when their UIs get changed from underneath them.  This makes people feel vile right to their core, especially if they feel any sort of ownership or comfort with their computer.

 

Ross: even the slightest discussion of UIs will bring up an extreme fear in people that you are somehow affiliated with those that do this :)  Don't let this misunderstanding end your world.

 

Commandline vs GUI

 

I use both extensively.  One is not universally better than the other, but you are on the right path by saying that one points out faults in the other. 

 

Comparisons and competition are good things, if there was only one (eg only CMDline or only GUI) then we would be much much worse off.  Just as we need more GUI variants and experimentation to help show people how bad the stuff we already have is.

 

Case in point: Windows powershell.  The fact it can do things that you can't do in the UI anymore (eg remove Windows 10 pre-installed crap) shows the UI had failed, not that powershell is any good. 

Edited by Veyrdite (see edit history)

Share this post


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

But default apps are not immune to data loss either so I don't understand the reasoning here.

 

My understanding (which was apparently incorrect) was if I'm editing a text file, that's only in system memory.  The copy on the disk is still safe.  If a power failure occurs, unless it was in the middle of saving and writing to the file, the original copy on the disk is still safe, all I'll lose are any edits I've made in memory since my save.  Instead, the ENTIRE file was written blank.  Don't worry, I'll probably move to Notepad++ at some point.  And of course theme look is subjective, I was hoping to see a variety which might give me ideas of what I'm looking for.  It is true, I think yours don't have enough contrast between the background and the text and some of which look poor against a bright windows frame, but I appreciate the input.

 

5 hours ago, Fanoto said:

Another interesting concept that has been floated before is a Zoomable User Interface (ZUI) and the best / most complete one I've seen is called Eagle Mode.

This is a thought I had after making the video I think has a lot of potential and may or may not happen.  I was envisioning something different from Eagle Mode though, I think that goes TOO far with zooming and kind of reminds me more of microfiche, which can get confusing.  I appreciate the outside-the-box thinking though. I plan to talk about zooming in the follow-up later on.

 

1 hour ago, Veyrdite said:

 

Why have GUI themes gone backwards?  (& high emotions against non-conforming UIs)

 

Yeah, I'm up against decades of conditioning, it might be a fool's errand. But I'm looking for that gap between the cracks to make things better.  I'm actually more optimistic now than before I made the video.

 

2 hours ago, xxendi said:

It's kind of like how in pre-modern times, every little province had its own unique dialect, so literate people would write in Latin for religious and diplomatic purposes (and traders would use the lingua franca). The command line is the Latin of Linux.

 

That's a great analogy.  I'd argue it's more than just the lack of standardization, it's kind of the Windows 8 Metro problem as well:  The GUI simply can't accomplish all the functions expected of the OS, so of course it commonly gets dismissed.  If it was the case where there was no GUI standardization, but every desktop manager did almost EVERY function a typical user could need, I think that would be far less of a problem.

 

2 hours ago, xxendi said:

Sure maybe it's quick to type out

mkdir new_dir && cp **/*.txt new_dir

to copy all text files in a nested folder hierarchy into a new directory, but I'm pretty sure something like everything can do that and it's almost as fast. Plus you need to factor in the time you spent reading manual pages to figure out all the command line options, the time you spent forgetting them and looking them up again, the time spent forgetting which command to even use, the time you spend dealing with cryptic error messages, etc. Command line programs just have poor discoverability. I've gone through all that pain already and I don't mind reading man pages, so I'll reach for the terminal more often than GUIs. But usually it's not more than a marginal gain in efficiency.

 

The cases where the command line is flatly superior tend to be arcane things used by programmers.

You have a lot of excellent points in your whole post, but your example is a great one to look at.  First, that would not be fast for me, just because I simply don't deal with non-typical characters very often, like *,$,&, etc.  I can touch type, but I realized, for many of those, I still have to look down, but hey, that's an example where I'd be faster if I adapted.  Second, I make plenty of typos.  The longer the command is, the odds of that happening go up.  While they're rapidly fixed with backspace, it's still an average slowdown that's going to accumulate an average minor slowdown for me (even typing normal sentences like this).  Finally, I look at this from 2 ways:

1. How would I do this right now in a file explorer?

2. How could that be improved if there was more free reign with the GUI?

 

With way 1, it would be Right click in the space, hit new folder (or hit a new folder button set aside for it).  Then hit a tab to organize by filetype, select all txt files, move to folder.  I say if there's only a few files and no scrolling, the GUI will be faster.  If there's a LOT of files, the CLI will be faster.  Either way, I admit it doesn't feel great on the GUI, it feels clunky and sluggish

 

With way 2, I'm seeing lots of potential for optimizations:

-I could have a mouse gesture assigned for creating a new folder (a gesture specific to my file manager), so I don't have to go through the slowdown of hitting a tiny icon to create a folder, or right clicking and scanning through a submenu, I just do it instead.

-I could have a hotkey or gesture that pulls up a submenu of icons representing all the different file types contained in that folder.  I could then select .txt and then the window only shows me .txt files in that folder, or another hotkey or gesture that selects all of them. 

-I could make a quick gesture to copy what I've selected or use a hotkey

-The folder tree could be represented visually somewhere, additionally I could have an ongoing history of folders I've been to or created.

-I could then hover over that folder, then hit the paste hotkey or gesture and it's done.

 

For Way 1, the time involved highly depends on how many files there are.  For Way 2, I could imagine these actions all occurring within 2-3 seconds. regardless of how many files there were, and less likelihood of a mistake (for me anyway).  I think this time would put it as competitive with the CLI.

 

With file management, I think right now, the GUI loses ground if there's a MASSIVE number of files AND there's a wide variety of filetypes in one directory, due to scrolling required, but I think changes could work to mitigate that (like in my way 2 method + I have more ideas I'll put in the followup).  I think the CLI starts losing ground the longer your commands or names get.  So if I need to move files from a subdirectory 8 levels deep with long names to a completely different one multiple subdirectories deep, my understanding is that slows things down.  With the right GUI, that's almost irrelevant.

 

 

EVERYONE ELSE:

I saw a lot of great posts and I'm reading all of them, I just don't always have anything special to add

 

Edited by Ross Scott (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.