Corona Pro Plugins

There is no way to distribute plugins right now.  So regardless of a marketplace, Corona needs to add the ability for Enterprise users to share plugins with pro users.

So, you can tell how much I use plugins.

I was under the impression that with the plugin file in the project you could just include it. If that’s NOT how it works, CL could fix that, I presume. 

 Jay

Yes, the problem is not a lack of a marketplace website, but Corona allowing Pro users to use 3rd party plugins…

Today all 3rd party plugins available for Pro Users are hosted on Corona servers. So, Corona would have to do one of the following:

  1. Open their servers to users upload their own plugins

  2. Allow Pro users to indicate a link where to download the plugin (that would be downloaded automatically)

  3. Allow Pro users to import locally a 3rd party plugin

The problem with the (2) and (3) is that Corona loses the control over the plugins, that today are one of their revenues streams (the ads networks plugins have a revenue sharing with Corona for example).

So, if they want to continue have control over plugins, they would have to host 3rd party plugins on their server what would create the need to review/approve the plugins. So, it is kind they becoming “App Store” where you would have to submit your plugin and they would review and approve…

Of course, they could do the (2) or (3) and specify on the Usage Terms that the plugin should not generate any kind of revenue, but so you would end up dealing with legal issues and that kind of stuff.

So, at least for me, is that how I see the marketplace situation right now…

From what I heard it’s already possible, just not enabled so unless you work for Corona it’s not doable.

I don’t think they will enable it without a marketplace where they get a %.

I believe Enterprise users can share plugins, but Pro users can only use Corona hosted ones.

So we’re in kind of a lose-lose situation then, as long as (if) Corona Labs feels the need for profiting from 3rd-party plugins. Because they don’t have the time to create the store.

Here’s my suggestion to Corona Labs: Make it so users can locally import plugins and allow 3rd-parties to create a plugin store. Users win because they get added functionality and YOU win because that has the potential to greatly increase the number of people using the SDK.

Plus, when you do find time, you can create an official plug-in store and take 30% of the plugins you sell. 

After all, what do you care if someone makes money from Corona SDK as long as people are buying your framework? If you open up plugins like that you’re NOT losing money. And you’re giving the Corona community a chance to explode.

 Jay
 

I do not quite understand why only Enterprise users are able to create 3rd-Party Plugins…

Wouldn´t it be better for all if everyone were able to create and include plugins into their projects?

One of the biggest advantages of Unity over Corona is the Asset Store! You do not even need to setup a store on your own. Just give us the ability to create those plugins. Then you can concentrate on the core framework while we are expanding it!

It should be as simply as that.

Max

On this note, I was looking at the Chartboost library. It is an encrypted lua file which you require in your project just as any other lua module. It works and does its thing and is not a traditional CL served plug-in. I would like to learn more about how they achieved that. An encrypted lua library that is. This might be the way Corona Enterprise users could package their modules in a protected sense and offer them on any marketplace of their choosing. This might even be the way for pro users to offer things like improved widgets etc. Anyone know more about this?

Last I heard Chartboost on Corona was broken and they said they no longer support it.  Haven’t checked their source, it is likely obfuscated, not encrypted.

Yes. Probably thats what it is. Sorry for the terminology error. It looks like this when you open it in an editor. Just pasting some of it : 

LuaQ@chartboost\_library\_public.lua l%C@A@$A$$$$A$$$$A$$$$A$$$$A$$$$A$$$$A$ FF AFE AFA AFAA AEA\ZAA!match^(.\*)%..-$chartboost.libraries.lib.classchartboost.libraries.CBUtility&chartboost.networking.CBWebImageCache"chartboost.networking.CBURLOpener"chartboost.model.CBImpressionType#chartboost.model.CBImpressionStatechartboost.model.CBOrientation!chartboost.model.CBAnimationTypechartboost.view.CBAnimations#chartboost.view.CBAnimationManager(chartboost.view.CBUnderfinedProgressBarchartboost.view.CBLoadingView!chartboost.view.CBBackgroundView&chartboost.view.CBPopupImpressionView,chartboost.nativeviews.CBRoundRectImageView&chartboost.nativeviews.CBActionButton&chartboost.nativeviews.CBMoreAppsCell-chartboost.nativeviews.CBMoreAppsRegularCell.chartboost.nativeviews.CBMoreAppsFeaturedCell-chartboost.nativeviews.CBMoreAppsWebViewCellchartboost.CBViewProtocolchartboost.CBViewController8chartboost.nativeviews.CBNativeInterstitialViewProtocol.chartboost.nativeviews.CBMoreAppsViewProtocol"chartboost.view.CBWebViewProtocolchartboost.model.CBImpressionpcallrequire.chartboost\_internalprintChartboost requires the additional library file 'chartboost\_internal.lua' to be found in the same directory as 'chartboost.lua'.DFZrequire name mod \_\_chartboost\_\_modulesK$H (Z@܀@@܀$@$AA@A type functiontablepairs\_base\_\_index\_\_callinitis\_a setmetatable0\<D@e@@@e@ setmetatableinit1222233344444777777788888;\< class\_tblargobjcinitbase\>E@@@@@ getmetatable\_base???@@AAAABBDDEself klass

