Bret Victor, an interface designer and researcher, writes essays and builds interactive explorations on programming, design, and learning.
Commenters praise it as a model of interactive education, singling out Ladder of Abstraction and Learnable Programming, and recommend his talks on the future of programming.
Bret Victors talks and essays are well worth consuming. He speaks to the limits of computing within the confines of a small rectangular screen on how people actually think and work. As an architect of iOS UX circa 2006, he's uniquely qualified to discuss UX's impact on behavior. The Humane Representation of Thought is a great place to start: https://vimeo.com/115154289
Dynamicland is the first iteration of what he envisions with "seeing spaces" - interactive, full body computing that allows for humans to create and communicate more effectively whilst using technology that fades into the background.
His personal site is sort of a tour-de-force: http://worrydream.com/
I think anybody who makes things that users use should spend some time there. If you just have time for one thing, check out: http://worrydream.com/#!/LadderOfAbstraction
Everyone is going nuts about the presentation/scrolling/UI of worrydream, but they are missing out on the goldmine of what he's actually been working on: http://worrydream.com/#!/Showreel2012
Its absolutely insane someone could be that productive in 2 years. A lot of the ideas in that showreel are incredible. Yeah many of them probably don't work, but I saw dozens of new interactions that don't exist anywhere else. Plus the demo is >4 years old. That's amazing.
His CV has the following quote: “One of the greatest user interface design minds in the world today.” — Alan Kay
People are obsessed with getting immediate gratification and have little to no attention span these days.
My favorite resources are now all slightly dated; I haven't really kept up with the cutting edge as I've moved away from design and towards development.
---
Web:
A List Apart, especially the articles section - https://alistapart.com/articles
CSS Zen Garden - http://www.csszengarden.com/
Magic Ink - Information Software and the Graphical Interface, by Bret Victor - http://worrydream.com/#!2/MagicInk
---
Print:
Flexible Web Design: Creating Liquid and Elastic Layouts with CSS, by Zoe Mickley Gillenwater
The Zen of CSS Design: Visual Enlightenment for the Web, by Dave Shea and Molly E. Holzschlag
Transcending CSS: The Fine Art of Web Design, by Andy Clarke
tl;dr a series of satirical photos of people holding a piece of glass milled in the shape of a conventional, contemporary cellphone. For a longer video equivalent, see motherboard's youtube video review of a display phone https://www.youtube.com/watch?v=CurrggRdaUY
In these situations, I'm reminded of Bret Victor's criticism of planar interaction http://worrydream.com/#!/ABriefRantOnTheFutureOfInteractionDesign . Unfortunately, until we are closer to programmable matter or an economic powerglove https://www.youtube.com/watch?v=TAeViKt45eA I doubt we will escape the local maxima of variety we can offer via a touchscreen
It just so happens I was thinking about spatial org just yesterday, that it would be so nice if I can have 'villages' of tabs on a (geographical) Map.
Amazing co-incidence that I woke up to bonsai browser notification!
You might find The Humane Representation of Thought[1] by Bret Victor[2] useful, where he demonstrates by example, how existing tools/software (generally speaking) doesn't utilize all the 'superpowers' that we acquired via evolution.
---
[1]: https://www.youtube.com/watch?v=agOdP2Bmieg
[2]: http://worrydream.com
Edit - grammatical fixes
The best attempt at creating a learnable programming language I've seen is this design document by Bret Victor: http://worrydream.com/#!/LearnableProgramming
It is now ten years old but I don't know if it has even been put into practice? To be fair, it would be a lot of work to include all the IDE features and Easylang comes reasonably close to it already. However, if I could recommend one paragraph it is the one on "Recomposition", which is an extremely clear explanation of why functional programming matters for learnable programming.