Trolley Tracker: Building & Launching a Volunteer Application

Jeremy Wight
5 min readFeb 2, 2016

--

Code for Greenville Launch

18 Months ago (in Summer 2014) a group of volunteers gathered for the launch of Code for Greenville (AKA Greenville Code Brigade). We kicked off with food, a great crowd of 40–50 people, excitement and lots of ideas about how we could use our diverse skills to make Greenville, SC a better place! There were Developers, Designers, Analysts, City Workers and more, all willing to offer there skills to conquer this brave new world. After brainstorming ideas we broke into teams to begin focusing our efforts on solving a few specific problems.

I gravitated towards a problem which started me down the path of leading the team through the ideation, design, development and launch of the Greenville Trolley Tracker application which tracks our free downtown trolleys.

Initial Push

Within two months of deciding on the project undertaking the crowd had thinned a bit, but we had good momentum with about 10 people working on the project. I was leading the Trolley Tracker team as PM and we had an MVP outlined (although much would be trimmed before Beta).

Original Wireframes

With wireframes completed and mockups underway, based on our progress my hope was to have our MVP out to Beta by the start of Summer 2015. If we could hit our Summer target ridership would be high and we could gather good feedback which could be implemented in the Fall and Winter, for a nice research-based iteration cycle.

The Slowdown

With everyone busy during the holiday season, coming back in January 2015 we had lost a lot of the crowd. This didn’t bother me, being experienced in leading volunteer teams I’m acutely aware that the crowd is not what you need,

Crowds are great for brainstorming and ideating, but great things are often built by the few.

Trolley Tracker Hack Night

Unfortunately we did lose a key player and team member, in Wryen Meeks. The founder of Greenville Code Brigade was now to busy in his new Product Management role to continue leading. So in Jan. 2015 I found myself with a smaller group, and two primary projects keeping the org moving forward as I continued to act as PM for the Trolley Tracker project. As we progressed through the Winter and Spring 2015 we faced several external issues which delayed our progress.

Minimize External Dependencies

To accurately track the trolley we couldn’t just develop a software solution. For something so seemingly simple as tracking a trolley, we had to implement a fairly complex solution: hardware on the trolley, tracking it’s location, a software agent application sending those coordinates, consistent internet service to make sure they were received in a timely manner, host applications for the users to view the trolleys, and an API to connect them. Adding to the complexity was the fact that these devices were housed on city property (without direct access to monitor and control them as we needed) and managed by a third party vendor causing slow feedback loops and thus slow downs in our progress.

The more you can minimize external dependencies and the quicker your feedback loops, the faster you can move.

After isolating the primary source of our issues (stemming from poor internet connection shared by the VAR’s device and service) we removed that dependency by replacing the device and service with something we could have full access to monitor, control and configure.

Troubleshooting Internet issues on the Trolley

Traction

In the midst of our delays I kept encouraging the team that if our solution works, we will get the support to purchase the devices and internet service we needed, and that’s exactly what happened in late Summer 2015. Greenlink had long been supportive of our efforts, and now seeing the progress we were making, some key players were able to get us the equipment and access that we needed to solve the issues quickly. Once we had the proper devices in place with cell based internet service, we were able to accurately track the trolley hitting a major milestone for us as a team.

Beta Period

In Sept. 2015 we saw our first full day watching the Trolley Tracker app
track the trolley’s successfully. It was a great day for us all! It was the realization of a years worth of effort, but we knew we weren’t ready for general release yet. We spent the next few weeks troubleshooting minor issues which we could only discover in actual operation. Once we got a couple weeks of consistent tracking we opened up the Beta pool.

iOS App in Beta

During the beta period we discovered only a few technical bugs, but equally as important we discovered the operational element of how we would manage the application in coordination with Greenlink. Questions which came up such as:

  • How do we easily keep the schedule up to date?
  • What happens when apps want to update and use all the bandwidth?
  • Did someone forget to plug in the power?
  • What happens when their is network latency?

All of these and more we discovered once in operation, but these were all minor issues to us. We were doing it! We were tracking the trolley! And the Beta feedback was overwhelmingly positive! After a few weeks without any hiccups, we decided it was time to launch!

Launching the Greenville Trolley Tracker app

In early Jan. 2016 we officially released the Trolley Tracker Android and iOS applications, as well as a limited web application at http://yeahTHATtrolley.com. This was the culmination of over a years worth of effort by a handful of dedicated volunteer developers partnering with the City of Greenville (Greenlink specifically) to offer a free and open-source application that users can use to track the free downtown Greenville trolley. At the time of publishing Feb 1, 2016 we have had over 1,000 installations of our application, which in a smaller city like ours we consider a HUGE win!

Excited about what we are doing and like to join us?

Get Involved!

Code for Greenville Meetup

Download the App

Join us at a Meetup

Contribute Code

Fuel the Code! (Sponsor a Meetup)

About Jeremy Wight: Professionally I am an Engineering Manager at InVision, the world’s most loved design-prototyping and collaboration tool! If you are the best at what you do we are always looking for great people to join our team!

--

--

Jeremy Wight

Creating incredible products that produce tremendous value. VPE @caremessage Mentor @PlatoHQ Past: Co-Founder @thebaseapp | Eng Leadership @invisionapp