Why 'PipClock' creator Ruben Frosali had no fun coding in Objective-C

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

Like many of our users, App of the Week honoree Ruben Frosali is a gaming nut — and we mean that in a good way! His love for gaming certainly shows in his app PipClock, as he faithfully re-creates elements from the Fallout universe for use on the iPhone.

Below, he talks about using Corona SDK to create PipClock (his first-ever iPhone app) and why he gave up Objective-C after only two days.

Ruben Frosali, PXL Artificer

I am a video game geek, the kind that not only plays video games but also buys all the merchandise, concept art books, making-of DVD’s and action figures. Enjoying a video game, for me, is not just taking a virtual gun and shooting as many enemies as possible — it’s more about the story, the credibility of the world the developers built around your digital alter-ego, and all the small details in the background.

Fallout, a series of games set in a post-apocalyptic retro-futuristic world, is the perfect example of all the things I love in games: compelling story, fun gameplay, and a huge universe to explore filled with incredibly sexy retro-futuristic architecture and devices. And if you’ve ever played the game, you’ll know the Pip-Boy, an electronic device that keeps track of all the important data that you, the protagonist, need to check in order to survive in the scorched wastelands.

Being the geek that I am, I’ve always wanted a device like the Pip-Boy in real life, but unfortunately, it’s not that easy to find pocket nuclear reactors nowadays… So, I decided to build my own Pip-Boy: the PipClock!

I’ve been working with ActionScript for almost 10 years. When I heard that Apple was giving the green light to the apps built with Flash, I began to design the user interface and write some code. In few days I had a small demo, joined the iOS developer program and — all excited — built my first iPhone app to test it on a device… And two minutes later, I realized that the performance was so bad and the app ran so slow that I would never be able to use Flash to build iPhone apps.

I tried learning Objective-C, but it was too different from ActionScript. After spending two days writing lines of code just to move a small green circle on the screen, I gave up. It was not fun to code in Objective-C.

Looking for alternatives, I came across the Corona SDK website, and it immediately got my attention.

Lua — the language used in Corona — looked pretty simple and straightforward, with a syntax similar to ActionScript that made me feel at home. The API documentation was clear and easy to understand. Loading an image and showing it on the screen, moving an object, and even handling system events — everything was easily understandable and pretty similar to ActionScript. Finally, a language that allowed me to move an object on the screen with only one line of code!

After downloading the demo and writing my first Hello World app, I thought “Okay, now let’s do something a little nicer,” and started creating PipClock.

The idea was to take the typical clock/weather app and build a post apocalyptic setting around it. Instead of showing weather info like all the other weather apps, I decided to process those data and show them on plain sentences, changing “rain” to “toxic rain,” or “humidity” to “nuclear fallout levels.”

As soon as I completed the main “clock” functions with the post-apocalyptic graphics, I built some betas for my friends, who began requesting new features. What about a flashlight like the one in the PipBoy? A Geiger counter could be handy… And what about day/night cycle visualizer?

After few months playing with the Corona SDK and testing new features, I finally released my first ever iPhone app through the App Store: the PipClock.

And I couldn’t be more happy! 🙂

Since the launch, I’ve been receiving many positive comments and so many feature requests that is getting hard to keep track.

The first update — probably coming in few weeks — will bring some improvements on the GPS location acquisition, landscape mode and more new eye candy and options. I’m also planning to add a lot of more substantial cool features like a mission to-do list, maps, memo recorder, and a communication function to broadcast and receive messages with all the other “survivors” (read: PipClock users) out there.

PipClock for iPad is also in the works — it will connect to the PipClock for iPhone and offer some unique supplementary features. Whereas the PipClock for iPhone is the portable device you always take with you in the devastated wastelands, the PipClock for iPad is going to be the device you should always keep on-hand at your nuclear fallout shelter.

Making iPhone apps is so much fun, but honestly I would have never been able to do it without an SDK like Corona.

