Posted on by

Last month, our very own Walter took a trip to New York to attend a couple Corona meetups in the Empire State. Walter’s stop in Rochester, NY was orchestrated by Corona user extraordinaire Scott Singer.

Longtime readers of our blog might remember one of Scott’s creations —the golf tutorial app Golf Fix – as being one of our very first App of the Week winners.

Now, Scott expands on an oft-overlooked aspect around these game-heavy parts… Using Corona for business apps!


Like a lot of you, I have been developing business applications for close to twenty years, and I previously had been doing so using Microsoft *ahem* technologies.

Three years ago, I made the jump back to my roots — enter the Apple MacBook Pro. I believe most of us began programming on an Apple II.  In fact, I still had my Apple II until I found out my parents threw it away (ouch!), but I’ll be alright just as long as they do not do the same with my iPhone.  Surely, you understand!

So, I began using Objective-C and have since been successful in publishing apps in Apple’s App Store.  Then, Google entered and we all believed there was a huge potential in both (iOS and Android) markets — then Barnes & Noble and now the Amazon Kindle Fire.  And I get phone calls about once a month from other Android app stores that are creating their own boutique mobile shops in which we can publish and grow our potential revenue opportunity even more.

I have been using Corona SDK for about 18 months and I have since realized this is my #1 development tool for mobile.  I have published interactive apps, games, and now I am really beginning to develop a lot of business apps for companies using Corona.  This has opened so many doors and opportunities for me, it has been really great so far.

The issue that has always been out there in our Google searches is that there are other cross-platform mobile development tools that are better than Corona for business apps.  Through my personal usage, I have decided that the top three are Corona, Appcelerator (Titanium), and PhoneGap (only because they can publish to Blackberry).

But I found after using all three that Corona is the best!

“Why?” is the question that I always get — and my easy non-technical answer is, “Because I say it is so.”  Just kidding — but nobody ever just kids, right? ;-)

So, allow me to elaborate…

PhoneGap

Let’s start with PhoneGap which is a tool that creates mobile apps  compiled with HTML and Javascript. It has the least functionality in terms of API’s to leverage the device capabilities.  It is slow and unstable — I have a couple of apps that downright have failed using PhoneGap.  This product is now off my list.

.

Appcelerator Titanium

Titanium works and is okay; however, the installation process is laborious and getting this development tool to work on your computer is sometimes unstable.  It finally was able to work and I had the “Kitchen Sink” demo working — I was so proud!  It only took me two days to get it working and playing well with my XCode installation and Google SDK developer installation.

Then, I built a demo business app for a client to prototype.  I had to make some minor changes and about one week later it stopped being able to compile and install on the device.

Ugh! Are you kidding me?!

I felt like my Mac had mysteriously turned into a Windows development machine and Microsoft had installed their daily updates — and the dreaded configuration management issues had spoiled my mobile success.

Subsequently, I un-installed Titanium because I had begun using Corona and I can develop in half the time and the compilation and installation issues are non-existent…

.

So, why Corona?

Here is a direct testimonial from another developer who is making the switch to support his business clients:

“I have made much more headway with Corona in a much shorter time than I did with Titanium.

The programming logic is the easy part for me. I spent many hours with Titanium and documentation errors, things that “don’t work yet” but are mentioned in the docs or are buried in some forum post from a couple years ago, etc.

We have all said the same thing in regards to how quickly we can develop, compile, and publish using Corona.  But no issues in just getting everything to work is the key.

Now, in all fairness, Corona SDK has bugs and issues — but my experience from 20 years is that Ansca is one of the best products that I have worked with in terms of support. Also, the Daily Builds are incorporated by Ansca from listening to their developers — big statement, right?

And it may seem that I am bashing other products — even Google and Microsoft — but I am not. Rather, I’m just stating my personal experience and obvious daily issues that we (as developers) encounter every day.  The world is not slowing down and everyone wants to move their business into the mobile space.

This is where I have found Corona SDK to be the most successful for me.  Being that I earn my money from contracting with local businesses who want a marketing app or want to expose their product database in the mobile world — I have found a winner with Corona SDK being able to deliver an experience that is worthy of normal development rates.

