2025 W50: Perfecting The End
Completing a difficult puzzle is a moment of satisfaction. It is that dopamine rush when you place the last piece and everything fits. This week we realized that our interface was… well, interrupting that moment.
In week 50, we dedicated ourselves to redesigning the “Game Completed” experience.
🛑 The Invasive “Popup” Problem
Until now, when you finished a game, a small dialog appeared forcing you to make an immediate decision: “Main Menu or Play Again?”. There was no option to simply close the window and look at the solved board.
For a visual logic game like Slitherlink or Hashi, where the final result is often an aesthetically pleasing pattern, this was a UX sin.
✨ The Solution: Freedom of Choice
We redesigned the PuzzleDialog component and rolled it out across all 10 games. The improvements are subtle but profound:
- “Close” Button: Now there is a third option. You can close the congratulatory dialog and stay on the game screen. You can zoom, scroll, and admire your solution. The “Completed” state remains, and you can invoke the menu again whenever you want.
- More Breathing Room: We increased the dimensions of the dialog (minimum 320dp). It no longer feels like a tiny Windows 95 error window, but like a modern celebration card.
- Total Standardization: We discovered that KenKen and Minesweeper didn’t even have a dialog (they just showed text). Now, all 10 games share exactly the same behavior and design.
🧹 Technical Cleanup
We took the opportunity to refactor how we listen for the “completed” event in our ViewModels. We replaced several “ad-hoc” AlertDialogs with our reusable component, eliminating duplicate code and ensuring that if we improve the design in the future, all 10 games will benefit automatically.
It is a week of visually small changes, but ones that respect the player’s effort much more. Because after spending 20 minutes solving an Expert Kakuro, you deserve a moment to contemplate your victory.