State of Corona: Thoughts and Reflections 2015

State of Corona: Thoughts and Reflections 2015

A lot has happened in the past year, so let’s talk about where we’ve been and where we’re headed.

The biggest thing that happened was that we were acquired by Fuse Powered. We’re all really happy to be part of the Fuse family. It sounds cliché but there couldn’t be a better cultural fit. The more we interact, the more it feels like we’ve all been working together for a lot longer — and having been through a couple of other acquisitions, that actually is a pretty big deal.

As I’ve mentioned before, Fuse’s products help developers make more money. Right now, we’re in a small pilot with a small group of Corona developers. We want to make sure the Fuse/Corona integration is rock solid and battle-tested before we open the doors to everyone.

On the Corona and product side there are lots of highlights, including CoronaCards, Windows Phone 8 support, debugging introspection, CoronaViewer, Composer API, Composer GUI Beta, Particle Designer support, and much more. These were all great additions to the Corona platform and we continue to work on them.

Looking ahead

Now, as I look ahead, I’m incredibly excited about where Corona is headed this year, so I’d thought I’d share the direction we’re taking this year.

Before we dive in, I should emphasize that this is not a roadmap. I’ve previously discussed our thoughts on why we don’t do roadmaps (and neither do other companies, at least not successfully) as well as our strong bias to talk about what we’ve actually delivered.

So instead, I’ll touch on some of our thinking around four different themes where we will be doing significant work:

  • Platforms
  • Plugins
  • Graphics
  • Workflow

And in keeping with our philosophy, I’ll talk about our approach and direction, holding off on specifics until I have concrete news to share.

Platforms

platform logosCorona has been designed to be portable and cross-platform, but that doesn’t mean there aren’t challenges in supporting new platforms. There’s a lot of effort to support an initial port, and a continuing cost to support OS updates and new hardware for that OS.

That complexity is compounded by the sheer amount of features in Corona SDK. In this context, it only makes sense to target platforms with iOS/Android-level market traction.

So how do we square the circle?

We think the way forward is to simplify, as we did with Windows Phone 8. Support for new platforms becomes a lot more feasible if we only have to commit to a core set of features, leaving out ancillary feature and/or services.

Plugins

plugin iconWhen we first introduced plugins, we architected it to be optimized for distribution. A plugin could be hosted on our server and be made available instantly to all Corona developers.

Originally, we focused on 3rd parties that wanted to offer their services to the Corona community via these plugins.

Today, we recognize that we could do more to make this more open. So our goal is to broaden the types of folks who can offer their plugins to the entire Corona community. At the same time, there are some key steps we need to take to help would-be plugin writers, especially resources focused on learning by example.

Graphics

2DvenndiagramOur vision for 2D graphics has always been very ambitious. With our graphics engine, we’ve vastly simplified how you achieve numerous visual effects intuitively and efficiently on modern GPU’s.

This is all possible thanks to a lot of insightful and clever work under the hood. However, we’ve limited what you can do to what’s available in our API. In other words, we still haven’t taken full advantage of what our engine can offer.

One reason we took a conservative approach was that GPU support was not consistent. We’ve rewritten our shaders numerous times to work around driver-specific bugs in the shader compiler — in some cases, basic GLSL language features did not work on certain GPU’s.

Nowadays there’s just a little less fragmentation (hopefully), so we think the time is ripe to start opening up our graphics system. This means giving you more control and more techniques to extend beyond what we’ve done. We’ll also keep an eye out for obvious, missing gaps in the API.

Workflow

shortcut thru mazeWe’ve always been very proud of Corona’s incredibly simple workflow. By eliminating complexity and the associated learning curves, we helped save you time and hopefully enabled you to find a little more delight in your day-to-day development.

With Corona’s Lua API, you can put images on the screen and interact with them with just a few lines of code. With Corona Simulator, you can test our your ideas rapidly and in real-time. With Corona Editor, you’re focusing on editing code without worrying about how to navigate a confusing IDE.

We think there’s a lot more to do here. Our work, for example, on Composer GUI and CoronaViewer is far from finished.

* * *

I’ve focused a lot on what we’re doing with Corona specifically, and only briefly touched on what the combination of Corona and Fuse will achieve together. Corona’s strength is helping you turn your ideas into working realities, building your apps faster. Fuse’s strength is enabling you to convert your apps into financially-viable realities, monetizing your apps better.

So the direction we’re taking collectively is guided by the same principle that I’ve expressed many times before — your success is our success.

Walter

 
 

