Windows 8 support, but still no love for biz app devs ?

I bought into Corona only for producing cross-platform business apps - I liked the company, the ethic and the product, but as time goes on this is just not working out.

The recent announcement that it’s now possible to build for Windows 8 devices is great except for two things:

  1. You need Corona Cards for it - another $500 a year

  2. As of August this year, Win phones accounted for 2.5% of the market

So what’s the business strategy here? It looks as though anyone who wants to make use of CL to do anything with ‘native’ widgets is being pushed aside in favour of a mobile platform that no-one really wants - except maybe some businesses. Oh wait though, if you want to create business apps using CL you’re screwed because the management don’t seem to have biz devs as a priority. In fact, I’m not even sure we’re on any list right now.

So, Corona Labs, can we have an official comment on what’s happening with regards the business side of things - are you supporting your biz dev community or not, and if you are, can we have some CONCRETE promises on what’s coming down the line, so we can make alternative arrangements for future dev efforts.

MrCrussell 

True words sir

I do agree with the OP here. For business apps widgets need to be native, not approximations of the real thing, and certainly not widgets with iOS behavior when run on Android. Skin it all you want, but that doesn’t make it Android.

I’ve tried bridging native widgets with Corona using Enterprise, but it’s been a futile task. 

The answer for me has been to go 100% native for business apps for both Android and iOS. It is more work (sometimes a lot more), but I get the behavior I want. iOS has always been my main target, and Swift has definitely made coding more fun than using the dinosaur Objective-C is.

First, while Windows 8 Phone is done with Corona Cards, every Pro and Enterprise subscriber got a free license to the Windows 8 Phone Corona Cards.  Any new Pro/Enterprise subscribers will get that as well.  It’s not an extra $500 per year.  Of course someone just interested in Windows 8 can buy their Cards subscription for the cards subscription price.

Corona SDK is an OpenGL based system.  We’ve provided widgets that emulate native versions that work in OpenGL so you can integrate them within your app.  If we implemented more  widgets in native space, they would sit on top of the OpenGL canvas, like the existing native.* widgets do and you would be upset that they didn’t work together.  Corona widgets work in Windows 8 Phone. I believe what’s missing is most of the native.* items.  For an SDK user, it’s important that we provide these since SDK users don’t have the ability to access native objects themselves, but when you have to build with Xcode, ant or Visual Studio, you have access to those items from native code.  While native.* objects would be nice to have, you can still accomplish this in native land.

Rob

Hi Rob, the point is that while it’s audible that Corona gave all Pro/Ent users access to the Win8 expansion, how many will actually bother to use it?

Win8 take-up is miserably small and I know I, for one, won’t bother - the potential support and testing issues in addition to the cost of the hardware versus the amount of effort to produce anything for Win8 makes it (imho) a  total waste of effort.

True, Corona have provided widgets for integration, then they were open sourced and effectively sidelined as part of the development effort in favour of options like Win8 integration.

What I was looking for was an official comment from some at CL to let us know if the company was taking Biz Devs seriously and had any improvements/upgrades/plans for the future, or if games were the focus on-going.

i like Corona, believe me I do, but if there’s no interest from CL in expanding and improving the business offering going forward I need to move on, and I suspect I’m not the only one.  

I would love to hear such a comment from David or Walter as well. 

@crussell, Windows 8 phone was one of the highest voted on items on the Feedback site. Based on the number of people asking about it in the forums, I would hope its adoption rate will be fairly high.  While user adoption rates are still fairly low relative to iOS and Android, it is a new market place with few apps and the competition isn’t high, which makes it an attractive market to go to, so developer adoption rates should be higher.

You ask “are we going to take business apps seriouslly”, but what would it take for you to say that we are?  What specific features do we need to provide to answer this question?

Rob

OK I know I’m probably dreaming here, but for me Business Apps are not games and don’t need OpenGL.

I think this would require Corona to have 2 modes:

• OpenGL-mode as it exists today for making games

• Non-OpenGL “native mode” for creating business apps

I know, a hell of a task to implement, but I think that’s what it would take to make it a serious contender for Business Apps and a promising alternative to 100% native and Appcelerator Titanium.

I am also with that business app problem.

For my causes, the 2 most annoying problem are:

  1. the famous textField problem (extensively discussed on the forum)
  2. the impossibility to add anything above native objects (today I cannot add a “my location” button above the map, a pretty standard feature)

