Two weeks ago I was fortunate to make my 3rd Above & Beyond Group Therapy milestone show at the magnificent Gorge Amphitheater in Washington State. Set over two days the celebration bought people from all over the world to the Gorge to celebrate the 250th Group Therapy Radio Show. Having attended both 100 in New York and 200 in Amsterdam I was blown away with how friendly the crowds were and wondered how I could get people even more connected.
Inspired by the numerous apps for WWDC to show attendees on a map for the annual pilgrimage to California, I kicked off a side project to map everyones journey from their hometowns to the Gorge. If you read our recent blog post on side projects you may notice that I have quite a few, so what’s one more? Everyone at Buffer is super supportive of side projects and even had a little help with some Android gotchas from Joe on our Android team along the journey.
Fans of Above & Beyond and their music label Anjunabeats are referred to as Anjunafmaily so I kicked off work on a ‘ABGT Family’ app. Using Firebase as the backend I was able to piece together an iOS version within a few days with some basic features with a few others planned for following updates.
- Shows friends who also have the app and have location enabled.
- Filter option to optionally show everyone whose enabled public location.
- Countdown to ABGT250.
- A general chat room for everyone to message each other.
- Chat with people from your country.
- Chat with friends.
- Ability to add friends using a username.
- View list of friends and their individual location.
- Tweets with #ABGT250 hashtag.
- General settings for location, signout etc.
Once I had it in a good state, I submitted it to Apple for TestFlight Beta Review and setup a invite page for people to request their own TestFlight invites. I then took to the Above & Beyond Reddit to invite some fans to check it out, within a few hours the map was already filling up with people heading to the Gorge from around the US. Along with comments from Android users requesting an Android version, great validation!
After a few more hours a comment from Anjuna HQ landed asking me to email them, the first sign that this little project might become a little bigger. Their first question was what the inspiration behind the app was and if I’d be open to developing it further. ABGT Family was using various pieces of branding and trademarks so they shared that they’d have to keep a close eye on it if it remained unofficial.
A few back and forth messages followed, mainly to address some privacy concerns regarding sharing location before we setup a Skype call to discuss further. This was the only call we had during the whole development of the app. Anjunabeats are based in London but being at Buffer I’m used to the usual timezone hurdles that come with remote work. The call went over a few other app solutions that are available, as well as running through what features would make the most sense for ABGT250.
Within just a few days of pushing ABGT Family out on TestFlight to a few fans I was now building the Official ABGT250 app for both iOS and Android. I have done very little Android work, only working on a single feature at Buffer and releasing a single Android app using React Native but I was hopeful after a few hours with Kotlin that I could piece it together on both platforms.
Communication moved to a Slack where everything has been discussed since. Often waking up to a couple of messages to answer in the morning before posting a bunch before the UK wakes up for their day.
I shared a Sketch file I had put together that spruced up the design a little now it was the official ABGT250 app with many of the new features we had agreed in place and a few old ones removed.
- Setup Social Accounts
- Location Permissions
- Notification Permissions
- Countdown to ABGT250 until setlist was agreed.
- Setlist and times nearer the show.
- Shows Facebook & Twitter friend locations.
- Ability to filter to show everyone who has public location.
- Any news items that would be useful for people attending the show.
- Tweets with #ABGT250 hashtag
- Instagram posts with #ABGT250
- Twitter and Facebook account connection.
- Settings for location and privacy
- Push Notifications Settings.
From ABGT Family we simplified things a little, removing the chat and the internal friends system in favor of fetching your Facebook friends who have the app connected along with Twitter mutual follows.
iOS moved quickly and was completed ahead of Android. Android being my first native app on the platform took a little longer due to me booking up on all things Android and Kotlin in order to put it together. One of the main challenges was figuring out tables on Android opting to use ListView’s initially before having the much improved RecyclerView’s suggested to me by some Twitter followers.
After a few weeks of development over weekends and evenings I had both the iOS and Android apps in a good state to test our with some users. This time the Reddit post got much more traction being posted by Anjuna themselves. Shortly after the map was really starting to fill up.
After tackling most of the feedback gathered through a Wufoo form we got the apps up on both the App Store & Play Store with 20 or so days until the show. I was able to monitor and submit releases to both stores independently, allowing me to tackle any issues that came up quickly and without any delays due to timezones.
Static content in the app was quickly converted to being dynamic and fetched from Firebase in order to make it easier to make slight copy adjustments as lots was still in flux in the run up to the show.
To avoid me having to be monitoring my phone during the show I also built out a little admin app one Saturday to allow Anjuna to add News or send out Push Notifications without my assistance. This was distributed internally using TestFlight and worked flawlessly.
In the run up to the show I also added a few remote configuration options to the app. Firstly, the ability to have location accuracy lower before and after the event but higher while at the Gorge. This helped with privacy concerns along with keeping battery drain down to a minimum while super accurate locations weren’t needed. Secondly, the option to enable observe value changes within the map to move peoples markers without having to refresh manually. I wasn’t 100% sure what effect on load this feature would have so I had the option to disable it if it became too much to handle on the Firebase side. Lastly, I added the ability to remove the Gorge marker from the map as I felt it would become obvious during the show where it was.
It was quickly time to head to Seattle and start my journey to the Gorge along with many other people. After the event I put together some animations of people migrating from their home towns to the Gorge ready for ABGT250.
While at the event we crossed 10,000 users with the app installed. Around 23k attended the event in total. Firebase held up well and crossed 700+ similtanious connections at one point, with spikes in usage when Anjuna sent out push notifications.
One unforeseen issue was that when device batteries die or devices are switched off the location services don’t start back up. So there will forever be people partying at the Gorge on the map. I have since found a few ways to combat this which I hope to implement in what I hope will be ABGT300’s app.
I definitely would encourage anyone with an idea to just do it and see if it sticks. I thought ABGT Family would just see use from some hardcore fans and never envisioned it would become the official app used by nearly half of the crowd.
I’d love to answer any questions or delve a little deeper into certain aspects of the project, if anyone has anything in particular they’d like to know more about feel free to comment or drop me a tweet.
We’re chatting about transitioning the app into a year round app to support Anjuna events around the world, to help bring the Anjunafamily together and create new friendships. As Above & Beyond type at their shows… Music Unites Us All.
If you need something to listen to while working check out the full 4K set here…