...and so I decided to create a chess training app for iPad.
...and so I decided to create a chess training app for iPad.
You'd probably think:
Oh boy, not another one. Dude, the app market's got a gazillion of those, it's like finding a needle in a haystack. Get real, go do something practical, like working at a rubber duck factory... and so on.
Fair point! I've mulled over that one a few times myself. But hey, fate had its own plans, and there were just enough reasons to dive into creating this chess app.
It all kicked off when they set up a chess club for employees' kids at work. Great move, by the way! And suddenly, I find myself trying to recall what castling even is. It's been what, 25 years since I last played chess? So, needless to say, it was quite the adventure. Around the same time, I got this itch to dive into SwiftUI - Apple's shiny new user interface framework. I'd experimented with learning new stuff through tutorials before, but let's just say, it wasn't exactly my cup of tea. So, I figured, why not learn by doing? And what better project than a chess trainer for the little ones?
So there I am, hunched over my MacBook, scratching my head. The ideal start would be diving into chess logic, teaching the program how to castle and all those fancy legal moves (en passant). But hey, since my aim is to master making interface for iOS, I opt for shortcuts. Found the simplest open-source chess logic written in Swift, slotted it into my project, and started crafting the board and pieces. By this point, you might've guessed, I hadn't the foggiest idea what kind of trainer I was making. Still trying to wrap my head around whether I could even pull off the basics of chess functionality.
A few days later, it dawns on me that whipping up the app isn't rocket science. But coming up with a killer idea for a chess training app? Now, that's a whole different ball game. Right from the start, I vowed not to crib ideas off the internet or other chess training apps. I wanted this idea to sprout organically, through trial and error. No grand requirements for the app either. Just wanted it to be kid-friendly, for those kids who haven't quite mastered reading yet.
Watching the young'uns play chess, I realized that at the beginning of their chess journey, children completely overlook hanging pieces, both their own and their opponent's. So, I reckoned, why not kick off the trainer with a scavenger hunt for hanging pieces? And just like that, a mere 10 days into the grind, I birthed my first prototype. It had a bunch of exercises, all about spotting those hanging pieces.

I didn't know where to get real positions for the exercises, so the positions were generated randomly and were very unnatural... And guess what? The exercises were as dull as dishwater. Neither I nor the kid felt like diving into those. But hey, after 10 days of deep diving, I ticked off my goal: learned some SwiftUI, spent quality time with the kiddo, and hey, maybe even honed my chess skills a tad. The chess training app was born, but boy, did it need some tweaks or perhaps a complete overhaul. And with that cheery thought, I decided to hit pause for a couple of months, pondering whether to continue with the trainer or chase a different dream.
To be continued (or not)