I did not want to create a list of features, pros and cons, or some other comparison of different products.  I wanted to share a little bit of my story around the fact that the opportunity to develop rock-solid business apps is in fact a reality using Corona SDK. I have several apps that I have developed for marketing companies, healthcare, and even within the hospitality/hotel industries using Corona.  And I think business is only going to get better… :-)

The WINNER for best mobile development platform is Corona and it comes with the Ansca team’s tireless support and responsiveness — the Ansca team walks the walk and they talk the talk. It is simply a pleasure every day to be able to develop mobile apps for businesses using Corona.

If anyone would like more detail in terms of how Corona can benefit you in terms of developing mobile apps for real-world business problems, please feel free to contact me or just download the free trial version and give it a whirl yourself.

Thanks for reading, and great job to Ansca!

Editor’s Note: Look forward to an upcoming blog post on how to easily create and use interface widgets from Corona’s official Widget API! In the meantime, for more information, view the Widget documentation.

Post Update: This blog post resulted in lots of discussion in the comments. Scott kindly wrote a response comment that we are pasting here for easier reference:

————–

Hello everyone – I appreciate all the response and comments —

I have been reading through everyone’s posts. Thank you for the overwhelming response and interest in Corona — you will not be disappointed and it is free to try out.

I want to add to @Jonathan Beebe’s comments about the widgets and Corona for Biz Apps… because it’s not just about Widgets, eh?

Ultimately, why do I love Corona vs. Appcelerator:
– Corona is easier to compile and setup

- Corona is more consistent across iPhone and Android builds

- Corona, you do not have to worry about installing and updating latest iPhone SDK or Google SDK for the builds (this is done through Corona servers to create the native build to deploy)

- Appcelerator can support Blackberry (however, the new Playbook accepts Android builds now — I have spoken to Corona about supporting the Android wrapper for Blackberry via Corona… I hope this will get on their roadmap for support in future)

- Corona is free, but you have to pay a nominal annual license fee to build — well worth it — I personally like this better than having to pay for support — This is personal preference but at the end of the day — the Community with Corona blows away anything else out there

- There are HTML5/Javascript platforms like Appcelerator popping up everyday – again, I believe this is a personal preference for the resource having to develop — if you are a Javascript or Flash Actionscript developer… it is very easy to pick up LUA programming language (pros and cons with any development platform)