My solution today is the same as @ingemar: going natively.

I heard about about a cross-platform called Xamarin which appears to be very focused on business app. They say that they provide native UI for all devices using a single API (Xamarin.Forms). May be Corona can take a look on how they do it and get inspired to create a Corona/Lua version of it.

To be fair to Corona Labs, their SDK has always been primarily geared towards creating 2D graphics (i.e. games) in an OpenGL canvas with only a nod towards business apps with the Widget library. The reality is, I strongly suspect,  that very few Corona developers make a living out of developing games apps and most are supported by day jobs doing other things. In fact I’ve never met another Corona developer who makes his living out of just developing apps with Corona.

An indie developer is finding harder and harder to make ends meet doing just indie games development so will be tempted to branch out into business apps as that’s where the money is to be made. Not daydream money when you make your hit game, but regular income solving business problems. If you’ve spent years using Corona as your SDK of choice, with all its intrinsic benefits (ease of use, cross platform, the simplicity and power of Lua etc), then you’ll be reluctant to want to shift to another tool (unless you are a hard core programmer who knows multiple programming languages, frameworks, IDEs etc). You will probably have been attracted, like me, to the simplicity and power of Lua as much as by your distaste for Objective C! I came from a web development background, at least most recently, so first of all did dabble in hybrid platforms, like PhoneGap, to leverage my existing skill set, but was ultimately disappointed by the performance. OK things are improving in that area and so is always worth revisiting. And there are lots of Javascript frameworks that provide cross-platform UI and backend solutions, like Angular, that are geared towards business apps.

My first published app was developed using NimbleKit, a combination of Javascript and native components, but that was iOS only and eventually taken over by Sencha. I then dabbled with Appcelerator, but back then ( 3 or 4 years ago) it was not very stable and poorly documented although the Javascript code, unlike PhoneGap, compiled to native apps. Again a product well worth revisiting, especially now it is open source and free to use, and if you’re primarily interested in business apps (and there’s always Platino for the games stuff…). Now there’s Xamarin which is starting to look like a real contender for cross-platform business apps, as long as you’re happy with coding in C#. I’m leaving aside all the other alternative 2D games toolkits - Marmalade is an attractive proposition, especially with Quick for using Lua - as we’re talking about business apps.

So back to the question; what could Corona Labs do to help developers of business apps? Well there are quite a few relatively minor things - well at least things that don’t require the probable massive investment in creating a cross-platform native UI library. There is always the Enterprise Edition if you want to explore that avenue, but that’s not for the average developer. Corona Cards initially looked like a more attractive proposition, using a Corona canvas for the 2D graphics stuff and overlaying native objects. Main problem, as with Enterprise, is that the native stuff is, by definition, not cross-platform, and you also have to pay separately for each platform. I could see great attraction in using, for example, Appcelerator, for all the cross-platform native UI components and then embedding Corona Cards for your graphics, but the cost of licensing each platform separately makes it less attractive. Its good to see Corona Labs bundling WP8 support into the Pro subscription so something similar (i.e. a bundled price) for the iOS and Android versions would definitely appeal more.

Another feature of Xamarin is that they offer a true monthly Indie plan, that is you pay for it monthly, not annually - why can’t Corona Labs offer genuine monthly plans for their products? Cash flow is much harder to manage for indie developers than companies like Corona Labs with their venture capital funding (OK I know they’re not a big outfit in Silicon Valley terms). Also I note that if you purchase Xamarin annual licences they don’t stop working, or fall back to basic features, if you decide not renew but continue to work, with all features, just without future updates. Food for thought there?

Back to specific Corona features that could do with a bit more love for business apps. Well much has been said about the shortcomings of the Widget Library, and Corona Labs response has been to make it open source. A bit of a cop out to be honest as I don’t think it would take that much to resolve some of the issues, particularly scalability. The developments by the Widget Town guys are to be commended in attacking some of the issues.

Of course, there is always the option with business apps to throw the UI conventions out of the window and just do your own thing but some better support for basic features is still desirable. For example, many business apps require the displaying of quantities of text and the limited formatting options of text fields is a real pain - just think of the basic requirements for multi-line text with variable line spacing, embedded formatting etc. Some developers have tackled this with their own solutions but in my experience they fail too easily with real text data. The alternative is to use HTML text in a web view but that is also fraught with difficulties such as the inability to overlay anything else on top of the native object and the arcane mechanisms you have to use to communicate between Lua and the web view. So some sort of better integration between the HTML, CSS and Javascript of the web view and the native Lua code would be a real boon. Maybe a simple HTML text object would go a long way towards improving the display capabilities needed for business apps?

