801 karma · joined August 11, 2011
Keep in mind that your visual cortex responds more to difference in colours and spatial frequencies more so than it does to flat expanses of colour. Things like drop shadows and borders add much-needed high-frequency acutance [1] at the edges of shapes, which helps with object recognition.
You see this all the time in the real world - take a look at the logo on these cans [2] and note the white border surrounded by the black border. Going from the base colour like this, all the way to white and then back to black effectively saturates the spatial frequencies at the edge of the shape and forces it to stand out from the background - I'm holding one of these cans in my hand right now and boy oh boy does that logo ever pop.
You see the similar techniques around all the time - look at the text labels on Google Maps, or the black borders around video subtitles. Similarly, see the gradient and drop shadows on the icons on an iPhone home screen - those are there to make them visually recognisable as objects, as opposed to rounded rectangles.
[1] http://en.wikipedia.org/wiki/Acutance
[2] http://i.imgur.com/WWRDsiE.jpg
Edit: further demonstrations of your visual cortex responding to differentials:
TEMPORAL: http://imgur.com/iqMFv5z.gif
If you stare at the center cross long enough, your retina fatigues and the pink dots start to disappear. Likewise, the rotating absence of a dot is replaced by green.
SPATIAL: http://upload.wikimedia.org/wikipedia/commons/0/0a/HermannGr...
The sharp spatial frequencies (unlike anything you would find in nature), aligned at right angles to one another interfere with one another so strongly that you start to see dots at the grid intersections (some may find this stronger than others, I sometimes get this effect from the Windows 8 homescreen, for chrissakes).
Even to do this in the first place will always require a bare minimum understanding of the language of logic; basic control flow statements, variables and so on.
This is why I feel things like Bret Victor's idea of the 'MathKiller' (which as I understand the idea, is his general term for a hypothetical universally-intuitive computing environment which can model anything) are goals which we can only ever approach asymptotically - there will always be some uncharted waters where the only option available to those who want to explore further is simply to straight up write some code.
I guess the point I'm trying to make is that I feel improving the sophistication of the programming languages we use or changing the core paradigms upon which they are based will not help the situation; improving the sophistication of the tools we use to write them with will.
Edit: btw have you read Moldbug's recent column on Sam Altman? [1] He uses Altman as a similar example of a fake progressive, though doesn't really touch on the whole open government side of things
[1] http://unqualified-reservations.blogspot.co.nz/2013/03/sam-a...
~ Samuel Butler, 1863
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).
"Bitcoin is an elegant jewel of mathematical engineering because, for the first time in the entire history of money, it makes it possible to conduct commerce without trusting anyone. [...] By rejecting the seemingly-irrelevant world of human trust-building (beyond strict adherence to promises) one asks to be thought of as a mechanism. That is, to be reasoned about game-theoretically. And reasonable people will sit around and try to predict exactly when and in what manner you, the master of reasoned thought, will betray them. To his credit, Popescu appears to be making this tradeoff consciously."
I personally imagine an interface not unlike a wand - people might carry around a pointing stick of some kind, with a button built into the handle to confirm gestures either on or off (at least until we can start doing crazy things like gauging intent - what if the computer only responded to your motions if it knew you were looking at it?).
Probably a terrible idea.