We've been asked why we are making a programming environment that is entirely pictographic. The idea is a little alien. We almost always adopt the language of reading and writing when we talk about technology. We want our kids to develop digital literacy. We write code, and computers read it. Write some connected code and we’ll call it a script.
But there is a good reason not to assume that the words we use to describe things define their nature, and we can summarize it with a single graph:
That is the number of Scratch users broken down by age. Those numbers are great, and impressive and encouraging, but they also fall off a cliff for kids younger than ten. One reason for that is that programming languages like Scratch and Blockly (the basis of our programming environment) are only superficially visual. They look different to grownups because they have bright(ish) colours and ask you to drag and drop virtual objects, rather than type at a keyboard, but how helpful is that difference to a kid?
There is no way to understand what is happening in this code without reading it. And even then, although many of these words will be familiar,
- they are being used in unfamiliar ways,
- they are laid out in an unfamiliar order,
- they are written in different colors and on backgrounds that change color
These things hurt reading comprehension even for adults!
Literacy isn’t a binary. You probably learned how to read by the time you hit first grade, but if there had been no change since then, you wouldn’t have made it through the first paragraph.
We are making an entirely pictographic programming environment that can work without written words, because sometimes words are obstacles. When we remove them, we open up new avenues of learning, creativity and play.