walter
36 Comments
  • Rick
    Posted at 11:07h, 30 January

    Let’s get some corona games on steam – or at least make it possible!

    • Rob Allison
      Posted at 18:21h, 30 January

      If we could release corona games on PC/Mac, it would save me thousands of pounds and months of effort.

      It would make Corona THE complete package, rather than that thing I’m trying to move away from.

      • Scott Shapiro
        Posted at 07:45h, 31 January

        I think adding steam support for OS X and windows apps would be a great addition. I have come to realize that the steam audience is willing to pay for games where as the mobile market place has shifted to a freemium iap supported model. The more revenue opportunities that corona labs can create for indie devs the better.

      • Luis
        Posted at 10:07h, 05 February

        Full agree.
        The ability to develop for PC and Mac would be a very good enhancement.

        • Honey Silvas
          Posted at 17:29h, 05 February

          I agree as well. Being able to export to PC/Mac would be amazing! Since the simulator already runs the code, it would be great if there was a way to package that into an executable file that can run on a PC/Mac.

          Another one that would be good would be a web-based app, although I suspect that might be harder than a PC/Mac export.

        • Joseph Hinkle
          Posted at 07:08h, 06 March

          Ditto

    • Christian Mueller
      Posted at 14:49h, 15 February

      i just can confirm… and that is said since years.

      I hope once Walter will hear us !!!!

      And best simple as with Unity or Corona iOS/Android.
      Just a new Button and thats it.
      No figgling with CoronaCards or so.

      And yes, BASIC Features is enough.
      Just like the Simulator can do. Thats already cool

      Thanks for listening
      Chris

  • Bobby
    Posted at 12:32h, 30 January

    Hi Corona,

    Is coronalabs going to revert back the ability to compile for android 2.2 ? atleast in build 2014.2263, this is regarding supporting the Nook color.

    I have quite a user base for the Nook Color and I’m about to release a new app for that market.

    The last successful built I can remember was Dec 2014, using
    build 2014.2263. I was able to create the Android 2.2, but now it’s not
    possible, the simulator is erroring out with “template not found” during compile/apk generation.

    Please advise,

    also please refer to this thread.

    http://forums.coronalabs.com/topic/53809-error-template-not-found-older-build-20142223/

    Thank you.
    -Bobby

  • José
    Posted at 12:32h, 30 January

    Composer GUI for Windows please OuO. 2014 was a good year for the Corona Community, let’s make 2015 even better!

  • Lerg
    Posted at 12:56h, 30 January

    Thank you for sharing this with us, Walter. I personally have this wish list for Corona:
    1. Desktop support (Steam, Win, Mac, Linux)
    2. Global dynamic lighting for use with “Sprite DLight”
    3. Android audio lag bug fix
    Having this will make Corona the ultimate game engine.

    • Prathap Murthy
      Posted at 04:49h, 04 February

      There’s also this if you’re looking for a normal map editor — https://www.codeandweb.com/spriteilluminator. It’s by CodeAndWeb, makers of TexturePacker and PhysicsEditor.

      Their website suggests that SpriteIlluminator is compatible with Corona SDK. Maybe you can sign-up for their beta and check out if that really is the case.

  • Larry Meadows
    Posted at 13:23h, 30 January

    What about the support for Windows universal Apps?

  • Praveen
    Posted at 22:34h, 30 January

    Thanks Walter. Good to see your post. Happy to know that the integration is going well.

    I’d love to see better internationalization support on Android. I’ve seen pretty nasty text rendering issues with internationalized text (works nicely on the simulator, but word wrapping goes crazy on some Android phones and makes display.newtext unusable). I think Corona has a bright future in the international market, and so internationalization support deserves special attention.

    I’d also love to see performance improvements for the Map impl on Android – something to match it up to the iOS Map implementation. The current webview-based design on Android makes it unusable from a performance perspective.

  • Henrik
    Posted at 06:44h, 31 January

    On the topic of workflow, I find the current build system oversimplified.

    I am a big fan of automating my workflow as much as possible. My goal is one button press and the app is installed on my device or published to Testflight. The only thing that’s missing here is a simple command line interface for building the app.

    It shouldn’t be too much work adding that, right?

    I know that enterprise already has this feature, but I think it should be availiable for the regular cloud builds aswell.

  • Graham Ranson
    Posted at 11:28h, 31 January

    For me the extra platforms are the priority. I think one of the most important things for indie devs is to hit as many different platforms as possible so Win/Mac/Steam/Web would be fantastic.

  • Antheor
    Posted at 14:10h, 31 January

    Great news !

    What about graphics 2.0 for vectors ?
    booleans operations would be cool …

  • Lionel
    Posted at 23:04h, 31 January

    I read this article, hoping to get some insight into where CoronaSDK is headed. After reading the article, I don’t know anymore than before I read it.

    I’m a long term (paying) user of CoronaSDK. I’ll continue to use it because it saves me time in developing certain types of apps. If I had to pick one area where I would like to see improvements, it would be how you communicate. Take for example plugins. You guys have been hinting, suggesting and implying for about 2 years that you were going to setup a marketplace for plugins. All this article does is offer more vague and unspecific information on what we can expect for plugins.

    • coronadev
      Posted at 19:46h, 02 February

      Totally agree with you Lionel. One more time, Walter says a lot but you cannot get anything useful from him.

      We still have no idea where Corona is headed to and the features that we most look for (Corona plugin marketplace, more platforms,..) are the same of last year (at best).

      Let’s only hope that now with the Fuse acquisition we can see some changes.

  • ojnab
    Posted at 03:08h, 01 February

    I also think it would be a great addition to add more platforms, but I know this is a very big task and I am not sure Coronalabs has the resources to pull this through. So I really think they should focus on optimizing what the already have.

    I would like to see a plugin code exchange and/or market place. I really hate to spend days writing a native plugin that I know lots of other enterprise users already did. If I could throw 50-100 bucks at a plugin instead of spending days on it – I would do it right away. It would also open up the platform a bit and probably attract a lot of users to the enterprise subscription.

    I would also like to mention that I think CoronaCards is a great addition, because it opens up a lot of new opportunities to Corona developers. So if you are looking for platform additions… go for CoronaCards HTML5

    Just my opinion.

  • David
    Posted at 07:40h, 01 February

    I’m a professional Game / App maker, with a 4 peoples company. Based in France.

    From the game side, I moved to Haxe / Haxeflixel to be sure to support desktop platforms with my code. Mobile game market is a mess, with no one making money, I can’t afford to deploy only for mobiles from now. I switched to the indie market and it’s a pleasure to target real screens and avoid IAP and other craps.

    From the app side, I still use Corona. I have a Pro + an Enterprise licence, and I’m able to create amazing apps for my clients with low effort. I include “game features” in my apps thanks to the support for animations, sounds, etc. Great product for this kind of job.

  • Berhan Karagoez
    Posted at 07:12h, 02 February

    Good insights, why not more technical though?
    We are all developers/techies here, right?

    Platforms, no need to add more – just be the best at those you support already. Really, this is KEY to bring over new and more developers to Corona.

    Plugins, perhaps “plugin/asset store” is something interesting for many?

    Graphics, if you add support for vectors as well, then it would be cool, but then will Corona stay only 2d or look at 3d as well? A more cool feature would be to use illustrator files and render gfx at sizes the device is at/requires. Perhaps having assets on storage somewhere else and requesting/downloading the right size. Of course you can do an own solution but how about making a standard for it so not everyone has to invent an own wheel. Maybe a plugin/tool to use illustrator file then it will output all the files needed so you can upload them to a host partner or own server. Same goes for icons/screenshots/video the iTunesConnect requires when uploading app for release.

    Workflow, we need a drag and drop app-designer tool, for business apps, so Composer GUI/Tool, could make it easier for new users and perhaps bring more developers over to Corona, and that’s never bad, is it. Like drag and drop a tableview, it will ask you for data source, then you forward it to a file/ luatable-name/database/ and it will generate the necessary code as a “class”/lua table.

    /BK

  • Berhan Karagoez
    Posted at 07:14h, 02 February

    Good insights, why not more technical though?
    We are all developers/techies here, right?

    Platforms, no need to add more – just be the best at those you support already. Really, this is KEY to bring over new and more developers to Corona.

    Plugins, perhaps “plugin/asset store” is something interesting for many?

    Graphics, if you add support for vectors as well, then it would be cool, but then will Corona stay only 2d or look at 3d as well? A more cool feature would be to use illustrator files and render gfx at sizes the device is at/requires. Perhaps having assets on storage somewhere else and requesting/downloading the right size. Of course you can do an own solution but how about making a standard for it so not everyone has to invent an own wheel. Maybe a plugin/tool to use illustrator file then it will output all the files needed so you can upload them to a host partner or own server. Same goes for icons/screenshots/video the iTunesConnect requires when uploading app for release.

    Workflow, we need a drag and drop app-designer tool, for business apps, so Composer GUI/Tool, could make it easier for new users and perhaps bring more developers over to Corona, and that’s never bad, is it. Like drag and drop a tableview, it will ask you for data source, then you forward it to a file/ luatable-name/database/ and it will generate the necessary code as a “class”/lua table.

    /BK

  • Ed Maurina
    Posted at 10:47h, 02 February

    I second (third? fourth?…) the requests for the ability to target Windows and OS X with just the core features. In two words, “Awesome cakes!”.

  • Eric Kinkead
    Posted at 11:11h, 02 February

    Please fix the Android delayed sound bug. It’s been like 2-3 years now and all android sounds still play slightly slower than they should compared to iOS. What is that?

  • Walter
    Posted at 13:08h, 02 February

    @Lerg, @Eric, Re: Android audio latency.

    This has been a documented Android OS issue for over 5 years:

    https://code.google.com/p/android/issues/detail?id=3434

    It affects all Android developers, including other frameworks like Unity.

    We’ve provided guidelines on APIs to get the least amount of latency here:

    http://forums.coronalabs.com/topic/28091-new-android-audio-lag/?p=188579

    • Bobby
      Posted at 13:51h, 02 February

      Hi Walter,

      The Nook Color support for build 2014.2263
      build 2014.2263 is the last build that can create Android 2.2,
      but now it’s not able to do it. the simulator build errors
      out with “Template not found”

      I hope this can be resolved very soon.

      Thank you,
      -Bobby

  • Dustin
    Posted at 10:43h, 05 February

    I’m glad to see Corona moving forward, but I’m afraid that I do most of my development in a Linux environment and didn’t see that mentioned here?

  • bud
    Posted at 10:52h, 05 February

    Looking forward to the fuse powered ad network, been looking for an alternative to admob for a long time…hurry it up 🙂

  • Christian Mueller
    Posted at 10:55h, 05 February

    Great you continue with extra Platforms,
    for me still one Request: >>>>>>>> OSX !!!!!!!!!!!!!!!!!!!!!!!

    And please not with Cards etc… just compiling like for iOS/Android!!!

  • David
    Posted at 11:18h, 05 February

    I would just like to see Corona fix all the broken things.

    As someone else intimated, for me, Corona is something I am trying to move away from and not the thing I am excited about developing in anymore. Not having a reliable platform is a horrible thing for a developer, and Corona has proven itself as not reliable.

    Which is a sad thing. 🙁

  • Gordon
    Posted at 15:53h, 05 February

    I’d love for more focus on business and enterprise app solutions. Especially around input methods. The picker wheel and native input fields have a lot of issues and leave a lot to be desired.

    I know you’ve made the widget source available but that’s only a work around for non-native issues and it’s extremely time consuming to have to re-engineer components.

  • Kevin Croombs
    Posted at 03:45h, 06 February

    I’m really excited about 2015 🙂 I’ve been looking at Fuse’s AdRally product, it seems like it will solve a lot of monetisation problems and the guys at Fuse have been super helpful. The integration with my Corona code was extremely easy.

    I could definitely use more resources for plugin writers – I’m using Corona Enterprise and while I’ve successfully integrated the native code that I need it would be great to have some examples/templates for common use cases i.e. examples for plugins that provide ads, analytics, install tracking, etc.

  • Serkan
    Posted at 04:58h, 06 February

    That’s not good news for me. I don’t like coding in the platforms’ native language if I’m using a cross-platform tool and it seems that you’re going to pursue that way for the new platform support. That doesn’t sound cross-platform to me at all.

    By the way, you consider IAP and ads to be “ancillary” for mobile platforms/Windows Phone? Is that why Corona doesn’t support those without native code?

  • Antheor
    Posted at 08:30h, 06 February

    Platforms : why not… still the main goal should ever be make corona a better mobile platform development
    Plugins : indeed some work to go
    Graphics : yes !
    Workflow : sure ! but composer is maybe not the right way: we want to code :), so working on corona editor was a good choice, any tools that could help us to code easier would be cool.

    Thx for reading.

  • Christian Mueller
    Posted at 14:53h, 15 February

    btw. about Plugins.

    Yes.. it would be great to have more AdNetWork Plugins to choose from.
    I really test a lot with AdNetworks, as they make the money!
    (Close ur Ears, Hobby Devs if u just play around, but if u do it serious, u have to look about income)

    and its amazing how different the AdNetworks pay. Its really important to have a flexibility and not just stick on a few Networks.
    It makes a huge different if a network pay 2$ecpm or 4$ecpm… that can make the decision if u can live from ur app or not.

    Thanks
    Chris

  • Corona Labs Acquired by Perkgamedev.fm | gamedev.fm
    Posted at 16:12h, 03 December

    […] I look back at the agenda and themes we set for 2015, I’m extremely happy that we accomplished nearly all of it. The list is really […]