Bubble Foundry


Portfolio

My work can be somewhat categorized across four categories: iPhone projects, web development, writing, and dev camps.

iPhone Projects

Android Tablet Mobile Payments Interface – 2012



Topika was asked to come up with a design for the interface of an Android tablet app for a mobile payments system to be launched in East Africa. Specifically, they were asked to develop mockups for the screens an agent would see when taking cash deposits from new or existing users. They invited me to work with them thanks to my knowledge of both mobile apps and money transfer systems. Together we took our initial brief, challenged some unrealistic assumptions, and came up with a simple, efficient app design and workflow. You can read more on the Topika site about the project.

iFebo – 2011

Developed iFebo for Dutch fast food chain Febo, with Daniel Salber and Martijn Wuite. Martijn was our team’s primary contact with Febo, while I worked with Daniel and the company behind Febo’s CMS to define the data model and implement an API for the app in the CMS. I also wrote a push notification server in Scala and the Lift framework that sits between the CMS and Urban Airship in order to keep things as simple as possible for the CMS developers.

Mobtest – 2010

This is one of my own and not yet launched, but I think it deserves inclusion to give a sense of what else I can do at the intersection of iPhones and web services. Mulled over with friends last summer. Hacked together a CakePHP website last August at iPhone Dev Camp while Jesus Fernandez made a great library for in-app responses including screenshots. Laid dormant but returned to it once finished work on EQUAL Networks.

Coffeeshoppr – 2009 – 2010

With friends, made high quality app guide to best coffeeshops in Amsterdam. Responsible, fun, educational. Videos, photos taken of each store front. Technically wrote app server in Python on App Engine (Django? check). Took API lessons from Smakelijk Amsterdam, made what I think is a top notch JSON API able to really give the iPhone app exactly what it needs and nothing more.

Smakelijk Amsterdam – 2009

The app was inspired by Het Parool’s website and its map of reviewed restaurants but this was before iOS 3.0 and MapKit. Solution: use a webpage for the map, and so might as well use a webpage for the entire thing. The PhoneGap framework was used to wrap the webpage into a local app with access to the phone’s location information. I hired Gerard van Enk to development the app and he did a great job, though I also pitched in occasionally with some of the Javascript tweaks. API HTTP requests needed to very efficient, and I worked with Persgroep engineers in Brussels to improve their XML API so the iPhone’s data usage would be as parsimonious as possible. The app is no longer available but the (Dutch) iPhone Club review gives a decent overview.

Web Development

Open TV – 2012


Topika and I partnered with the artist Vincent Boschma to develop Open TV, an exploration into surveillance and freedom through CCTV cameras placed around the city. There are 9 cameras in public squares in Amsterdam with LCD screens below. People can see themselves on the screens, while others can watch from afar via a 3×3 grid of videos on http://www.open-tv.nl. I setup the streaming video server and built the website to display the video streams and hourly stills. You can read more about the project on the Topika site.

Mimesis Republic – 2011

For this French MMO game developer I made a single sign-on system for their Mamba Nation game using the Scala programming language and the Lift web framework.

Esther Polak and Ivar van Bekkum – 2011

For this duo of artists I wrote a Python program to help them work with Google Street View 360° images and generate the KML to necessary to view the images in Google Earth.

I also wrote a small web framework to enable them to play their Google Earth-based tours in web browsers using the Google Earth Plug-in and Javascript code I wrote to load and display .srt subtitles along with the narrated tours.

Mediamatic – 2010-2011

I worked on several projects, most significantly being the development of the ANP Archief for ANP, the Dutch national news agency. I was responsible for the code that synchronized the photos and all their metadata between the ANP database and the website. The synchronization tool was written in Python using the Twisted networking framework.

In doing this I got to know Mediamatic’s anyMeta system and its API quite well. Following a blog post on how the API works, I was invited to help improve it. I wrote documentation for the API, designed a newer, simpler API, and was a helper at a Mediamatic dev camp. (More on the API work and the dev camp below.)

Skylines – 2011

Reviewed their PHP server code looking for SQL or security problems. Identified a variety of potential problems and outlined ways to fix them.

Film1 – 2010

