For many, Flash is the bane of the web and its death will be a cause for celebration.
A more balanced perspective is that Flash was at one point incredibly useful, but like many useful things, it was overused and abused and will increasingly have less and less utility as newer and better web technologies let us achieve things we once had to turn to Flash for.
One might assume that Flash's decline is bad news for Adobe, the technology's maker. But increasingly it seems that Adobe is doing everything it can to ensure that Flash is marginalized -- even in the markets where it doesn't need to.
The latest example of that: premium features for Flash game developers.
Arguably, if there's room for Flash on the web going forward, one of the places it can still play an important role is in the gaming vertical. Yes, there's a lot of potential for HTML5 games, but HTML5 isn't there yet and Flash still offers a number of advantages. Advantages which Adobe seems to be minimizing with the launch of premium features, which Adobe just announced:
The premium features tier is intended to benefit game developers interested in creating the most advanced, graphically sophisticated, next-generation games for the web. The combination of hardware-accelerated Stage3D with domain memory enables the use of advanced compiler technologies like the Adobe Alchemy compiler, and other advanced game engines like Unity's. Check Unity's technology blog for more information.
The premium features enable these existing C/C++ codebases to run sandboxed across browsers in Flash Player. C/C++ developers, and developers using other languages who build on native middleware/engines, can now join ActionScript developers in benefiting from the ubiquity of Flash Player. And ActionScript developers benefit from now being able to leverage millions of lines of existing optimized C/C++ code in their ActionScript projects.
Sounds good, right?
There's just one problem: if you want to use these premium features to build better, more sophisticated and performant games, Adobe wants 9% of your pie if your game generates over $50,000 in net revenue. There may also be a "nominal program fee."
Games developed before August 1 won't be subject to the revenue sharing requirement, and many developers won't hit the $50,000 threshold. But even with these caveats, Adobe is providing a perfect case study in why revenue sharing often sucks.
Game developers monetize through a variety of means, including advertising and sponsorships, in-app purchases and subscription fees. For each of these, there are often third parties, like Facebook and Apple, taking a cut of the action. And, of course, game developers, like everyone else, pay taxes.
To calculate net revenue, which Adobe defines as revenue "after taxes, payment processing fees, and social network platform fees are subtracted", developers will essentially have to open their books to Adobe. Needless to say, the specter of an Adobe audit which requires sharing everything about your business, including your earnings from a variety of partners as well as business tax returns, isn't all that appealing.
One might chalk up Adobe's licensing terms for premium features to greed, but that's being too generous to the company in my opinion. The only way to describe this is pure foolishness.
The sensible solution Adobe should have adopted: set a price for a license. It's how most other software companies license their technology, and if premium features are as important and attractive as Adobe thinks they are, developers won't hesitate to pay up, just as businesses pony up for expensive software licenses from companies like Microsoft and Oracle.
By adopting the most ridiculous type of licensing terms imaginable, Adobe is giving one of the last groups of developers with reason to embrace Flash a good reason to eagerly anticipate the day they won't need it anymore. If Adobe keeps at it, that day may come sooner than many of us expected.