Mobile Flash Fail: Weak Android Player Proves Jobs Right
blog.laptopmag.com
blog.laptopmag.com
Open-sourcing would open so many doors. Apple could modify Flash until it worked on iOS properly, Google could modify until it worked on Android. The reason this hasn't happened so far is that Adobe is a bottleneck nobody wants to deal with; they just consider basically impossible to get Flash Player on mobile because Adobe doesn't have the structure or the talent to do it correctly, and there is no other option except to let Adobe do it. An open Flash would open many doors, awesome adaptations, deployments, and uses that we can't yet think up would come out of it, and all the while Adobe would keep selling its IDE (probably selling more, actually, because Flash will then do cool stuff that everyone wants).
I don't know why they don't do this. Flash Player is already basically free, all of the money from Flash comes from the IDE Adobe sells. Keep the IDE locked up if you want, Adobe, but every second you keep the Player locked up you are killing Flash that much more, and when nobody uses Flash nobody is going to buy your IDE.
I know there are free software Flash players out there, but it's not the same. It's like saying nobody needs cooperation from nvidia because of nouveau. While a noble effort with meaningful results, vendor support still gets you much, much farther ahead.
If Adobe knows what's good for them they will be opening the Flash Player as quickly as they possibly can. They are going to be very sorry that they didn't. They probably will eventually take this route as a last-ditch effort when Flash content has dipped like 80% and been replaced by HTML5/JS, but that will be too late. This is Adobe's last chance, they must open it now if they expect any kind of future from it.
Flash is too big for Adobe alone, and if they don't want the whole thing to crash and burn totally and have that revenue dry up, they need to open ASAP. This should be the number one priority at Adobe.
There's also a research paper about having a remote proxy to deal with Flash on mobile devices; it's something like a VNC viewer, but for Flash. That wouldn't violate any patents now, would it?
http://www.cs.washington.edu/homes/gribble/papers/sys169-mos...
"New features" is not a good answer; it might stave things off a bit longer, but the real problem in Flash is that Adobe is choking it to death and only really provides first-class support on Windows.
Only recently have they started taking even the Mac platform seriously, probably trying to prove to Apple that they should be included in the iOS devices. Support is still a complete mess on Linux (the basis of Android and countless other platforms and most new platforms, meaning that any day now a Linux-based platform could be the new hotness, supplanting the iPhone, and then we'll have to go through this whole song and dance again with Adobe pretending to take Linux seriously to try and trick people into letting Flash run on that platform with its 40% penetration), and their penguin.swf blog has nothing but excuses; sure, video on Linux may be less straightforward than video on Windows (because there is actual competition and you have to make a choice instead of taking whatever Microsoft decrees), but lots of people with far fewer resources have been able to deal with it, there's no reason Adobe can't.
That's the thing. Jobs says Flash has had its day because a few years ago Apple was the underdog that wasn't worth supporting. When Apple tried to work with Adobe, they were neglected and left to rot for "higher profile" projects. And now that Jobs and Apple have some real power, 10.1 magically gets filled with Mac-related fixes that should have been in at least half a decade earlier. And Jobs isn't buying it; in his mind, Adobe (correctly) is still the flippant and unresponsive bully who doesn't care about you until your market cap exceeds Microsoft's.
Nobody sane is going to hitch their star to Flash while Adobe lords over it. I understand, as do most of Adobe's recent customers, that Adobe is run by staunch old men who just don't get it, but someone really needs to help them get it, for the good of the web and the good of their company.
open sourcing it now will help them stay relevant for longer but it will be a band aid, proprietary tools will be replaced by web standards on the internet thats more obvious now than it ever was. flash can innovate by raising the limit on what you can do, but there is a roof on that functionality the gap between it and where web standards are now is getting smaller and smaller.
Adobe bought Macromedia and suddenly Flash was great and amazing and they integrated it with the rest of the their portfolio.
The question I am trying to put is: back in the days of Macromedia, do you think they would have clanged on Flash on mobile like they life depended on it?
(this is not a rhetorical question, btw, I am really wondering: I didn't follow Adobe and Macromedia much in those days)
Back in those days flash vs html for plain websites was a serious debate, under adobe while video has got massively popular, flash has been further and further marginalised as a tool almost only for games, adverts and video.
I certainly couldnt see macromedia open sourcing flash any more than I could see adobe doing it without this pressure, if anything I think macromedia were even more aggressive with shutting down alternative players, at that time they were competing with html which broke in every browser, they wanted to make certain it was write once run everywhere.
To be honest I am entirely biased, but its always seemed obvious to me that open web standards will very very slowly replace virtually everything proprietary on the web. right now there is not one decent web publishing tool and I am pretty stunned that adobe havent stepped up to produce one yet (dreamweaver does not count, and neither does flash exporting canvas). Heres hoping whoever does makes sure it works on linux :)
There are millions of third party Flash authoring tools, both proprietary and free ones.
Why would Apple spend a lot of money and man-hours to port Flash for the iOS? Is not like the lack of Flash seems to be bothering anyone much (in terms of units sold). And Google actually did help Adobe to port Flash to Android, and it seems (from this article) that the job is not that good.
Maybe Flash would need a massive internal change for it to reach the speed it deserves: sometimes it's better to simply start from scratch. Also it's still not obvious to me that Flash is the right technology for the mobile/touch-screen Web.
I think the point in this case is, "go FOSS and you've got a shot. Stick with the status quo and your death is assured".
I think the poster has a point. Maintaining a monopoly on the tools to create media in a certain format isn't going to amount to much if everyone ditches the format. Flash is already becoming a four-letter word. I don't see what Adobe can do on their own to change the direction Flash is headed.
Going open would give Flash a shot at survival.
If Adobe has spent years growing the Flash player code on the principle “make it work well on Windows, and then hack it as necessary to make it work tolerably on other platforms”, then even after it is open-sourced, developing a Linux- or iOS-compatible Flash player may be more than just a Simple Matter Of Programming.
Remember the long gap between Netscape open-sourcing its browser and Mozilla becoming a usable platform.
Not sure this is the best comparison. Netscape open sourced Communicator 4.0, yes, but what we know as Mozilla was a total rewrite after they decided to scrap 5.0.
EDIT:
Unless your point is that the Flash codebase may be similarly bloated. :)
Yeah, that was kind of what I had in mind.
If Adobe stays on the path it's on, HTML5 will continue to mature faster and faster as the desperation for a legit Flash replacement grows. Adobe could stay in the loop without having to reinvent the wheel and reacquire a distrusting and skeptical customer base if they would just open Flash while they're ahead; people would continue to buy the Flash IDE in droves, but when HTML5 takes over, that installed base is not likely to wait on Adobe and they'll move on to a competing IDE. I believe that HTML5 is still young enough that it could be basically deposed by a truly open Flash.
But suppose Adobe's programmers are not completely incompetent? Perhaps Flash's execution model is genuinely unable to be optimized further. Or perhaps most Flash content in the wild runs at the limits of desktop performance, and that compositing vector graphics and text on top of video while running multiple VMs embedded in a webpage is just too much for a memory- and CPU-constrained device.
In that case, open-sourcing Flash would have little effect. Even if we had an optimal mobile Flash player, we'd still need everyone to rewrite their Flash movies to run well on it. That's why HTML5 has the advantage here: HTML5 content is being freshly written and tested for mobile platforms.
The difference will be if HTML5 can replace 80% of Flash uses in a performant manner. The video tag makes up a huge block of that 80%. The other 20% will always run like a dog on mobile hardware, no matter the technology.
In Safari 5.0.1 your link didn't render a single frame in three minutes.
Firefox 4b3 did render, but the animation would not normally be watchable. The opening scene ran the best, probably around 15fps while during second and third scenes the galaxies would jump about an inch with each frame. I don't know what the fps were, but it was updating the screen less than one time per second with a single core maxed out.
Also, on launch, FF was using 76MB of RAM yet after the three minute test it was using 168MB of RAM.
So your link didn't function in one browser, used 2.8GHz of processing power and ~90MB of RAM in another yet was completely unwatchable.
Was I supposed to be impressed?
What if this were a Flash demo? Only be mildy interesting -- and that's only for the presentation itself. From a technology perspective it'd be ho-hum.
I think more important than that is that it's not even interactive. Interactivity with HTML 5 apps has light years to go compared with Flash even if browser vendors can lick the performance problem.
In other words, HTML 5 as a content delivery platform has a very long way to go...and as it is is certainly not anywhere near as a cross platform as Flash is. It's just not a swap out substitution for Flash yet and forces developers to produce software that's just simply not of the same quality as Flash is able to handle.
Or So They Say only advanced frames in Firefox when I moved my mouse. It actually ran for me in Chrome, but was pixelated (2x?), and still laggy (I'm guessing <24fps)
While it's cooler than anything I've ever done with javascript, I was watching more impressive demos on a Pentium 75 over a decade ago.
HTML5/Javascript/etc. appear to have a long way to go, performance-wise, before they catch up to Flash. And by the time it catches up to Flash 10, where will Flash be?
But I'm hoping you're referring to a real-time 3D execution. If, please share a link.
Then can you explain why setting font size to 200 on this HTML5 demo http://www.ponticstar.com/projects/burning-words/
then my browser is slowing down to unusable?
I've seen burning words demo in Flash 4 from 2000 and it's very smooth even on a PIII machine.
It has however one core maxed out.
ActionScript is just JS plus some extra sugar. JS implementations have gotten hundreds of times faster in the last three years, while Flash has gotten slower. Slap a modern JIT on there and we should get some improvement.
Unfortunately, much of that content is what causes the problem. Using the artist tools (Flash CS3), you can generate content that simply fumes memory, without writing a single line of code. I'm not sure you can even fix those issues without re-authoring the art content.
What makes this worse is that anyone can embed one of these crappy SWFs in a webpage, causing the browser to fume memory too.
Could you provide links to back up your statement that it has gotten slower? I've never heard that before.
Can you elaborate?
> while Flash has gotten slower. Slap a modern JIT on there and we should get some improvement.
Adobe actually contributed to Tracemonkey's JIT as one of their effort towards ECMAScript engine unification, they even planned to write a engine for WSH Active Script, but failed. IMHO Flash is laggy because of the drawing part, but in this case HTML5 is also laggy as hell. Try set font to 100 in this demo:
I don't know about that. Flash may be proprietary, poor coding community, etc, but to suggest it is creeping down to JS performance is pretty outlandish.
Flash has two communities. One: Designers trying to do timeline animation with a mix of code snippets they've found. Two: Decent coders who implement the safest, best methods.
When Flash performance is subject, it tends to be Flash's poor design that gets the bad rap even though it tends to be the poor developer community at fault. In the same way, JS-based interactive content can also be coded poorly and perform poorly as a result.
Honestly, I've seen some pretty intense, balls-to-the-wall sites that I know would absolutely work at a crawl or snail's pace in JS, but work elegantly in Flash.
A full open-source file format would be a great move for Adobe.
Flash was supposed to be canvas, but Macromedia/Adobe chose not to join the standards process, so browser makers just rolled their own. After all the effort on canvas, they'll just drop it all and replace it with Flash or work on both?
It just seems impractical. I don't think Google is interested in Flash beyond integrating it with NativeClient. Maybe they could improve it, they may have more engineering talent, but these are ultimately strategic decisions, not technical ones.
As far as other companies besides Google, MS and Apple, why would they commit themselves to Flash when Canvas is already open source, can be improved, etc..?
I think Adobe is screwed with their current plugin either way. Their path of piling on features, ensuring perfect integration with authoring tools seems more reasonable. That's where their focus should be. They won't lose much if they lose the plugin, it's not a big deal if they could do the same things the plugin does through JS eventually.
The plugin is just an insurance policy and if NativeClient becomes a standard they won't have to worry about penetration when they come up with a better plugin eventually.
If their DRM is hacky/not good, then yes, open-sourcing would probably be bad for that component. But DRM is a rather small part of the overall Flash ecosystem, and if they don't get the Player completely open, they are going to lose meaningful revenue from Flash completely relatively soon.
Based on what I've heard, the real reason anyone uses flash anymore is because of the authoring tools, not the runtime.
Instead of open-sourcing the flash player, build a development/authoring tool for HTML5 of equal or higher quality than the Adobe tools and open-source that...then watch this debate become irrelevant a year from now...
Assuming Adobe had infinite time and resources, could they make Flash run well for all content on every mobile device? Of course not, they are hamstrung from legacy support as well as variances in hardware and software stacks they have to deal with. But just like Microsoft they are beholden to their legacy software and deploy base.
Meanwhile when Apple decides to go mobile they start from scratch. They design the hardware, the software, using open technologies where appropriate, but rolling their own closed-source secret sauce. Then they play hardball with Adobe and any other potential heavyweight partners because they own the entire product stack from design to retail. If some low-level tester finds a choppy video on a prototype iPhone, it takes about 5 minutes to escalate the issue to the people who can fix it directly. Meanwhile, if there are hardware problems with Flash, Adobe has to go talk to whoknowswhat podunk handset manufacturer and hope that they listen.
Looking at this way it's basically impossible for Adobe to craft a consumer experience like Apple. Microsoft has a similar problem. Pure SaaS helps with the legacy problem, thus making it possible for pure software companies like Google and Facebook to at least iterate quickly.
MS/Adobe are unlikely to fall below 60% (especially since this is not a zero-sum game.)
Adobe can maintain at least 60% market share - on PC's (Mac + Windows). But they cannot achieve that on mobile devices.
How would that have been worse then trying to wedge Flash where it doesn't belong?
In the meantime, Flash is all they got to go on with.
But I have rather low expectations. If Adobe's theoretical HTML5 tools are anything like Dreamweaver's WYSIWYG HTML editor or, worse, GoLive, they'll produce bloated, terrible code.
Saying HTML5 should replace Flash is like saying HTML5 should replace JPGs.
Really? Can you mention any specifics? I do not think there are any things that Flash can do that HTML5 cannot.
Have you seen Or So They Say? http://xplsv.com/prods/demos/xplsv_orsotheysay/
That doesn't mean Flash isn't overused. But its not useless either.
What do you mean Flash has DRM but HTML5 doesn't? And yes, I do consider DRM a bad thing.
Edit: Source for webcam comment: http://devworks.thinkdigit.com/Internet/Native-webcam-suppor...
Okay, looking at HTML5 drum machines via Google. Here. Here's an one, http://www.randomthink.net/labs/html5drums/ - it's got all the basic trimmings, but the playback has tempo fluctuations, and the whole thing is slow. And this is a drum machine running all by itself. Compare that to audiotool.com, and tell me that HTML5 can do what AudioTool does.
Here's another one - http://pattern86.com/sequencer-in-html5/ - also laggy, and it only consists of four channels.
Keep in mind, I'm not trashing the efforts of the folks who made these, kudos to them! But compare that to something like this http://audiotool.com/app/dubtexno/1 -- HTML5 cannot do that. Sure, it will be able to in a few years. And surely, Flash will be able to do new things in a few years, too.
This doesn't even address the lack of a (for want of a better term) unified developing environment for HTML/JS/Canvas/Audio a la Flash CSwhatever.
The reason HTML5 is the future is it doesn't have the Adobe bottleneck. Is sound bad right now? Then browser makers can fix it. Is Flash a CPU hog? Wait until Adobe cares enough and has enough resources to fix it. Get it?
"Media protected using the upcoming Adobe Flash Access 2.0 SDK can be played back securely in Flash Player 10.1 to support a wide range of business models, including video-on-demand, rental, and electronic sell-through, for streaming as well as download." http://kb2.adobe.com/cps/838/cpsid_83808.html (There's also RTMPE and SWF verification, but AFAIK those have already been broken.)
The fact is that HTML5 is not a reasonable general replacement for Flash. If you want your thing to work for most people, you are going to have to write in Flash anyway. Realistically, only a relative handful of people could run a HTML5/JavaScript program at Flash-equivalent speeds. And that assumes that you just want something in Flash that HTML5 could do; there's still RTMP and significant swaths of other stuff that Flash does and HTML5 doesn't.
Adobe would need to invest a _lot_ to make a good HTML5 IDE, and what would they get then? At best they'd be in the same situation as they were before just with HTML5 instead of Flash, and on top of that they would have lost control of the platform.
So the bean counters find this kind of proposition difficult to swallow. And if you say: but what if someone else did? Then they'll reply: well, then make sure Flash kills anything HTML5 related, and that's how they end up putting a lot of money to preserve the status quo, instead of using their baskets full of gold to make them run faster.
Compared to C, Java, OCaml, and so forth, perhaps.
Compared to Ruby, Python, and PHP - not so much. (take a look at the v8 entry. and this is from '09 - v8 has seen some performance improvements since then)
http://blog.gmarceau.qc.ca/2009/05/speed-size-and-dependabil...
It would be interesting, though, if someone could point me (and everyone else) to a reasonable, credible comparison of HTML5+JS vs. Flash vs. Silverlight.
I think this is a remnant from a time long gone, where applets were much worse than they are now. They have worse user experience than flash, but the difference isn't really that big anymore (e.g. http://www.pulpgames.net/milpa/).
It is much faster than Flash (my tests where the RSA encryption algorithm), has a way more comprehensive library (specially for data manipulation) and "looks" way more secure than Flash (please take this last one with a grain of salt).
Its acceptance is still lagging (I estimate something like 50%-60%), but growing fast. MS promised the new Windows 7 phone with Silverlight on it for September. It might increase acceptance.
From what I see HTML 5 adds a lot of interesting new gadgets and features (like websockets and video streaming). It is a great innovation, but is not for complex Rich Internet Applications.
I'd expect, for the next 5 years, Silverlight to become the platform of choice for RIA (mostly CRUD applications), HTML5 for video streaming and some simpler games and Flash critically sandwiched between both.
I made a blog post a few weeks ago on the matter: http://www.andresosinski.com.ar/blog_view_entry/?id=6
1) in most of your post you argue against the performance of VS2010 and how slow it is to edit XAML, not the performance of your Silverlight code/application. I take that it was as good as mine. And I think that this is what is being discussed here.
2) I agree that VS2010 is indeed much slower than previous versions, although I didn't experience something as terrible as you. But I am running it in a 3GHz quad-core with 4Gb of RAM, so...
3) Silverlight is a WEB client solution and that's the scope of this discussion and the post I answered. Correct me if I'm wrong, but I think frameworks like Django and Rails are server-side technologies and, as such, don't compare to Flash and HTML5, and are out of scope for this discussion, right?
Silverlight will get a bit bigger but it's never going to matter in the long term, any more than Java applets ever will.
http://www.readwriteweb.com/archives/does_html5_really_beat_...
http://en.wikipedia.org/wiki/Actionscript
Adobe's had a JIT Actionscript compiler for years and it's really quite fast.
Take a look at Silverlight. Its performance will surprise you, I am sure.
Some of the big sites I'm involved with are on track to hit 10% mobile use before the end of the year. And most of that is iOS.
The assumption that "most people" are windows desktop users is becoming less and less valid.
Even prototype system fanatics probably would have to admit that the current state of JavaScript doesn't work very well, with its warts like the "this" keyword behavior, and the tendency for all framework authors to role their own mutually incompatible systems.
Even Google seems to have backed off from this space recently - have you heard much mention of Chrome OS lately?
Once you understand how scope works and how to force scope, and what exactly constitutes an object.. it makes quite a bit of sense.
"The semantics of this can be tricky. At times it refers to the global object (in most places), the scope of the caller (in eval), a node in the DOM tree (when attached using an event handler HTML attribute), a newly created object (in a constructor), or some other object (if function was call()ed or apply()ed)."
The pragmatic answer is to limit its use except when absolutely required (as Google's guide suggests). The more problematic meta-problem, is that many people do think it's valuable and don't understand it and dig themselves into some subtle and insidious messes.
I've seen JS code that tries to avoid using 'this', and it often ends up a lot more complicated and tightly coupled than code which uses it appropriately.
The behaviour of 'this' in JavaScript is different to Java and other OO languages, but it isn't that complicated to understand.
I hear about Chrome OS every single day, because I follow its development. Many hardware manufactures will be releasing Chrome OS netbooks in November / December of this year. Google doesn't generally hype things before they are available to consumers, so there's no reason to expect lots of Chrome OS discussion while it's still in development.
Google is still very hardcore about JavaScript/HTML5 development.
What should have happened is that they just define a (high level) VM that we can all compile to. The browsers could have certain languages they compile to this VM language their self (e.g. JavaScribt, VBScript, etc.) and the rest of us compile to a binary file and point to that in our HTML page (e.g. <code type="vm" location="code/main.hvm"/>)
Let's get a good HTML5 system now, and then we can think of adding additional scripting languages. The best is the enemy of the good. :)
I don't think it would have to take too long. One browser could do it and then the others could copy it. Further, the standard could be general until it's worked out more.
Adobe is lazy. If there's a problem with their software, they'll blame it on somebody else, because talk is cheap. If that doesn't work, they'll wait until the last possible moment to actually put in the time and effort to improve their code. It's a pattern that is most evident with their Mac software:
CS5 (released April 2010) was the first version of the suite that was fully Mac OS X native. (Mac OS X was released March 2001). Prior to CS5, they were still using the Mac OS 9 GUI APIs, which, though they weren't officially totally deprecated until June 2007, were obviously always just a transitional compatibility environment. Even prior to the official deprecation of the Carbon UI APIs, Adobe had plenty of reasons to port to Cocoa. Number one was to provide a truly OS X native look-and-feel, which is pretty much impossible to emulate via Carbon.
Adobe's approach to dealing with Flash performance on OS X has been similar. When people complained that video playback was unreasonably slow (ie eating up 5x the CPU time that a standalone player would use), they blamed Apple for not providing them with direct low-level access to the video decoding hardware. When Apple called their bluff and gave them exactly what they asked for, Adobe released a flash player that used those APIs but wasn't noticeably faster for anybody, and introduced several new glitches that made it a step backwards for everybody who's Mac predates the NVidia 9400M chipset.
On the Windows side of things, Adobe's PDF reader has been such a long-standing resource hog that third-party PDF readers have garnered significant market share in spite of their lack of support for most of the recent advanced features of PDF. If Adobe would take better care of their PDF implementation, it would be good for the progress of the format overall.
Further back, Adobe kept their font format (PostScript Type 1) proprietary and expensive so long that Apple had to create TrueType, and Apple ended up licensing it to Microsoft. Several years later, Adobe abandoned Type 1 in favor of co-developing a TrueType-based successor (OpenType) that is finally re-unifying the font market.
Adobe seems to think they're playing it safe by being the last rat off each sinking ship, but one of these days, they'll be too slow.
It makes me feel old to remember a time when Adobe reader didn't suck.
The great PDF support in OSX is one of the things that's most jarring to lose when I use a Windows machine. It's incredible that you have to download a third-party utility just to view PDF files on Windows properly, and none of the options even comes close to Preview on the Mac. In fact, the only aspect of working with PDF files that does suck on the Mac is Adobe Acrobat itself.
Only twice in the past year have I encountered a PDF that didn't work in Preview.app. The first was a PDF of my own creation: I was using LaTeX Beamer as an alternative to PowerPoint, and I embedded a 3d model in the presentation. The other file was a two page brochure where the two pages were individual attachments to an otherwise content-less document. (This was stupid enough that I think we can probably blame it on authoring tools making it too easy to use the fancy features and too hard to do the right thing, ie. concatenating the two documents.)
There is also a certain irony in that Adobe and friends dragging their feet in supporting Cocoa and Apple's latest stuff, was one of the reason why Apple waited so long to drop Cocoa... and now is so allergic to devolve any control of their platform, including to Flash/Adobe. :)
(note: I am not saying this is the _only_ reason, and I am happy to accept there are other reasons. But this definitely didn't help).
Of course porting to Intel first, and to Cocoa later costs a lot of money and men-hours for what is no appreciable difference to the end user (unless they are geeks and therefore know what goes on under the hood). So I don't completely blame them for that: Apple seems to be in a transition every other year!
As for Flash GPU acceleration, the fact that Flash performed so much worse than VLC seemed to already show Adobe wasn't being completely honest. Surely if VLC can, a company like Adobe should have no problem!
By that standard, iTunes still isn't native. Apple always positioned Carbon as a fully supported and native framework. They even promised 64-bit Carbon support in Leopard before yanking the rug out right before it shipped, which no doubt rendered a lot of work by Adobe useless. I would have preferred it if Apple had officially deprecated Carbon many years ago. But instead they kept updating it and saying it was supported; there's no reason to blame Adobe for believing them.
Of course I agree there's plenty of reason to blame Adobe for Flash being a steaming pile on anything other than Windows.
> Apple was well on their way to having a suitable
> replacement for Office, and their Pro Apps suite was
> missing only the hole that CS fills.
Apple Final Cut Pro is a carbon application, too. You need really good reason to rewrite large parts of a big applications.Photoshop showcased the Mac as a performance platform for some time Previous to OS X. I think they played hardball with Apple, trying to bully them into using costly Display Postscript licensing for OS X, and lost.
At one point Adobe engineers would interviewed by MacWeek magazine and talked about development. Sometimes managers forced them to do Windows code first because they hated it so much. They described it as working in a sewer. The Mac was far more advanced below the surface of the OS. Color matching support evolved far earlier. Simple things like anti-aliasing an image when scaling it had to be reinvented in every Windows app, but it was an included service of the Mac OS. Clearly the engineers loved Apple even pre OS X. It's too bad that Adobe trying to strong-arm control of a key technology in OS X placed some distance between the companies. The Mac market and In retrospect Apple did the right thing avoiding the proprietary lock. Going with more open standards, and sharing some things they develop has been good for most of us. (except those wanting proprietary lock in)
It's also not the first time Apple got bitten by this problem (although to be honest given the number of massive changes they carried in the last 10 years or so, they kind of were asking for it ^_^).
I ended up just uninstalling Flash. The extra content it made available wasn't worth the hassle of the occasional flash ad getting through.
Strongbad episodes and casual flash games run perfectly. The small amount of video I have tried seems fine - Youtube via the inline flash player (not launching the separate application) and flash player video porn.
The argument that Jobs was right because flash video sucks on a phone seems silly - weren't we suspecting that flash games were what Apple were trying to keep off their ecosystem?
1) Flash as it is currently implemented is for the desktop.
2) Flash for mobile (10.1) should really be called FlashMobile 1.0 and will need a lot more time and development to give mobile users an optimal experience. This will also require Flash developers to code for mobile.
With regards to 1) It is extremely powerful and can create sites/services/applications/designs that cannot be viewed on a mobile device. This aspect does not negate its value. And with regards to 2) that's no different from many websites you visit in a mobile browser and they are not optimized. Just try visiting HN on an iphone. Brutal! But load it up through Google's mobilizer (http://google.com/gwt/x=) and it becomes actually manageable.
So now, who is to blame? Adobe? Nah. They just need more time to advance the mobile Flash code. The Developers? Nah. They just needed Adobe to come out with a decent mobile flash platform and now will need more time to optimize for it.
What is really to blame? Impatience. People see shiny "smart" phones and think they should do absolutely everything right out of the box just like their 17" laptop does. These things will come in time.
(ahem, that said, I've no issues with all the flash sites that work beautifully on my netbook... that cost half what an iPad does).
Is Flash the FUTURE of the web? Of course not. But it is the here and now. And by not having it available you will miss out on a lot of current content... and will for awhile yet.
But here it's the bottom line: if it works fine with 50% of the people, that's still not good for anyone who's not a geek (and maybe not for them either). Even 80% is not good enough. 95% is more like it, but probably it would still be too significant. I think you'd need something above 95% of cases to win your argument.
What I am trying to say, is that finding one guy for whom Flash doesn't work is a lot worse than how good it is to find one for whom it works.
For reference, my eeePC 901 only managed 34 fps in the Flash demo (Chrome 6, Flash 10.1)
N1 running demo with 500 particles and shadows: Canvas: 2.7 fps Flash: 17.4 fps
Is this guy serious? He goes to play a game that was clearly built for a computer and blames Flash because it's not playable on his phone that doesn't have a keyboard?
b) _that_ is exactly his point. That most games, and most content was built on Flash with the "PC" as the target system. Quote: "Flash was designed for PCs using mice, not for touch screens using fingers." Hence even though Flash may have been ported to mobile phones now, most of its apps won't, because the developers were always thinking of Flash as running on a PC ('cause that's what it did).
We are also not talking of small tweaks. If your program was created assuming a mouse pointer and a keyboard, the whole interface is wrong for a touchscreen. The amount of change to your code may very well be massive.
The one thing that we'll have to figure out is how to improve the finger tracking, if we even can--its default state is too slow to start recognizing the strokes you're writing.
I can't speak to its video performance, but Flash 10.1 for mobile is even better than I expected for rich apps.
Ditto for the game control issue - if someone makes an game that's designed for keyboard control (or a site dependent on "hover"), it won't work well on mobile whether it's implemented in HTML, Flash, or whatever else, right?
For a VOD, streaming video, you don't just slap up one video file and be done with it.
You must have multiple versions of the same file, but encoded for the playback device's characteristics (fps, screensize, bandwidth).
It is not uncommon to have at least 3 encoded versions of a particular movie/video. (low, med., high quality)
Flash can perform a bandwidth test prior to playing a video, to determine which file to load. However, if there is only one file, it cannot transcode on the fly to a lower bitrate/resolution.
The author of the article stated it worked fine on certain sites, but others were choppy. So, it is not on the client side, it is on the server side.
In the US, we can assume the majority of streaming video network connectivity would fall under broadband (dsl, cable, fios), cellular (gprs, 3g), and wifi (802.11b,g,n).
Depending on how the device is connected, the encoded bitrate can make a huge difference.
*Caveat: This is using h.264 (not VP6), with a Baseline profile of 3.
If you encode at the baseline level 3, you can reuse your h.264 file to play on ipods/iphones at 640x480, but with iPad, you can push it to 720p, baseline 3.1
Also, it's a fracking mobile phone you are holding in the palm of your hand and you want it to be as powerful as a desktop experience? Reality check!
My iPhone 3G's processor is faster than one of my laptops (that I used on a daily basis, but recently retired it due to buying a new Starling Netbook). You're damn right it better perform just as well!
You can't compare different CPU architectures by the number of hz. Desktop (=laptop in this case) processors are out-of-order power-sucking beasts compared to the power sipping CPU in your phone and other devices.
Watts vs. milliwatts in comparison.
I see nothing wrong with assuming that your phone should be able to handle laptop-like web media functions, such as watching video and playing audio or games.
Just punditry on my side, but I've also tried the jailroken frash on my iPad - and while it worked fine, I clearly saw that certain games are not playable - they were made for mouse with buttons, and just does not work with fingers.
Obviously this could be changed, but what Steve is afraid, is that people might perceive this as iPhone/iPad/iPod failure, rather than flash application one just expecting a mouse, and someone trying to emulate it with "fingers".
t1=time.time(); x=[i*i for i in xrange(1000000)]; time.time()-t1
On my 2.4GHz Core 2 Duo iMac, this runs in 0.47 seconds. On my Nexus One (using the Python executable from Scripting Layer for Android), it takes around 3.8 seconds. So the N1 is around an eighth of the speed of the iMac (ignoring the C2D's second core), which is actually pretty impressive.It's really this simple: Flash's bid for relevance on mobile phones is only going to work if they can make desktop Flash video work reliably.
They don't even need to make the games and stuff work properly. Stipulate that they fix that. They still fail if everyone shakes off the Flash video lockin.
This would be more persuasive if there weren't non-Flash video and non-Flash games for comparison that don't have the same problems.
However, that doesn't mean that porting Flash apps to mobile apps is a bad idea. Flex is still one of the best gui frameworks I've worked with, and I'd love to use it for mobile development. Just not inside the browser.
When you tell someone "flash just doesn't work on the iPhone, because flash is crap" it may not be true. But most people seem to be perfectly content with this experience, leading to a positive impression of the phone and industry-leading satisfaction.
This is why we at Kongregate created our mobile-optimized site that features only mobile friendly games. Of course, you can still browse the full site if you like.
FWIW the Droid Incredible launched long before and had it. I've used it, and it's not that bad for some stuff. It's better than no Flash player at all for things like viewing restaurant sites.
It's pretty telling that the first thing this guy tried out of the box was a bunch of video sites, not popcap or farmville.
It's just a runtime. Make stuff that runs on the platform for that runtime. JavaME will choke on most Desktop Java apps as well.
The moral of the story is, do mobile things on mobile devices and desktop things on desktops.
The big issue for me is development time. ActionScript is compiled, our app has close to 50 classes and uses dependency injection. Right now I can't imagine doing it with JS.
If you're looking for a tool to convert Flash to HTML 5 http://smokescreen.us/ looks promising.
for me it fills like microsoft. still huge, but for me it's yesterdays technology. if i think about a new project I do not want it to be based on flash
You need to get the chip off your shoulder and distinguish between genuine passion for hacking, and escapist basement dwelling. Outside interests refresh your mind and body and give you new inspiration.