Some miscellaneous notes about Corona SDK:

  • Lua  is a very easy language to learn and pleasant to use. Coming from AS3, it looked a little too simplistic at the beginning, but its simplicity and ease of use don’t limit what you can actually do.
  • The Corona API’s are just great and straightforward to use. Ansca is doing an awesome job implementing commands, functions, and complex events with a syntax easy to understand.
  • The debugging could be a little better (it’s actually on the Roadmap), but the Simulator to test the code is very fast and auto-refreshes every time you save or modify your project files. It’s awesome to be able to see your code running as soon as you write it.
  • The lack of an IDE can be a little disorienting in the beginning, however it allows you to use your favorite tools to write and test code. I’ve heard that you can also use XCode, but I’ve always been a fan of TextMate, and with the Corona Bundle, it’s the perfect tool for the job.
  • The Ansca Mobile website is full of great resources: API documentation, sample code, video tutorials, forum-where you can always find other developers ready to help you, and code sharing-a collection of ready to use code, submitted by corona developers, for your projects.
  • There are many good third-party utilities and libraries for Corona. I’m currently using a great particle engine in PipClock called Particle Candy that’s pretty easy to use and looks great. Also, I can’t wait to buy Corona Remote an upcoming iPhone app that allows you to test the gyroscope without building to the device.
Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

This entry has 5 replies

  1. Rickwhy says:


    It looks fantastic!
    Gonna buy it right away

  2. carlos says:


    Thanks for kind words and for trusting Corona SDK for your app. I installed the app on my device, and its got this niceness to it. Job well done.


    Carlos Icaza
    Co-Founder, Ansca Inc.

  3. Jim C says:

    Gee a whole two days trying to earn Objective-C. It takes longer than that to feel at home with Apple IDE. The real use case for me is the cross platform solution you appear to provide. I will definitely check you guys out. BTW, how long to acquire useful skills with this tool?

  4. Ruben says:

    Jim, I know it’s impossible to learn objective c in two days, that wasn’t my point.
    I’m a graphic designer and flash developer, I’ve worked for many years with Flash and I know how to use AS 3. I feel at home with that language and if the performance of Flash Packager was good I would have used Flash for my “little iPhone project”.
    Unfortunately that was not the case, so I looked for alternatives and Corona was the right tool for me.

    Could I have just learnt obj c and used xcode, being also able to access all the API and have the best performance? 
    Of course… the things is, one has to choose the tool that fits his own needs. I have an extensive knowledge of AS3, but I consider myself more a designer than a programmer.
    Objective C, for me, and probably for many other people doing web design, is something too abstract and complex to be attractive. 
    I’ve always wanted to make an iPhone app, but 1) I don’t want to spend months learning a complex language to develop just for one platform, 2) I’m quite busy with my full-time job, I don’t have so much free time and 3) I want to code in a language with a syntax similar to what I already know and.. have fun while doing it.

    Corona is, IMO, the perfect sdk for people coming from the web design field (js, html, as3 and so on) moving the first steps on iOS development. If you already have a good knowledge of js scripting or as3, there’s basically no learning curve. You can start developing in few hours.

    Can you use Corona to develop 3D games, augmented reality app or stuff like that? No. But for many other kind of apps or games it’s perfect. 
    Are the apps created with Corona SDK sub-standard apps compared to the one created with Obj C? No, it depends by the developer.. 
    And just to say, the Appstore is full with horrible sub-standard apps created with objc and xcode. 

  5. Hans says:

    I’m a poor lonely PHP programmer. Back in the 90ties I did program in C for the Mac. Those skills won’t help me to write apps for the iPhone and iPad. The famous ‘Hello World’ in object C for the iPhone nearly caused me a hart failure. I can’t spare the time to learn that stuff all over again. So, Corona looks promising to me, but it is rather expensive at $349 a year. Maybe I can talk my boss into it.