Monthly Archives: June 2017

Game Over – End of the Trivially Era in the iOS App Store… (and now open sourced!)

What’s the average lifespan of an iOS app?

Our Trivially app first appeared in the iOS App Store on 6/30/2011. This version relied on Bluetooth for communication with players, requiring the use of the companion Trivially Remote app.

Frankly, it worked just OK… but Bluetooth wasn’t really suited for what we were trying to do with it.

A complete rewrite ensued, moving to a web page-based experience for players that communicate with the iPad console app via Web Sockets. This version first appeared in February, 2012.

It supported in-app purchase of additional trivial contests, and a completely new UI design, designed around the fabulous and fun art of Ed Fotheringham.

Six more updates followed, adding the ability to download custom contests created in Google Spreadsheets. The last update, 2.6.5, appeared in the App Store on 2/22/2015.

It was challenging, and fun, to figure out how to deliver a web-based experience to as many remote players as possible; the solution we settled on was to serve the web experience from the Trivially app; the app includes an embedded web server (based on Cocoa HTTP Server), with player responses from the web page communicated back to the app with very low latency via Web Sockets. It works pretty well!

Somewhere in there, based on requests from a number of customers, we offered Trivially Pro.

Like Trivially, Trivially Pro allowed customers to create contests with their own questions and answers. However, Pro took this one step further, allowing customization of the appearance of the app: colors, photos, video, text, fonts, and so on. For the initial version of Trivially Pro, we worked with a customer who had a set of very specific requirements in mind; as we figured out how to support their requirements, we made sure to generalize the capability so that all customers would benefit. We think that as a result of this close collaboration from the start, the initial version of Pro, which appeared in the App Store on 7/20/2014, was an especially robust app.

Unfortunately, we never got around to adding multi-user capability to Trivially Pro… it started as a single-user experience and stayed that way. The intention was to scale beyond Trivially, which requires users to be on the same Wifi network as the iPad and limited the number of users to 11. We actually spent quite a bit of time exploring high-scale options for a multi-user experience, and settled on using Firebase. We probably got to about 70% of a complete implementation, but never completed it. We think that a Firebase-powered Trivially Pro app should have been able to scale to about 20-30 users on a new iPad (and higher on newer iPad Pros).

We’ve heard from many customers over the past 6 years; it was gratifying to hear how our apps were used in schools, bars and restaurants, community gatherings, conferences and companies, for trivia nights, to help teach kids, entertain wedding guests, kick off business meetings, or draw in convention-goers. 

However, as the code base enters its 7th year, as we face the fact that a new round of investment is needed to keep the apps competitive and modern… we’ve decided to retire them from the App Store. It’s unfortunately, but we’d rather make a clean exit than risk exposing customers to a poor experience.

We also decided to share the source code on GitHub (Trivially, Trivially Pro), in the hopes that someone might find something useful or interesting there. The GitHub repositories aren’t complete; for instance, the graphics assets aren’t there. But 35k lines of CoffeeScript you’ll find there that represent the core of the apps might be interesting to browse, or learn from. We hope it helps someone!

Thanks to everyone who helped make these apps a reality… many people helped directly, and many helped in any number of small but significant ways, along every step of the way.

And thank you to our customers, who provided great feedback and showed us how our apps were injecting some fun into everyday events.