DEV BLOG / 19
Taking the game from a desktop to a phone
The same franchise, with a much smaller screen and a longer list of things I have to check.

The custom player creator joins a fairly busy game now. Taking that game onto a phone makes me reconsider which information really needs to be visible at once.
It also makes saving and returning to the game more important. A desktop window and a phone app have different ways of disappearing from the foreground.
What changed since the custom-player update
- Background work has explicit save ownership. A saved runner, bounded checkpoints and a single-owner lease protect the handover back to the foreground.
- Old jobs can be canceled. Stale work and abandoned startup paths have recovery handling, with an ordinary-package fallback where needed.
- Scheduled notices keep event timestamps. Returning later shouldn’t give an old event a misleading new date.
- The Windows companion has a prototype layout. Left or right docking, a narrow game column, a hidden football shortcut and an inward expanded workspace share the same session.
- Forms and scroll positions are retained. Compact and expanded views use the same actions and modal restrictions.
- Coach letters follow the football calendar. Occasional delivery, read archives and saved wording avoid a new letter appearing every time I reopen the game.
- The application has a native pixel-football icon. The launcher identity belongs to the same visual style.
- The private tester flow is explicit. A versioned local agreement, deliberate consent, Quit and clear report/data explanations have their own handling.
- Android readability has specific targets. Larger text, 48-pixel action targets, fitted navigation, chart labels and visible scrollbars address the smaller screen.
- Team and player names have more character. Stable team IDs support original mascots and emblems; seven naming styles include occasional silly names and mononyms.
A shared game still needs different presentation
The narrow desktop view is useful for keeping the game nearby. Expanding it should give me room to manage the roster without creating a second copy of the franchise. The same principle applies to the phone: preserve the game state, change how I reach it.
There has already been a control correction here. A global input interceptor was removed after it interfered with taps; portrait-specific activation and native scrolling were retained. Sometimes the sensible improvement is removing the clever bit I added.
Packaging is one step
An Android package and an install receipt are useful milestones. They don’t prove every background, notification or resume path behaves properly. I’m keeping those checks separate instead of declaring victory because an icon appeared.
That’s especially important with background advancement. The architecture exists, but dependable real-device behavior needs its own evidence. A phone can expose assumptions I didn’t notice on the desktop.
Next I’m moving into shared private leagues and the ways another coach can join one.
