I disagree on the app store concept. IAP (in app purchases) would be a bad way to go. First the 30% cut to the provider, then what split to developer / ST?
A better way would be for ST to build a back end where developers can sell, support and track their customers, using the same tools (potentially) that ST has.
I see the biggest issues facing community developers from monetizing their solutions are these:
-Support
-Revenue
-Access
Support
ST has already shown an inability to handle a flood of customer issues. Trying to support a custom SmartApp or DeviceType as a community developer is damn near impossible. We get ZERO information beyond what every other customer gets.
What Needs to Be Done?
Allow a certified Developer program, in which we can get access to the ticket system, assign and handle support issues as if we were integrated into ST.
Provide a separate area, password protected, forums (like these) that internal and developer communications can be shared, which is not meant for public view.
Weekly Developer calls with actual representation from internal teams inside ST, not just a community manager
Revenue
Allow a SmartApp Store to exist outside the App ecosystem. Avoid the 30% cut by selling the SmartApps and DeviceTypes at an account level. Nothing has to be bound to the mobile app.
Allow other methods of SmartApp install to continue and expand, ala how SmartTiles and others use OAUTH and such to install without being approved.
Allow encryption in IDE so that people can buy a copy of a community code, without the ability to encrypt. Think binary / executable. Copy the encrypted code into IDE, IDE decodes it, ST would always have the public keys, so support and others would always be able to see the code, just like today.
Access
Do real beta testing for developers. All certified developers are automatically beta testers. Offer wholesale pricing on sensors and such available through SmartThings store to equip themselves and test with variety of products
Offer a testing lab in PA and Minneapolis where developers can test their SmartApps in a lab, via reservation system
Weekly developer and engineering teams calls. Rotate each group every week so no more then once a month per team.
Share access to ticket system, so developers can support their solutions within the same ST system
Share internal bug tracking with developers so they know existing issues and coming fixes.
Private access to discussion forums outside of public view.
Certification process and training for new developers
Just my two cents, but if ST really wants to get behind community developers, the above would go a long way to help further the cause.