Monday, August 19, 2013

The bag-cam

There's been some curiosity, so I thought I'd talk a little bit about the "bag-cam" experiment.  I've uploaded a full day's photos (Day 4) with a little gallery interface I whipped up:

The gallery interface is still slightly clumsy, but hopefully you'll figure it out -- click on thumbnails to "zoom" into a particular time range (using the maps as reference), and eventually view full size images.

(Don't worry, a proper writeup of Days 3, 4, and 5 is still coming.)

More about the camera itself:

It's mounted on a Tom Bihn Co-Pilot, my current favorite puzzle hunt bag. (The search for the perfect puzzle hunt bag is a subject in its own right.) The camera is a Contour+2 action camera. It's tethered to a 7000mAH USB battery pack (which tucks into a pocket of the bag, and also helps me charge my phone as needed).

The idea is that I usually wish I had pictures of a puzzle hunt, but during the game itself taking photos isn't on my mind. This way, the camera can be continuously photographing everything, and I can sort out the images at my leisure.

The Contour is a GoPro competitor, and like the GoPro is mainly used for helmet-cam video of action sports. Video would fill the 32GB SD card in a couple hours, so instead I run it in 1FPS still photo time lapse mode. At medium JPEG quality, each 5MP photo is around 1MB, so that lasts around 9 hours. For longer games I'll have to cut down the photo frequency (or change cards, but the whole point is to avoid requiring any attention during the hunt). Unfortunately the Contour doesn't support >32GB cards. I chose the Contour over the GoPro because it has GPS built-in, which is critical for cross-referencing clue sites and images. The Contour form factor is nicer for this purpose, and I like the user interface better. On the other hand, GoPro cameras can use SDXC cards (64GB+) which would be nice. Both Contour and GoPro are wide angle (170 degree) which is great for capturing a whole scene.

In the end, it worked out okay.

Both Wei-Hwa and I used bag-cam pics (along with conventional phone snapshots) for blogging. There are interesting pictures of things we never thought to explicitly photograph, so that's good. Finding the right picture is definitely the hard part -- I hadn't written the gallery generator I linked above, so we just had a giant directories of JPG files to wade through. Standard photo management systems don't do so well with 20,000 files in a day; tools like Lightroom and Aperture can handle the volume, but don't do anything very smart with GPS data, and aren't especially suited for the kind of timeline browsing that's needed. (On the other hand, I'm no expert; maybe I'm missing something.)

Of course, the pictures often have funny framing, and because of where it lives a lot of the pictures end up being "look at my giant hairy arm" or "check out my teammate's giant fisheye-distorted butt". Still, there are so many pictures that usually some of them are decent.

There was one day (day 2) when having a good way to access photos from the previous day would have been nice! Sadly, it wasn't very realistic to do so in real time, and due to some snafus I ended up wiping the card, so we didn't have the data. Perhaps some day this kind of thing will be useful for in-game reference, but for now I'm focusing on post-game documentation.

Here are a few of my favorite bag-cam shots from Day 4:

Outside Washington Park, Cincinnati

"How could that sundial not be the clue?"

Indianapolis War Memorial

Bag-cam selfie!

More Indianapolis memorials.

Part of the "Historic National Road", Indianapolis.

Puzzled over an inscription near George Washington's statue.

While the others went to solve a clue, I made a quick detour to learn about the weird donut embedded in the wall.
It's called "littlebird"; apparently there's a little bronze bird on top?

They look positively heroic, don't you think?

Atop Crown Hill Cemetery, Indianapolis.

Sadly, despite the label, this vending machine just sells soda.

Millennium Monument, Wrigley Square, Millennium Park, Chicago.
I hope to use the system for upcoming Famine Game and Midnight Madness games, we'll see how it works out there. There are also more interesting products entering this space, like the Memoto.


  1. Very cool. And a bag-cam is less obvious (read: suspicious) than wearing Google Glass all the time. :)

  2. The low-light night picture looks surprisingly good for such a device.

    1. It was a very well lit monument, and I think I had set the bag on the ground. The rest of the Chicago night pictures were crap, which is too bad; Oz Park was fun. (Hopefully some of the phone flash pics came out and we'll see them in Rich's writeup.)

  3. Thanks for this. I checked out Memoto, too. I guess we are now in the age of "capturing every moment since every moment contains data that can be mined" through wearable devices. For me it is as exciting as it is creepy. Oh dear, I just got old. #getoffmylawn

  4. That is a darned handy interface for browsing the photos. I can't imagine slogging through without it, oh man.

    1. Well, the day was fresh in our minds, so we could binary search without too much trouble. "IMG_0400.JPG ... oh, that's the cathedral, that's too far ... IMG_0350.JPG ... that's in the area, let's page through around here ..."

      If we hadn't been there, it would be much, much harder.

      I'm glad you could make sense of the browsing interface. I found it quite a challenge to write, especially since I wanted to make something pretty quickly, and for simplicity just wanted to generate static HTML rather than serving dynamic content or writing fancy Javascript.

      It's a complicated visualization challenge in any case. My current daydream interface consists of a vertical stack of ~4 horizontally scrolling strips of thumbnails, each representing a power of 10 in time: A photo every 10,000 / 1,000 / 100 / 10 / 1 second. They're all linked as if by gears, so if you scroll the top one, the lower ones fly by in a blur; if you scroll the bottom one, the upper ones move in varying degrees. A map floating to the left hand side of each strip shows the path taken by the visible segment of that strip. Below all of this would be a medium-sized pane displaying whatever photo you click on.

      I have no idea how well that would work out in reality. It would certainly be difficult to implement smoothly without busting the browser.

      I was having trouble finding other examples of visualizing a very large number of items on a timeline in a web interface. It seems like it must be a very common problem! I face it all the time when viewing logs data and such. Maybe I just didn't search the right way.