Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

Chrome to deprecate Flash

The Chrome team revealed plans to block Flash content from every website unless a user explicitly allows the player to run. This is another step in what seems to be a plan to ban Flash from the web. These are my thoughts as a game developer on the topic.

Ruben Gerlach, Blogger

May 18, 2016

9 Min Read

The current situation

The Chromium team revealed plans to block Flash content from every website unless a user explicitly allows the player to run. This is another step in what seems to be a plan to banish Flash from the web.

As a web and mobile games company we are directly affected by these plans because we use Flash and Air to publish our games to web and mobile with a single codebase. I assume there are many other companies that are in the same boat, so it is worth hearing the arguments of the game developers.

The Chromium team specifically asked for feedback from game developers on the current plans. Except for a few fixes and additions, I posted the following text as a response to this request for feedback:

 

Hi Anthony,

thanks for your writing. You are asking for feedback from game developers. OK here goes, you won't like it. I usually do not even bother to try to convince anyone, because mindsets rarely change. But maybe this one time it is worth it. Stay a while and listen...

Why not HTML5?

The last time we have built a minigame in HTML5 for a promo, it took way longer than we anticipated with our Flash experience. And in the end, we had a lot of nasty workarounds and bugfixes for different browsers, browser versions and OS versions. We ended up with if clauses that target specific environments (is this Android 4.2 and browser Firefox, or Windows Desktop with IE 8 then do this little workaround, ... etc). For an ad sized minigame! This is not what I have in mind when I think of a platform I want to develop games on. Games are such a higly complex thing that we can not afford wasting time fixing stuff for different browsers or browser versions. Go ahead and ask any game developers around.

Don't get me wrong, I do not doubt that games can be built in HTML5. The newschool developers coming from an HTML5 background will be used to all these nasty tricks, and they will not miss a sophisticated toolchain because they have never seen one. That does not mean there is good reason to force everyone to switch to this technology.

Besides, I have no doubt that Apple (and maybe Google, too) will do their best to sabotage HTML5 gaming on mobile. The 30% cuts in the appstore are much too sweet to have anyone cut a corner through the browser. And I hope no one has any illusions about what was the real reason that Flash never had a chance on iOS.

Why the timing is bad

You are trying to convince me that WebGL2 and WebASM will be worthy replacements for Flash. Really? Can we wait until they are out, industry proven and mature before we force everyone to do the switch? We started with our games in 2009. Do you know what we have done since then? We have written code. If we start over now, I will call it a success if we are done in less than a year. Without any other progress on the product itself! So forgive me that I do not jump any train that comes across as the savior of web gaming.

Let's talk about Flash

Usually when I talk to other developers, they have a complete misunderstanding of what Flash is and what it can do. So it might be worth spending some time on explanations. I hear the "but Flash does not run on mobile" way too often. It does! That is what Adobe Air is for. I can easily deploy my Flash game to web, Android, iOS, Windows and Steam, MacOS and even Linux! With a single code base, and a mature, highly capable rendering engine, that will deliver identical results on any platform. Digest on that.

Flash is not a "necessary evil" for us, as some have put it. We, and our fellow AS3 developers, think it is a great piece of technology, that just requires some attention and a marketing polish. It is much more powerful than anything that HTML5 is promising today. And we do not want to switch.

But Flash is bad

Oh really? This is my favorite topic. There is a certain hate against Flash that is mostly based on horrible press coverage on Flash and all the good stuff those people missed out on when they got their first iPhone. In any case, anyone will mention the "Thoughts on Flash" by Steve Jobs. Let's go dive into the details:

Battery Life: Of course, bad written Flash ads do drive your battery down, and it is for the better that no one is using Flash ads anymore. But wait. What are all those flashy ads that drain my CPU to the knees? Oh right, HTML5 ads. And did you know that although Flash was considered very bad for iOS, there was no objection to allow Air apps in iTunes, that are using the very same tech? There are even reports were Apple approved Air apps built in interpreter mode. That is kind of a debug mode to step through your AS3 code and it is very CPU intense to say the least. We are building games, and if any of our users complain that they can not use their Notebook 9 hours but only 5 while they are playing our game, my recommendation to them would be to plug it in.

If you are really so worried that users will dislike Flash content, why don't you just let them make the decision which sites they will visit on their own? The times of Flash ads are over (and everyone begins to realize that HTML5 ads are not that much better) so the chance that someone consumes Flash content without having the intention to do so is quite low.

Security: Isn't Flash this thing that has an issue with security? As we are talking about Chrome here, it is very worth mentioning the PPAPI. I assume most readers are not aware of what exactly it is. Historically, browser plugins were written with the Netscape Plugin API, NPAPI. In short, it has problems with security, because it grants the plugin unregulated system access. That is why the Google team came up with the Pepper Plugin API, aka PPAPI. You see, the PPAPI was designed in a way that it does not easily allow for unauthorized system manipulation. Nowadays, Flash is built upon this PPAPI, because it is the only API that Chrome allows. By this point, all security issue allegations against Flash in Chrome are void.

Besides: It is curious how everyone celebrates the Flash security issues (that are usually fixed within 2-3 days by the Adobe team!) but ignores major security leaks in Android, Windows Font driver, Mozilla Firefox or iOS, that all had their shares of security issues. Go read what an awesome job they did: http://www.zdnet.com/article/android-you-have-serious-security-problems/

Many Android devices will still suffer from the above issue because many device manufacturers can not be bothered to update devices older than a year or two. Still, I do not hear anyone calling for the death of Android.

Adobe: Flash is bad, because it is proprietary software built by Adobe. Having a proprietary platform built by a single company is actually a good thing, because it guarantees identical results on any given platform. You see, browser vendors are not even able to agree on video codecs. Other than that I think Adobe does a really bad job of promoting Flash and Air, and it is the one thing that is shaking the AS3 developer community. Invest more, rethink the business model and give Google a share so they are happy to leave Flash in Chrome. We would be more than happy to pay more for licenses if in return we get a guarantee for support.

What will happen if Flash will be removed from Chrome

Other vendors will follow and within a couple of years Flash development will be halted. Air will follow sooner or later and in any case we will have to switch to another technology that allows cross platform deployment on web and mobile, which will cost us a full year of development stop in the best case. Our games make a considerable amount of revenue on Google Play and we usually release 1-2 games per year. That means Google will lose out on those revenue cuts because we will be occupied switching our codebase to another platform.

What would be the alternative?

I think because you do not understand Flash and Air, and especially the very passionate community of developers behind it, you are missing out on great potential. Go check the Air, ActionScript or Starling forums that are very much alive. Make one step further and imagine Flash would not be a bad thing but just a tool for developing apps and applications. The only thing it is missing is some love and support, and that is because Adobe fails to monetize the platform. Imagine Google would buy the platform, give it a marketing treatment and make every developer pay a fee per month, similar to what Unity is doing. We would be more than happy to pay a subscription fee if we get the confidence back, that Flash and Air are here to stay, because they are great tools.

 

 

The last thing that I want to highlight is that I really dislike the way that Google is forcing everyone to comply to the "HTML5" world, because you say so. As pointed out, there are a lot of legitimate use cases for Flash, so why not just let everyone choose the tool that they think best for the job and let the users decide.

Thanks

 

--

The discussion is ongoing. If you would like to follow up or give feedback to the Chromium team about their plans, you can find it here:

https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/0wWoRRhTA_E

Read more about:

2016Featured Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like