7 ms·
Why the Apple iPad has no Java or Flash
- hga 17y agoThis is fantastically good, it explains with convincing specifics why Flash is a bad idea on the iPhone OS ecosystem (and less so for Java, but that's much less of an issue). Also points out how the insanity of Blueray DRM plus Apple's installed base of hardware makes Blueray a non-starter for them. See also this invaluable essay on Vista and DRM: http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html; it's what convinced me that Microsoft had turned against the users of its operating system.
- tensor 17y agoFlash, perhaps. But considering the Nexus one runs on Java, as do many devices with even less powerful hardware, he's dead wrong on that point.
- ZeroGravitas 17y agoI wonder why no-one seems upset that Android, which is written in Java, doesn't let you use Java applets?
- hga 17y agoWell, it doesn't have a JVM per se, its VM is the register based Dalvik, which requires a translation phase to convert compiled Java/whatever bytecode to it.
- ZeroGravitas 17y agoI was aware of that, but if they can include a seperate Flash VM, then they can include a seperate Java VM just as easily, if not more so. It also raises my other often unaswered question about Android. At what point are they going to just use a standard JavaVM? The two main theories are A) that it was a licensing dodge because (like Adobe Flash did till recently) Sun gave Java away on the desktop and charged for mobile and set-top boxes, or B) it was necessary to get performance on low power hardware. I didn't believe the latter reason at the time, and it's only getting less true as phones get better processors and people talk about putting it on tablets and netbooks. The former reason is apparently toast since Oracle has announced the merging of Java ME and SE which I'm guessing includes licensing terms.
- hga 17y agoYou're ignoring that Moore's law doesn't apply to batteries. It's not so much the crunch required (although non-Apple products have suffered here in comparison), it's the battery drain.
- bulanga 17y agothere's also the fact that phones have relatively limited memory. I suspect the Dalvik VM runtime memory footprint is much lower than that of the JVM.
- hga 17y agoI know that was a design goal, e.g. the bytecodes after translation from JVM to Dalvik are smaller. I also seem to remember hearing that not all of a JVM's library is supplied with Dalvik. Also, hasn't Java ME stagnated? I.e. it's stuck in at Java 1.3 (which Oracle has promised to address).
- hga 17y agoErrr, it doesn't run a JVM, it runs the register based Dalvik VM, which is tuned for lower power consumption. For those smart phones that do run a real JVM (as real as Java ME is right now...), the battery drain is I assume a debatable point.
- deleted 17y ago[deleted]
- laprise 17y agoAmen !
- BigZaphod 17y agoI'm sure the technical and emotional arguments that Flash sucks had an important role to play in why Apple didn't include it, but I like to think it's almost simpler than that: Flash expects (and often requires) the traditional keyboard and mouse interfaces. The iPad has neither. Sure, the big Flash sites like YouTube could easily get away with translating touches to clicks and it'd probably "just work" for them, but how do you handle the millions of sites that depend on rollovers to reveal menus or full keyboards to control game characters? You can't. There's just no elegant way to translate that to the iPad. HTML/CSS was designed to degrade gracefully in the face of changing client capabilities. Apple can more freely create a new environment that can still acceptably display HTML/CSS content because of that core design decision. Sure, some sites will do things that break even on an iPad (or iPhone or Android - there's no right click, still no ever-present keyboard or mouse, unusual screen resolutions, etc.) - but for the vast vast majority of HTML/CSS sites, the necessary information is still conveyed or available in some useful way almost by default.
- bad_user 17y agoI'm pretty tired of hearing reasons about why Flash isn't included ... and while I'm happy for HTML5, it's pretty sad that Apple doesn't give this choice to its customers. To make matters worse, I don't think Apple allows modifications to Safari on the App Store. The web was built on top of such technologies (Java, Flash, ActiveX) and while all of them where a PITA in the long run, back then it was the only way to work-around the browser's limitations ... competitive third-parties are driving innovation, not standards, and definitely not monopolies. Imagine if Microsoft controlled what software gets installed on people's computers ... today we wouldn't have had neither Java, or Flash, or Firefox, or HTML5 for that matter, and AJAX would have been a second class citizen. I don't want such a future. Of course, I trust the market enough to make the proper choice when the time comes. People aren't stupid, and unfortunately for control freaks, the genie is already out for openness. But it saddens me to see such positive reactions from people that benefited so much from openness (like DHH). Even with all the viruses, spyware and spam flying around, it's still a better present that what could've been if the PC was locked.
- 17y ago
- biotech 17y agoPersonally I wonder why these people are still employed in the technology sector... Really? This is the second line of the article, and you are questioning the professional competence of your readers?? What do you hope to accomplish here? ...but why not write down all the reasons before I get too arrogant and annoying. Too late. Okay, well... I read the article anyway, because I am actually interested in the subject. Unfortunately, the content was little more than a personal rant that would have been more accurately titled "Why Adobe Flash (and btw Acrobat) sucks".
- compay 17y agoBingo. I stopped reading right there.
- Feynman 17y agoIn re to Java -- GOOD. I've never used a Java app I've particularly liked. Heck, is it even possible to code a decent GUI'd, non-sluggishly-responsive Java app?
- yumraj 17y agoAnd moving Photoshop to Cocoa took so long that Apple lost all faith in Adobe's ability to deliver a good experience on Cocoa Touch. This is bloody hilarious and looks like the author has no experience writing real applications. He seems to think a re-write of a complex app like PS is a trivial task. BTW, before Apple can claim to lose faith in Adobe, it needs to port it's own Pro app, not consumer apps, like Final Cut Pro etc. to 64 Bit Cocoa. Apple itself hasn't migrated it's own Pro apps to 64 bit. Even Gruber seems to be relatively neutral on this: http://daringfireball.net/2008/04/64000_question http://daringfireball.net/2008/04/64000_question The one and only reason for no Flash and Java on iPad, and iPhone for that matter, is Apple likes closed system where they can control everything and don't want to give up their 30% cash cow. All other reasons are excuses IMHO.
- joe_the_user 17y agoWhy should Apple care about what it takes to re-write a complex app? If Apple can go without the pain, why shouldn't they? Sometimes it sucks having a huge portfolio of hard to repurpose application code. Eventually the programming world will figure out how to write compact, easily refactorable code. But why should everyone wait till then. This blog is harsh but logical. The one and only reason for no Flash and Java on iPad, and iPhone for that matter, is Apple likes closed system where they can control everything and don't want to give up their 30% cash cow. All other reasons are excuses IMHO. I don't think the author is saying much different in the end. It's just there are certain advantages to having locked-down platform - especially quality control. I'm totally down with open source alternatives but we need to understand that there's no reason for Joe average to tolerate the standard bullshit that the programming world has gotten used to.
- wanderr 17y ago"Flash cookies are pure deep evil and in use every single day." LSOs in Flash are not strictly cookies. It so happens that many advertisers like to use them that way, but the usefulness for tracking across multiple websites can be easily curtailed by disabling 3rd party LSOs (so only swfs served from the website you're visiting can have access to LSOs). LSOs allow flash games to auto-save and let you pick up where you left off later. We use them to make the site faster for returning users and diminish load on our servers by storing certain information a user is likely to request on return visits in the LSOs.
- c00p3r 17y agoBecause: 1. This crap can't be compiled for ARM-based cpu. 2. Even if it could (it won't), it won't run fast enough. 3. Both technologies are outdated, even while still in use. btw, each down-vote should decrement your karma =)
- andrew1 17y agoDoes your (1) point refer just to Flash? It's certainly possible to get a JVM to run on an ARM-based CPU. As regards (3), Java the language may be outdated (possibly a debatable point) but Java the virtual machine probably isn't. Both Scala and Clojure are written by seemingly bright people who chose to use the JVM rather than another alternative (Scala code can in theory be compiled to run on the .NET runtime but in practise I understand that's somewhat difficult to achieve). It's easy to write Scala apps for Android phones and I don't see any reason why they wouldn't run just fine on an iPad/iPhone.
- c00p3r 17y ago1. Show me url where I can get JRE for ARM-linux-gnu. 2. Show me #ifdef ARM_XXX in JRE source code. Thank you! btw, Clojure is a brilliant marketing move - an attempt to reuse existing JVM and the java class library to create something which looks like lisp. That's why there are so much hype - one buzzword and one magic world were put together. =)
- wanderr 17y ago1. False: http://venturebeat.com/2008/11/16/chip-designer-arm-bringing-flash-10-to-smartphones/ http://venturebeat.com/2008/11/16/chip-designer-arm-bringing... http://www.adobe.com/devnet/flashplayer/articles/mobile_demos_fp10.1.html http://www.adobe.com/devnet/flashplayer/articles/mobile_demo...
- c00p3r 17y agoThat is just a PR. If something was named flash player 10.1 (assuming the same product as on x86) it is just a marketing move. ARM is a complete different architecture, so ti should be a complete different product. I agree, that there is something which could be installed on certain devices to view some video clips, but to call it the same name as x86 product (read sse3 plus directx acceleration) is total bull crap.
- WillC 17y agoThere is one reason, and one reason only, Apple won't let Flash or Java on the iPad or iPhone. It's competition to the App Store and they don't want you circumventing that cash cow.
- nw 17y agoThere is rarely, if ever, one and only one reason for anything Apple does. Their holistic approach to product design is integral to the success of their products.
- protomyth 17y agoI really don't think it has anything at all to do with the App Store. I really think it is all about control of the base code for the OS. The performance issues are real, but looking at the Flash problem Snow Leopard had (old flash with security holes), I get the strong feeling that Apple seriously wants to control all the iPhone OS source code.
- chrisbolt 17y agoFree Flash games directly compete with the iTunes App Store. Apple could loose thousands of paying iPhone developers, with Apple hardware, if they added Flash support. And suddenly the exclusivity is lost since the Flash game runs everywhere else as well. Would any flash games really compete with stuff in the app store? Games in the app store are made for the iPhone's touch interface, the flash experience would most likely suck in comparison. The only thing free flash games could compete with is free app store games.
- elblanco 17y agoI have not heard of this Blu-Ray/Apple issue before, anyone care to elaborate?
- pan69 17y agoOh god. Here we go again. I think this dude should read a bit about Flash Player frame rates and how the Flash Player actually behaves inside the browser. http://www.kaourantin.net/2006/05/frame-rates-in-flash-player.html http://www.kaourantin.net/2006/05/frame-rates-in-flash-playe...