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.
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.
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
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/
No, you are totally wrong. That is the myth, not the facts.
Apple executed the iPhone launch and App Store launch exactly according to plan. Nobody bullied them into anything. When the iOS SDK was released one year after iPhone, that gave it these very significant advantages over being released earlier:
- there was a user base of 6 million enthusiastic users who were getting a little tired of their 10-12 built-in apps and had their wallets out for new apps, plus something like 3 million iPod touch users
- there was a developer base that was worked up much more than after a Steve Ballmer dance number because iPhone had seemed to them like forbidden fruit for a year, and those 6 million hungry users looked like they were walking around on plump turkey legs
- the concept of what an iOS app looks like and feels like and how it acts were better developed, and better understood by people inside Apple, by users, by developers
- there was an international version of the phone remember, original iPhone was US-only, it was sort of a beta test
They were always going to have CocoaTouch apps. iPhone very specifically cleared the way for iPad. The reason iPad had 500 full-size apps at launch and 1000 by a week later and 10,000 by a few months later was because there were already many thousands of iOS developers and lots of iOS app code in the world by then. The apps that sell iPads and iPhones are not Web apps, they are the really rich, media-heavy Mac class apps, many of them from the Mac. Of course Apple was going to leverage all the pre-iPhone OS X code when they put OS X on a phone.
Also, the SDK that Apple released in mid-2008 had been worked on for years. It's crazy to say that Apple threw it together in 6 months when they saw that the people wanted apps.
The HTML5 or CocoaTouch choice on iOS is perfectly designed. It was always going to be that way. The 2 together are a yin yang of apps. Any particular app you may want to make can be made for iPhone because either HTML5 or CocoaTouch will be perfect for it. They are much better together than if you had just one or the other.
> Android had to allow native apps because iOS did.
Android does not have native apps, it has Java-like apps running in a virtual machine. App Store launched in mid-2008, and Android launched in late 2008. There wasn't enough time there for Google to create Dalvik as an answer to App Store. Dalvik was already built way before that.