Play is a big part of learning, especially new technologies. "Let me play with it for a bit," is the most common retort of the digital native when handed a new gadget. Last year, I started playing with a programming language called Processing. As a non-programmer I was just playing. It was an endevour to see what I could do; an attempt to better understand how things worked. It was an experiment.
The notion of playful experimentation was intrinsic to the knowledge that I gained. There was no sense or expectation of future application. But, like most experiments with knowledge the future is hard to foresee. These little experiments are starting to have significant resonance in my work. It's getting serious.
As I briefly mentioned last week, my team and I are working with Pacific Wild, an organization based in the temperate rain forests of British Columbia. They work to conserve the natural habitats and educate the public about the important and unique ecosystems there. In addition to traditional photography and video they also employ remote-control cameras located on the river banks. With the cameras they observe bears, wolves, cougars, and birds in an unintrusive manner.
Currently, the cameras stream the video to computers stationed in one of the local schools in the town of Bella Bella. The students have the ability to control the cameras and monitor the video feed.
One of the goals of our project is to design and build a live streaming web portal for the feed from the cameras. Currently, the standard for live streaming experiences on the web is very basic. Other than in zoos or aquariums where they have more control over the animals, little of interest happens in the couple minutes that the average user gives to a website.
In our current cycle of our project, the ideation phase, we are thinking about how to solve this problem. This took me back to one of my little experiments. Last summer, while living in Washington, DC for my internship, on a rainy weekend in June I endevoured to make a program using some computer vision tools. Computer vision is a series of algorhythms that enables the computer to 'recognize' what it sees in a video feed or image. The most common application of this technology is in point and shoot digital cameras where the view finder identifies the faces of the subjects.
To that end I wrote a program called TwitBubble where the user can enter their Twitter name and the program pulls your most recent tweet and then displays it in a thought bubble next to your face. You can check it out and download the source code here. It was a fun project with no application other than seeing what I could in a couple of hours.
When I started thinking about our project and the challenges of observing nature I immediately thought about TwitBubble. Imagine, if we could write a program that notified users when something was happening? They wouldn't have to sit their for hours waiting. That would fundamentally change the value proposition of live nature observation over the web. Last weekend I adapted TwitBubble, in a very rough - proof of concept manner, so that it would send the user an email notification if motion was detected in the video frame. Amazingly, that little weekend experiment might have a practical application. You can download the source code for the new program here.
Understand, I'm no engineer. I couldn't create something refined enough for full scale real world use. However, I'm lucky enough to be working with two very talented engineers who will take the concepts of my little programs and make something that could work in the wild. Experiment constantly with disregard for the practical; it's a mysterious and often fortuitous catalyst for ideas and creation.