The other important necessity for business apps is the ability to utilise back-end data sources. This is actually pretty well supported by Corona, as long as there is a REST API to access the required data, and using products like Coronium makes things even easier and more powerful (congratulations and thanks to Chris Byerly for all that he’s done in creating and supporting Coronium). I would suggest that Corona Labs give him some official support, if they don’t already, but maybe that would be the kiss of death given previous experience in that area …

So I hope there are some positive thoughts and ideas in there for both Corona Labs and other developers to consider. I would love to continue to solely use Corona to develop business apps, as that’s where the most potential income is, but I also need to keep one eye on the competition too.

Stefan

@spjnowak,  very thorough review of the current state with Corona SDK and alternative options. Thanks much for taking the time and sharing your thoughts.

Going forward, I am leaning very heavily towards Appcelerator despite my strong dislike for JS. Funny enough, one thing that connects me to Corona SDK and makes it harder for me to leave is Coronium. As you said, Chris has done such a good job with this product and he is such a pleasure to work with, it is harder to leave now. 

As for Rob’s question …

You ask “are we going to take business apps seriouslly”, but what would it take for you to say that we are?  What specific features do we need to provide to answer this question?

For me the key items are : 

Transparency on long term plans and viability of Corona Labs as a business. The fact that the roadmap has disappeared a while back and that there is no way for us to ascertain the health of this business makes me very wary of investing any more of my time in what might simply disappear one day too soon. A quarterly or bi-annual “State of the Union” address by Walter and/or David relating to the short/mid/long term strategic goals, company stats etc might help provide some comfort in this area. This is one topic where silence is not gold!

API consistency / availability between platforms. It is a fact that a number of key features are introduced on one platform and then take an awful long time to reach the other platform(s), if ever. IMHO, for a SDK that is promoted on its “write once, publish multiple times” strength this is a major shortcoming. After all, if I have to jump through the hoops to deliver a certain experience consistently on IOS, Android and now WP8 then what is the point of doing it with Corona SDK. IMHO, no API element should be introduced until it can be supported on all Corona SDK supported OS unless there is a technical impossibility at hand to do with how a particular OS is developed by its owner. 

Widgets, widgets, widgets, widgets… Despite the multi-year journey we’ve been through, the framework is still far from rock solid and has not been expanded with new widgets in a long time. If Corona SDK is to be taken seriously as a business app development environment the widgets have to be made a serious priority and all pending issues need to be resolved asap. This will take more resource than part time of a single resource. Alex thanks for all you do for us and we really appreciate it. We just need more of your time and more people along with you on this one… We also need many new widgets which are now standard place in business app development. 

Its the marketplace silly! If you can’t build it yourself then let others do it… Unity, Xamarin, Appcelerator etc all have very healthy 3rd party plugin marketplaces… It should be a priority for Corona Labs to finalize its plugin marketplace and should include a way to share revenue with the plugin developers so that more developers are encouraged to invest their energy in producing plugins. Additional capabilities and features provided in this manner by 3rd parties will bring more customers to the platform and increase loyalty. 

Lastly, the UI element sizing and consistency across OS & devices has historically been a challenge for business apps. Corona SDK scaling is a very strong feature for games and ebooks etc but not so much for business apps. I am very encouraged to see the latest blog series by Walter on this topic and look forward to the final installment of the series and keep fingers crossed for a point based design capability for Corona SDK going forward. 

I was thinking about this thread and took a stroll down the memory lane coming across the following guest blog : 

http://coronalabs.com/blog/2011/12/27/guest-post-corona-sdk-means-business/

This blog post is nearly 3 years old and the comments section is most eye opening. Just reading through it should help Corona Labs leadership understand where the frustration is coming from. Many of the issues highlighted 3 years ago are still open issues. The competition has not slept and many issues mentioned for competition has gone away but Corona Labs did not prioritize sufficiently the key issues standing against massive uptake of the SDK for business app development.

I will leave you with a quote from David Rangel from the comments section…

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.

Almost 3 years in, we are all still waiting for that promised change to come … 

