From http://joel.editthispage.com/stories/storyReader$55...
I'll bet you anything that it was harder to code this behaviour that it is to cycle through the process list.
I always thought this Alt+Tab functionality was more intuitive, not less. This way, every time you press Alt+Tab once, you go to the application you were at previously. Of course, this may not be the case for everybody. Simplicity is subjective, no? -- FrancisHwang
Alt+Tab interacts with all ways of changing windows, so a single Alt+Tab always acts as an "undo" for window selection. Having undos is good (according to HumaneInterface, etc). Having multiple forms of undo (Alt+Tab, Ctrl+Z) isn't monotonous, and so is bad, but this is just a consequence of a multiple window environment.
Returning to the previous window is a commonly desired operation, so probably should be optimised. Altdown, Tab, Altup is ok. Altdown, (Tab) x 5, Altup is worse, even with auto-repeat.
Holding down Alt, and hitting the weird button on the keyboard marked with a pair of opoosite arrows, and then letting go of Alt. I can't imagine most users would assume anything about what that would do, or that one could call any particular behaviour "intuitive".
I disagree with coding hardness too. One method orders the Alt+Tab sequence by process ID. The other orders it by Z-order. They sound equally easy to me, and you need the z-order anyway for other purposes. --MartinHarper