Here is a list of content we found interesting this month.
Great list of HCI technologies by Brad A. Myers organized in categories, sorted by year and with references to all of them.
Make sure to also check Brad A. Myers' Youtube Channel for great HCI Content
How many programming languages define themselves this way?
The purpose of the Smalltalk project is to provide computer support for the creative spirit in everyone. Our work flows from a vision that includes a creative individual and the best computing hardware available. We have chosen to concentrate on two principle areas of research: a language of description (programming language) that serves as an interface between the models in the human mind and those in computing hardware, and a language of interaction (user interface) that matches the human communication system to that of the computer.
Glamorous Toolkit vibes here:
Reactive Principle: Every component accessible to the user should be able to present itself in a meaningful way for observation and manipulation.
An operating system is a collection of things that don't fit into a language. There shouldn't be one.
Experts want choice; newbies want to be handed an integrated product where good choices have been made for them and they can dive straight into their task.
Too much focus on the technology (e.g., programming language) and too little focus on the user’s task.
Most laypeople don't care about computers; they care about what they can use a computer for
Most people will only care about computer programming when it offers them a clear way to accomplish specific goals that are relevant to their lives.
These tools all share the same two golden traits: no-fuss setup, and a programming language and development tools focused on the specific tasks their users want to achieve.
So Lynch’s five primitives comprise a notation.
It’s composable. A small number of simple elements can be combined, according to their own grammar, for more complex descriptions. There’s no cap on complexity; this isn’t paint by numbers. The city map can be infinitely large.
Compositions are shareable. And what’s more, they’re degradable: a partial map still functions as a map; one re-drawn from memory on a whiteboard still carries the gist. So shareable, and pragmatically shareable.
Not only are maps in this notation functional for communication, but it’s possible to look at a sketched city map and deconstruct it into its primitive elements (without knowing Lynch’s system) and see how to use those elements to extend or correct the map, or create a whole new one. So the notation is learnable.
Not all jobs will require coding, at least not yet. Rather, what we are going to need – as a society – is a certain amount of computational thinking in this increasingly technological world.
And in this way, computer programming is indeed the future. Programming can teach you a structured way of thinking, but it can also provide a way of recognising what is possible in the technological realm.
Why should we have to rely on a priestly class of experts who are the sole inheritors of a permission to play?
My dad never intended to sell his games; they were for our family alone. He was a computer user, but he was also a creator.