Why Flash is doomed
ossguy.com
ossguy.com
Today it takes a not insignificant amount of effort just to make a simple text box with a border having 4 rounded corners that displays correctly for >90% of a site's visitors using pure html/css techniques. Even if every internet user upgraded to a modern, standards compliant, CSS3 supporting browser tomorrow, there would still be a substantial hill to climb for designing good looking pure html/css sites, it would just be a slightly smaller hill.
Almost certainly this will change, standards will get better, browser marketshare will continue to skew toward newer browsers, tooling will improve, but all of these things will take time.
This is not a defense of flash, I don't think flash is good for the web even today, but until the very real problems of pure html/css design are put to rest (CSS4?) flash will still be seen as a go-to technology for a lot of things people want to do with the web.
I fall into the latter category: Flash programming appeals to me because of what you can do with it, but I'm not interested in making a substantial investment of time into a platform that I would rather see replaced by OSS alternatives. (For similar reasons, I'm not planning on learning Obj-C to develop for the iPhone - I'd prefer to get good at developing mobile web applications using web technologies).
The gradual shift in developer attention away from Flash over to alternatives is going to chip away at Flash over time, but I agree that it's going to take quite a long time.
Ultimately I still find it hard to believe how far behind web browsers are when it comes to graphics. The stuff I was running on my 386 back in the day pretty much destroys anything you can do in a web browser. It's kind of sad when everybody gets super pumped that you can run a tiny, glitchy version of Wolfenstein 3D in a web browser. It's great that it runs. But shouldn't we be at full-screen Quake levels by now?
But that won't happen tomorrow, and probably not for several years.
Great comment.
I think this is a principle problem. Any company that can put together a flash alternative toolchain half as good as Adobe's flash production toolchain is liable to make quite a bit of money.
Abstract away the browser incompatibility nonsense with the tools, provide the right kinds of editors and development environments, and lots of the complexity should be hidden away in the dev envrionment.
I very much agree. HTML/CSS tooling in general is very poor today. Even something as simple as creating a cross-browser compatible semantic html + css website in a designer is very much lacking today, a lot of hand crafting is still necessary to achieve even moderately good results (e.g. efficient/performance friendly coding, search friendliness, consistent behavior and appearance across all popular browsers, aesthetically appealing result). And that doesn't even begin to touch a lot of the complicated process problems that html/css designing faces. For example, it'd be nice to be able to code design at a higher level than css in a language that gave you compile time warnings and errors, integrated into a build system that spit out verbose, commented inline css (to avoid caching issues) for debug/testing builds and minified, external, versioned css for production builds. And that's just a tiny corner of the whole tooling issue.
Today tooling for web design is perhaps at the level of software engineering tooling in the early 70s. When web dev tooling finally catches up a lot of things will change and almost certainly a lot of people will have made a lot of money in providing that tooling.
The only area that Flash is even remotely threatened is delivering video which may shift away from Flash over next decade, but that's assuming Adobe doesn't do anything at all to keep that market.
Many mobile devices are getting full-featured flash players soon/now - http://www.adobe.com/aboutadobe/pressroom/pressreleases/2009...
The 'slow nature of proprietry software' ... in comparison to web standards???? The current standards for HTML/CSS/JS are a decade old, and HTML5 is years away from broad adoption.
While web standards lag years - many sometimes - behind our evolving requirements there will be space for Flash and other plugins that more rapidly cater to new trends and technologies.
I think this is quite a big deal for flash on the internet. Once you remove video, a very large part of users don't need flash anymore.
Also, the main actor in on-line video , google, has showed clear intent of supporting html5 for video. They are pragmatists, so it will probably take some time before they consider html5 a good enough alternative, but it's still on the horizon.
And when video won't run on flash anymore, i will have much less problems with flash myself. It will be restrained to the things it ought to be used for.
EDIT about : > The 'slow nature of proprietary software' ... in comparison to web standards????
Well i think it's obvious what he meant is that proprietary platforms are slow to conquer new platforms because the effort sits on one company only (even if it's adobe) I think he's right. Adobe couldn't even fix an half decent implementation of the Flash VM on linux and OSX. I don't see them supporting a dozen mobile ecosystems tomorrow
>Many mobile devices are getting full-featured flash players soon/now - http://www.adobe.com/aboutadobe/pressroom/pressreleases/2009....
Well sorry but you make me think of people saying "You can do the same thing in canvas + JS !!" when confronted with flash media. You kind of miss the point
HTML5 is the new <applet> which no one will bother install.
There is a common fallacy among developers, we all assume what we like must be also liked by end-users and consumers.
As easy as it is to be pessimistic about the browser technology of the average web user, I'm not so sure that HTML5/CSS3 is such a lost cause. Consider that already something like 1/4 to 1/3 of all web users in the US are using a browser that at least partially supports HTML5 or CSS3. Also consider that the more technologically sophisticated the audience of a particular site the more likely they are to use more modern browsers. Given these two simple facts and existing trends in browser marketshare (away from IE, toward FF, Chrome, Safari) I think there is a very real potential for some future major web venture (either de novo or as an evolution of an existing site) to have a strong case for relying on HTML5/CSS3 technologies.
Indeed, I wouldn't be at all surprised to see just such a thing happen multiple times within the next year.
As well there are many ways, as with html5 video, to take advantage of html5 features without abandoning support for "legacy browser" users. Which is the right way to do it just like any major refactoring/redesign effort.
Look, take any major modern web site and open it up in a browser from 1997 and it just plain won't work, because modern sites are built using technology that wasn't supported back then. How did we get here from there? It was a long, slow, hard slog that was painful nearly every step of the way. Nevertheless, here we are, in all our modern CSS2(ish), AJAX, HTML4(ish) glory. Where will we be in 5 or 10 years? Certainly in a different world founded on different technologies and standards. How will we get there? It'll be a long, slow, hard slog just like it always is. But we'll still get there.
This is just totally stupid. No, no a bunch of opinionated tech snobs not installing flash is never going to impact the market enough to impact the language. The fact is that the new flash VM is actually very good and delivers a sophisticated UI framework that is actually very pleasant to work with. There is a movement to merge AS3 with actionscript as well. The reality is that we're all just writing distributed applications with increasingly thick clients.
The Flash VM is shit on everything but Windows. Anyone who thinks that it is a well written piece of software is deluding themselves.
If 100,000 geeks can't access a site on their iPhone then you're going to see an alternative or two arise.
I've been using solutions on both Ubuntu and Mac OS X to let me view Youtube content without Flash for about a year. You don't think the existance and ecstatic use of these tools sends a message to those within Google, even if only the fellow geeks?
Similarly, Adobe's Flash design tools may be cool; but the Flash client sucks. The anti-Flash sentiment wouldn't be quite as prominent if there were a decent, lightweight open-source Flash player that ran well everywhere. (Of course, the semantic web people would still hate Flash.)
Just this week I used Flash.
A Client wanted to flip through photos, have words fade in over a period of time, and at the end, the logo was to fly in, glow, and then blend into the background.
This was a perfect place to use Flash.
Would I have done this in HTML and Javascript? No. Would I have created it in some other software and exported it as a video? No. It came to a few Kb in size when all finished and looked fantastic.
I look at it this way:
Aftereffects is to Video as Flash is to a Web Page.
Your goal is to create something awesome, but if you suck at the program, you'll end up with crap.
If you think that throwing out Flash will take the annoying ads and bad user interfaces of the world with it you are dreaming.
Flash is a nice system for creating some great animations and UI's and I don't see any reason for it to die.
It's a proprietary blob that Adobe controls. They can and have dropped support for non-conventional platforms in the past. You can't see what the Flash Player is doing. Adobe can at their leisure impose any kind of crazy restrictions on Flash content (because they control the Flash Player, which is required to watch Flash content, and its terms of distribution).
Flash is an ugly marr upon the otherwise open standards needed for a rich web experience, because its fate is completely controlled by Adobe's interests. Adobe has far too much ownership for the kind of reach Flash has, it is dangerous and should depart.
Flash Player itself is a behemoth and a hog. It spins up CPUs to full power without any need and in so doing causes heating issues, battery-life issues, and other bad things. It is inefficient and sad and not good. You should hope it dies so that you can actually watch full-screen video on non-Windows or non-x86 platforms at more than 15 FPS.
Flash is not like After Effects; AE sits on one side of the production process and its results play on regular cinema projectors, DVDs, and many other formats, including open, non-proprietary formats (anything that can save and playback video, including hard disks).
When you make something in Flash, you impose Flash Player upon all of its potential consumers (ignoring Gnash and others because they can't play very much). They have no choice but to allow the non-free Adobe blob on their machine if they want to consume your content. This is bad.
Flash is bad all around in the long-term. It's a convenient tool for designers to get the effects clients want, which is why it pervades so deeply, and I agree that Flash will stay in the game until a better tool emerges (HTML5 advocates, this means you should be working on an HTML5 IDE that will replace the Flash IDE and provide an easy transition path for current Flash users), but Flash is not a good thing. It needs to die.
Check out a recent hot topic from the Adobe Flex mailing list.
Basically the Adobe Lawyers rewrote the license agreement for Flex (Flex being Flash that uses an integration server) - it now disallows trying to make any server of your own that talks the same language their now very $$$ (no single CPU option) integration server does.
"took a look at the FB4 Beta 2 License Agreement, and here's what I found:
2.4.7 Flash (R) Builder(R) with LiveCycle(R) Data Services(LCDS) Data Management Library. Your rights to this Software are limited. In order to (a) utilize the file called "fds.swc" (the "LCDS Library") to develop associations , (b) utilize the LCDS Library to develop offline capability, (c) use the application modeling plug-in, or (d) utilize the LCDS Library to develop a product that competes with LiveCycle Data Services or BlazeDS, you must obtain additional licensing rights from Adobe."
BlazeDS is their open-source version. So they are saying you cannot compete with our open-source version, either.
Yes, I know Flex is not just Flash. A haiku I wrote while waiting for mxmlc:
it's more than just flash
enterprise level big apps
not just eye candy
A couple of lines in jQuery. Would work on iPhone too. CSS transitions and animation is a nice way to create simple (and not so simple animation). Work on iPhone too. Hardware accelerated.
Perhaps on the web that's irrelevant, because the advantages of the native HTML solution will outweigh the facile glitz and glam of the Flash solution. But on an instantaneous aesthetic reaction gauge, the Flash design will probably win. And given the state of the industry (consumers, graphic designers, and relevant management) that aesthetic reaction is potent enough to cement a great many design decisions.
A lot of that is changing, especially as expertise in building aesthetically pleasing sites in pure HTML has grown and spread, and as sophistication with web technologies has increased across the board (so that even managers and graphic designers start to understand the problems and limitations of Flash-based designs). But it's still there, and Flash is still a very strong player in the web game, and will be for some time to come. Likely until the tooling exists to allow designers to create pure HTML designs that match or exceed the aesthetics of Flash based designs with the same amount of work.
I think lots of people don't actually want to make their content/data easily available to others.
To the developers that feel no choice but to use Flash, I suggest you make sure your sites use Javascript from a minimal number of domains because cautious users aren't going to enable them in NoScript when a dozen show up. It might also help that any domains needed beyond that of the site have names which give away their function.
Surfing as securely as possible includes enabling added functionality very selectively. Make sure that when you test your sites they're usable to people running Firefox with NoScript, with little or no granting of permissions.
These people are the vegans of the internet.
Game development in Flash isn't going away for a LONG time, methinks.
Let's see what widespread HTML5 will do to it, codec licensing issues notwithstanding :)