Funny, this sounds like a good idea, but I'm quite happy with the exact opposite: I use rcmd[1]. I hold down the right command key and press the first letter of the window name to switch to it. I can override this dynamic mapping by pressing right command + option + <other key>, so I have an IM client on I, for example. It means I never have to remember/guess how command+tab works (although I had fewer issues with alt+tab on Windows)
Interesting idea, but for me an app switcher needs to be super fast and switch between the apps I want without interrupting my thought process.
I've used an auto hotkey script for years that has served me perfectly. I press my shortcut modifier (the right Alt key) and then the letter of the app I want to switch to. For example, Right Alt + C will switch to my code editor VS Code. Right Alt + T will switch to MS Teams.
Repeating key presses will switch through all instances of that app so Right Alt + C, C, C will switch to the third open VS Code window.
The top row can be temporarily assigned to any open window for using on windows I have open that I'm switching to frequently but only while I have work in progress.
The scripts are at https://github.com/dattiimo/ahk-scripts for anyone interested.
Without having tried this, I'd say the problem with a predictive algorithm is that it is (ironically) impossible for the user to predict what will happen.
So after switching, they will need a short moment to reorient: understand where they were taken, check if it matches where they wanted to go, and then either switch again or stop the switching process to resume work. In UX design, it's better if you can complete a longer process without having to halt and reorient many times in the process (like opening a menu that was hidden and wait for a loading animation to complete, until you can actually read the menu items are).
If it's impossible to keep a mental model of where you are in the system, and how you can move to another specific window, then actually EVERY window switch requires much more effort and conscious thought.
I think windowing systems, virtual desktops, spotlights, stage managers, exposés, mission controls, are all too complicated... I don't know what the solution is, and I think it's great that people are working on novel solutions. But I do know I want to easily switch between 2-4 windows without the order randomly changing.
I like the idea of focusing on one window at a time with keyboard shortcuts for getting around quickly.
I feel like the only predictable workflows are when I'm cycling through N windows repeatedly. Tabbing works great for N=2 already due to reorganizing the list so the first element is always the previous window. But N=3 or 4 and maybe 5 are also common for me and kind of annoying with tabbing. Of course I don't know how predictable those are either, they're annoying to tab because the patterns are almost regular but also have frequent exceptions.
I am sorta talking myself into wanting normal tabbing alongside a browser style forward/back (which would NOT reorder the alt/cmd tab list). That way once I have my N windows as most recent, it's all back/forward navigation and the path to each window is something I would remember for the session.
I need this combined with eye tracking so that I can switch the focus to what I am looking at. If it was a macOS app, I would definitely pay for it. Especially if it was a one-off fee of $50 or something like that.
I’ll gladly accept feedback or constructive criticism at any point. That being said, if you want to work with me more closely and continue to provide honest feedback, I’d be willing to offer a free license to a handful of early users.
I did a lot of testing so it’s a fully working version, not a beta. This would just a thank-you for helping out early. You can reach me at hello@aboveaverageuser.com
Thanks everyone!
At least for the last three or four windows, I would want strict LRU behavior, because that’s automatic muscle memory. I could see a “smart” heuristic be potentially useful for less recently used windows, although I have a hard time imagining how that could be significantly predicted from prior use.
Appreciate all the feedback so far!
For those who do try the demo or trial version, or purchase the full version, if you want to take a more active role in providing feedback, you can email me at hello@aboveaverageuser.com.
Cool idea, what model does it use to predict my next window?
Microsoft traditionally already knows better than their users. Another crystal ball that pretends to read my thoughts is the last thing I want.
Sometimes I want to switch between multiple windows quickly, or even toggle between them. Having two keys - alt+tab - allows me to enter the "window switching" state by pressing alt, while tab increments the selection, and shift+tab decrements (all while holding alt down). I leave switching state when I release alt.
Alt+tab is an optimal controller.
Maybe operating on the order of items in the queue, and use your prediction to sort windows, allowing faster selection? Even that disrupts sense of place - I know what applications I have open and where they are, and if I'm using alt+tab over 5 or more, I know the order in which I've opened them, and "where" I need to go to navigate to them.
There are second and third order impacts to changing interface behaviors, so the superficial benefit you might gain will be lost by creating friction at different levels.
A single key is insufficient for granular control, and no AI widget short of human level AI is going to capture the edge cases, which will create friction, at which point I will aggressively remove the offending piece of software.
I'd go back to the drawing board and work on a more complex model of window switching and all the ways in which people use alt+tab, and see if there's a use case for your idea at a different level. As it is, for me, it would interfere with a reliable and predictable interface, and I would be very unhappy.
On MacOS, I just have a single key associated with my top apps.
cmd + shift + {key} takes me right there
J = Chrome K = Terminal H = 1Password ... etc
Hammerspoon setup: https://github.com/joeyagreco/dotfiles/blob/aab6c4631c4c6b09...
Global maps: https://github.com/joeyagreco/dotfiles/blob/aab6c4631c4c6b09...
(local maps are not version controlled for obvious reasons)
An interesting idea, but not something that would fit my workflow for several reasons (not the least of which is it's Windows-only).
Cmd-Tab on Mac and Alt-Tab on Windows does the same thing every time. Its consistency lets me use it extremely quickly, with confidence. It does what I want it to, every time. I don't wish to sound dramatic, but if I hit a shortcut with a window in mind, and this app picked the wrong window even once, I would uninstall it immediately. "Cmd-Tab, but it doesn't work sometimes" sounds frustrating and strictly worse than the system shortcut.
Maybe it should look more like GitHub Copilot. It watches what you're doing and shows a small indicator somewhere of the window it thinks you want to switch to. If the app guessed right, you hit a keyboard shortcut and switch to it. If the app guessed wrong, you just ignore the suggestion, like with Copilot.
I can't imagine wanting this. When I press ALT-Tab or SHIFT-ALT-Tab I can see most of the Windows I have open, and can get to the one I want quickly. The last thing I want is some algorithm showing me a next/previous window that may have nothing to do with where I'm headed. How would I be able to predict where it would send me so I can reliably know how many key presses I need to make to get there?
> I wanted something that prioritizes one window at a time, is keyboard driven with has minimal if no GUI elements.
Sounds like tiling window managers like sway or i3. Those don't have any sort of predictive switching but otherwise:
- My window management is done via keybindings
- The status bar is completely optional (personally I use it but there is no *need* to use it)
- I set `hide_edge_borders smart_no_gaps` so if I only have 1 window open in a workspace, it doesn't have any border at all. No titlebar, no close/minimize/maximize buttons, just the window content.
I know what window I want to switch to, I don't need "intelligence" to predict it.
One way to implement this is to use window manager with one workspace per window (or multiple related windows) and use a single hotkey to switch to it. Very muscle memory efficient and takes no confirmation delay.
[flagged]
It would be good to mention in the blurb here early on that it's for Windows. I kept trying to figure it out from the text here and failing…
Virtual Desktops + alt tab has always done it for me.
I would love to see your workflow in action for a real use case, unless your real use case is switching between calculator and paint…
[flagged]
It's funny that Windows is too stupid for window switching, let's also forget about screen switching, a total nightmare.
Neat idea. I'm sure this will solve some friction for the neuroscientists/mathematicians out there with ~20+ windows open.
Personally (as someone with ADHD), this would just relentlessly grind my gears. My thoughts are unpredictable by nature and so I value the "reliability" of knowing my chrome is two alt+tabs away, etc.
If an algorithm started messing with this and changing throughout the day... Damn, I'd go crazy.