As I recently switched from Linux to Mac, I started wondering why Cmd ⌘+Tab and Cmd ⌘+` work the way they work. The first switches between applications, the latter between windows of the same application.
I can think of two UX issues with this design:
When switching between windows, it requires cognitive effort to know / remember which one to use. Especially since a lot of applications are now served as web services, different browser windows can provide very different application functionality.
The two key combinations work differently: Repeatedly pressing (and releasing) Cmd ⌘+Tab switches back and forth between two applications (even if you have more open), while doing the same with Cmd ⌘+` cycles through all windows of that application. The functionality is the same if you have two windows / applications, but there's no single hotkey to switch back and forth between two browser windows if you have a third browser window open.
Is there some (possibly historic) rationale on why these work as they do, or reasoning why this is a good idea?
(This is not to mention the problem that on many non-US keyboards ` is in a horrible location, and you have to manually configure the shortcut to whatever key is above Tab to make it at all usable.)