Obviously, there is some spin in the post, and I don't completely agree with 100% of it, but I love the level of discourse.
Obviously, there is some spin in the post, and I don't completely agree with 100% of it, but I love the level of discourse.
I have a small problem with this "don't look at the man behind the curtain" routine. Proprietary is proprietary. Don't try and swing it.
Battery Life: http://vimeo.com/9705969, http://vimeo.com/9724682
Delays: http://www.neowin.net/news/adobe-quotapple-hurts-customers-f...
Touch/Scroll: http://www.mikechambers.com/blog/2010/02/22/flash-player-con..., http://www.mikechambers.com/blog/2010/02/23/scrolling-html-w...
Speed: http://jobemakar.blogspot.com/2010/04/flash-is-speedy-on-and...
Proprietary isn't bad. Open isn't great. Proprietary vs. open is bad. Proprietary + open is great.
Proprietary implementations are a (sometimes) necessary interstitial step towards great open implementations. Save the "VS." narrative for Street Fighter II.
True, but Flash is a closed standard with a closed implementation. Adobe likes to claim it is open - but the fact remains that not only is it impossible to write an open implementation of their incomplete spec, but Adobe has actively sought to keep core components proprietary even in spec and prevent competing implementations.
That's the part that irks me about Adobe's role in this issue - they're playing themselves and Flash off as this open savior of the web when they've actively been evil in that regard. If you're closed, great, do your thing; if you're open, then actually open your spec - don't open part of it and then go after the other half with lawyers.
Apple is calling the kettle black with the proprietary argument. We can drill down to specific layers but the effects are the same to the developer coding on that layer.
Again, it isn't a case of one vs. another. I wish we didn't need to take a side and finally come to a conclusion that both are good in their own ways. Evolution is key.
Your link makes it seem like an evangelist is playing loosely with words; "available for download" could simply mean beta/RC status, not ready for release everywhere.
Battery Life
From your link: The results are amazing: I can watch a 4 hours and a half flash movie, without interruption, with a bright screen (no sleep mode) and sound !!!
From Steve Jobs post: The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained.
They seem to agree with each other? And only helps Apple's point.
Touch/Scroll
How about hover?
Battery Life: It's a bit of hyperbole. We don't watch videos on the iPhone for 10 hours. Would it matter if Flash could play videos for 11 hours? It is a misdirection or a sidestep of an original claim that Flash would kill the iPhone inside of 2 hours.
Touch/Scroll: Another sidestep. A Flash issue? With that I answer: a:hover {}
I just don't get this argument from Apple. Steve Jobs pioneered high usability mobile UI because Apple took the reigns. Now we have Android UI taking a cue from Apple and "unlocking the mobile market"
Flash and HTML5 have a similar relationship. HTML5 opens it up a bit. That's great. But what about HTML6? Flash is Area51 for implementation study.
We don't need to implement a marquee tag and then take it away once we realize it sucks. How could we market test video conf. or canvas-based visuals if we had no way to benchmark them? Flash is good. The VS. argument is a misnomer.
We do other things on the iPhone. I don't want to make the choice between watching a video and then restricting my own usage just so my phone has enough juice to make a call. I'd rather watch videos and use my phone, and the more power efficient everything is, the more the user can do this.
To put it in perspective, if Apple's numbers are to be believed, running Flash alone doubles the power consumption of the device. That's insane.
> "With that I answer: a:hover {}"
a:hover is no longer (it certainly used to be) a common tool used for site navigation. Which is to say, rollover dropdown menus are out like parachute pants - it's a non-issue on the web today. Just about every site works with "clicks", which is Apple's primary form of interaction with websites on touch devices.
The most compelling argument made though we've already been aware of for some time: cross-platform toolkits encourage lowest common denominator design. In Apple's world of pixel-perfect mockups and obsessive attention to detail this is abhorrent - and I'm inclined to agree. The iPhone's chief strength is its remarkably polished user interface - which for the most part remains true across its 3rd party app sphere, thanks in no small part to Apple's obsessive HID enforcement.
A Flash-compiled-to-iPhone app destroys this in the same way that a Linux Qt app hastily ported to Windows is the same.
This is precisely what I am talking about. We slice the pear in the middle and somehow end up choosing one side over another. True, a:hover is a deprecated form of menu control in HTML, but it is in Flash, too. Again, how you use the tool. Damning an entire developer base based on miscreant use is not a compelling argument. Sorry, but it isn't.
That's being a bit generous in favor of Adobe - the majority of the Flash development sphere is practically what one would consider "miscreant use".
Here's my impression of the different sorts of Flash use, based on my journeys on the web:
- Videos/Audio: Easily replaced by HTML5, and better too. More readily hardware accelerated, behaves as part of the core browser instead of a hijacking addon (e.g., Ctrl+T while focused on a Flash applet = no new tab), and much better battery life on mobiles.
- Crappy restaurant websites and other crimes against humanity: These should just die, and HTML5 will hopefully inspire better design ethic than this. I don't buy the argument that hovering is no longer common used as a critical navigation feature in Flash - I see it everywhere, especially for crappy restaurant websites. Flash is also impossible to crawl which reduces the usefulness of the web overall. Hell, you can't even LINK to content in a Flash site. IMHO the "full Flash site" (as opposed to Flash being a component of a page) needs to die a fiery, painful death.
- Games: The only place where Adobe has even a remotely legitimate claim that Flash is an empowering product rather than a crutch.
When I think of Flash these keywords come to mind: slow, buggy, crashy, badly designed, usability nightmare, gimmicky, unprofessional, and just plain bad.
The vast majority of websites in general are poor. It would be no surprise to see that the majority of Flash sites would also be poor. Both sides have exceptions, though.
> Videos/Audio: Easily replaced by HTML5, and better too. More readily hardware accelerated, behaves as part of the core browser instead of a hijacking addon (e.g., Ctrl+T while focused on a Flash applet = no new tab), and much better battery life on mobiles.
I don't disagree. I am grateful that HTML5 can handle this, but it took a "standards" committee several years to roll this into a questionably viable model. The immediate fanfare for the slow implementation raises my eyebrow a bit. We're all happy about having something we've needed for years. The company that created the fold so we could have sites like YouTube today? The devil.
> - Crappy restaurant websites and other crimes against humanity: These should just die, and HTML5 will hopefully inspire better design ethic than this.
It won't. Cheese is forever. If HTML5 can accomplish cheese, people will create cheese. We're all hopeful, but the human condition comes into play.
Example: We just wrapped up Restaurant Week here in Seattle where a bunch of local establishments offered up prix-fixe specials for a couple of weeks. The website for this event was done up all in Flash, and made it impossible to crawl for a search engine, or even to link or bookmark a particular restaurant for later retrieval.
What did we exchange for this cheese and gimmicky design? Everything.
There's no regulating for good taste - you're right, most websites in general are poor. They, however, are still accessible - neon green text on black background with an annoying MIDI track in the background is still information that:
- you can link to
- you can bookmark
- you can copy and paste
- you can search for in-browser (doubly important if the website fails at layout, e.g. most Flash sites!)
- you can search for on Google/Bing
Those are pretty important.
I agree that if you don't follow the proper protocol you will end up with an undesirable site. I can't argue that Flash == HTML in terms of accessibility. There are ways within Flash to harness some accessibility but it is up to the developer to implement these. An informational site in Flash is a bad choice. I would never suggest the use of Flash for broad use. A fun site (like http://www.myspace.com/fanvideo) is more appropriate.
> - you can link to
> - you can bookmark
Named-anchors and proper implementation (same as AJAX RIA)
> - you can copy and paste
"Selectable text" is an option in any Flash text field.
> - you can search for in-browser (doubly important if the website fails at layout, e.g. most Flash sites!)
> - you can search for on Google/Bing
Flash exports text within to the container. Google also can search SWF.
> Those are pretty important.
Agree.
Is copying/pasting it to the OS (or app) pasteboard an option? If so, will it use the same UI as native apps have? Or will it force a funky widget of its own in the middle of an app that otherwise looks like the rest of the OS?
I'm only asking because I've never had copy/paste from flash work well on the desktop.
So if you're going to have a Flash-y data visualization component, say, it's easiest and most natural to have the controls for it (buttons adjusting parameters, display of those parameters, navigational controls) made in Flash too -- just expand the content rectangle of your Flash component out and drop in the controls.
In HTML5, the 'environment' of the <canvas> object is that of the surrounding HTML page. Adding buttons and other controls around the edge of your visualizer is most straightforwardly done by using "native" HTML <button>s and other such elements.
So it would be surprising to see <canvas>-using pages end up being done in a way where the <canvas> is essentially the whole page — it would require more programmer effort — whereas in Flash that's by far the easiest way to do it.
I will be the first to admit there are a lot of poorly designed Flash sites, but from an interactive design perspective, Flash still gives you the most freedom to create more innovative ways for user interaction. IMO this isn't something that should be dismissed so quickly.
// note: Deleted this comment and readded it, since I originally replied to the wrong comment. Whoopsies.
What's your battery life playing an intensive game or using a processor intensive app?
If the iPhone can play video for 10 hours, that means a 2 hour movie brings my battery life to 80%.
If the iPhone could play Flash video for 5 hours and I watch a 2 hour movie, my battery life is reduced to 60%.
Given other things I do with my phone battery life is important beyond "how much video can I watch?" If the repercussions of watching a two-hour video are so much less severe, I am more likely to watch the video in question knowing I won't wind up with a dead phone after a half day of traveling.
If a phone can watch 4 1/2 hours of flash in software before the battery is drained this means that watching a two hour movie will eat half of my battery. By comparison I can watch a two hour movie using hardware decoding and still have 80% of my battery left.
In both cases, he's talking about H.264. An end user might not even realize there's a difference. But some encoders produce H.264 that can hardware decode, and some encoders do not. Not all H.264 is created equal, and this is one area that really matters.
You want an H.264 encoder that produces hardware decoder compatible video.
I would argue that that's a reasonable point to make. Steve Jobs doesn't have a vested interest in seeing Flash die, he has a vested interest in seeing the iPhone platform succeed. If he saw any way Flash could help that, I'm sure he'd be all for it, but he's seen how Adobe's behaved in the past (late with PPC versions, late with OS X versions, late with Intel versions, late with 64-bit versions, crashy Flash, slow Flash, etc.), and he has no interest in subjecting the iPhone to the same issues that the Mac platform has had to endure at the hands of a slow-moving corporation who has little interest in being a good citizen.
I would argue that Jobs is 'neutral' in the sense that he's not supporting anyone else's agenda. He's made his choice based on the facts before him, and while you may not agree with how he got there, I would say that he got there from an initial position of neutrality.
No, but you might watch a film and a couple of music videos and then the battery is getting awfully low. My iPhone lasts a day on one charge (with heavy web use & lots of calls). Halving that with a 2 hour film could be a big problem.
If there are issues with Flash, it will hurt every company using Flash, and there is nothing those companies can do about it other than bug Adobe to fix it or drop Flash support.
The argument just suffers from the fallacy of composition. The standoff motif is getting old. We're talking about software, not cold war against another country.
Apple doesn't want you to notice Steve behind the curtain. With Adobe we tend to pick and choose what we agree with and ignore the points that don't support our bias.
To say Flash is proprietary, possibly poorly executed format is a fair thing to say. To say it is completely without merit and has no place is a fallacy. HTML5 video is widely supported today. Flash might be a delivery vehicle for another unrealized idea tomorrow.
And the "death to the plugin arch" circle-jerk logic is almost intolerable. Only create within the confines of the parent layer's imaginative capacity? Sounds more closed than SWF.
kevinh said it best: http://news.ycombinator.com/item?id=1305322
Support to my assertions: http://news.ycombinator.com/item?id=1304353
But the fact that the main use for Flash on the web these days, beside video and unusable websites, are animated flash ads that use up 40% of my much more powerful Macbook Pro's CPU time means I'm in no hurry to have flash on the phone, openness dogma be damned. When Jobs limits my general purpose computers, I'll be angry, but until then, I'm glad he's making the tough design decisions instead of just letting the device be a free for all.
Who says they'll progress at the same rate? That's ridiculous. Flash is at least 10 years old and has been in extremely heavy use, so it's likely plateaued in terms of performance on most platforms. Canvas (and the rendering engines for it) are very new by comparison.
In my opinion, this is moot point. Annoying ads aren't going to be limited to Flash. HTML5 ads aren't going to be more fun.
I also think he is one of the most levelheaded apple-centric websites out there. Gruber talks a lot about premium products (not just apple) and their success in various markets -- DF is like a premium tech/apple/good taste blogzine and I imagine that his style appeals to a lot of people at Apple, whether they reach out to him or not (and "legally" or not)
The site quality degrades significantly, however, when he latches onto a "scandal", whether it be about stolen iphones or illegitimate wi-fi security claims.
With his recent ad nauseum stolen phone coverage, DF has felt more like an overwrought Entertainment Tonight scandal episode.
I've found the best Gruber reading algorithm is:
if (post < 2 paragraphs) { worth bookmarking } else { mark as read }
Apple's competitors have been clamoring to put Flash on their mobile devices because it's one more bullet point they can use in their marketing against the iPhone.
Yet it's 2010 and mobile Flash is still nowhere to be found. How is that not Adobe's fault?
His point is that on the mobile web, HTML5 is open, not Flash.
He's trying to come off as an 'open crusader for the web against Adobe' because 'Adobe is not open,' but on the other hand shoving Adobe (and others) off of the i{Phone,Pad} platform because it's not part of Apple's own 'not open' environment. I hate Adobe as much as the next person, but let's not dress Steve Jobs up as a knight in shining armour just because he also doesn't like Adobe.
Neither stated nor implied. The logic doesn't "match up" because it's a separate issue, addressed with different arguments:
"We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices."
He then goes on about third-party middleware, e.g.:
"We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers."
Jobs does not make the openness argument in reference to Apple's proprietary platform at all. It seems to me that you have to ignore the last third of the article to think that he was.
He's trying to come off as an 'open crusader for the web against Adobe'
Is Jobs lying when he says Apple supports open web standards?
I think one of the main reasons they published this was so they could respond to “iPhone doesn’t even have Flash.”
>"...we leaked the Flash essay to our Chief Apologist John Gruber and told him to start whipping up some buzz on Twitter about it, and he followed orders [http://twitter.com/gruber/status/12988151829]."
Consider too that Steve Jobs replied to an email asking about the restriction of apps to C* with a link to a Gruber post [http://www.taoeffect.com/blog/2010/04/steve-jobs-response-on...].
"Open" is irrelevant. Apple is certainly no more open than Adobe.
The Full Web - whatever. Don't support it in the browser, don't support browser plugins, fine. Safari on iPhone still crashes all the time.
Reliability, security, performance - these are all things that apply to native apps built for the App Store, so why are apps built with Flash excluded in particular?
Battery life - more irrelevance. I'm pretty sure that there are games on the App Store right now that will suck away your battery's life faster than most cross-compiled Flash games. Game loops are intrinsically always busy - they don't necessarily have a natural idle point like GUI event loops do, especially if they are running at less than their desired framerate.
Touch - this is an application quality issue. I don't see any difficulty in simply not approving apps that have awkward non-touch interfaces.
The last reason, it being another layer, is the most insidious. UI difference, performance, etc. are all irrelevant - games have weird UIs, drain battery, and poor performance is a quality issue. The truth is Apple doesn't want to be disintermediated. Apple wants developers to be strictly dependent on its tools and APIs, and not use anything between the app and the platform. This is particularly offensive to me as a software developer, and it's far worse than anything Microsoft has ever tried to pull. It's the reason why 3.3.1 is phrased the way it is, and it has nothing to do with Flash and everything to do with locking developers in.
As I see it, Flash on the web is used for three things: (1) video, (2) casual games and (3) ill-advised corporate intro screens.
I'd love to see video not needing flash, but it isn't, yet. Having a sand-boxed third-party FLV player, so that it didn't need to infect the Safari process, would be nice to have. I don't really see that approving such a process would be necessarily harder than approving any other native application on the App Store.
I'd love for (3) to disappear. I can't bear those things.
And it would be great if HTML5 was universally usable and performant enough to work for (2), but it isn't, yet. I know of many casual Flash games, though, that would work really nicely as apps, and Apple is hurting me personally by increasing the barriers preventing those apps on the web from being available on my device. This policy is both anti-consumer and anti-developer. Only in the short-term is it pro-Apple, but I hope and expect Apple will fade in the longer term in competition with Android.
Microsoft did the same thing with DirectX and OpenGL. OpenGL was cross-platform. Microsoft stopped supporting it, and instead insisted that developers use DirectX. This essentially killed cross-platform gaming for Mac/Linux. DirectX games port between Microsoft platforms and Microsoft's Console, but require significant middleware to port to OpenGL and non-Win32 platforms.
Use of an API, public and documented, is a form of dependence and lock-in. Apple has done. Microsoft does it. Oracle does it.
"Sixth, the most important reason.
Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform."
Agree with him or not this is his view. And I think its a valid view. The first macs with a mouse didn't have arrow keys. And the early generation touch devices don't allow intermediate steps.
This is not stopping anyone from compiling from lisp to html5. Apple is fine with this. Buy native apps on their platform, for the time being, wont have intermediate layers.
I thought Jobs article made that pretty clear, actually.
which was generally interpreted to mean the SCOTUS decided corporations are people.
"This legal fiction does not mean these entities are human beings, but rather means that the law allows them to act as persons for certain limited purposes..." Emphasis mine.
This stuff isn't even on topic, but when people insist on insulting my intelligence with snide pseudo-logical comments, I will insist on correcting them.
Beyond that, I find it incredibly silly that you find your intelligence so easily insulted. Perhaps it's time to take a chill pill.
What's sad is that it's a simple but important standard that isn't ordinarily upheld. It isn't sad to praise anyone for meeting that standard.