The Curious Case of the New Tracking Tab

You may have noticed a new tab at the top of the page when you opened TeamSnap today. It’s a feature called “Tracking,” which lets you set up an arbitrary number of items to track with checkboxes. For instance, you could track who has turned in their insurance forms, taken a turn washing the jerseys or returned a required permission slip.

How this new feature came to be is an interesting lesson in software development and tuning in to how people really use your Web application. We’ve always known that it’s important to listen to our customers, but in this case we had to listen to what our customers were doing, not just what they were saying.

A Little Background

A few months ago we embarked on a project to redesign our Payments area. Since TeamSnap’s launch, Payments has had a simple interface for recording which players completed payment of team fees, using a series of checkboxes to record paid or not paid.

Over the years, our customers told us loudly and clearly that they wanted additional features from Payments. They wanted to be able to record partial fees received, adjust the amount that individual players owed, mark certain players as not owing a fee, and include notes with each transaction. They also wanted to be able to pay online.

While our mantra at TeamSnap has always been to keep the software simple and easy to use, we could see a lot of merit in what our customers were asking for. Clearly, Payments wasn’t really meeting the needs of a lot of our teams. We worked for several months on an all-new Payments tab, replacing the simple checkboxes with actual dollar amounts, which could be adjusted via a pop-up window (including partial payments and notes). It was more complicated, but much more powerful. Our test users told us that they couldn’t wait to use the new features.

During a late round of testing, one of our users tripped a bug. Under the new Payments system, entering a fee without a dollar amount caused an error. It turned out that, under the original Payments tab, the system would happily accept fees without an amount due. We don’t recall exactly why we originally left it that way. Maybe we figured people sometimes wanted to enter placeholder fees before they knew the exact dollar amount. In any event, because the original system only dealt with paid/not-paid checkboxes, it made no difference if you entered an amount or not.

The new Payments system, however, does a lot of math to display team and player totals owed, and a blank fee causes errors. It was a quick fix to require an amount owed.

But what to do about any existing users who had blank amounts? We couldn’t leave the amounts blank – that would cause an error. And it wouldn’t make sense for us to arbitrarily set a dollar amount just to avoid errors. We took a peek in the database to see if there were any existing fees with blank amounts.

Outsmarted by Our Users

There were existing fees with blank amounts. A lot of them. And further investigation revealed that a lot of the “fees” were things like “Forms Submitted” or “Agreed to Code of Conduct.” It turned out that a healthy percentage of our customers had noticed that the Payments section was really just a screen of arbitrary checkboxes that could be used to track … well … anything.

And our new Payments upgrade was about to break that for all of them.

We discussed a number of options, none of which were very appealing. We could arbitrarily set all the blank fees to $1, which would leave users seeing “$1” or “Paid” instead of checked or unchecked. Yuck.

We could email all these customers and tell them we no longer supported this “feature” they’d discovered, giving them time to find an alternate off-line solution. Double-yuck.

We could scrap the new Payments upgrade. Uh, no.

The Obvious Solution

We finally realized that the obvious solution was staring us in the face: Re-purpose the old Payments tab into a general purpose Tracking tab. If that many users were using the Payments checkboxes for an unintended purpose, we suspected many more users would love to have an officially-supported place for tracking tasks and items. We fired off an email to our users who had empty fee amounts, and they heartily endorsed a solution that would let them continue to track with checkboxes.

Creating the new Tracking section turned out to be an easy task, and didn’t delay our plan to roll out the new Payments tab this week. We thought we were just going to be giving our customers a Payments upgrade, but it turns out we’re also rolling out an entirely new feature that we didn’t know we already had.

Listen to What Your Customers Say and Do

This isn’t the first time our customers have surprised us with how they use the product. Shortly after launch we discovered that many customers were using the Jersey Number field on the roster to list other player information, which was the impetus for us to roll out Custom Roster Fields. And though TeamSnap was originally conceived of as a sports-only platform, we quickly discovered that it was being used by scouting troops, choirs, book clubs and moms groups. To better support those customers, we created the “Non-Sport Group” designation when choosing your Sport or Activity. Making that choice enables some subtle changes to the user experience, such as modifying language like “Team” into “Group” and “Roster” to “Members,” as well as hiding things like Games and Statistics which make no sense outside a sporting context.

The lesson learned: Don’t just listen to what your customers say, but also listen to what they do.

Create Your Team Today!

It’s Free and Free is Good!