Slashdot Mirror


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?'"

14 of 354 comments (clear)

  1. Native Apps? by thegarbz · · Score: 5, Funny

    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?

    1. Re:Native Apps? by Anonymous Coward · · Score: 5, Insightful

      Aside from discussions on workstation software, the term "native app" has now become moron speak for "embeded webkit".

    2. Re:Native Apps? by martijnd · · Score: 4, Insightful

      There will be a very big opportunity for something that ties all these platforms together in the near future.

      My iPhone has its own development platform
      My wife's Android phone the same
      My LG TV has its own App API
      My Philips Blue ray player has its own App API
      Samsung just announced its going to develop yet another OS for mobile phones...

      The market is fragmenting so fast its with all these "App" platforms, that there will be a great incentive for the first to create the "write once" , "run everywhere" tool chain. This will of course take a few years, but so many different platforms cannot be sustained.

  2. Flash sucks, and was just waiting to be replaced by Anonymous Coward · · Score: 5, Insightful

    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.

  3. Well...no. by Anonymous Coward · · Score: 4, Insightful

    Flash failed because it was proprietary. End of story. The web is no place for closed technologies.

  4. The replacement(s) will be shitty, too. by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:The replacement(s) will be shitty, too. by jbolden · · Score: 4, Informative

      Just mentioning here the time line line is all wrong. ActiveX controls came very early in the web, 1996 as a way of exporting COM. It was an alternative to Java applets not JavaScript. Microsoft was fine with JavaScript though their main alternative was VBScript.

      Over the last 8 years there have been huge improvements in JavaScript engines. It is the faster engines that made JS as an app platform possible.

    2. Re:The replacement(s) will be shitty, too. by Serious+Callers+Only · · Score: 4, Interesting

      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.

      This is a debate with a long and storied history going back to Andreessen, and probably beyond. Browsers have taken over much of the work done by native apps on many operating systems, and whether you like it or not, that's a trend which is accelerating, notwithstanding the recent trend for mobile binaries. There are a good reasons for the way the web has taken over our computing lives, and also good reasons why binary solutions like Flash are gradually being deprecated - they break one of the main advantages of the web, which is that it works everywhere - even on devices which haven't been invented yet. That is also why various companies have attempted to introduce binary solutions to web problems - in order to gain a stranglehold on the market again, as they can easily do with binary apps (all the solutions you list were attempts to do this, from applets, to ActiveX to Flash).

      It's interesting that you focus on javascript as a roadblock and blunder, as javascript is not actually the language the vast majority of the code in web apps is written in - it's used as a simple way to add interactivity and animation to documents, and occasionally to allow requests for page fragments. I suppose it makes a good rant if you can focus on javascript which, if you know nothing about it, seems an easy punch-bag. It's actually quite an interesting language, though I wouldn't try to create something large in it. The javascript involved in creating a modern web application is typically pretty minimal, and often reliant on libraries like query which smooth out a lot of the inconsistencies between browsers, so javascript is not really the question when comparing flash to html development to native binaries. It's not the technology in which the vast majority of time is spent for web app development - on the contrary, it is strictly optional. The languages used for actual web development vary wildly from C variants, perl, PHP (ugh), ruby, python, smalltalk etc etc. You can use whichever language or framework you like when developing web apps, and the beauty of it is, your users won't care, whether they are viewing it on a mac desktop from 2005 or a Windows phone from 2011.

      The end result is that the browser should not be used for anything more than displaying and linking documents.

      The vast majority of the work many people do all day includes displaying, editing and linking documents - for that the web is a perfect fit - a far better fit than binary apps like MS Word. For something like photoshop editing huge image files, a binary is still the answer, but it does have downsides. The real question is what trade-offs does your app face, and do the advantages of a web app (faster deployment, cross-platform, document based, stateless, collaborative) outweigh the disadvantages compared to binaries (slower performance, non-local, network dependent, limited file access etc). That's not an equation which has the same answer for all apps or all people, but it's clearly one which has worked out in favour of web technology for huge numbers of apps.

  5. That is not the only problem. by Musically_ut · · Score: 5, Informative
    Flash does not in particular have a very good history with respect to its own development either. Everybody on *nix has observed this so much that this has become a cult phenomenon.

    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:

    > Subject: Re: FP-5739 "Strange sound on mp3 flash website with Fedora 14 x86_64"
    >
    > Hi Shu,
    >
    > That's is great to hear. Would you guess it's a matter of days, weeks or
    > months before this can get fixed?
    > If it will take a long time for you to fix this, Fedora may need to look
    > at some way to work around this bug.
    >
    > Best regards,
    > Magnus
    >

    > Hi Magnus,
    >
    > Maybe months. Thanks.
    >
    > Best regards.

    --
    Never trust a spiritual leader who cannot dance -- Mr. Miyagi
  6. 20/20 rosy view? by MrMickS · · Score: 4, Insightful

    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.
    1. Re:20/20 rosy view? by gig · · Score: 5, Insightful

      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.

  7. Video by tverbeek · · Score: 5, Informative

    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/
    1. Re:Video by nine-times · · Score: 4, Insightful

      This is insightful, but I don't think that including movie playback was where Flash lost its way. I think it was when they tried to make Flash into a "platform".

      As you say, Flash started out as an animation plugin for vector graphics, and it was good at that. It became used more and more for advertising, which was annoying and often overkill; advertisers used Flash for things that would sometimes be handled more efficiently by a simple animated GIF. Today, it is generally good for 2 things: playing video and making casual games.

      However, somewhere along the line, Adobe decided that it wasn't enough to handle content-creation, but they had to own a "platform". PDF stopped being a print-layout format, and suddenly you could build a whole little program into your PDF. Similarly, Flash stopped being an animation plugin and became something more of a development toolkit. When you look at Adobe Air, it becomes clear that Adobe wants you to build whole applications in Flash. Someone at Adobe is hoping that the future will see developers abandon other languages and development tools, and only Adobe will control the software industry.

      Still, Flash as a vector animation plugin was doomed to obsolescence sooner or later. It's too simple a function for the world to be depending on a proprietary plugin.

  8. Does The End of Flash = Death of the Web? by PortHaven · · Score: 4, Interesting

    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.