Sudoku retrospective.

I started building a sudoku game for Android in 2012, and it continued as an intermittent side project over 8 years. However, I don’t have any plans to develop the app further, so I’ve released the source code before moving on to new projects.

Building

I’ve been developing Android apps ever since I got my HTC Hero in 2009, but 2012 was when Android development really got exciting. It became a viable career niche. I was working on the mobile apps team at The Guardian, and the Android platform itself was starting to migrate from phones to tablets and other devices.

It was around this time that some Android apps started to feel truly polished. The sci-fi Holo design language marked the beginning of Google getting opinionated about Android UI patterns, and it heralded a wave of flat UIs with neon accent colours. At the time, it was a welcome change from skeuomorphic designs copied wholesale from iOS apps – they never felt quite at home.

Google Play had plenty of sudoku games to offer already, but they were overcomplicated, cluttered with ads, and often demanded invasive permissions. I started building a minimalist alternative inspired by the simplicity of printed puzzles and the system apps in Android 4.0.

Holo Sudoku featured on Google Play in 2013

It was a huge thrill when the game was featured on Google Play a few months after release. A week later, it had been downloaded over a million times. I’d worked on a couple of high profile apps by this point, but it felt special to see something I’d created by myself on the front page of the app store.

Learning

I returned to this project almost every year, whenever there was a significant evolution of the Android platform. Migrating the codebase from Java to Kotlin was one of the bigger efforts. This project accelerated my experience with the language. It’s been a handy testbed for putting all sorts of patterns and tools into practice. It kept me moving at the pace of the platform and the Android community.

Screenshots of the last version of the game

Given the initial release leant so heavily on the defaults of the Holo design language, it was natural that the game would later evolve into “Material Sudoku”. Google announced Material Design in 2014 and I jumped right in, redesigning screens to make use of cards, elevation, and bold blocks of colour.

Winding down

When a side project starts to feel like a chore, it’s time to consider downing tools. I’m no longer excited about building a sudoku game, but I hope somebody will fork the project or learn something from the codebase. It’s been a fun ride.