Flash on iPhone would be a huge revenue leak
smoothspan.wordpress.com
smoothspan.wordpress.com
"In any case, the iPhone is Apple's best shot at killing Flash, and Apple appears happy to be using it as such...Excluding Flash is a huge slap in the face of Adobe, which is pushing Flash as the basis of its AIR and Flex web application strategies. Adobe likes to advertise that nearly every PC has a Flash plugin installed. Suddenly, nearly every mobile that has access to the real Internet won't have Flash, making it far less attractive across the board."
"Were Flash Lite to gain momentum, it might make Adobe the Microsoft of mobiles, and Flash Lite the new Windows. That also makes it obvious why Apple wants to choke Flash to death before it falls into position as the new lowest common denominator in proprietary platforms on a new crop of mobile devices."
http://www.roughlydrafted.com/RD/RDM.Tech.Q2.07/879DD82D-559...
Also, this is nice: "Java is an interpreted language. The JVM is the Java interpreter."
Technically this is true. The JVM interprets Java bytecode in the sense that it translates the bytecode into machine language on the fly.
Basically, I'm in favor of a law that says "If you want to use the word compiled or interpreted in your blog post, you have to write a programming language first." That is the project you need to do to understand compiled vs. interpreted.
edit: Of course, it would be possible to build a machine that actually executes JVM instructions directly. It would also be possible to build such a machine for JavaScript, but if someone asks you whether JavaScript is an "interpreted language," the answer would still be affirmative, even if there are cases where it's not true.
Even in the case of instructions which do map directly to hardware ops, the CPU is still doing branch prediction and prefetching, which implies that the code is being examined (i.e., "interpreted") before being executed.
I'm not trying to say that performance isn't better when funneling native instructions down to the CPU; rather, just that it's worth remembering that there's really no such thing as "[running] on bare metal" any more, at least on a modern x86 ISA system.
Anally nitpicking at that sort of thing does nothing to further discussion, and I hate to see it here so often.
That was actually my point. When someone doesn't know the technical meaning of a phrase, they generally assume the literal and broad meaning of it. The target audience for the original blog post presumably falls mainly into that category.
And just because something is not of particular interest to you doesn't make it anal nitpicking that "does nothing to further discussion."
Putting a full featured version of flash on the device would be a trivial way to avoid the Apple store, load your Kongregate (or other casual app core) then you've got access to that whole development community and disenfranchise Apple in the process.
Right now as long as you're shopping the isles of wallmart (oh, Apple.com) for your applications they can insure that you get no free stuff and have to pay for everything, thus controlling the pipe and the revenue.
Some people think they're now profiting off of both, which is incredible.
I think Apple's decision to require all iPhone apps be sold through the iTunes Store is partially a matter of control. If an app is malicious or misbehaves, they can easily pull it.
http://daringfireball.net/2008/01/aapl_q1_2008
The author makes a few interesting notes about Apples Q1:
* Mac sales and iPhone sales were equal
* The gross revenue per iPod was $181Also, apple made $808M on iTunes.
There is one interesting bit of foretelling in the post (written 5 months ago)
The market for third-party software for the iPhone and iPod Touch is already big, and I expect that by this time two years from now, there will be more iPhones/iPod Touches in use than Macs. (Imagine the unit sale numbers for a $199 iPhone two years from now.)I'd say webapps are still the way to go unless you need access to some hardware that isn't exposed to the browser.
So given that there is already a huge trend away from standalone apps and towards browser apps, Apple is actually supporting that trend by making Mobile Safari apps look attractive and work well on an iPhone.
This definition of interpreted, that leaves Java not being interpreted is interesting, but one would have to conclude if you buy that definition not much of anything is interpreted save a few scripting langauges.
Wikipedia is absolutely on target with the definition I used for an interpreted language. It's the one I was taught when I got a CS degree. One could've argued even then that most CPU's execute microcode, and that there were even CPU's you could download new microcode to, so that was the only "one true" compiled world. But this is not the general meaning of the word.
There are tons of apps available in Flex that do all kinds of useful things that Apple will want to charge for. Javascript is an interesting case. I wonder how complete the implementation is on the iPhone and whether all apps execute fine there? Anyone have any complex Javascript to try it with?
Apple's stumbles in the 80s and 90s weren't because they failed to license MacOS, it was because Jobs was immature and shot himself in the foot, taking his company down with him. These days they couldn't possibly be doing any better, and you can bet your ass Jobs still thinks licensing MacOSX is a terrible idea.
It is all in the numbers. Sure there is MUCH more mediocrity when you open it up, and you can control and only allow the best in a closed market. But in the end the percentage of better systems at the upper threshold of the open system will always beat the best hand picked companies that can participate. One big reason is competition, the other is greed and laziness that comes with that.
Plus Flash most likely wouldn't have access to many of the features native iPhone apps do.
Jobs simply hates Flash and Java. I talked to someone who did some advertising work for Apple, and they had some Flash thing that Steve needed to approve, but supposedly he refuses to install Flash on his computer, so they had to do a screencast just for him.
But as someone else pointed out, if you make money on the razor and the blades it's not the Gillette business model.
Which means if you want to install a JVM or Flash VM you need to install the VM onto iPhone apple won't let you. If you compile the Java bytecode into C-code (as GCJ does) you still have the problem of actually installing that compiled code onto the iPhone.
The advantage of bytecode is that it can run on any operating system/architecture, the VM will take care of executing it as binary code on whatever system it is installed on. This way you can go to youtube from any OS and if you have flash installed it works. Its not just about compiling into binary and startup times :)...
Now having said that when are the iPhone ruby and python VMs coming out?
flash would not challenge a native iphone app, you wouldn't have access to all the cool iphone APIs. It would only be marginally better than a standard web app.
Video works fine on the iphone with youtube etc, and that's only really useful if you're on wifi.
Also as far as I know you can do quicktime video on the iPhone.
http://thenextweb.org/2008/05/03/what-is-adobes-crystal-ball...
"So a taste of what’s next: As Apple jostles it out with Adobe as to whether Flash is going to be incorporated on the iPhone we get a glimpse of what’s at stake for all involved. Live mobile streaming is the hot potato just out of the oven. With services such as Flixwagon and Qik setting new standards, I’m pretty sure that the Adobe Flash’s crystal ball is telling them they need to be at the forefront of mobile streaming.
To grease the wheels they are removing the paid license mobile operators have been incurring worth over 50 million USD annually to Adobe to incorporate Flash in their mobile devices and teaming up with every major player in the market, in effect forcing Apple to play the Flash game or be left out in the cold."