OK, I'm sticking with Macs for now, because I was a UNIX programmer, Mac OS X is UNIX, and I can work smoothly at the command-line interface.
Otherwise, I think Apple's user interface group has lost their minds. For instance, if I'm getting my Mac mail on the Web, my session will time out after 30 minutes. OK, cool, there's some security concern here. But what happens? I'm presented with a dialogue box that says my session has timed out, with an 'OK' button. I click 'OK,' and am brought to a screen that says "Your session has timed out," and presents me with a button that says "Log back in." I click on that, and finally get to the login screen. Yo, yo, Apple dudes, why not send the logged out user straight to the login screen? The two screens in between do nothing but require me to click 'OK' twice. What the hey?
In the Mac OS X native mail application, the up or down arrow at first moves you between messages. That's OK -- let's shift the focus by clicking in the window pane showing the text of the current message. Then hit the up or down arrow -- CRIKEY, MATE! It still moves between messages, not within the current message. Didn't Apple develop this idea of one part of the UI having the focus, and that all user actions should relate to that focused area? What in the world has gone wrong with their software developers?