I have seen this kind of obfuscated code before when I was trying to get behind the Corona SDk “Demo” project from the Legacy builds… I didn´t find out how to make it readable though. But these were all .lua files

Yes, so my point is that there is a way to reasonably obfuscate code and offer it for sale. I don’t know if this approach could be used on the Enterprise built native invoking plugins but it certainly sounds like a way to secure pure text lua based modules Pro users might offer for sale. 

Problem is not everything can be done in pure lua.  That’s the problem.

Exactly. This doesn’t diminish the need for Corona Labs to offer the plugin market. It was just an idea for Pro users trying to make modules and sell them etc. 

On the plugin market side, I don’t get it why this is so hard for CL to accomplish. They obviously have the mechanism for 3rd party plugins to be hosted on their servers and used in the SDK. There are numerous examples of this already in the monetization libraries etc. See http://coronalabs.com/resources/plugins/

So please help us understand David. Why is it possible to load a plugin if your name is Vungle or SponsorPay or Fortumo etc and not possible if your name is @deleurapps

If someone makes a plugin and gives it to corona to support a third party service, I’m sure they will add it.   They just don’t have  a monetized strategy done yet.  (although I heard from a few sources it was but the guy left).  

Corona’s stance right now is they do not want to build plugins, they want it done by third party vendors as they don’t want to support them which I understand.   But the Third party vendors don’t want to build them as Corona’s market share is much smaller than the big SDK’s out there and there return on investment isn’t there.

Okay, I’m confused again. I’ve seen people offer plugins for sale here in the forums. In fact, I saw someone offering just such a thing last night. So how are they able to do that if CL has to be involved to make the plugin work?

 Jay

There is no way currently to buy or even share plugins unless you have Enterprise.  There are people offering plugin development to other Enterprise users, but I don’t know of any other offerings from that.  Unless it is a “Lua” plugin.  I’ve been out of the Corona scene for a bit, but I’m pretty sure that’s it.

Yeah, the plugins I offered for sale are exclusively for enterprise users. With the enterprise subscription you can make any plugin you want.

I think a major reason why corona does not want to let enterprise users share their plugins with pro is because less people would be interested in the enterprise subscription. There would just be a select few who make and destructed plugins with the enterprise subscriptions, and the rest won’t buy that plan.

They already doubled the price to pro so they can finance free users so Corona can claim larger market share.  Yet there isn’t a huge difference for Pro users, especially since starter users getting plugins too.  IAP is a requirement to be successful on the apps store so that’s kind of a trick pony being used to leverage Pro user upgrades.  It was promised well over a year ago this functionality would be available to Pro users already.

I think Coronalabs would _increase _sales of Enterprise licenses if there was a plugin marketplace that all subscribers could access.  

The unwashed masses (I include myself in that) don’t have the expertise to set up and build natively, so writing plugins is not something I will attempt.  I’m never going to buy an Enterprise license even to integrate other people’s plugins because I don’t care to get bogged down setting up native build environments.  The whole point of using Corona for me is the ease with which cross platform apps can be made from a single code base.  If I had to write natively for iOS and Android… well, I’d be using something else.  For every Corona user who can write native plugins there are probably 10 of us who can’t, or won’t.  

But those who do have the expertise to write plugins might be more likely to purchase an Enterprise license if it meant they could sell a couple hundred copies of their plugins to people like me.  I think the popularity of Unity is partially due to the perception (somewhat incorrect) that it doesn’t require programming.  Corona doesn’t have that advantage, but LUA, plugins, and Corona’s core make it the next best thing in terms of ease of use and accessibility for non-expert programmers.

^^ Exactly my thoughts and position.