Readit News logoReadit News
Posted by u/atommachinist 8 months ago
Show HN: I built a tool to solve window managementaboveaverageuser.com/smar...
Hello, my name is Andrew. I'm an indie developer and I'm excited to release Smart Switcher for Windows 10/11. I'm looking for feedback on the overall project and the application itself.

I built this because I couldn't find a window switching/management solution that worked for me. I tried all kinds of different solutions, virtual desktop extensions, obscure GUI window managers, you name it. Overtime I realized I wanted something that prioritizes one window at a time, is keyboard driven with has minimal if no GUI elements. I figured this part out, but knew something was missing. I had my eureka moment when I realized I could combine my switching method with a prediction algorithm. This led to the creation of Smart Switcher.

Smart Switcher is a data driven window switcher aimed at improving the overall window switching experience. It logs data on your windows switching, then a prediction algorithm analyzes this data and uses it to predict which window you would want to switch to next. When you need to switch windows, you press the switch shortcut to switch to the next predicted window. If this isn't the window you wanted, press the override shortcut to switch to the next most likely window. You can press the override shortcut as many times as needed until you arrive at your desired window.

It’s a paid app with a demo and trial version. There is a introductory discount and some additional discount tiers for early adopters.

Any feedback is appreciated! Thanks!

deviation · 8 months ago
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.

Graziano_M · 8 months ago
I similarly would have issue with the non-deterministic behaviour. I use space hammer and bind many apps directly to a dedicated chord each, so I know that (hyper)-b is browser, t for terminal, s for Spotify (or songs) etc.
atommachinist · 8 months ago
Thanks! The long term goal of Smart Switcher is that the algorithm becomes reliable enough that window switching almost always requires only one Alt + Tab press. It's an ambitious goal that will require a lot of work, but that is the goal.
HappMacDonald · 8 months ago
This sounds about on par with replacing all keystrokes by repeated alt+tab.

From an information perspective, prediction can only be right as frequently as there is redundant data capable of being compressed.

0xWTF · 8 months ago
deviation's ADHD has not read The Bitter Lesson

https://www.cs.utexas.edu/~eunsol/courses/data/bitter_lesson...

Dead Comment

alanpearce · 8 months ago
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)

[1]: https://lowtechguys.com/rcmd/

alanbernstein · 8 months ago
Cool, but how does it work if you have multiple windows in one app?

I used hammerspoon for something similar, but it worked on the window title. So, I could add custom titles to my chrome/iterm/code windows, and switch by pressing a shortcut and then typing 1-4 letters to match the title. It was my favorite window management UI for my work laptop with an absurd amount of tabs open.

LoganDark · 8 months ago
> Cool, but how does it work if you have multiple windows in one app?

You switch to the app, then use macOS's native window-switching keybind (command+backtick) or App Exposé or etc.

dattiimo · 8 months ago
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.

jerryjappinen · 8 months ago
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.

thejohnconway · 8 months ago
I have a very similar frustration with the complexity here, and found that scrolling tiled window managers (like PaperWM, Niri, etc.) might actually be the answer. All your windows are in a line, press the shortcut until you hit focus the one you want. Reorder with a shortcut or with a mouse.

The main problem with them is system support, they are buggy when tacked on top of a desktop OS (PaperWM), or require a pretty finicky custom setup (Niri).

medwards666 · 8 months ago
This! I actually kinda miss the Win7 enhanced switcher (I actually kinda miss the whole Win7 Aero desktop, but I digress) ... Win-Tab bringing up a scrollable stack of the actual windows you have open and being able to either directly select the one you want or just keep Win-Tabbing through them. The Win10 tiled view is similar, but lacks the charm somehow...
atommachinist · 8 months ago
I completely agree, a lot of the existing solutions are too complicated. I just want to be clear that once you use the override shortcut, the algorithm won't have any effect on the your switch order. When you are ready to switch windows, if you use the switch shortcut to switch from window A and it takes you to window B (because this is that the algorithm predicted) but this isn't what you wanted, you would press the override shortcut to go to C instead. Now because you have an override in effect for A, every time you switch from A it will take you to C, unless you use the override shortcut again.

Deleted Comment

furyofantares · 8 months ago
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.

nartho · 8 months ago
I switched to a tiling manager (I use Hyprland). There are no floating windows, I have multiple spaces I can easily switch to and if I need to temporarily switch a window to full screen it's really easy. Because of that I don't spend any time at all looking for the window I want.
atommachinist · 8 months ago
For me, Alt + Tab was always almost good enough. I find the shortcut itself to be a good experience but as you said, it's annoying tabbing through the window list. The idea with Smart Switcher is that you wouldn't need to override too often so it ends up being less keystrokes then tabbing through the window list.
prennert · 8 months ago
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.
hiatus · 8 months ago
Can you expand on what you're thinking here? It sounds like a window switcher that followed my eyes would be pretty disorienting.
prennert · 8 months ago
It does not need to constantly change focus to what I am looking at, but when I press alt+tab / cmd +tab etc, I want the first window to be switched to to be the window I am looking at at the moment.
mtillman · 8 months ago
Irix made panes active on mouse over. Which was at times very helpful and other times widely distracting.
atommachinist · 8 months ago
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!

layer8 · 8 months ago
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.
Xss3 · 8 months ago
This.

I wonder, OP, what is it that you dont like about how it just uses your most recent windows in order of last opened?

atommachinist · 8 months ago
This actually works fine a lot of the time. There are just cases where that isn't the window I want to switch to. I wanted to find a solution that would cover more of these cases. One example is when my computer starts I have a some applications that automatically run. I don't want to tab through the Alt + Tab list to get it in the right order, I want it to be ready to go.