How Adobe Flash Lost Its Way
snydeq writes "Despite early successes on the Web, the latter years of Flash have been a tale of missed opportunities, writes Fatal Exception's Neil McAllister. 'The bigger picture — which I've touched on before — is that major platform vendors are increasingly encouraging developers to create rich applications not to be delivered via the browser, but as native, platform-based apps. That's long been the case on iOS and other smartphone platforms, and now it's starting to be the norm on Windows. Each step of the way, Adobe is getting left behind,' McAllister writes. 'Perhaps Adobe's biggest problem, however, is that it's something of a relic as developer-oriented vendors go. How many people have access to the Flash runtime is almost a moot point, because Adobe doesn't make any money from the runtime directly; it gives it away for free. Adobe makes its money from selling developer tools. Given the rich supply of free, open source developer tools available today, vendors like that are few and far between. Remember Borland? Or Watcom?'"
major platform vendors are increasingly encouraging developers to create rich applications not to be delivered via the browser, but as native, platform-based apps.
Really? Who? Where? and will it run on the cloud?
Closed, proprietary, full of security holes, resource hungry, used by marketers to deliver enhanced annoyance to users.
The Internet was waiting for a replacement to come along.
Flash was living on borrowed time because of those who had an opinion most saw it as a necessary evil instead of a wonderful platform.
Flash failed because it was proprietary. End of story. The web is no place for closed technologies.
So wait, now we're NOT writing rich applications to be delivered by the browser and instead focusing on native, platform-based apps? I thought that was EXACTLY what we were getting away from. The only 'platform' apps are iPhone and Android mobile apps due to the screen real estate available, even a tablet has the size and responsiveness to work fine with web based apps. Oh wait, a Windows 8 article, that explains it... this is just Microsoft PR being propped up on the backs of mobile interfaces.
This is my sig. There are many like it, but this one is mine.
Any replacement(s) will be shitty, too. It won't matter who creates them, or how they're implemented. They will be shitty. That's just the nature of any attempt to have the browser host remotely complex applications. The browser is merely a document viewer and navigator; it is not an operating system of some sort. It will always fail as an operating system or an application host.
Go back to when this idea of having the browser host applications first took off. JavaScript is one of the biggest blunders of all time. It wasn't just shitty when it was introduced in the mid-1990s, it was seen as absolutely abysmal and unacceptable by basically all developers at the time. These were developers who had used real languages like C, C++, Smalltalk, and Perl. They knew shitty when they saw it, and they refused to use it. That's why JavaScript went basically untouched for a decade, until those developers had retired or moved on to other endeavors. It's only been deemed "acceptable" by a much younger and more inexperienced generation of programmers, many of which haven't used any other programming language (with the exception of perhaps PHP, the next worst language ever implemented and widely used), and thus don't realize how horrible JavaScript is.
The other technologies that followed the initial JavaScript attempt have been shitty, too. Java applets, ActiveX controls, Flash, and now JavaScript again with the latest and ever-changing-not-to-be-standardized-until-2022-or-later HTML5 nonsense, have all offered horrible experiences and nothing but problems for users, system administrators and network administrators alike. Google's Native Client effort will likely be just as horrid in the long run, although their work does seem marginally more competent than, say, all of the JavaScript work ever done.
The end result is that the browser should not be used for anything more than displaying and linking documents. Real functionality should be implemented via a native application. If more than one platform needs to be targeted, use a truly portable programming language like Python, or do the right thing and create separate implementations for each platform.
The early years of the internet were plagued with issues on how Flash was used: long Flash intro's to websites, and Flash menu's that would take ages to animate each and every time you clicked on it to name but a couple. But it was also plagued with a vast number of file formats fighting to be the internet streaming app of choice; Media Player, Real Player, Quicktime etc. Some of which were on some platforms but not others; all of which sucked up resources just to play a video on a website. Flash solved this online video problem; a single method for which to deliver streaming media content. A single app that was super easy to install for even the most casual of users. The success of YouTube meant Flash has it's lifeline, and became useful (for me). It's not the perfect solution, and moving into HTML 5 era it will become redundant once more; but it did fill a much needed gap.
Moreover, the problem does not lie completely with *nix developers themselves. Case in point, it takes them months to fix their broken calls to memcpy which were:
traced to Adobe Flash by maintainers of glibc at Red Hat, Linus Torvalds and others.
Full story here.
Relevant part of the conversation:
Never trust a spiritual leader who cannot dance -- Mr. Miyagi
IIRC Apple explicitly didn't want native apps when it released the iPhone. Their original idea was to have everything web based and accessed through Safari. A lot of time and effort was put into making this work. Native apps, and the app store, only surfaced with the 2nd revision of iOS and after people had been jail-breaking their phones to be able to install native apps. Android had to allow native apps because iOS did. This drive to native apps was from the users not from the manufacturers. The whole summary is a massive rewrite of history to fit the author's viewpoint.
You may think me a tired, old, cynic. I'd have to disagree about the tired bit.
XCode for IPhone development is free ...as long as you already have a Mac running a sufficiently-recent release of OS X.
Otherwise, not free.
Kid-proof tablet..
I think flash was bought by adobe to keep control until the ris of flash could not harm them any more. Adobes core business are WYSIWYG Document systems, pdf creation, management and form server tools. There is no other integrated product suite like Adobes. You can design an excellent looking printable document which integrates well with online services.
IMHO Adobe buying flash was good for nothing else but preventing flash from becoming relevant in managing online form data.
IMHO, Flash lost its way when they added video support to it (around the time that Adobe bought Macromedia, as I recall). Before that, Flash was all about the vectors. (You could import bitmaps into it too, but they wouldn't scale well, so those were best used just for static background elements.) It was a way to do animation without pushing full pre-rendered frames down to the client: just describe the shapes then tell the player how to manipulate them. It provided a toolset to produce rich user interfaces that you couldn't even hope to dream of doing with (incompatible implementations of) HTML3 and Javascript, and even HTML4 with CSS can't pull off the same stuff today. The Flash plugin was a lean and efficient client, and close enough to being ubiquitous. Then they tacked video support onto it (which was all about pushing pre-rendered frames down to the client), and it became a video-player plugin (with vector support). The fact that people talk today about replacing Flash with a video codec shows how completely that added feature usurped the original functionality.
http://alternatives.rzero.com/
They are still around: OpenWatcom.
Wow, this article is so full of misinformation...
"major platform vendors are increasingly encouraging developers to create rich applications not to be delivered via the browser, but as native, platform-based apps"
Adobe Flash can build both native iOS and Android apps today. Many of the top games in both the iTunes App store and Android Market are made with Flash.
"Perhaps Adobe's biggest problem, however, is that it's something of a relic as developer-oriented vendors go. How many people have access to the Flash runtime is almost a moot point, because Adobe doesn't make any money from the runtime directly; it gives it away for free. Adobe makes its money from selling developer tools. Given the rich supply of free, open source developer tools available today, vendors like that are few and far between. Remember Borland? Or Watcom?'"
Adobe Flash Builder is a plug-in to Eclipse! And Adobe's implementation of Flash Builder in Eclipse is one of the best plug-ins I've ever used. It's well featured, has lots of support and documentation, and works well on multiple platforms.
A proprietary app wrapper works even when the device is not connected to the Internet because the HTML and JavaScript files are stored on the device, not transmitted on demand from the Internet. Or can users of popular devices force specific web applications to be cached?
Adobe lost its way when it decided to do stuff other then photoshop.
Adobe lost its way when they took a great new file format (pdf) and tried to add
so much more execution (javascript for one) inside, when all it needed to be was
a copyright protected document with no way to normally alter it.....
Adobe lost its way when ti came out with flash.
Adobe lost its way when they tried to deny their apps were faulty, and that
it was normal to find a 10 zero day exploits a week in your product.
"Despite early successes on the Web, the latter years of Flash have been a tale of missed opportunities,
Not surprising, when the Next Big Things are smartphones and tablets, and - of the two leading platforms - iOS refuses to support Flash at all, and Android has very patchy support (I recently did an unscientific test in Best Buy and although several of the Android tablets claimed to support Flash, only the Xoom actually opened my Flash applet).
One of the key lessons from failure of the original windows "tablet" PCs, the failure of the original EEE PC "Netbook" concept (subsequent "netbooks" have been more and more like entry-level laptops) and the rise of the iDevices has been that phones and tablets need custom-designed software that matches the native UI. That's why Microsoft hasn't been able to Borg the mobile market: the killer apps (Office/Outlook) which help it to dominate the desktop (on PC and Mac) are worthless on mobiles without a ground-up rewrite. Flash has a similar problem: even if your tablet does run Flash, many "legacy" Flash apps just won't work with a touch interface or, if they do, are too fiddly to operate on a tiny screen.
However, "HTML5" (i.e. all, some or fewer of HTML5/CSS3/ECMAScript/DOM/SVG/WebGL/whatever) is only just approaching maturity - so there could be a move back from native Apps to webapps (given they can be made almost indistinguishable from Native on iOS/Android). Amazon have already produced a webapp version of the Kindle reader (to get around Apple's rules on in-app sales).
Flash player itself is probably on the way out - for better or worse "HTML5" will probably take over, especially with Microsoft taking that road with Win 8. However, Adobe has a great opportunity: there's a great gap in the market for something like Flash Professional which can "publish" to HTML5, or even iOS/Android native code. It may not be the programmer's choice, but for certain types of app (e.g. relatively simple educational applets, or casual games) its a killer. Flash player dying doesn't have to hurt Adobe much.
Not that I'm a huge fan of Adobe's current bloatware offerings, but I don't currently see anything like Flash for HTML5 applet authoring...
In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
No, they are not. Many, many people turn off GPRS/3G/$CELLTECHNOLOGY_OF_THE_DAY by default to save on charges. Not everyone has a "flat" plan. I'd wager to say, most don't. Also, if you leave your country of origin (I realize that's not a problem in the US), then you have insane roaming charges. People are careful whether they use their phones for online activities. Even those stupid "wheather" applications that come by default on some HTC Phones rack up considerable charges if not turned off.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
Android is a Linux. XCode is free, and there is a much larger fraction of free apps on Linux than on OSX, especially excluding darwinports/fink apps. iPhone started the whole app store concept, Apple created a huge market for small application vendors.
I just don't see the $99 as much of a disincentive. If I'm willing to donate days / weeks / months of my time why would $100 even be a question?
Android is a fork of JAVA (DALVIK) that runs on the Linux kernel. OSX and iOS run on the MACH kernel and BSD *nix. Applications run on the COCOA API. As far as iPhone starting the whole app store concept...Yeah RIGHT. Handango and PocketGear have been around since 1999 dishing out all things Palm, Windows Mobile, Blackberry, Symbian, and Android.
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
Many people dislike Flash because of how it is used. Mainly, heavy visual advertisements which replaced the far worse era of continous pop-up adds.
Very few who criticize Flash have ever used it to any great extent. They've never explored it's benefits for rich web applications or cross-platform usability.
Many view HTML5 as the death nail in Flash's coffin. And think Adobe is greatly concerned. As the article says, Adobe makes tools. They will just as gladly make developer IDEs for HTML5. In fact, it'd probably be economical cause they could cut a large number of empoyees in both the Flash player and ActionScript development teams.
But there is something that is TERRIFYING in regards to the death of Flash. While so many rejoice in Flash's suffering. They are blind to the real horror on the horizon. They shout "Give us Barrabus".
Why is Flash dying? What killed Flash? Apple's decision to refuse the software to run on it's computers. And now Microsoft is joining Apple by proclaiming the death of the plugin in Windows 8.
And Slashdotters cheer blindly "Open source! HTML5! Yea! Yea!" failing to realize that there is something MUCH more dangerous than a closed source proprietary runtime such as Adobe's Flash.
The fact that it is being killed by closed proprietary platforms. I find it ironic that Slashdotters will cheer the death of the proprietary Flash at the hands of Apple saying "You can not run the software of choice on your own computers." And will applaud Microsoft joining the bandwagon. And call this "good"?
Seriously, Microsoft saw that Apple didn't even get a wrist slap for it's anti-competitive behavior. So is it any wonder that Microsoft has announced no more plugins. No one else's software but ours. Sure, we'll gain an open standard that will likely be split and marred by three main compatriots (Apple, Microsoft & Google).
The result is that you are being told what you can or cannot run on your own machine. And as this blends increasingly more with the cloud (ie: Kindle Fire). We will start to lose ownership and control over our own computers. We'll be locked into proprietary systems.
Ironically, for all Flash's proprietary aspects, it was still very accessible to both users and developers. Yes, Flash has it's problems. But it also has it's strengths. But most of all - it was there.
It's not being killed by a "technical victory". HTML5 is not killing Flash. Rather large companies are deciding to close their platforms. To limit what you can run on them. And THAT is what's killing Flash.
THIS IS NOT PROGRESS, THIS IS REGRESS BACK TO 1984.
That's fine, but why do you hang out on a technology web site?
Apple strongly supports HTML5 (and HTML5 is quickly acquiring all of Flash's capabilities) as a means of writing un-curated apps for iOS devices. There is no regression back to anything. All Apple wants is that the Apps which run on their platform won't destroy battery life, steal data, crash, or otherwise annoy their customers. This can be done by writing curated native apps or by working within industry standard protocols for uncurated web apps. Seems pretty simple to me. But then again, I understand how computers work and you don't.