divillysausages.com

Flash is dead. Long live Flash!

Congratulations Adobe, you've broken my writing hiatus. I saw what you did, and damnit, the internet needs my opinion! This week saw three bombs dropped on the Flash community (and apparently most of the people working in Adobe itself). Much has been said on all subjects, so I'm only going to focus on what this means if you're using Flash for game dev.

I'm going to ignore the Flash Professional news; it's mostly some people were laid off and they're currently focusing on cleaning up the code base (hopefully no more random crashes), and adding in features for Starling/HTML5/AIR. Rumours took it over and blew it out of proportion.

Flash Player Mobile

The biggest announcement was that Adobe are discontinuing Flash Player for mobile. I can see why they'd do it, though it makes me quite sad. In terms of dev work, how many people were actively targeting FP on mobile? Starting with Flash Player Lite, the experience was always pretty bad and quite gimped. Once 10.1 came along on modern smartphones, it actually became feasible to run Flash content on a phone. In reality, this didn't result in an explosion of web/mobile hybrid projects. For the most part, we couldn't really care, though we could now start to disprove all the speed/memory hog issues that have dogged Flash since Steve Jobs decided to grace the world with his thoughts.

So why am I sad? Ever since the smartphone explosion, one of the things setting iOS apart from the rest was that it didn't support Flash. If you were a fan of Apple, this didn't matter; you believed that Flash didn't have a place in the modern web, or at least the mobile one. The thing is, once you go from browsing on an iPhone/iPad, to browsing on something like the PlayBook, you actually do realise that you're missing out.

When it was just iOS forcing this experience on its users, we could say that what was happening was because Apple were blocking Flash, not that your phone wasn't capable. Now that Flash Player is no longer available (unless a vendor decides to take it upon themselves to ship it - and let's face it, that's not exactly likely), Adobe themselves are sending out the message that Flash doesn't belong on the mobile web. As more people are using phones or tablets in their browsing, this will start to bleed over to Flash doesn't belong on the web full stop. Which is a shame, as HTML5 isn't ready to take up the mantle left behind.

As to why Adobe would announce this now, I can only imagine that they saw that Flash would never appear on iOS in Steve Jobs' lifetime. I would be surprised if they haven't contacted Tim Cook to see if he would allow it, and being denied again, decided to cut their losses. The cost of continuing development on so many handsets and chipsets just doesn't add up. Being blocked on such a large portion of the mobile web, they were in danger of losing their dominance while chasing a dream. Adobe are a multimedia creation company. If HTML5 is the platform of choice for the future web, they'd want to be the company leading it. Mike Chambers has a good post explaining some of the reasons behind the decision.

Goodbye Flex

I've never been a big fan of Flex. Some of the way it's put together is just downright retarded, and I've been stung on more than one random bug, or method of working that's illogical. That said, I use the Flex SDK daily to make the games that mean I have a paycheck every month. From what I can understand, the next release, 4.6 will be the last from Adobe before it moves to open-source. How this is going to work out is unclear. Will they continue development but in a reduced capacity? Will they simply wipe their hands of the whole thing? Are the Air SDK and the Flex SDK counted as one and the same? Adobe have said that they're committed to continuing the development of AIR, so make of that what you will.

This is obviously more of a blow for enterprise developers, and the companies that have invested in using Flex. However, whether Flex goes open-source or not doesn't actually stop us from continuing to develop using the available SDKs. As long as the browser contains a Flash player plugin, all past and future development (using the same SDKs) will continue to work. It's still a massive blow to the stability of Flash. Why would a company commission a Flex tool when it can be discontinued at the drop of a hat? The same questions will now hang over AIR and Flash itself.

The future of Flash

Too many people have seized on the news, especially the discontinuation of Flash Player on mobile, to declare that Flash is dead. Again.

Lets look at the situation at it stands. There are 4 main pillars of Flash on the web:

In the HTML5/Flash debate, HTML5 is steadily moving down that list and providing an alternative, and in some cases better, solution (as a side point, this would be a perfect example of disruption, if HTML5 were pushed by a single company). For games, I not worried. HTML5 isn't ready to take over as the platform of choice for the casual or serious gamer on the web. The main obstacles remain:

PhotonStorm have a nice write-up on the realities of developing in Flash, HTML5 and Unity to clarify some of the points. Simply put, Flash remains the overwhelming favourite for doing a game that will be played in the browser.

