Mobile app · interaction design · cross-team collaboration

Dog Tracker app /
adapting to unexpected constraints and realigning the team

A GPS tracking app where a lot of the design work turned out to be about constraints nobody had written down yet, and about helping three teams work together again.

My role

Product designer, later acting UX lead

Ownership

Task flows · route history · QA process · cross-team communication

Team

UX lead (later left) · visual designer · project manager · client · external developers

Platform

Native mobile, iOS and Android

A GPS tracker for dogs with a companion app: where the dog is, an alert if it leaves a set area, and a way to look back at where it's been. My first project at the agency. I joined when the designs were nearly done and the team was preparing to hand everything over to the developers.

My German was still a work in progress then, so much of the project ran in English with the external development team. Working in a shared second language turned out to be a small advantage. It kept things plain, and made everyone a bit more patient.

01

Task flows and handover. I took over the flow documentation from a colleague, cleaned it up, worked through the interaction details and wrote the descriptions the developers would build from. It was a waterfall setup, so everything went across at once. In hindsight that meant the developers got a large specification with no chance to question it while it was being written, which is a lot to ask of any team.

02

Route history. While the build started, the client asked for a new feature: a way to see where the dog had been. Pick a moment on a slider and see the position, or pick a range and see the whole path. I designed the interaction model for it.

Tracker app designs showing the route history feature, a dog profile and a geofence alarm

↑ Home screen, dog profile, virtual fence and route history features

03

The first beta. Rougher than any of us hoped. The build had real gaps against the spec, and at the same time all of us, client included, were learning things about the hardware that would have been useful months earlier. The GPS was less precise than assumed. The geofence alarm could fire while the dog was still inside the boundary. Pairing between tracker and phone failed often, for reasons spread across the client, the developers and the manufacturer. A good part of what we'd designed had been drawn for a device that didn't behave that way.

04

Communication. Under that pressure the conversation between the agency and the developers narrowed to email, and email to positions. It's an understandable place to end up when two teams are each being held to something the situation doesn't really allow. My UX lead felt it wasn't our role to make the developers' work easier, and there was a fair argument for that given the contract. I saw it differently, though I raised it carefully, being the junior person in the room.

05

The lead leaves. My UX lead moved on from the project and the office. I became the UX presence on the team and carried the collaboration with the client and developers for the remaining months.

01

A QA process that was easier to act on. I rewrote how we documented issues. Structured and specific so as to reduce misinterpretation. For complex or repeated issues, I provided more specific details. The first-time-user flow was a critical case. It had been built several times and come out wrong each time, so I documented every action and every path, reducing ambiguity to a minimum.

Snippet from first-time use flow documentation

↑ Snippet from first-time user flow documentation

02

Changing how we talked. I pushed for regular calls instead of threads and offered to walk the team through anything that kept reappearing between betas. Internally I argued that their constraints were real, because they were. Once we were talking rather than writing we got further in an afternoon than we had in a fortnight, and I think both sides were relieved.

03

Designing for the hardware we had. Where a limitation was genuinely fixed I worked with it. Looser geofence tolerances so the alarm stopped firing on a dog that hadn't gone anywhere, and in-app wording that was honest about accuracy instead of promising precision the device couldn't deliver.

04

Still improving the product. Alongside that, I kept filling gaps in the concept. A proper dog profile, for one, so a tracker belonged to a specific animal with a breed and characteristics rather than to an anonymous device.

Constraints arrive late

You design without knowing what the hardware can do, then rework it once you find out.

Disagreeing well

Taking a different position from someone more senior, and keeping it about the work.

Three parties

Three sets of priorities, none of whom reported to each other.

No clean ending

Carrying on when there isn't going to be one.

Route history

designed end to end

QA

process rebuilt

Acting lead

after the UX lead left

The client cut the budget and the design team came off the project before launch. Some of the technical problems were never solved. What did change was how the teams worked together: a QA process that produced fixes rather than arguments, a working relationship that had become collaborative again, and a concept that had been tested honestly against what the hardware could actually do. It's still one of the projects I learned most from, and I'm greatful to the people on the other side of those calls for meeting us halfway.

Next case study Accessibility task force