30 January 2015
State of Corona: Thoughts and Reflections 2015
Composer, Corona Editor, Corona native builds, Corona SDK, CoronaCards, News & Announcements, Plugins
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.
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:
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.
Corona 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.
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.
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.
We’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.