Modern robots float, right?
Sudoku was recently updated with a fresh new material design. The app icon stood the test of time. It dated back to 2010 when I was building Android apps in my bedroom at University. But a lot has changed since Android Froyo. It was time for something clean, modern and material.
Guenther Beyer of Opoloo designed the original icon. We talked over some ideas for an update and agreed that it was important to maintain it’s personality. People seemed to relate to the robot character. It stood out, and that’s critical in a highly saturated category like sudoku.
My favourite detail of the new version is the paper fold. Paper is the basis of Google’s material design language, but it also relates to the motivation behind the game – it should feel as simple as pencil & paper.
The importance of a great icon shouldn’t be underestimated. Sometimes it’s your one shot to make an impression, and begin to tell a story about what makes your app different from the rest.
Download Sudoku on Google Play
Holo Sudoku is now Material Sudoku. The game has been completely redesigned with a material theme. It also features improved support for some tablet screen sizes, including the Nexus 9.
Download Sudoku on Google Play
This update brings Google Play Games integration and a series of UI improvements.
Download Sudoku on Google Play
Google Play Games
- Collect achievements
- Compete in leaderboards
- Never lose completed games with cloud save
- Completely redesigned scoreboard
- Hide completed puzzles from lists
- Improved tablet layouts
- Disable solved digits (optional)
- Clear all notes
The sudoku solver has been unbundled. It continues to be available as a separate app on Google Play.
Download Sudoku Solver
Awkward full-width list items are a common problem when layouts designed for phones screens are scaled up to tablet sizes. Multi-pane layouts and margins are a couple of simple solutions.
I even took a shortcut on the new multi-pane level selection. It’s just a separate PageIndicator implementation for wide screen layouts. On phones you get tabs. On landscape tablets you get a list.
Other screens have been modified with margins when they extend beyond 620dp in width.
These tablet optimisations tie in nicely with the Google Play Games cloud save integration. Users can now split their game activity between multiple devices, with a UI optimised for each, and without ever losing their game progress.
The 1.3 release is almost ready, so this post concludes the series. Head over to the beta community to try it out!
It would be fair to call the old scoreboard screen “engineer design”. All the right information was there, but it didn’t provide much value. It hadn’t been designed from the user perspective. It was text heavy. It was awkwardly balanced. It displayed empty cards for levels that had never been played.
The card paradigm makes sense here, but the content needed to be rethought. The screen also lacked an overview of progress. I sketched out some new card ideas to answer questions like: How many games have I played? What level were they? What’s my best time?
A new summary card provides a helicopter view of progress in the game, with the total number of completed puzzles. The graph animates as you land on the screen, visualising the level distribution of those puzzles.
This screen is now home to the Google Play Games features too, making it the single location for progress and competition.
The score cards themselves mirror the summary card, displaying the total completed games for each level. The stats are close to their descriptions, making it easy to extract the best and average times at a glance.
The padlock icon on this in-app purchase list item was intended to reflect the puzzle pack state, but it often caused confusion. Sometimes a purchase would fail and the user would ask: Is the pack locked? Do I need to unlock it to buy it?
The alternative was to mimic the buy button style from Google Play, giving us the illusion of tighter integration. Now the purchase flow feels like it starts with puzzle pack selection, rather than in the subsequent pop-up dialog.
The resulting layout is cleaner and more familiar. It removes a source of confusion in the worst possible place. It’s a neat example of a high impact change from just a couple of small layout updates.
The next update of Sudoku will be the first to target Android 4.0 and above. This means that 17.5% of the current user base will not get the option to upgrade, but it also means faster iteration in a cleaner codebase.
The analytics data suggests the Android 2.3 users are disproportionally less engaged with the game, producing only about 10% of sessions. The return on investing that extra ~30% (gut feeling) of development time in backwards compatibility was dwindling. Moving to minSdkVersion=”14″ allowed dropping several compatibility dependencies and provides more opportunities to use newer APIs.
The experience for the pre-ICS user is not that bad either. They’ll continue to be able to use the current, stable version of the app. Around 12% of new installs on any given day are Android 2.3. Those users may never get the latest features, but the other 88% will get them a whole lot sooner.
This begins a series of posts following progress towards the next update of my sudoku game. Version 1.3 will bring Google Play Games integration and a series of UX improvements. I’m going to write about the latter here.
Simplicity is at the core of this particular sudoku game. I receive a lot of feature requests, but only pursue ones that align with this goal: simple, beautiful sudoku for Android. The next release features two often-requested enhancements. Completed games can be filtered out from puzzle selection. ‘Solved’ digits are automatically disabled during gameplay.
I also spent time examining the performance of existing features to see what wasn’t being used and what didn’t quite fit. Two features have been cut. Analytics showed that a setting to turn off conflict highlighting was almost never used. The solver screen was also removed. It always felt a bit like clutter, so it will continue as a separate app.
This is first time I’ve really planned a release of the game. A little analysis of the feature set really helped me to focus on the important bits and keep an eye on creep.
Building a game for fun
Back in November, I was browsing games on a boring 4 hour train journey. There are a lot of sudoku games on Google Play. Some of them have respectable ratings and millions of downloads, but none of them felt right to me. They didn’t feel at home on Android, so I started to sketch out what a sudoku game could look like with the Holo design language.
I didn’t want fancy graphics or complicated customisation options. I wanted something clean, simple, flat, familiar and content-first. This quickly became something I was going to do. The game in my head seemed so obviously missing. I tweeted my fear that I was about to sink a lot of time into something people would never find in such a saturated category. Okay, maybe not quite a stroke of genius, but I was excited.
When the train arrived, I had a project on GitHub and a really clear idea of what I was building. The first version took two months of spare evenings and weekends. I finally had something that I was comfortable releasing and hit the button on Christmas eve.
I was on that same train last Friday when I noticed a bunch of crash reports for the game in my inbox. I’d never had two on the same day before, so I loaded up Google Play to check the featured section. That was a bit optimistic, really, but I knew that the featured apps changed on Fridays. It had happend! The game has been downloaded over half a million times since then.
I’ve worked on a couple featured apps before, but this felt different. It’s always been as part of an incredible team. This was just me. It wasn’t my job. I did it for fun, in my spare time.
Taking it places
The sudden influx of users has brought a lot of great feedback. I’ve read every email and comment. They’ve been amazingly helpful in planning the next couple of updates. There is definitely more to come.
Download the game and let me know what you think.