Niels Vanspauwen is one of three co-founders of the mobile game studio Kidimedia, whose self-titled children’s app is fast becoming popular in the App Store.

Below, Niels describes how the full-time duties of being dads made the Kidimedia team desire a quick and efficient means of developing apps without sacrificing an ounce of performance or quality.

And with Corona SDK (as he writes) they found a winner!


Niels Vanspauwen, Kidimedia

When Steve Jobs announced the iPad in January 2010, the first thought that crossed my mind was “This is going to revolutionize education!”

Being a geek dad to three young kids, I had already witnessed first-hand how easy it is for them to operate an iPhone. The combination of the touch screen, the accelerometer, and Apple’s relentless focus on usability resulted in a class of devices that is totally natural for kids to interact with. But the screen size was a limiting factor — at least, until the iPad came along!

I jumped on the opportunity with two friends, determined to play a role in this educational revolution. All of us have a long background in hi-tech software engineering. Because we all have families to support, we had to do it by burning the midnight oil. We evaluated different options:

  • Objective-C: Too weird, too cumbersome. I have over 10 years of professional C++ experience, but ObjectiveC just makes my eyes bleed.
  • HTML5 and Javascript: Way too slow for anything but the simplest of animations.
  • Unity3D: Too complex for 2D.
  • iPhone Wax: Supports Lua, but doesn’t do anything to make the iOS API’s any easier to deal with.
  • Corona SDK: Simple, fast, cross-platform, nice language — we have a winner!

Kidimedia "quality control laboratories"

Working in Corona is the best fun I’ve had in 10 years. Not only that, but it’s also been the most productive environment I’ve ever used — the path from idea to implementation is short, smooth, and frictionless. You often hear Rubyists say that “Ruby makes you happy”, well, Corona just makes you laugh out loud with an evil, I-will-dominate-the-world-with-this-app kind of muhahahaha! It allows you to focus on what you’re building, rather than how you’ll build it!

We tried out lots of different things while building Kidimedia, our first educational app for 3-7 year olds. We experimented with different kinds of games and different kinds of controls. Luckily, I have my own usability lab at home (my three adorably geeky kids), but we also did play testing at local kindergartens. Because Corona is so lightweight, we were able to do rapid iterations and tweaks to get things just right.

Kidimedia is a suite of over 400 games in nine different categories.

After six months of development, play testing, and going back to the drawing board a couple of times, we released Kidimedia for iPad right before before Christmas 2010. It was a suite of 150 games in seven different categories like jigsaws, reading, and math games. We’ve since followed up with a couple of updates, raising the total to over 400 games of 9 different types. Since we’re constantly adding new content, we’re downloading that in the background from our servers using Corona’s compact yet powerful async http API’s

Just recently, we’ve released a lite version of Kidimedia, allowing parents and kids to sample 2 games of each type. In an attempt to go viral, we added a special Facebook promo: if parents like us on Facebook, we unlock the full version for 1 week. Corona’s dead simple Facebook API’s made that a no-brainer to implement.

I don’t even want to try to estimate how much harder that would’ve been if we implemented everything in Objective-C! ;-)

We haven’t made the leap to Android yet, mostly because of the lack of decent Android tablets. But with the help of Carlos & Co., we did port Kidimedia to the NOOK. Corona support for the NOOK was still very experimental at the time, so the road was a bit bumpy (mostly due to Barnes & Nobles changing things every other day). Ansca’s support was absolutely AWESOME! I’ve never experienced a company that is so open and so close to its users.

Unfortunately, we haven’t been able to release Kidimedia for NOOK just yet, because B&N can’t deal with international developers right now. Hopefully, that will change soon.

Nevertheless, this whole experience illustrates what I like most about Corona: Whatever mobile platform comes along to challenge iOS, it’s Ansca that will do the heavy lifting of the port for me.

Me, I just hit “Build.” :-)

  1. Excellent! We just completed sketching and working on educational apps for 3-7 years old and must admit that we have a lot of appreciation for what you have done with kidimedia. All the very best and wish you more success!

  2. “makes you laugh out loud with an evil, I-will-dominate-the-world-with-this-app kind of muhahahaha!”

    that’s EXACTLY how I felt when I found out about Corona SDK.
    Way to go!

  3. Does this mean we have to add a disclaimer to the Corona SDK EULA?

    Warning : Contents of this SDK may cause lack of sleep, insomnia, Zombie like behaviour towards programming “Time to write more code”, Corona SDK OCD, lack of family time, relationship strain.

    Thanks Niels for a great post.

    Carlos

  4. I’m curious about the depth of this game (over 400 games in 9 types) and how kids (3-7) find it. Do they prefer simpler games or games with more depth?

    It’s definitely a great deal and good for keeping them quiet!

  5. Thanks for the story. I actually had exactly the same thought. Pads are future in schools. It can be both a computer and a digital book. Furthermore you can create a whole new set of interactive “textbooks”, making learning fun and interesting. I have started a small company “Mind Vitamins” in order to create stories for children.

    I have also similar experience with Objective-C and other languages, finding Corona SDK with lua a very good tool to create applications.

    I hope one day I would be a guest blogger here and tell my story.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>