A programming language aimed at real people

WIRED: There is now a simple programming language, a desktop application to let you create, examine and tinker with code

WIRED:There is now a simple programming language, a desktop application to let you create, examine and tinker with code

‘PROGRAMMING FOR the people!” is not much of a revolutionary cry, but I wish it was. We are surrounded by so much computing technology; so much of it would be far more flexible and expressive and adaptive to our needs if we were controlling it, rather than handing over that power to a priesthood of mysterious coders.

Unfortunately, to code you need a programming language and most programming languages look, almost literally, like Greek to ordinary mortals. We may be taught reading, writing and arithmetic at school, but nobody taught us algorithms.

When we grow up, the world we live in seems happy to partition us into rigid techno-castes – with mathematical, computer sciencey “engineers” sent to one corner of society, artists and designers to the other and the rest of us milling somewhere in between. What we don’t have is a People’s Programming Language.

READ MORE

“Processing” was Casey Reas’s and Ben Fry’s attempt to fix all that. The two were students of John Maeda at the MIT Media Lab, a graphic designer and computer scientist who aimed to build code that let non-programmers write their own computer programs.

The target audience for Maeda’s work were those on the very far side of society from traditional programmers: artists, designers and other “creatives”. Despite being seen as the very opposite of coders in the mainstream, at the Media Lab art and computer science were viewed as complementary.

Maeda’s project, called Design by Numbers, had a limited scope, but Reas and Fry wanted to take the principle to a wider audience. Processing was their attempt and in five years, it has succeeded, I imagine, beyond their wildest dreams.

Reas and Fry built not only a simple programming language, but a simple “integrated development environment”, a desktop application that lets anyone create, examine and tinker with code.

The software is free to download and, because of its origins in education, was quickly adopted in dozens of institutions struggling to bring artists and designers up to speed with modern technology.

Processing’s interface is simple and the rewards for just playing with it are immediate, and deeply satisfying. You can draw and animate 2D and 3D objects in a few minutes of typing, while additional libraries allow others to add extra features like sound and video processing.

Processing was released at a time when many colleges were developing their “interactive design” or “user experience”.

Since then, Processing has created a generation of artists comfortable with synthesising art and software. Indeed, some of the defaults and limitations of the original Processing platform have now become so hardwired into digital art that it’s almost become an aesthetic in itself.

Impressive but simple techniques like using greyscales, simple 3D objects and particular fades and blurs have become the standard tools of interactive artists, like burnt sienna or chiaroscuro in earlier ages.

But if artists are the most surprising of programmers, it’s not as if they are the only builders in the world itching to start programming the materials around them.

Designer Hernando Barragán adapted Processing to create “Wiring” – another simple language, in this case for those building programmable hardware.

Italian Massimo Banzi masterminded a small hardware prototyping system called Arduino based on Wiring. Again, Arduino was adopted by cash-strapped colleges as the perfect, cheap, introductory toolkit.

Now, thousands of experimenters have embedded the Arduino system into machines that would otherwise never have existed. Blimpduinos fly autonomous balloons around. The LilyPad Arduino is designed to be sewn into fabric to form the basis of “smart clothing”.

Dublin’s own Tom Scarff designed the Miduino, an Arduino clone that can be used as the basis for new electronic instruments.

We’re only at the beginning though of what these projects have to offer. Rather than move on to more complex environments when they move into business, the young students experimenting with Processing and Arduino have continued to build upon it.

Outside of academia, a mini-industry has formed designing and selling Arduino variants to hobbyists and prototypers. Boutique design consultancies work with these systems to quickly prototype interfaces for clients like Nokia and Accenture.

If making coding simple for artists and interaction designers has produced such an explosion of innovation, what could it mean if someone pulled it off for the rest of us? It could happen and the next obvious target would be the miniature applications available on mobile phone app stores.

Processing and Wiring work because they have a small, carefully defined platform – a platform that once it is available, encourages creativity.

In fact, the iPhone and Android smartphones have a lot in common with both the Processing “sketch” (a small graphical window) and the Arduino (plug it into your laptop, program its sensors).

Fry and his colleagues are already hard at work porting Processing to the Android platform at http://android.processing.org/ and one enterprising hacker has partly ported the code to the iPhone.

Unlike Processing’s previous interactions, you don’t have to be a student or an enthusiastic tinkerer to have the hardware to hand – just a smartphone user.

And if you do start messing with Processing, you’ll have access to all the cool sensors that smartphone users now take for granted, like GPS, motion sensors and compasses. Could this be the year when the people’s programming language finally meets real people?