Film1, a Dutch premium movie and sports broadcaster, hired me to update the television show listings on their home page.

Annotated Film1.nl

Mostly I just used some CSS-styled divs and jQuery to show the different daily schedules, though I also used Datejs to parse timestamp strings and to display localized date information. It works well on most modern browsers, though the progress bars don’t work in IE 7 or lower.

Liz & Vic – 2010

Hired by Automatique to make an API for this CakePHP-based shopping site, particularly with an eye towards integration with Magento-based webshops.

Little Chicken – 2010

Wrote some backend statistics pages for one of their Facebook Flash game in PHP.

EQUAL Networks – 2009-2010

Real-time sensor data processing, visualization. Scala, Lift, Flot. Also extended intermediate Java code, tested its processing limits. Use of multiple threads to be able to handle 100s of packets a minute. Even did a little Ruby on Rails tweaking.

EHGZ/Graphic Surgery – 2009-2010

Reused code developed for Dick Huigens, took the visual impact up a notch by using larger images with better JS navigation and use of full screen images on homepage.

LinkVive – 2009

Edo van Royen hired me to build LinkVive, a service to monitor and automatically correct broken links on websites. I hired Markus Törnqvist, an acquaintance in Helsinki, to build the site and together we developed a pretty nice little crawler and web service using Python and Django. Unfortunately the service didn’t get the traction Edo was hoping for and he has moved on to Study Flow.

Dick Huigens – 2009

CakePHP-based portfolio site for a respected Dutch landscape architect. Worked closely with designers to realize their vision, focus on images.

Twones – 2008

Hired to make an artist/music page for CakePHP-based web music scrobbling service. Got stats, extensive API work: YouTube, Freebase, Twitter, Flickr, etc. Also jumped into Top Played (etc) list pages because queries were taking AGES, completely redesigned relevant schemas (introduced aggregation tables), lead to SIGNIFICANT query speed improvements, simplication. Also rewrote some less-than-optimal PHP code to greater leverage the CakePHP framework.

Pride Life – 2008

Python, Pylons, SqlAlchemy. Hired by Tauri Tec to build site. Worked with front end designer, also directly with Pride Life staff. Pretty straight-forward project on my part, good introduction to another set of tools.

MobyPicture – 2007-2008

Legacy PHP + Perl code base. Essentially reversed engineered Perl email processing script, rewrote in PHP for maintainability + less complexity (only one language, plus I think I did a better job). Rush fixes and new features (e.g. additional API integration). Introduced much needed process improvements (version control, documentation). Once stabilized started designing architecture of new system from scratch. Goal to support all media (text, audio, video, image), modern features (tagging, groups, events, stream of friends’ photos). Decided to stick with PHP due to my and other developers’ comfort, then looked for best framework, chose CakePHP. Learned framework as developing. Also worked (maybe could say managed/mentored) remote coder.

Writing

Given my background in political science (I have a Masters in EU politics) and publishing (I edited a magazine and have worked at a linguistics publishing house), it is perhaps not surprising that I occasionally write in languages other than code. Projects include:

Mediamatic API Design and Documentation – 2011

Following a blog post on the anyMeta API, I was invited by Mediamatic to help them design and document a new, simpler API. The new API is now live and has extensive documentation on the Mediamatic website, all of which I wrote.

Van Hoboken PhD Thesis on Search Engines and Freedom of Expression – 2011

I edited Joris van Hoboken’s PhD thesis on search engines and freedom expression. Thanks to both having a technical background and being a native English speaker, I was able to follow complex technical and legal arguments and help him simplify and clarify arguments when necessary. It has been accepted and specifically received praise from reviewers for the writing.

Dev Camps

In addition to the community ones, I have also helped put on some ones for sponsors’ platforms:

Mediamatic IkSentric Dev Camp – 2010

Was an assistant helping camp participants use the anyMeta API.

BlackBerry Developer Day – 2010

Promotion

Bada Developer Day – 2010

Promotion

Vodafone Mobile Widget Camp – 2009

Programming, promotion, planning, day-of

Android Dev Camp – 2009

For T-Mobile, helped in programming, promotion, planning, day-of. Also Android demos to T-Mobile employees in Arnhem and Den Haag.