Sudoku on the Q Train

I don’t want world peace or a stable functioning democracy. I want offline mode for a sudoku game.

Starting with too much context upfront is always a warning sign so prepare for a whole host of warnings. I regularly enjoy games and puzzles on the NYT Games iOS app. Our family depends on it as part of the morning wake-up ritual. Our group chats are often tapestries of score updates and completion times.

All this to say I like the app and I am happy with it. But I can’t just leave it at that, because, *reasons*. There are changes, obvious in my mind of course, that would put it on stronger footing.

It’s easy to throw ideas over the wall from the outside. I know this. Their roadmap is not my roadmap, and likely for good reasons (they have actual data, I don’t). But if I could go through the hiring process, get on the Games team, commit some changes, and quit abruptly once it’s merged into the app, this is what those changes would be.

Offline Plz

On any day I am playing a game, I am also on the subway at some point. If I open the app between stations with poor or no signal, I can’t play at all.

This isn’t opening the app for the first time and needing an initial connection to download game data. That happened already. This is resuming the game I started at breakfast, paused, and now want to pick up again once I’ve found a seat on my Manhattan bound Q train. The data is already on my device. But when I tap the Sudoku, or Strands, or the Mini in question it returns me to this screen like this.

Playing a simple 47 year old game should not require an internet connection. This is not Counter-Strike 2.

Its unclear why this doesn’t just work. I could imagine a world where they insist on requiring analytics data to understand user behavior or game metrics. Sure, but that’s a solved engineering problem. You can queue up any generated events and deliver them once a connection is re-established. If there are concerns about timestamps being off (some services record time based on network request timing, not a passed timestamp) then yes, you’ve got some work to do there.

Still doable. If that work is huge, say a third party codebase you don’t control, then send what you can and simply log that the game was played offline at some point. I don’t think this is why.

In terms of impact on users, I don’t think there are too few to notice.

Some fuzzy back-of-napkin math: there are about 6.8 million active iOS app users in the US as of Q4 2024, which puts roughly 375,000 in NYC. Assume 40% commute, and 75% of those take the subway, and you get about 112,500 active users underground. Maybe only 10% of then use it at some point? Thats still 11,250 people. I don’t know how many are playing on their commute, or whether their route has deadzones. But I suspect enough are.

My guess is that the lack of offline support is an over-sight.

This suspicion is based that if they knew this was intentional they’d have added a “Back” button. Right now if you try to access a game offline and you get stuck and you need to quit the app or wait for a connection to do anything else.

Its a pity this is still a thing after so many years. Everything needed for the game to happen is already on the device.

Shortcuts

I care most about offline, but a distant second would be shortcuts. There are larger, more drastic directions you could go, but I am focusing on improvements to the current UX, not a whole new UX.

The app has grown over time. It didn’t start with all these games. Overall it is still neat and not difficult to find what to play.

This week I’m enjoying sudokus. Those are buried down and I scroll.

At minimum, add shortcuts at the top for games in progress. It resets every day anyway. I get that there is a purpose in making people scroll past games they don’t play, hoping to entice them to try one. You’d lose some of that. But not for a game already underway. Favorites would be nice too, but in-progress is the obvious one.

End of Roadmap

There are always things to tweak. Ask five people what they’d do and you will get five different answers. Ask me to rebuild this app from scratch and you will get something very different (and with offline support).

How hard could it be? 🙂