As for apps, AIR has received a new focus as the tool to develop with and then compile to native code. Machinarium recently topped the iPad paid charts. This was a (great) game created using AIR. Is Flash dead? Hardly.

So what will I do?

Nothing. Adobe have decided to refocus their mobile strategy. Welcome to the realities of developing using a system controlled by one company. Apple change their policy whenever they feel like it and the soonest developers find out about it is when they get a flood of emails from angry customers saying that their app no longer works. Facebook changes their API every time I turn around. Try lurking around the Facebook dev forums, or StackExchange Facebook-related questions. Most questions go unanswered because you can't be definitive in your answer as it might have changed in the time since you've worked on it.

Will you have to learn a new language? Not if you don't want to, but you should. At the very least you'll improve as a developer. I've been with Flash since Flash Player 6. It was the first language I learned, and I can pretty much directly attribute every job I've ever had to it. Are all those years wasted? Hell no. Making a game will present the same problems no matter the language you use. The language is just a means of expressing your ideas into a form that people can play. ActionScript was just an easier starting route and it got rid of all the crap you have to worry about if you're working lower level (such as getting a render target, capturing input, even stuff like displaying an image or text in a non-mono-spaced font). If you make games, you're a games developer with x years experience.

If you don't want to develop in HTML5 or think JavaScript was dropped on its head as a baby, then nothing is stopping you from learning something else. Try Unity (though I'll point out that Unity is an IDE, not a language - you'll actually be coding in C# or UnityScript (read JavaScript)), Haxe, Java, C#, or even C++.

For all of this, there's no rush. HTML5 is a big ball of hype (tell me if you thought one of these were HTML5), and I wouldn't recommend it for a game until it matures, which it won't for another few years. Until then, Flash will continue to reign in the browser and we'll make games for it as normal. For mobile, we'll use AIR, just as we have since we first had the ability. Flash will not suddenly drop into irrelevance, no matter how Adobe seems to mismanage it. In your spare time, learn a new language, which you should be doing anyway. HTML5 will perhaps take over from Flash one day as the platform of choice for online games, but it's not today.

Keep calm and carry on.

Update - Backgrounds!

I made a background to go with this post as it doesn't have any images. You can download the different sizes at the bottom of this post!

Keep calm and carry on, Flash

Files

Comments

eco_bach

Agree with most of what you say except for the statement '... the day of the full Flash website should have died years ago, and for good reason.'
Could you elaborate? What are these reasons, SEO?, usability? The reality is that almost all award winning websites, providing a truly immersive experience continue to be developed in flash.

Damian Connolly

I used to work in the web industry and one of the first things I wanted to do was push for full Flash websites. They were easier to make, and didn't have all the cross-browser hassle (this was back when supporting IE5.5 was a reality!). Once I got more experience, I realised that this was a bad thing. Of course you have all the hassles of SEO (though that has improved) and accessibility (though as a dev, you can include that).

Websites live to provide one purpose - getting information across as efficiently as possible - anything else is just design fluff. Full Flash websites hinder this. The design starts to get in the way of the message. It's hard to construct it in a way that you can jump directly to a subsection based on a link in a search engine. Likewise getting the back button to work (as well as bookmarks etc), or making the text searchable in terms of something like Google as well as in-page search is also very hard.

Award winning websites have been done in Flash, and for good reason. It provides a more fully immersive experience than in possible with HTML alone (at least until recently). These sites tends to be glory sites however. They're made to look good and act as advertisments - there's usually very little information there. This is why I made the separation in that statement. For "normal" sites though, having it in full Flash doesn't act in the best interests of the client (organic rising through search results, creating customers etc), or the potential customer (they usually want a specific piece of information as fast as possible).

If you have some good examples of full Flash websites, I'll update the post with the links.

Mar-tay

I hate it when Apply change their policy. After all, they are the one company that control the system!!!!!11!!one!1

Damian Connolly

Aaaaand fixed :D

Sami Heikkinen

Well, the concept of Flash powered web/mobile hybrid was a nice one. Too bad it didn't fit to Apple's plans (or Windows Phone plans).

At least the concept works on one mobile platform, Android. Here is a glimpse of what web/mobile hybrids could have been: Gyrobrowser - adding Android gyro controls to existing Flash games.

pixels4nickels

I would have said there are 5 pillars to flash on the web, and mentioned Enterprise and B2B level web applications with a heavy focus on rich GUI interfaces...

Submit a comment

* indicates required