This week has been harder.
There’s a slight euphoria in releasing something that’s obviously broken. Last week the fear of failure was running through the entire team forcing us to move at lightning speed to get fixes and things of value out to users. It was quick fire, satisfying and totally unsustainable.
As a team we’re hyper-aware that Byrd can’t consume the team that’s built it and it meant that we had to slow down this week. It’s unsustainable to be pulling 12 hour days unless it’s a real emergency.
It wasn’t helped by waking up on Wednesday morning to see that not a single message had been received from Garmin overnight. One of the best things over the last 10 days has been waking up and seeing each day ever more activities coming through to the app and people building up their little worlds within The Wilds. Tuesday night not so much. I’ll dig into the details below.
Here’s what we’ve been doing.
Busting out of bug-shaped mazes
Ensuring no run is left behind
Increasing the resilience of our systems to better handle communications coming from third parties was at the heart of everything this week. Our Tuesday night outage was caused by the fact our systems weren’t responding in time with a 200 response code (the “everything-is-a-ok” response) and caused Garmin to hang up. Looking at the logs we believe almost all the activities that got caught up in that have been resolved.
To really dig into the weeds of it:
- We’ve created a new API endpoint that’s just listening to the pings coming in from Garmin.
- We respond immediately with a 200 once we’ve gotten that ping.
- We store the ping and use that as a trigger to ensure the expected activity file is received and will raise an error if it doesn’t.
Full credit to Garmin too for being super helpful in clarifying the problem. We know this works because last night we saw 105,000 activities come through to Byrd that had been languishing unimported before we made the changes.
Making The Wilds thrive in all conditions
There were a few bugs with The Wilds that meant if you went out running in the fog, mist or haze you’d get an error message saying ‘The Wilds has gone missing’. Not the experience we were going for. Alongside fixing that we also ensured that the correct time of day, weather and state of The Wilds was being used to create the image for each run. Our ambition is for the processed run view to give you a trip down memory lane showing The Wilds grow and change with your runs. That’ll now happen consistently.
Adding new layers to Byrd’s world
Having introduced some stability to the product over the last 10 days we’ve been able to focus on responding to the initial requests from our early users.
Top of the list was being able to share The Wilds. And it’s been cool seeing those videos start to make their way onto socials. It’s a proper buzz to get tagged in them so keep it coming!
The runner up was having the ability to add a custom everyday goal to track your time outside, the distance run, the amount of times you’ve been out running or the elevation gain. We added that in the release that came out on Tuesday.
Also high up the list has been evolving the onboarding process. We had quite a hard pivot last week to move all the third-party integrations until after the onboarding, but it does mean the manual data entry pages are having to do a lot of heavy lifting that they weren’t really designed for. We’re expecting to get these enhancements out at the start of next week.
From our end - because of the Garmin outage - we also added two new features:
- The ability to import FIT files.
- The ability to delete runs.
We heard from a few folk that they had gotten around the problem by creating a manual run but that created two issues. Firstly a manual run has substantially less data density compared to the activity that would come from your watch, or by recording a run with Byrd. Secondly when the data did come from Garmin it’d create a duplicate. With that in mind our release today (0.3.4) will let you add a FIT file - to give the granularity of the data from the watch and the ability to delete a run if a duplicate is created.
The week in numbers
This week we’ve…
- Had over 3,000 sessions on the app.
- Made 2 releases to Apple and Android.
- Completed 52 pull requests of new features or bug fixes (+20 on last week).
- Raised 46 tickets (and closed 64).
- Shared daily Instagram stories, posts and notices about bugs found and squashed.
If you’ve any thoughts, questions or comments on Byrd we’d love to hear from you.
You can get in touch with me on firstname.lastname@example.org. If I can’t answer the question Nina, Ellis, Polly, Dave, Toby, Adam, Rohan or Steve will certainly be able to.