
The Show Is Happening, Whether You're Ready or Not
I had made it to Morecambe and now we needed to get ready for the show itself. Even after my test runs around Soho, the app still needed more updates, and the deadline was getting closer.
The thing with a live show is that it has a fixed date that can't be changed. There are too many moving parts of venue availability, performer schedules, and audience availability to "just put things off for a few extra days while we polish things up." It's either ready to go and runs smoothly, or everyone might as well just stay home.
This was nerve-wracking but it also gave me great "the show must go on" drive and focus. Part of me actually found it exhilarating – especially compared to the never-ending slog of a lot of my business work. I can see why so many performers get addicted to that energy of "curtains up".
Bug Hunts
The basic flow of a NowHere app is straightforward: At a certain time the experience launches, and after some introductory material the participants are assigned locations to hunt for, continuing from location to location until the finish time arrives, when some concluding material is shown. Even so, it is surprisingly difficult to ensure everything works flawlessly. Because much of the app is guided automatically by the time of day and the user's location rather than user interaction, getting any event or trigger wrong can cause the entire experience to get stuck.
If you're on stage and forget a line, or a lighting cue goes wrong, you can muddle through and get back on track, possibly without anybody in the audience even noticing. If an app crashes or locks up, then the show is essentially over. The final stretch in this kind of project is endless testing and fixing and trying to cover all the random ways that things might go wrong. One misplaced comma or overlooked combination of events and it's literally game over.
App Store Headaches
One of the biggest headaches for doing live shows with an app component is that the apps have to go through the App Store review and approval process. Approvals usually take a day or so, but it's a very opaque process, and there's always the chance that a review will take weeks or get arbitrarily rejected. I had submitted an early no-frills-but-at-least-it-works version of the app with several weeks to spare, so we'd at least have something to work with. Unfortunately App Store reviewers weren't sure what to make of an app that wasn't a social network or pay-to-play game. Time started getting short while I provided extra explanations and even recorded video of how the app runs. Every round of submissions found some new quirk or question they would send back to me. At this rate, if we found any last-minute bugs the fixes might not make it through review before the show.
Contingency on Contingency
In case we got stuck still in app review on opening night, I decided to make a web version as well. I had discovered recently that the framework I was using (Expo for React Native) could now export to iOS, Android and into a regular web app, all from the same codebase. The app still needed some adjustments before it could publish to web properly though, which made for a frantic day of work right before the deadline - but at least we now had an extra backup plan just in case. The best thing about a web app is it can be updated nearly instantly and without requiring any capricious app review beforehand.
Having that extra last-ditch failsafe turned out to be extremely helpful.
Launch Party = Tech Test
We've found over the years of doing these kinds of projects that it's handy to have a "prelude" event before the full show begins. This gives people a chance to get familiar with how the app functions, but more importantly, it's a lower-stakes opportunity to ensure that the app runs smoothly on all the different devices that people might be using. The artistic and sometimes bohemian audiences that these shows attract don't always have the latest and most reliably updated technology in their pockets. For HereNowThis we had a launch event the night before the main show with some simpler clues leading to the Clarendon Hotel where there was some live music and refreshments. There was also me in a corner with my computer and various devices, ready to provide technical support in person or via email to anyone who needed it.
And it turned out an update I had done just the day before was causing Android versions of the app to crash right on launch. I was able to figure out the problem (a misconfigured Google Maps API key) and get a fix pushed to the Google Play Store, but until people got that quick update, at least I could point them to the web version of the app – I even set up a QR code to make it easier.
Here you can see me pushing a last minute change to the website while the opening act gets ready.

After the panic of the night before – and indeed because of the panic of the night before, the full show went smoothly the next day.
It Takes All Types
In the final stretch of coding and testing and publishing, I remember the other members of our team seeing all the windows and screens I was working on and saying things like "Wow I couldn't even imagine where to start to do this kind of thing!" I would then remind them that they were wrangling a dozen different venues, balancing an international coterie of arts and funding organizations, and directing strangers to act in emotionally intimate scenes, all in a production the likes of which nobody had ever done before – and I couldn't even imagine where to start to do that kind of thing. This kind of show takes all types of people to make it work.