meemoo hackable web apps

Why web?

20 Apr 2013 by Forrest Oliphant

At the Open(Art) presentations on March 4th one of the Eyebeam fellows asked why I’m making Meemoo for the web, when we can already do the same things in Photoshop or other apps. I’m not sure how well I answered, but there a few answers that I’d like to put in words.

Everest / Demoscene

The easiest answer is “because it’s there.”

Magical Everest

I had used data flow environments (Pure Data and Quartz Composer) for some projects. I wanted to combine the modularity, speed, and live feedback workflow that these environments offer with the rapidly expanding capabilities of the browser. Programming in data flow environments feels different than text-based coding. I would wager that they use different parts of the brain. Building this system has allowed me to dive deeper my own programming practice with both paradigms.

Access / media hacking in lockdown

Not everybody has Photoshop. Standards-based web browsers are everywhere.

Not everybody has access to systems where it is possible to install a coding environment. You can use, build, share, and hack Meemoo apps just by visting a url. This is a huge reduction in friction compared to installing a programming envirnonment or app.

iPad Kiosk Lock

Making web-based programming environments does a nice end-run around limitations that iOS places on native apps, that they can’t download and execute scripts. Mobile Safari can do that though; it would be suicide to lock Mobile Safari down to only running scripts from certain sites.

Design for Hackability

Photoshop is designed to emulate the physical tools of photo and graphic manipulation. This design made sense for the first users, who were coming from the darkroom and physical cut-and-paste design.

as real as it gets... by Bates141 Jakarta

But web media is much more than static images. To design a creative platform for interactive media and web art, it is fruitful to explore different approaches.

Modular code design

It takes a lot of boilerplate code to do basic things in creative coding projects, like getting an image from a webcam. By making a “cam” module I can easily plug it in anywhere in my projects that takes an image. Every module that I add to the system can be combined with the existing modules, opening exponentially increasing potential for exploration… and we’re back to Everest.