- LUA has been around for a long time (www.lua.org) and it allows you to be extensible to create whatever you need to and work within Corona (For example, there is a JSON library developed in LUA and supported in Corona

There probably are more items to add to this list — but I think a good comparison at at a high level — if you use Appcelerator successfully and you can deliver high-quality Apps in a timely fashion … then like anything in life … why change what is working?

That is personal choice and if you have time to test out Corona… Again, I am only speaking independently from my experience and I can deliver more interactive and more appealing Apps with Corona for my clients.

Now on to the list of other items that are built within the Corona community:
– Segment control (http://developer.anscamobile.com/code/segmented-control-widget)
– RSS
– XML
– HTTPS
– JSON
– Textboxes
– Multi-line Textboxes
– Dynamic Image Resolution
– Push notifications
– Universal support without additional coding (iPhone / iPad)
– GPS
– Drag / Drop objects, images
– Pinch Zoom
– Webviews (HTML5 … whatever can be run on a webserver)
– Uploading images, files, database cloud integration
– Progress Bar
– Swipe
– Social Media
– Storyboarding (out of box navigation for your project)… this is sweet!
– Camera
– Audio
… there is again more that I may be missing … but this is what I have used and I cannot really find anything that Appcelerator has in terms of controls that I have not been able to support in Corona.

Good luck and happy coding!

—– (end of update)


Posted by . Thanks for reading...

27 Responses to “Guest Post: Corona means business!”

  1. Ken

    This is very encouraging. I have tried a few of the tools that you mentioned and have been more productive with Corona SDK. My questions is that how are your dealing with all of the typical UI intensive parts of a business app ? The UI part of Corona is by far the least evolved. I am coming from Android/Java dev and the UI layout tool has me spoiled . Once Ansca supports more widgets and a UI design tool then I can see this as a serious Biz App tool. As it stands it is very skewed towards game development.
    Maybe you can share how you are dealing with the UI portions of the Biz apps ?

    Reply
  2. David Sheardown

    Hi, great post!

    Have been going through the same patterns of testing recently.. I haven’t created any mobile apps yet, however after 20+ years coding in other arenas, I have been eager over the last year or so to get my hands working in the mobile space..

    I love jQuery.. and jQuery mobile is excellent for browser based mobile apps for sure.. however Corona just has that feel of starting up the dev environment and working.. straight away.. not this weird convoluted setup process etc with other environments. My second choice is Appcelerator mainly as I can use that for some cross platform windows/mac apps too (I am not one of these religious tech guys! all platforms have their place and strengths/weaknesses).

    So thanks for the heads up.. the post basically condensed what I was trying to say to a few colleagues of late.

    Just curious… does anyone use/know of a really good LUA editor.. preferably (if there is such a thing) with intellisense/corona aware API’s?? maybe too much of an ask, but who knows!

    Reply
  3. David

    I have the same experience as yourself in terms of mobile development for business/scientific apps with other sdks. I don’t feel Corona is up to the job until, as Ken writes, the UI is fully developed and the ability to link in Objective-C is available. Until then I’m using Objective-C and looking forward to seeing Corona move into areas other than game development.

    Reply
  4. frouboy

    I use Appcelerator Titanium extensively and I find that for developing business apps its absolutely the best middleware on the market (its free!!). Its development environment has been overhauled and is now stable and great…..give it a whirl I think you’ll be impressed. Its big downfall is that it can’t compete with Corona for games production as Corona can’t compete with Appcelerator for business Apps.

    Corona is much, much better for game production . However Appcelerator have signalled their intent to improve in this area. So now its a race….Will Corona offer a realistic UI business Framework first or will Appcelerator offer a good enough gaming framework first?

    Reply
  5. Jason Schroeder

    Speaking as somebody who has one Corona-based “business” app in the App Store (an exhibition companion for a contemporary sculptor), and who is working on 2 other non-game apps (a marketing app and a kids’ book-type app), I believe the key to getting over Corona’s supposed lack of UI tools is to simply rethink mobile UI.

    There is a certainly a case to be made for utilizing traditional-looking UI, and I’m not suggesting that we ignore best practices, but if you approach your project with a willingness to create custom interfaces using the OpenGL canvas, then not only will you cease to feel limited, but you end up with a product that better represents your business, or your client’s business. I personally believe that iPhone apps that “look like iPhone apps” will start to be seen as dated very soon, if they aren’t already – and Corona gives us plenty of tools to make our own menus and interfaces relatively easily.

    Now, I’m not suggesting that Ansca stop expanding our toolbox and access to native APIs (and I know they aren’t planning on doing so), but once you let yourself think out the traditional UI “box,” you’ll find you’re free to create better and more creative apps that push the boundaries of how people interact with their devices. Just my 2 cents.

    Reply
  6. Sébastien

    I agree Corona rocks! However, I am using Titanium for business apps because of how easy it is create native modules for android & ios and expand the platform as you see fit for your app. If Corona makes it easy to build your own native modules, it will be a no brainer, because as you depicted, the platform as a whole is much easier to use, the runtime environment is slightly superior in terms of speed & memory footprint and overall the time to market is faster than anything else out there.

    Reply
  7. Alan Gruskoff

    As I develop one “game” and mostly business apps that are always data oriented, I must say Corona is not a preferred business apps SDK for me. That mostly because of the lack of built-in or native data controls like a list or a data grid. When those data oriented features come into Corona, it might be suitable for business.

    I am also looking at Titanium ($400/yr) and PhoneGap (Free) as built into Dreamweaver CS5.5.

    Reply
  8. frouboy

    Hi Alan,

    Titanium is Free!! (you only pay if you want to better support, access to beta etc, some extra features). I would also look at Sencha Touch which is another good mobile development platform.

    Reply
  9. Gene

    David Sheardown: I use Sublime Text 2 with a textmate CoronaSDK plugin and it works great. I’ve also altered the sublime build process, so that it launches the corona simulator and auto-updates the simulator whenever I save changes. You should check it out.

    Scott, I think the post would have been more helpful had you included more specifics as to why you feel Corona is better for business apps. PhoneGap is very popular as is titanium. Corona is thought to be for games only. What makes corona so compelling in the business world? As others have said, there are certainly some limitations. For instance, PhoneGap allows you to program using JavaScript, and therefore you have all of the js libraries at your disposal (jquery, yui, dojo, backbone, jshint, etc). Corona uses Lua, which from what I’ve seen has far fewer resources. Perhaps I’m just not in the know.

    At any rate, I’d love to know why one should go down the Lua/corona path for business apps.

    Reply
  10. MrMells

    I agree that the post was interesting, and that a follow up article a bit more specific would be great.

    From what I could understand from the article, the value that Scott got from Corona was not much about the development specifics but more about the fact that there was not much friction for him to deliver an app that suits the client’s needs very quickly.
    Golf Fix was made with Corona and that could have its importance (time already invested in mastering Corona as a tool).

    Another thing is : if the app that the client wants doesn’t need functionalities that are accessible from other frameworks, then it makes sense from a business point of view to stick with what you already know to get the job done.

    That’s what I could get from the article, but it’s far possible that I missed the point also ;)

    A follow up article would be great to clarify the use of Corona in the case of business apps, as I have also been interested in Titanium recently.

    Reply
  11. Ian

    Titanium. Ugh. First, it’s horribly documented. The API is so buggy that they released lots of versions creating a lot of churn. This put their QA and forum out of date very quickly because all the issues listed in them were referring to different versions.

    There was a lot of weird, unexplained layout behaviour. I spent a lot of time having to determine if an issue I was facing had to do with a bug in my code, a bug in Titanium, or an iOS issue. There were so many moving parts, it was hard to figure out where in the toolchain the issue was really coming form.

    Still, I managed to get an iPhone app built with it and it worked fairly well. However, when I was asked to port it to Android things fell apart. Android support is obviously an afterthought and requires so much conditional code (if os.type == “android”) that i practically had to write all my code twice anyways to make it fit both platforms. However, things went to badly that I wasn’t able to complete the port and the project was scrapped.

    All in all, I only ever spent about 20% of my time actually developing. The rest was spent tediously searching the forums and QA for solutions and explanations of bizarre issues I was facing.

    Reply
  12. saurabh sharma

    Hi all,

    first i want to tell you guys that the bugs and issue are related to your development. nor the corona and neither related to titanium.
    secondly i tell you as a developer of iPhone apps with titanium that the changes into its API is for better performance and moreover features make possible which shows the growth process of titanium and the coding style of java script is the very easy. but if somebody is used to of spoon feeding its not possible all the time just download Kitchen Sink from the appcelarator and check it out none of the thing in titanium which is not possible for iPhone and harder then corona. yes i agree that corona is better for game development but for apps development titanium is far better then the corona. and this is the fact just try it once and then make the conclusion.

    its really helpful and easier to getting start with titanium.

    Reply
  13. Chetan Detroja

    Corona deals great while you want to develop a game applications, but what if you want to develop application that needs to have Native components like picker, scrollable view, table view etc using Corona.

    Answer is you need to do custom coding to achieve so and these thing eats lots of time while developing in Corona, on the other Hand Titanium comes up with lots of well documented APIs with lots of useful properties those are needed to give good look to the application(i.e. font, color, background color, background image, background gradient etc.) and also supports Native development.

    Second thing what happens if client want some features that is possible on IOS or on any other supported platform but not possible with Corona. Has Corona provide power to user to extend Corona framework. Titanium provides Module development to extend the framework and it is also well documented.

    I have been using Titanium since 28 month and develops lots of business applications. I have also pass through all of the updates. The intensity of updates shows how Titanium grows in these last 2 years. Titanium provides great supports to IOS development and in recent updates It provides great supports to Android and Blackberry platform also.

    I believe Javascript coding is easy to learn as compared to Lua scripting. Titanium use Javascript to develop native application. Titanium also provides some javascript libraries that help us while developing TItanium App (Parse, underscore, Outh, Date etc).

    I would also like to say that it’s installation process is very easy and well documented as well. you will found all the documentation on appcelerator wiki and its link is as below:
    https://wiki.appcelerator.org/display/guides/Home

    On the whole Titanium works great for me. Titanium Rocks!!!

    Reply
  14. ken

    Since I started this comment thread.. many interesting points have been made. I don’t agree with the notion of creating opengl based Widgets. I don’t have the desire to reinvent all the Widgets. Is it too much to expect that with one code base my biz apps that run on android uses the android UI Widgets and on ios use apples Widgets? Any thing less is just a kludge.

    Reply
  15. frouboy

    Hi Ken,

    I agree. As a freelance developer I also don’t have the time to reinvent the wheel. This year I have had to use the following technologies (java,jsf,richfaces,smartclient,net, mysql, mssql, php, appcelerator, sencha touch, jquery and consumed umpteen different web services) basically I have to choose the technology to fit the client and job. I need as much out of the box functionality as I can get. I have an interest in using Corona but it is a personal interest not a professional one. I have had to invent a project just to try Corona out.

    Reply
  16. Russell

    Where is Scott in these comments? I’d like to see his response to some of these comments. I purchased Corona just the other day, but now I’m thinking perhaps Titanium is going to be what I need to use – at least until Corona gets more serious about business apps.

    Reply
  17. Jonathan Beebe

    Hello everyone, thank you for taking the time to respond and give your feedback.

    In regards to UI widgets (e.g. buttons, scrollViews, tableViews, pickerWheels, and sliders), Corona’s “widget” API cuts out the need for you to code these complex and time consuming widgets from scratch. We are also making improvements to the API, the widgets themselves, and will be releasing an update with the most recent changes very soon (via Daily Builds). The next update to Corona’s widgets will include:

    * Much improved scrollView, with the ability for it to scroll horizontally as well as vertically (and listen to specific “scroll” events).

    * Very much improved tableView performance.

    * Redesigned sliders that do not abstract the dimensions of its parent group.

    * Removal of the “.view” property paradigm—with this next update all widgets will be display objects, so they should play nicely with display groups once and for all (and will be properly removed when their parent group is removed, as with other display objects).

    If there are UI widgets that you would like to see included and you feel would be an important addition for business apps, please feel free to send in your requests.

    Reply
  18. David Rangel

    Hello everyone — I am the COO at Ansca and also wanted to chime in here. This was a great discussion, and we will be following up soon with better info on our site on why Corona is great for business apps and not just games. We haven’t done a good job of getting the word out about this, but that will change soon.

    A few things to keep in mind:

    1.) As mentioned by several of the commenters, Corona is unmatched in ease of use and speed of setup and development. Both of these are important in business settings
    2.) We already have many developers building business apps with Corona — using the widgets Jon mentioned, but also building richer, graphical UIs. We feel this will become more common and Corona is obviously perfect for this
    3.) Regarding the native widgets — as Jon mentioned, we do have these available and there are significant improvements coming very soon.
    4.) Finally, Sébastien mentioned native modules. We are working on a solution for this and will have something to announce later this year. As he says, at that point Corona will certainly be a complete no-brainer (although we, and many others, think it already is today! ;))

    Please let us know if you have any more comments/questions — we’d love to hear them.

    Thanks.
    David

    Reply
  19. MrMells

    Hi Jonathan, David,
    thanks for listening.
    I would suggest that any updates in 2012 (sounds official :) should be made as a section in the documentation and not in the blog.
    The blog should instead be used to make announcements like “A new section is available in the documentation that covers topic ABC, please read it and report any feedback in the comments section”.

    1) Having a central place to find docs is just common sense
    2) It takes time to update docs : you probably won’t have the time to write things twice both here and in the docs in the future -> Writing for the docs is straightforward

    Keeping up to date with Corona improvements is a… nightmare.
    I mean, updates are great, but browsing a blog for docs is a nonsense.
    I think that’s one of the reasons why some users don’t have a complete overview of what is currently available in Corona Sdk.

    Hope it makes sense.

    Reply
  20. David Rangel

    @Mr.Mells – This makes complete sense and is duly noted. One of the things on our to-do list is to do a better job of documentation and surfacing that info. Thanks!

    Reply
  21. Jonathan Beebe

    Hi everyone, here’s a quick update regarding the widget situation.

    We’ve pushed-in the latest changes which improves upon the widget library, and will be available in the daily build *after* 2011.715.

    For those who aren’t familiar with Corona’s widget API, it’s a built-in library that provides you with an easy way to include common user-interface widgets in your apps (alleviating the need to code them from scratch). At the moment, we currently have the following widgets available:

    * Button
    * List (tableView)
    * scrollView (scrolling content)
    * Sliders
    * Picker Wheel
    * Tab Bar

    For more information, the widget documentation can be found here:
    http://developer.anscamobile.com/content/widget

    Reply
  22. Scott Singer

    Hello everyone – I appreciate all the response and comments —

    I have been reading through everyone’s posts :) Thank you for the overwhelming response and interest in Corona — you will not be disappointed and it is free to try out.

    I want to add to @Jonathan Beebe’s comments about the widgets and Corona for Biz Apps… because it’s not just about Widgets, eh?

    Ultimately, why do I love Corona vs. Appcelerator:
    – Corona is easier to compile and setup

    – Corona is more consistent across iPhone and Android builds

    – Corona, you do not have to worry about installing and updating latest iPhone SDK or Google SDK for the builds (this is done through Corona servers to create the native build to deploy)

    – Appcelerator can support Blackberry (however, the new Playbook accepts Android builds now — I have spoken to Corona about supporting the Android wrapper for Blackberry via Corona… I hope this will get on their roadmap for support in future)

    – Corona is free, but you have to pay a nominal annual license fee to build — well worth it — I personally like this better than having to pay for support — This is personal preference but at the end of the day — the Community with Corona blows away anything else out there

    – There are HTML5/Javascript platforms like Appcelerator popping up everyday – again, I believe this is a personal preference for the resource having to develop — if you are a Javascript or Flash Actionscript developer… it is very easy to pick up LUA programming language (pros and cons with any development platform)

    – LUA has been around for a long time (www.lua.org) and it allows you to be extensible to create whatever you need to and work within Corona (For example, there is a JSON library developed in LUA and supported in Corona

    There probably are more items to add to this list — but I think a good comparison at at a high level — if you use Appcelerator successfully and you can deliver high-quality Apps in a timely fashion … then like anything in life … why change what is working?

    That is personal choice and if you have time to test out Corona… Again, I am only speaking independently from my experience and I can deliver more interactive and more appealing Apps with Corona for my clients.

    Now on to the list of other items that are built within the Corona community:
    – Segment control (http://developer.anscamobile.com/code/segmented-control-widget)
    – RSS
    – XML
    – HTTPS
    – JSON
    – Textboxes
    – Multi-line Textboxes
    – Dynamic Image Resolution
    – Push notifications
    – Universal support without additional coding (iPhone / iPad)
    – GPS
    – Drag / Drop objects, images
    – Pinch Zoom
    – Webviews (HTML5 … whatever can be run on a webserver)
    – Uploading images, files, database cloud integration
    – Progress Bar
    – Swipe
    – Social Media
    – Storyboarding (out of box navigation for your project)… this is sweet!
    – Camera
    – Audio
    … there is again more that I may be missing … but this is what I have used and I cannot really find anything that Appcelerator has in terms of controls that I have not been able to support in Corona.

    Good luck and happy coding!

    Reply
  23. Jonathan Binnie

    Hi

    I am relatively new to Corona, and just thought I would add my support for separating out the blog material a bit more. It’s difficult to find specific information about updates to widgets, or coding examples, and I feel that mixing information like “app of the week” and the like with sdk update and tutorial information creates a confusing environment.

    It would be useful to separate the two off – you could put a change log or something similar into the API section, and create a separate tutorials section to the current Blog. I came back to work on some code after a break of several months, and I found it was broken due to sdk updates, and it took me a while to figure out why.

    I’m finding that the biggest hurdle to get over – finding the information I need to learn about how to use the LUA language and all the corona APIs.

    There are some great tutorials and some good example code lists, but it’s not easily discoverable.

    To end on a positive note, there’s no way in a million years I could be bothered to learn objective C, so thank you to all at Ansca for opening up mobile device programming in such a superb way. I look forward to the business side of things being enhanced to make it even more useful.

    Thanks,

    JB

    Reply
  24. David Rangel

    @JB Thanks for the feedback – and we agree completely, we need to do a better job of surfacing tutorials and other developer content. It is something we will be improving significantly very soon.

    Reply

Leave a Reply

  • (Will Not Be Published)