About eight years ago, I started working on iOS development. Back then, my apps would sit in Apple’s review queue for weeks, only to get rejected on some small technicality. Today, things are way different. Now, Apple is much faster at rejecting my apps. But despite the tedium and frustration, I managed to get back into the game. For the first time in years, a new Photics app is available on the iTunes App Store and the Mac App Store.
Circles with Grandma is now online. Even though these are technically two separate apps, one for Mac and another for iOS, I’m still only counting them as one. It’s what Gimli would say, like in Lord of the Rings: Return of the King.
That still only counts as one!
This app is my MVP. And even though Grandma was the star character at Photics this year, the acronym means something else in this context. Circles with Grandma is a Minimum Viable Product. The idea was to get creative again. Instead of imagining what would be the most awesome game ever, or the best project ever, I just wanted to make something fun and to escape the trap of grandiose ideas.
And even though I tried to keep the project simple, there were massive challenges.
- WKWebView – A lot has changed since my first iOS app. While I’ve released WebView apps before, Apple has changed a lot. Objective-C is slowly being replaced by Swift. But even within Swift, there are significant difference between each version. These changes happen annually. It was a lot to relearn. And even though WKWebView is supposed to deliver more performance, it didn’t work as expected when playing audio – especially with loops or Speech Synthesis. This leads into issue two.
- Sounds – Using JavaScript, HTML and CSS as the core programming language does simplify cross-platform issues. Yet, problems were still to be found. Web Development is getting more strict. Safari doesn’t like it when you play music on page load. That change is great for users who hate annoying banner advertisements, but it’s lousy for game developers. Additionally, Hype is very good with cross-platform compatibility, but that doesn’t include WKWebView.
- Xcode – I actually like how this improved. Managing provisioning profiles and signing apps was quite the cumbersome process. Today, this is somewhat simplified. But now, there are things like bitcode. That future proofing feature seems to make it more difficult to upload iOS apps. I’d wait for Apple to finish processing my app, only to give up and then just upload the app again. The Mac App Store doesn’t seem to have this problem. There are issues on the Mac side, such as sandboxing, but Mac App Development was easily the easier of the two.
That leads into the main reason why the two separate apps only count as one. It’s because most of the effort, and most of the money, is in iOS development. And while they are technically two separate apps – it still counts as one!
It feels really good to be creative again. A lot of problems were solved and unsolvable pitfalls were identified. The lessons learned here will make subsequent WKWebView projects much MUCH easier. There are significant issues with a WKWebView approach to game development, but it is consistent with the goals and estimates of the master plan. I suppose that the “10-year Mission” is a grandiose plan, but somehow it seems obtainable. At least, the goal is a little bit closer now.