Think it’s only me and you reading this, Kerem! Otherwise deafening silence in response to some valid points made.

Should be submitting my first business app to Apple this week, using Coronium as an app server to collect data from the clients own server, modified widgets (had to hack the picker wheel to get it to work, sort of, at non 320x640 resolution) including a bespoke scroll view as a table view wouldn’t meet the design requirements. Will share some details once it goes live.

Stefan

Stefan, indeed the silence is deafening. Every now and then we get a small nod but in terms of bold & key statements there is nothing but silence from senior leadership. Most disheartening.

Best of luck with your new app. I will look forward to hearing more about it. It sounds like an exciting project with a great use case for Coronium. Congratulations. 

Been AFTI for a day or two and come back to find folks have covered just about everything I had to say that was worth saying!!

Spjnovak was very fair in his summation I thought, but there’s one statement to take issue with, and it’s this:

“To be fair to Corona Labs, their SDK has always been primarily geared towards creating 2D graphics (i.e. games) in an OpenGL canvas with only a nod towards business apps with the Widget library.”

If that was entirely the case, I’d agree, I’d hold my hands up and probably admit I was using the wrong tool for the job, but CL’s own promo material say quite the opposite. Linked from the homepage is this one: http://coronalabs.com/i-want-to-build/business-apps/ which is filled with phrases like " one of the best kept industry secrets is that Corona lets you build first-class business apps".

The point is CL clearly point to the use of the platform as a ‘Supercharger’ for business apps, but, as ksan says above there’s nothing tangible going forward.

Good point MrCrussel! When I started using Corona 4 years ago there was actually a separate Game Edition (which had all of the interesting features like Box2D physics) but you’re right for quite a while CL have been promoting its suitability for business apps. I have spent most of those 4 years developing book apps, primarily for children, with mixed success (financially more so when commissioned be a client rather than publishing yourself) but have only this year worked specifically on a business app. In doing so I have become painfully aware of the shortcomings of features that I had taken for granted would work as described. In particular the Widget library has been a mixed blessing, the major limitation being the unscalability of them which, although documented, you don’t necessarily realise is such a restriction. For example, the sample code all uses a screen size of 640x320 and if you then use the elsewhere recommended universal config.lua it breaks them to varying degrees, especially the picker wheel. At least having the library open source allows the opportunity for some hacking to get round the issues but this is far from ideal.

It is well worth exploring non-standard UI designs, even for business apps, to avoid such Widgets limitations but even so some basic generic functionality should be in place to avoid reinventing the wheel. The limitations I mentioned before about text display objects is a case in point.

Don’t get me wrong, I love Corona despite all of this (and I’ve lost a lot of time this year converting code to Graphics 2.0 and Storyboard to Composer) and I’m still investing a lot of time in developing future products on top of the SDK. I am constantly tempted to jump ship to competitive frameworks (funnily enough I can almost do everything I want to do now using HTML/CSS/Javascript, especially with iOS8 now supporting WebGL in web views ,so I’ve come full circle in my search for tools I can understand!) but I keep coming back to Corona for the overall ease of use. Just the efficiency of the workflow and app building process is almost enough on its own and, of course, Lua which is much nicer than Javascript. But we always want more … so to get back to the thread title, give us biz app developers a little more love Corona Labs!

Now, how am I going to integrate the Apple Watch into my next app idea - Swift plus Enterprise Edition? Damn there’s more money going their way!

Stefan

So just like that the word hits the ground… 

http://coronalabs.com/blog/2014/11/04/fuse-powered-acquires-corona/

Not one mention in that press release on biz apps. Nor any mention in Jon (CEO)'s post on this topic…

I guess thats it folks. 

@ksan: http://coronalabs.com/fuse-corona-faq/

last section

Thanks. I’ve seen it but really, it doesn’t really say anything we didn’t know before… 

Going forward, Corona will still be a general purpose platform and developers will be free to use it to develop any type of app.

Corona is, and will continue to be, a great tool for developers that want to quickly and easily develop cross-platform apps with rich, innovative and custom UIs.

What I read above is that we can choose to remain with Corona SDK to develop any type of apps provided we’re ok with non-native looking UIs and develop our own custom UI. That faq entry does nothing to instill confidence. Nothing at all. 

@ksan: I see your point there. Would be interesting if there will be more support in the future, or if its simply like “take what we offer now, do the rest yourself”.