Seems to me like people are agonising over skeuomorphic details as basic as using drop shadows and gradients to make a button look 'real'.
In recent months I've come to realise that (excluding so-called 'flat' design) such processes have sublimated and that we have actually converged on a new visual language for communicating a control's affordance.
Let's look at the basic button: we no longer make a button look like a button, per se, so much as we simply add contrast to the control's edges (according to taste), and perhaps overlay a low frequency over the entire control (otherwise known as a 'gradient').
Then, when a user activates the control, we rotate the phase of the control's spatial frequencies through 180º to communicate its state (equivalent to reversing all shadows and flipping the gradient).
I think flat design sucks because it effectively excludes you from using visual frequencies this way - it's a bit like asking someone to record a song, but they have to run everything through an extreme high-pass filter, or a bitcrush, or something (I dunno, someone help me out with this metaphor here).
If you reversed all shadows and gradients, wouldn't your active control's lighting become completely inconsistent with the rest of your interface? Or did I misunderstand?
But you're right that flat design takes away some of these tools. That's why it's important to look at each situation as its own thing.
For example, a big call-to-action button on a homepage cannot be toggled and lives by itself, so making it flat works. On the other hand, making an "on/off" toggle flat can potentially create a lot of ambiguity.
But even then, it's up to the designer to find workarounds and new solutions, such as http://drbl.in/giHY
You're probably right, I'm still trying to figure out how to express this idea properly.
I like the good old fashioned red and green on your example, but I feel any toggleable control should have two two-axis modes: unpressed/pressed, and on/off (e.g. in Cocoa Touch, UIButton can be highlighted, and/or selected), which is typically difficult to convey with flat shapes and colour alone. If you can do it, awesome.
In recent months I've come to realise that (excluding so-called 'flat' design) such processes have sublimated and that we have actually converged on a new visual language for communicating a control's affordance.
Let's look at the basic button: we no longer make a button look like a button, per se, so much as we simply add contrast to the control's edges (according to taste), and perhaps overlay a low frequency over the entire control (otherwise known as a 'gradient').
Then, when a user activates the control, we rotate the phase of the control's spatial frequencies through 180º to communicate its state (equivalent to reversing all shadows and flipping the gradient).
I think flat design sucks because it effectively excludes you from using visual frequencies this way - it's a bit like asking someone to record a song, but they have to run everything through an extreme high-pass filter, or a bitcrush, or something (I dunno, someone help me out with this metaphor here).