I've started making the transition to Mac OS X after developing for more than 10 years on Windows and one of the primary discomforts so far is the fact that Mac's equivalent of Window's window-switching shortcut is actually not a window switching shortcut. It's an app-switching shortcut.
When you have multiple windows of the same app open at the same time, you won't be able to cycle through them with Command + Tab alone. You'll first need to switch to the app of the target window, and then use Mac's dedicated window-switching shortcut, Command + ` (backtick), to cycle between the current app's open windows.
This is a real bummer. Having to first hammer Command + Tab multiple times to focus the app, be presented with an irrelevant window, and then cluelessly hammer Command + ` multiple times to focus the target window really seems unnecessary and a colossal waste of time, especially for professionals that have lots of windows open at the same time and need to switch between them constantly, i.e. full-stack developers. Windows solves this nicely by providing the Alt + Tab shortcut which cycles through all the open windows, not just the apps.
One thing's for sure -- when I feel that something hinders my productivity, I do something about it. And so I knew I had to find a faster way to switch between windows on Mac, or build such a tool myself.
Luckily, I found HyperSwitch. Developed independently and offered for free (as of today) by Christian Baumgart, it does exactly what I needed -- it replaces the built-in Command + Tab app-switching shortcut with its own implementation of a beautiful window-switching interface that even includes high-quality preview thumbnails!
It comes with a vast number of configuration options as well -- activation delay, shortcut keys, themes, thumbnail size, app icons, and more!
I'm incredibly thankful for this wonderful productivity booster, and one thing's for sure -- I'm never going back to the native OS X app-switcher!