Flashback: A 2013 Retrospective
Flashback: A 2013 Retrospective

Before we dive into the mysteries of 2014, it's time to take a look back at the interesting projects, clients, and things we accomplished at Affinity Bridge in 2013.
Our Clients
Affinity Bridge was fortunate to work with a variety of clients in 2013 who are actively trying to improve the world around them. We're proud to support, through our work, the important actions of organizations like OpenMedia -- in their efforts to safeguard the possibilities of the open Internet; the Girls Action Foundation, working to inspire action in the lives of girls across Canada; the Wilderness Committee, protecting Canada's biological diversity; the Midwives Association of BC, educating the public about midwifery care and supporting midwives across British Columbia; PeaceGeeks, empowering small grassroots organizations around the world with Project Amani; and the David Suzuki Foundation, with their mission to protect the diversity of nature and our quality of life by creating a sustainable Canada through science-based research, education and policy work.
Challenges of 2013
ForestEthics Tanker Tracker
We faced some interesting challenges in 2013 that called for creative solutions from our team. ForestEthics came to us with a good one: could we build a system that tracks the movements of oil tankers transporting diluted bitumen from the Alberta tar sands as they pass through dangerous channels and sensitive whale, mammal, and fish habitats in the areas surrounding Vancouver, Victoria and Puget Sound -- all in real time?
We produced a system that listens to international AIS messages (aggregated from AISHub) and translates all the data we needed to track the ships, locations, and movements that were important to the ForestEthics Tanker Tracker project. We then placed that information on a publicly available online map, while sending out Twitter notifications as ships moved through sensitive areas. For a detailed run-down see our post about the project, Tracking Oil on Water. It was satisfying and rewarding to have worked on such a complicated project and brought it all together in a modular, stable, and effective way.
Community KnowledgeKeepers
In our work with the Community KnowledgeKeeper project we had to find a creative solution for handling large geospatial datasets on multiple maps across a website. The various maps shared common controls and layers, alongside unique components and functionality. Unfortunately Drupal's OpenLayers module couldn't handle the technical challenges, and the site suffered from significant performance, user experience, and developer issues, creating long-term problems for maintainability and usability.
Our solution, which had to be done in way that integrated well with the project while maintaining existing functionality as best as possible, came in three components. First, we built a GeoJSON module for defining and serving GeoJSON representations of arbitrary geospatial datasets. Next, we created the Leaflet Framework module for defining map instances -- tying together controls, datasets, and layers -- in a simple and reusable way that works well with Drupal's code and module conventions. Finally, we switched to the Leaflet javascript library, which provided improved performance, simpler developer experience, and improved front-end for visitors' user experience.
Collaboration over competition: Living our core values
Collaborations were a big part of 2013's major projects.
We worked with Agentic on the Bulletin of the Atomic Scientists website redevelopment, taking a massive archive of Bulletin issues and articles, building them into a Solr index driven site that made it easy to manage and search content.
Partnering with Promotion Arts on the Gates Foundation's conference website was another big project early in the year, providing online tools to help people connect at the 2013 Teaching is Learning conference, and letting us exercise our responsive design skills.
And finally, working with CodeNameDesign to develop a resource sharing website for teachers that tags resources with Common Core standards, while providing tagging structure related to the Race To The Top (RTTT) challenge, was one of our most interesting and complicated challenges of the year.
It was great to collaborate with such talented professionals, and we're already working with some of them on new projects.
Being part of the community
This year we participated at different levels in community technology events like Portland's DrupalCon, Vancouver's Pacific NorthWest Drupal Summit, CascadiaJS, and NetSquared Vancouver.
Here are a few of the things we took part in:
- NetTuesday, Vancouver's NetSquared Community for Non-profit tech professionals -- Mack Hardy, Affinity Bridge's Director, presented on methods for using maps and D3.js for visualizing data and storytelling.
- DrupalCon Portland 2013 - Where our own developer Tom Nightingale presented on Mapping in Drupal, in the session Should have Made a Left Turn at Albuquerque: Building Maps in Drupal.
- Vancouver's Pacific NorthWest Drupal Summit 2013 - In addition to sponsoring and being part of the planning committee for 2013's Pacific Northwest Drupal Summit, we presented on a few subjects:
- Strategies and Tips for Building Enterprise Drupal Applications featuring Mack Hardy, Damien Norris, and Dave Tarc.
- Behat and Continuous integration in Drupal with Smith Milner.
- Multilingual websites with Robin Puga.
Onward to 2014
As we cross that bridge into 2014, we're looking ahead. We've started working in Symfony2, Laravel, and developing for mobile, with some great new clients as well as older ones that are taking on new ventures. We're expanding our knowledge base and learning how to use new platforms while we tackle intriguing challenges. It's going to be a fun year!