As usual I am slow to write about such things. So last week Adobe fired hundreds of people and announced that they are giving up on Flash for mobile browsers. There is already much written about it. Lot of “Flash is dead” buzz on tech sites which sounds to me like an ill informed. Some closer to Adobe people, who actually work in RIA, have a lot more sane views on the question. Here, here and here among the others.
My views and reactions
My first reaction was “Well, now Flash as we know it is dead”. Or more precisely it got a terminal illness. On other side what exactly changed? Right now really nothing. Flash was not really used on Android browsers.
So what changed is promise. Before, may be somewhat unofficially Flash had a “Write once, run everywhere” promise. You could do desktop, browser, mobile apps with it. But now… Even though flash was not really used on mobile browsers it was somewhat there. Now promise is no more. And it is very important for future prospects. And it probably will undermine demand for Flash from marketing sources.
Mobile killed web
Reading posts and comments around this Adobe move I was trying to gather up things that happened since iPhone came out. And it seems to me that its not only about iOS killing Flash. Its about mobile revolution fragmenting the web.
Simple example are popular web services. How many versions of their interfaces there are? Up to five. Web version for desktop and for mobile. And native versions for desktop, iOS and Android. Though native desktop app is a rare beast. On other hand on mobile web version may not be rare but its rarely used if native app exists. For one thing with app you do not need to login, app remembers tour credentials.
Some even prophesying that mobile web is dead, people prefer app stores and native apps instead. And for good reasons. HTML5 if far from being able to compete with full-blown apps experience.
Right tool for the job
One trend that is stable among big Flash developers is to say “right tool for the job” and “differentiate yourself by learning new stuff”. In a way what they say is that Flash is becoming a more niche thing and if you want to have many jobs and projects to pick from you better to expand your skills and tools in to other niches as well.
I started to learn both HTML/JS/CSS and Flash some 8 years ago. Made few ugly sites in HTML, made few small toys on Flash and one ugly site. And started to do more and more with Flash. Why? It could a lot more, it was a lot easier and more consistent too. It was fun. So I picked Flash because it was easier, more fun, and it was a profession with a lot less competition at least locally while there was demand. But even then Flash was a niche tool. But its niche was and still is cool. It was all about animations, flashy interfaces, multimedia rich tools in a browser, games, interactive and generative art in browser like a demoscene. So by picking this I was in a way filtering what kind of work will come my way, and this kind of work felt a lot more fun and interesting then making some internet shops and usual visit card text/image sites. I also loved web, open, without gatekeepers, with lot of opportunities on making something.
Now after 8 years not much have changed, I would rather say that demand for Flash even boomed over last years but in realm of social games. And now checking for available works for Flash developers it feels like 70% or more are social games related. While other 30% are marketing related.
For over a year I was starting to feel that Flash niche stops to be that fun for me and I want to be able to do more. Slowly started to learn other web technologies. After a year, and now with announcement of Adobe… I must say that for me nothing changed in standard web technology world. HTML/CSS/JS improved a lot. I at last can make imageless pretty looking sites and interfaces. It feels good. But when it comes to actually making a complete rich app with data input/output, sounds, complex interactions and consistently with good performance across all browsers… Its still the same pain it was years ago or so it seems to me…
So for me, more exploration is on side of servers and simple sites, for rich app experience in browser Flash was and will be for near years my tool for the job.
But that’s years. Probably few. What’s then? I do feel a need to expand my experience as a professional developer. And I see two choices before me. One I talked about above, as web developer. Another one I see is as mobile app developer, aether native or reusing my Flash skills and doing AIR apps.
As I said above, I picked Flash because it was fun and works coming my way were fun with it. As I see future of web development for me right now seems like not fun. At least rich apps future. Flash will be fading away everywhere where HTML5 can pick up, but it will be usual HTML hell of consistency, performance, missing features and hacking all around it. It will be a work with unfinished product. It seems to me its still too early to seriously get in to the HTML5.
While if we speak about native mobile apps… It seems to me that out of everything that happens in software development world right now mobile apps are most fun. An uncharted waters with many interesting possibilities. Many also prophesying that mobile is future of computing and that desktop is dead. Anyways, this market is poised to grow. So fun possibilities in growing market.
Yet it is a world with gatekeepers, world attached to success of certain firms like Apple and Google and what they do. Now by picking technology like HTML5 or Flash you already become somewhat dependent. Web standards while better still are dependent on all major players decisions too. Just look at IE, WebGL, WebM cases. But on mobile platforms you are even more dependent, just remember Apple change of rules with 30% cut from in app purchases that put many apps in to a tricky position. Like Amazon…
- Flash is not dead, it will stay alive as long as HTML5 will not pick up on all features Flash has, and it is long from it, 2 years at best, 10 at worst(I hope it will be faster), even then Flash may still manage to somehow stay ahead. So Flash seems to me still like a best option for cross platform RIA, especially with possibility to publish AIR apps in to iOS and Android markets.
- There is no single tool to satisfy all use cases. I would like to do it all, mobile apps, web apps, explore all possibilities, yet HTML5 is not ready, Flash has it holes and uses cases and native apps usually are even more niche and attached to platforms.
So I am confused. There is no single job out there that can provide you with broad enough possibilities, picking one feels wrong, trying to do it all feels wrong too.
So it is a stormy time with unclear horizon and without any safe cove to drop an anchor in to wait out. And I don’t see other options then to jump around, trying different new things, finding junior jobs in mobile or web to broaden skills, still doing Flash, and hoping that future will become more clear soon.