Adobe's iPhone Hail Mary
snydeq writes "Fatal Exception's Neil McAllister questions whether the move to port Flash to the iPhone isn't a last-ditch effort on Adobe's part to remain relevant in the quickly evolving smartphone market. By allowing developers to compile existing Flash apps into native binaries, Adobe believes it has found a way around Apple's requirements that no non-Apple API interpreted code may be downloaded and used in an app, a clause that has also prevented Sun from porting JVM to the iPhone. The resulting apps will be completely stand-alone, with no runtimes and no Flash Player required — if Apple lets Adobe get away with it, no small feat given how protective Apple has been about its app market. But as much as Apple has at stake here, Adobe may actually have more, McAllister writes. 'Already the idea of using Web languages and tools to build smartphone applications is taking hold. Palm has built an entire smartphone platform around the idea. Apple supports the use of Web technologies like AJAX to build applications based on the iPhone's Safari browser. And developers will soon even be able to build Web-based applications for BlackBerry handsets, thanks to a new SDK from Research in Motion. As late to the game as it is, what Adobe needs now is to convince developers that Flash is better than the other options — and that could be a tough sell.'"
Flash might be great for action games, but I'd really like to see support for PHP in some mobile phone. There's already PHP-GTK and several other frameworks that let you do it in Windows/Linux. Powerful, and still easily learned and used language would make wonders in mobile development (man does Symbian C++ suck) and because PHP has so many functions and api's build-in, it would be easy to program lots of things quickly for your phone.
It's not a "last ditch effort" to remain relevant. It's just Adobe continuing the tradition of ubiquity of their platform. Apple won't let them put a runtime on the phone, so they'll deploy native code instead.
Sorry, but there's a big difference between an AJAX app and a native app. Try writing a browser based graphical game on the iPhone; it's going to fall on its face pretty quickly.
Hmm, convince developers to learn a whole new SDK for a single platform, when they can stick with a mature language and toolset they already know, deploy it in the browser, on the desktop (via Air), and on basically every phone on the planet that can run custom apps, including the BlackBerry?
Sorry, this whole article is bunk. Adobe isn't struggling with relevance, they're just making sure it doesn't start to slip, as Apple is so strongly trying to make it. In fact, this probably backfired on Apple a bit - Flash apps running as a native binary will probably have access to device functions which the normal Flash runtime wouldn't have.
I'm guessing this sale has already been made. A lot of developers like working in Flash. Actionscript is a surprisingly elegant language. Based on the number of Flash apps which already turn up all over the web, a whole new segment of developers are seeing this as access to a development platform which was previously closed to them.
Slay a dragon... over lunch!
The flash player is a nice Smalltalk VM with a PostScript-like vector drawing model. It's a (very nice) incremental evolution of the Smalltalk 80 system. The Flash authoring app, however, is one of the best rapid application development tools on the market today. You can do everything that Flash can do with JavaScript, the canvas tag, and SVG, but there aren't (yet) any development tools that are anywhere near as nice as Flash for this environment.
Adobe doesn't make much money from the Flash player; they give away the desktop one and sell the mobile one to OEMs quite cheaply. In contrast, they charge $700 for a license for the developer tools. A lot of money, but not much in comparison to the cost of the person using them.
In the long term, the flash player will probably go away. They've already made some first steps towards this, donating the ActionScript VM to the Mozilla project, and producing things like AIR which let you run Flash apps as stand-alone binaries. I wouldn't be surprised if future versions of the Adobe Flash can target HTML5 as well as the Flash plugin, and eventually just HTML6 or a native environment.
I am TheRaven on Soylent News
Yes, that would be a real shame for Adobe. People would be replacing a free Adobe product with an open source program to run content created with... Adobe's $700/seat authoring tools. The only reason that Adobe spends money developing the Flash player is so that they have a platform that runs (almost) everywhere and works with their authoring tools. If Gnash (which can't even handle relatively simple things like iPlayer yet) achieves 100% compatibility with Flash Player, then it just saves Adobe money supporting some less-mainstream platforms.
I am TheRaven on Soylent News
Adobe controls the spec. They keep on adding on new functionality in a way that has to be reverse engineered, so that there is a lag time between when they have developer tools for it and the free software makers have developer tools for it. That has a direct impact on first to market opportunity for new functionality for developers, meaning that the free software version is mostly irrelevant if developers want to stay competitive. Does that sound possible?
The Flash specification has been open for people writing authoring tools, but not people writing players, for over ten years. There are a few other flash authoring tools besides the Adobe ones. Hardly anyone uses them, because Macromedia / Adobe Flash is much better, and for most Flash developers / artists it doesn't cost much in terms of hourly rate (and can be offset against income for tax purposes anyway).
Flash is in the same sort of market as Photoshop. The GIMP does more than the average user needs, but it doesn't do what the person willing to pay $500-1000 for a piece of software needs. There will almost certainly be open source things for creating flash apps (there are a few things that output flash already), but none are in the market where Adobe is and wants to be.
I am TheRaven on Soylent News
"A tough sell." Really? Lets see. Write the same app for 4 different phones, then one for general web, or write it once with flash via a great toolset.
Not noted above is Adobe's announcement that flash 10.1 will be out in a few short months. The speed improvements and memory management are astonishing. Also most if not all smart phone OS will be using it except iphone. They demo'd watching movie trailers, playing games and video conferencing directly from android and existing web sites. Being able to save down to iphone app is great, and lowers barrier to entry (who wants to do objective C?) but the larger topic is how iphone was leader of pack and is about to get outpaced by Android (as per many reports predict). Hell even RIM is getting on the flash bandwagon.
The holy grail is for us to not have to worry about what the damn phone is. Instead we can write great apps and they can be used anywhere the screensize makes sense. Computers (in browser and desktop app), phones, set top boxes for TV's, netbooks, appliances, etc. This is what Flash is about to let us do. Theoretically anyway.
And no HTML5 can't do everything Flash can do YET. Least not write once and run on many OS, platforms and browsers. HTML5 will be great when it is a viable option no doubt, but it isn't. Not yet and not in the next few years due to fighting amongst the browser decision makers.
Adobe is claiming that a few apps already on the store were built this way. Here's a guy that disassembled one of these apps and did a writeup:
http://devwhy.blogspot.com/2009/10/flash-on-iphone.html
The author of that blog, BTW, is an ex-Apple engineer, and one of the smartest people I met when I worked there. He's one of the people I'd go to if I need help with Shark or other performance tools.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Your post makes no sense.
Yeah agreed. If I were going to make a markov chain from slashdot articles about iphones, flash, and mono, I'm pretty sure the output would be quite like the GPs post.
It'd probably get modded up too because it'd hit all the key words to trigger the brainless mods who just scan for phrases that they like.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
There's a major misinterpretation of the situation regarding interpreted languages on the iPhone. Apple has absolutely no qualms about interpreted languages used on the device. In fact, a huge number of games are built around lua-based game libraries. It's a no-brainer! All you have to do is ensure a user can't add and execute arbitrary scripts by way of downloading them later.
The issue here is getting the right balance to make it through the review process. See, your game could allow for added levels for free down the road, a totally acceptable (and relatively common) occurrence. It's entirely okay if those levels are composed by your scripting language. What isn't okay is if the game will execute arbitrary scripting, to essentially distribute a target platform as an app. That's about where the line is drawn. This could be seen with the final result of the commodore 64 emulator app. They couldn't enable basic but they can allow for delivery of additional games, which are obviously interpreted. A developer might choose to use an encryption scheme or signing scheme to ensure they only execute gamescripts that should be, for example.
This relates to flash because there's nothing stopping adobe from porting the flash engine and making it possible to export individual iPhone apps that include it and execute some flash game that is packaged in with the app so long as that game can't randomly pull in more flash to execute. Of course, if you could compile the entire flash application to native code that would be more ideal in the general case assuming you have no consistency of execution problems. But that's not always the best idea. Take java, for example. Its design causes a complete native compilation effort to result in worse performance and lower reliability because the runtime optimization of the JVM is more effective than static code optimizations.
Anyway, I guess my point is that the limitations about virtual machines and script languages aren't quite what is popularly regurgitated. The issues with the iPhone and these technologies is one of post-app-install delivery of arbitrary code execution. It's not a problem with the use of VM/Script itself.
I read the script, and I think it would help my character's motivation if he was on fire. -Bender