I’m going to talk a bit about a project I recently built as way to make a point about streamlining the creatie develoment procss and to sing the mantra of “less is more”. When brainstorming a method of storytelling for a client, i am automatically thinking of the how i might make it all work under the hood. Brainstorming is a supremely imprtant part of the work i do and i believe one gets better with practice. There is a natural ebb and flow to coming up with creative ideas because of the tools/knowledge available to me, along wih the story to be told. In the creating coding and installation building business, we have the role of storyteller, it is our job to make an imoression on the user/viewer in novel ways. On one hand, i allow myself the freedom to brainstorm without limits on devising a storytelling vehicle using tech, this is core to creative coding (this basically means i am ignoring the voice in my head that says “you can’t really do that, it is still science fiction”, i tend to enjoy ignoring the limits of todays technology or the laws of physics in general when thinking of the story to be told). On the other hand, as the tech guy who is going to be building the hardware, software, or both pieces, a part of my brainstorming process includeds thinking about the clockworks. That is, imagining which software tools support the hardware selection, or which hardware supports our softare needs in a way that will be the shortest path to a working prototype while allowing plenty of room for ever present changes based on client review. This is all custom, all invention, and so, the methods of storytelling work best when malleable. If i can’t be flexible throughout a dev cycle then i would need to build in time for lots of re-work.
Ok, so on to this project…. Supertouch was approached to build a way of displaying the output from a “photobooth” type of kiosk in a trade show booth at a medical show. We pitched an “ipad tree” made of about 70 ipads. There was a large physical structure built, a tree, as a way to mount all the ipads in a fetching way, displaying a cycling of the photos output of photobooth. We did not build out the camera piece, a group of photograghers were brought in. We did not construct the tree itself, that was handled by the company who built the rest of the trade show booth (with direction from us including the aesthetic and technical concerns). My responsibilty was to recieve the photos on the fly and display them on the tree in a “rules based” way, meaning, new photos would instantly appear on the lowest “tier” of ipads and eventually get bumped up to a higher tier of ipads that retained a larger quantity of cycling images, continuing on up through a 4th tier at the top of the tree which contained the whole of the photo accumulation.
There are many wany to look at the end goal when architecting a build like this. This is where the “less is more” siren song should play loudly and clearly. As there is a large hardware element to be installed, i knew we’d burn a lot of our set up time on wiring the tree. It isn’t rocket science but there would be few ways to speed up the tedium of attaching the 70 ipads and wiring for usb to provide power. With this in mind, i did not want to lose time to provisioning 70 ipads with an ios app. And godforbid we find a necessary change in the final hour, provisioning 70 tablets hanging at 15′ off the floor would be dangerous indeed, dangerous in terms of time needed. Remember, events based installations means you can’t push back on schedule and we’re typically doing some level of client walkthrough after just a day of setup. By keepig the content on the ipad compketely dynamic, essentially a full screen browser, it meant i could consolidate all my work to an app at the file server. This also meant i could tweak for changes in the equipment closet, rather than up a ladder, avoiding any cause for worry for our client. Managing client concerns is a part of the job that is always on and always at the front of the brain. This methid of using a browser and relying on css/html5 for my transitions between photos worked out great. It sounds super low-tech, because it is, and this is the point i am making in this post. One does not always need to use tools designed for heavy lifting. Keep it simple in the places that will burn your time and effort, and you can possibly get some sleep the night before the show goes live. I kept all the smarts at a laptoo which acted as my server and it paid off. It also meant that the smart pieces of the software did not need to be very pretty as it was only to be seen by myself and those who were curating/moderating tye selection of photos.
I will walk you through the operations happening under the hood:
1- the photograghers save all their photos to a shared volume on my NAS
2- my server side app (running on my laptop) monitors the shared folder for changes, when it detects a new photo, i scripted imagemagic to scale and crop the photos in an automated way
3- i created a moderation tool in VVVV, responsble for moving the newly prepped images upon approval or disapproval
3- the approved photos are moved to a folder representing the ipads that are part of tier 1. The folder contains an index.html file and is in the publlic path of a local webserver running on the same laptop. This index file handles image duration, the characteristics of the transitions, and the size of the array holding the image filenames. This index file can be tweaked on the fly without interupting the show, all changes are apparent immediately as the metadata in the index file does not cache the images
4- VVVV monitors the image count of all the tiered folders and is responsible for promoting an image to the next tier. The moderation tool makes it easy to decide how many images should appear in each tier. I did this in anticipation of a client change onsite once we are live. Even though our recommended rules were approved ahead of time, i knew that this would be difficult fr anyone to visualize and the request to change these rules might come to me after the event has started.
That’s it. All of the heavy lifting is essentially made of file moving happening on the NAS by programming running on a very typical windows7 laptop. The NAS was a great decision as it is compact, provides reliability in the form of a hit swappable raid5 stripe, along with an easy to use web based admin tool. The ipads needed attention only time for settings modification and to be pointed to the local url, otherwise, all content is dynamic and changes on the server were reflected on the physical tree immediately.
The decisions to keep the archtiecture simple, and steering clear of native ios development was key to making the best use of limited time on site for set up. The moral of the story? You dont always need the highest end gpu’s, cpu’s, or software technologies to tell a great story.