I was the first user of the Corona SDK, a mobile game platform. Before the Corona founders sold the company, they asked me to write a story about the first days of their startup and the first games we built with their software. Originally published on the company’s blog December 2010.
The Birth of Corona
Dom Sagolla, before he was the author of 140 Characters: A Style Guide for the Short Form, had just finished his presentation at the Ritz Carlton in Sarasota, Florida when I met him in the hallway back in late 2008.
“Great presentation, Dom. It is cool you’ve got apps out there already. Someone needs to make something like Flash for iPhone, though. Motion tweens. Easier scripting than Objective-C. I haven’t looked at C since college.”
Dom just smiled and listened. It would be another year before I would learn first-hand that being a conference speaker meant listening to rants only vaguely related to what you just presented. I had taught Flash for close to seven years and had been eyeing the emerging market for mobile apps as a logical next step for my career.
“I have some friends back in California you should talk to — I can’t say what they are doing, but you might dig it.”
I gave Dom my business card, and thought it was polite of a twittering Valley insider to come all the way to Florida to sprinkle technology on those of us living on the edge of the universe. I honestly never expected anything to come of the conversation though.
A few weeks later, thanks to Dom’s introduction, I found myself at a meeting with Carlos Icaza in the lobby of a Miami Beach hotel. He showed me an iPhone simulator running the original “Fishies” demo app, and the simple code that made it work. “This looks like ActionScript.” I told Carlos, having never seen Lua code before. “This runs on the iPhone?”
When I got home, I knew that even with my Flash expertise, there was another guy in town far more talented in both art and code — Todd Williams of HD Interactive. I made a deal with the guys at HDI that we’d start a new company to sell apps and mobile games. A few days later, reallyMedia LLC was formed and registered with Apple. The whole experiment was driven by the idea that some guy named Carlos and his partner Walter had some idea of what they were doing (we hoped!).
We got an initial build, and those were fun days. Knowing my students struggled with the oddball “bitmap in a movie clip in a graphic” broken English of Flash, I would e-mail suggestions to Walter and Carlos for naming the new functions in what would become Corona SDK.
It wasn’t love at first sight, though. As longtime Flash people, both Todd and I opened the build we were sent from Walter with a bit of “uh, now what?” No timeline. No drawing tools. No visual way to open a project in the thing called rttplayer (you may know it as The Simulator now). No, well, anything! Just cryptic instructions to run from Terminal once we were done in a text editor.
We got past the command-line throwback and thought about some logical first things to try. Experience in early Flash and even Director helped, and we started some basic tests like “press a button to make a box move.” We then progressed into making a slider puzzle. We had a basic feature set, but it was clear immediately that Corona was much easier to learn than XCode.
Of course, one big thing was missing; well, many big things, but the one we couldn’t do without was a Build function. We had to e-mail the folder, zipped, to Walter. He would do whatever it was that Corona actually didand then send us back a binary file to put on our phones. Walter was, effectively, the first server at the company.
We progressed quickly, pushing the two-man startup as fast as they could support us. We needed text fields or we couldn’t display a score on the screen. We needed sound or, well, every game has sound doesn’t it? My team and I traded points of hope, optimism, and despair rather frequently about early Corona. We were going out on a limb and creating the first game ever made with the software. Our first game was being developed with no knowledge — and only mixed confidence — that Apple would approve the entire idea of building games with this new Lua SDK.
We needed a very simple concept, so my business partner suggested making a game for his two year old. We called it tapDots, a connect-the-dots game that plays little chimes. Todd pulled out some old Flash tricks to make tapDots with this early version of Corona. There was no tweening, so instead of fading in a number, he used a sequence of images. It scrambled Walter’s early roadmap and it took some convincing, but tapDots did release with sound too.
With the knowledge that tapDots did, in fact, get approved by Apple for sale we immediately looked towards creating another game that would push Corona a little further than a toddler audience.
Originally published in early 2011.
We knew when Apple approved tapDots for sale in 2009 that Corona was, in fact, a viable way to create games for the iPhone. It was time to create a next game and push the new SDK a bit further.
I was folding laundry and thought about matching pairs of socks as a game.
My partners and I agreed it was an obscure, but promising, idea with the potential for some great vector art. I made a few crude sketches to get us started, and we then spent a few hours with a deck of Uno cards working out the basic concept, based rather loosely on upside-down Tetris.
Corona was still very early in development, so we needed to do something without physics or gyros or other features that Corona users now take for granted. Matching socks seemed like a good fit as a second “will Apple allow this in the App Store?” test.
Todd Williams got to work on a prototype. Using just colored squares and still sending builds to Walter the Server for processing, we had something that resembled a game rather quickly.
Box of Sox was never a hit on the scale of Flight Control or Angry Birds, but did well for awhile and then was eventually made available for free. But the game was fun and fast and we did get many emails and tweets from addicted players. More importantly, we were now in the games business and Corona was becoming a viable product. It was time to tell the world how we did our “laundry game” with this new SDK.
Instead of launching in a press release to tech pundits in and around Silicon Valley, Carlos and Walter wanted to demo Corona directly to potential customers — graphic designers that were not going to spend six months learning Objective-C.
In June of 2009, I presented a session called iPhone Development for Designers at the HOW Design Conference. We were given a room at the Austin Convention Center with seating for 100, and every chair, wall, and empty space on the floor was filled. Clearly, designers were interested in making iPhone games.
Amusingly, just after finishing my polished set of slides for my first conference speaking gig, I ended up in a shouting match during our otherwise polite Q&A with an Adobe apologist in the audience. He wanted to speculate that Flash would, someday, be well optimized for iPhone and Flash games would be allowed in the App Store.
My answer to him at the time remains the same two years later: If you want to release games in the App Store, why are you waiting around for Adobe to get it right? Flash, especially as a Macromedia product, was a great tool in its time — around the time I wrote a book called Flash MX: Rich Media for the Web and no two computers could stream video the same way. But mobile is a different animal entirely and I felt, and still believe today, Corona is well positioned to being the leading cross-platform development tool for mobile devices.
One disgruntled Flash developer aside, Corona was well received at HOW and in the press coverage that followed. Two years have passed now since Corona found its first fans at HOW and started to overcome its first skeptics. Its been a long strange trip since I was introduced at a Miami hotel lobby to a secretive project that would become Corona.
Congrats to Carlos and Walter on the second anniversary of Corona.
We all look forward to seeing what you have up your sleeve in the next two years.
In Memory of Carlos Icaza.