Time to Make a Fish! Err… a Wish! Behind scenes story of app design

FriendFish Advent Calendar

written by Joseph and Michael Moses

Joseph Moses is an Avenga contractor working as a NetScaler SA (System Architect) for a major IT client in Europe. In his spare time, he develops iOS apps and runs a small data center and a home lab. When talking about working with Avenga, Joseph said, “it has been an amazing experience, allowing me to utilize my unique Citrix NetScaler skills for a large Enterprise client.”

How it started

My company, Bonsai Entertainment, has been developing and publishing interactive content for many years. For the past 2 years, my son Michael and I have been focused on developing and publishing iOS apps.  We have recently secured a partnership with JMG Studio, run by creator and artist John-Marc Grob. John-Marc and I worked together years ago for a video game company in the USA.

John-Marc / JMG Studio has created the FriendFish universe and all of its characters – also known as “FriendFish buddies”. JMG Studio is the license holder.

In mid-2021, we started developing a FriendFish side-scrolling game with John-Marc’s assistance. The project is still ongoing. However, as we were working on the game, John-Marc came up with the idea of a 2021 Advent Calendar featuring all the “FriendFish buddies”.

So we re-focused our efforts to get the Advent Calendar out before December 01, 2021.

Collaboration

Working with John-Marc has been amazing. He is an accomplished artist, whose works are featured in comics, fiction and coloring books, clothing collections, and many more – all branded with his cute licensed characters. You can find many of his creations on FriendFish and on Amazon.

We started out with the idea of creating a standard “European”-style advent calendar, the kind you can buy in any store in Europe during the Christmas season. These have little windows with dates on them, and you open 1 window each day to reveal a specially shaped piece of chocolate.

Michael, as the lead programmer of the project, worked through all the technical challenges and he and I would have daily chat sessions to discuss and resolve any issues.

I acquired beautiful Christmas music from Kevin MacLeod (whom I have yet to meet) under an acknowledgement license.

Obstacles

With the basic FriendFish Advent Calendar completed, we quickly submitted it to the Apple Store and it was approved. We met our deadline! But soon after, we quickly discovered a minor issue – we had only included graphics for the iPhone. This meant that iPad users would get a scaled version of the app. It looked OK, but it was sub-optimal, so to speak.

We improved the app by including native iPad support, added new music controls, and re-submitted it. Apple rejected this as they said it did not offer “additional functionality”. This was partly true as we had only improved the app slightly and added native support for both iPhone and iPad.

This led to a new round of brainstorming. We came up with the idea of a dedicated Christmas music control section with changing lights – and even a pause button. 

We added a daily message from each “FriendFish buddy” when you opened the daily door. 

In addition, we added a ‘How to Draw’ tab in the app, which takes you to a series of short video lessons created by John-Marc. They aim to teach you how to draw various characters and objects.

With these features added, Apple did approve the latest – and greatest – version of the FriendFish Advent Calendar, and it is available 100% free-of-charge and does not collect any data.

Behind the scenes

Even though I own more than 12 Apple computers, including various MacPro, xServe Servers, iMacs, and MacMini models, none of them were capable of natively running the latest version of MacOS. The latest MacOS is necessary to run the latest version of Xcode, Apple’s free software development tool or IDE (integrated development environment).

This resulted in resorting to building a couple of Hackintoshes, and even Virtual Macs running on the VMware ESXi hypervisor. This worked well until we started working with Apple’s SpriteKit for games. SpriteKit requires GPU hardware acceleration. Without getting into vGPUs and GPU passthrough, we were able to use natively supported GPUs to resolve the issue. However, this soon became a bottleneck and I eventually had to buy the latest iMac with the M1 processor.

The M1 iMac is a fantastic iOS developer platform, and I highly recommend it over any Hackintosh or virtual Mac.

Working with my son Michael and John-Marc Grob has been a great experience. I would definitely recommend it to all fathers working in IT to encourage their children to ‘learn to code’. It can be the beginning of not only a great career for your children, but also a great way for you to spend time and work together as a family. My younger children were encouraged to test the app as we made progress. They also provided us with the much-welcome feedback – as they were in the target age group.

Back to overview