Faking Flash/Flex on the iPhone: It can be done, we have the technology
  • 62 Comments
by John Biggs on May 15, 2009

img_0004

We’ve all been pretty upset about Flash on the iPhone. It’s been promised and we’ve pleaded to the heavens above for sweet release but still Apple laughs at our wasted prayers and tears. But there is a solution. If you absolutely must have Flash on your iPhone, Tim Consolazio recommends trying an advanced version of VNC.

First, some background: VNC is a console/screen sharing system that lets you log into and use other machines over the Internet. You can basically share your screen with others along with your mouse and keyboard. You can try out VNC solutions for the iPhone right now and these currently let you connect to your remote PC or Mac and use it just as if you were sitting in front of the keyboard. This would also let you, theoretically, run Flash on your iPhone or Touch, albeit inside a browser.

However, Citrix Receiver and Citrix Cloud is a different solution. Instead of giving you a browser where you can run Flash programs it actually encapsulates the Flash app in something that resembles a standalone application. So instead of seeing a tiny desktop on your iPhone you see the full application. The Cloud still shares your desktop but you have a much more enticing application to work with. Citrix Receiver even separates the apps into little folders for you so you never have to see a desktop at all.
img_00021img_0007
Sure it’s a huge hack but it seems like a good workaround, at least for now. It could even be an app store within an app store! Tim points out:

So, when they go live with this (again, Citrix Receiver is a demo), does this mean I’ll have to install the Citrix Receiver and understand all this cloud stuff to simply run an iPhone game?

Yes…and no. Here’s a total hypothetical. Say you’re an internet game company of some kind, something like a Pyzam. You’re in the business of buying and developing Flash games, integrating advertising, all that. You create a branded version of the Citrix Receiver, and get your cloud infrastructure set up. Users go to the App Store, and get your branded viewer for free. They create an account, log in, and happily play Flash/Flex/Air games on their iPhone, with advertising and whatever else the developers build into the games/widgets/etc.

UPDATE – Citrix notes:

I would like to point out however that the technology used is NOT VNC. It is ICA.

Comments rss icon

  • Oh good god, I can’t even fathom how atrociously slow Flash would be over VNC. Viewing it over Remote desktop is horrendous, and that application is infinitely more efficient than VNC.

    And another thing, this isn’t a “hack” to get flash “working” on iPhone. That’s like saying you can make ANYTHING work on the iPhone, as long as you can remote desktop to another machine.

    • Just to clarify, Citrix does NOT use VNC. We use our optimized protocol called ICA with HDX extensions that makes the user experience look and feel like the app is running local. Over 100 Million users connect to business apps via Citrix on a daily basis. The new news is there is now a Citrix iPhone app that connects to a Citrix XenApp server that publishes apps to hundreds of users. And those apps can be Flash/Flex or anything that runs on windows.
      As Tim points out this scenario opens up many opportunities for developers and iPhone users.

      • I know what Citrix is and how it works, and I don’t care. Running an app, that connects to a remote server, just to run something else, does NOT equal the something else running on the iPhone.

  • While a neat concept, this is almost entirely useless for most intents and purposes. Sadtown, population iPhone users.

  • I’m not sure where to even start. Are they being serious? Yeah, I can VNC to another machine. How does that have anything to do with Flash on my iPhone? I feel I have been link-baited here…

  • What is it about “Faking Flash” that you guys didn’t grasp?

    • I mean, it’s not that I don’t get it. It’s hacky, and pointless. Sure. Just that something that can be ‘faked’ may as well be ‘faked in a useful way’. The whole VNC shell thing dwarfs the flash issue – I could say, “Hey, I can play Warcraft on my iPhone now” under the same logic.

    • Ok fine, I’m “Faking Left 4 Dead” on my iPhone using VNC at .004 FPS. I guess that means L4D plays on the iPhone now.

    • unfortunately, it seems like you are the one that “doesn’t get it”.

  • As much as I love the iPhone, Apple is super mean to developers. They’ll never allow flash to run on it because they’re too afraid it might compete with their precious App Store. Sometimes looks aren’t that important.

  • SkyFire works on same VNC concept, they have a custom VNC/Firefox application that exports the screen with FF running on the remote server.

  • If Citrix can produce an application for iPhone then you would be carrying around a very expensive albeit pretty TN3270 [1]. But imagine the power you’d then have.

    In your pants.

    [1] http://en.wikipedia.org/wiki/IBM_3270

  • “We’ve all been pretty upset…” We have? I haven’t.

    “It’s been promised…” It has? I know Adobe wishes it would happen, but I haven’t heard any promises from anyone who matters in the matter.

    “But there is a solution.” If by solution, you mean a huge hack that merely allows you to access Flash on a remote computer, which we pretty much all knew could be done months ago.

    • You’re in the minority. The majority wants a FULL internet experience on the iPhone, and not be prevented from that because upper management of a company has a petty grudge against another company and technology that they don’t own or didn’t invent.

      Flash 10 for mobile is still in development and between getting it optimized and the processors in mobile devices getting faster it will happen. Apple won’t allow it until they have to, which is not until Nokia, Android, Windows mobile, and maybe even RIM allows it first. (yes some win mobile and nokia devices already have Flash Lite which is not the full player).

      And, ultimately people will be able to disable it if they don’t want it so the complaining is ridiculous.

  • Which unanswered prayer to Apple will come first? FLAC support for the iPod or Flash for the iPhone/iTouch?

  • WOOT!

    Apple Sling box prohibition end run! Slingbox on iPhone here i come !

  • Guys, this isn’t a typical VNC solution. There’s more to it. I tried the demo and was impressed with the presentation and responsiveness. There were none of the usual ugly VNC screen refresh blocks and all that. It was smooth and responsive.

    Consider also where mobile dev is heading; I have an app. I want to deploy it. I have to build an iPhone one….and a WinMo one…and a Sybian one…and an Android one…and a Blackberry one…

    Now, I build ONE, and deploy it either as usual with Flash/Flex, or via the Citrix Reader. Some different versions to shuffle around the UI, true, but the SAME TECH, SAME BASE. That’s VERY compelling for apps that are pointless without network connectivity anyway.

    Right for every app? No. Sometimes native is the only way to go. But I am confident this Citrix approach on mobile devices is an indication of what is to come with the newer, more powerful, easier to use, bigger-screen phones.

    I highly recommend actually trying the demo before dismissing this as a run-of-the-mill VNC cheapy. I’m familiar with several on the iPhone and WinMo, and have never bothered to take interest until now.

    FYI I am working with Citrix directly now to generate a case study based on a couple of projects I have in mind. I see no reason why they wouldn’t succeed with this strategy.

    Stay tuned.

  • Or you could all move on and use JavaScript and the Canvas. Or write native iPhone apps.

    Why do we need Flash on the iPhone again?

    • To check out splash intros and to view a crapload of content on the web. You know videos and games. Stupid stuff like that.

      • Who cares about splash intros? They suck, and they could almost all be done in JS.

        Pure Flash sites are crap. Restaurants with Flash menus should have their web developers flogged. If your content is stuck in a Flash movie you aren’t *just* cutting off the iPhone audience.

        I do really appreciate Flash video, but YouTube seemed to get around that whole thing just fine.

        Most Flash games would not be playable on the iPhone because of the interface. Games for the iPhone can and are written specifically for the iPhone with other technologies.

        Yep.. I think that about covers it. No need for Flash on the iPhone.

        • The entire YouTube library is not available on the iPhone by a longshot, and, YouTube only built out the iPhone/QT app as a necessary evil. The majority of video and interactive apps on the web are Flash. Period.

          I concede that the web is full of bad Flash. There are also PILES of crappy iPhone apps, and broken “Web 2.0″ apps. None of this means that, done right, a user experience can’t be well done with any one of them.

          There is also the big point…I have one Flash app. I want it on the iPhone. And the Blackberry. And Android. And Sybian. And WinMobile. And Mac Leapord. And Windows 7. And Linux. And Unix.

          The Flash player, coupled with a solution delivered through Citrix players, covers it all. From a business perspective, that’s a VERY good reason to consider this solution. Just saying “well build an app for every platform, and maintain them all, and keep all those developers,” it’s just not smart.

        • Tim, you couldn’t get more platform independent than HTML+CSS+JS. Flash is proprietary. Saying “build it in JS instead” is smart.

        • I’m only kidding about the splash pages. In fact I hate them. However, the only benefits I can think of for Flash on mobile devices is videos.

  • That might work for some basic app dev/ports. But if you have a portfolio of apps and your core expertise is Flash/Flex, and that’s not uncommon, this is a solution. You’d have to hire iPhone developers, maintain the different codebases, deal with Apple to get them in the App store, and all the rest of it.

    Not liking Flash or personal beliefs around it are one thing, accepting that Flash is a major part of using the web, and any browser that doesn’t support it is cutting off a significant amount of what the web has to offer, is another, and a much more business savvy one imho.

    • Don’t mean to ride you, Tim, and I certainly take your point about people on iPhones being cut off from Flash-based sites, but I think you may have the “business savvy” part a little backwards:

      It’s the businesses whose sites require flash that are losing iPhone customers.

      There is no compromise (with respect to business concerns) for either Apple or iPhone users pursuant to the fact that Flash doesn’t work in Mobile Safari.

      A word to the wise on business savvy would, therefore, be to build using Web standards, which are fully accessible on the iPhone, which — in turn — represents a demographic of people that are able and willing to spend money on the goods or services your business offers.

      Now, with respect to “accepting that Flash is a major part of using the web,” I must contend that the whole point here is that it really is in most peoples’ interests that this changes.

      Folks who know ActionScript and Flex may find quite a learning curve moving to Obj-C and Cocoa Touch, but at least have a leg up on learning JavaScript :)

      I think you’ll find developers with such backgrounds leveraging the HTML 5 offline storage functionality arriving in Mobile Safari along with iPhone OS 3.0 to make RIAs that feel like little locally-driven applications.

  • Adobe can’t even handle Flash on OS X. It was only until just recently that it worked without constantly stuttering, and that is on a 8 core 2.8 Mac Pro. If they EVER add the functionality on the iPhone, it BETTER have the option to disable it.

    • You’re experience must just be with bad Flash code. I work on enterprise level flash products with Flash and Flex, and have for years. We have not had the problems you seem to be referring to.

      Crappy flash apps will run crappy. Crappy JS apps will. Crappy iPhone apps will. Crappy anything will. Not feelin’ ya.

      • Tim, Jason’s not wrong: Flash has been a slug on OS X.

        Wonderful on Windows, granted, but crap on the Mac (and worse on Linux, but no-one here particularly cares ;-)).

        • Jason, JL. Stop spreading FUD. Maybe in 2005 the Flash Player had some edge case issues but to call it a slug is an exaggeration. Flash, both the IDE and the player, perform very well on OSX, on any modern mac.

          Flash use goes far beyond what has been described here. Although I can’t argue with developing with standards, html+javascript+css does not = flash by a country mile. That being said, am I missing Flash on the iphone? Not really … only sometimes when surfing. I like the idea of native apps and as a Flash developer I am trying out Obj-C and Cocoa. But you realize this is just trading one closed technology for another.

      • Tim, putting enterprise and flash in the same sentence means I can not take your comments seriously. Unless of course your enterprise is making games for Kongregate.

        Flash is a pig on OS X, end of story.

        • I completely disagree, and have the clients and portfolio to back what I say. It’s not even worth the time to argue this one, so I’ll just have to let this one go and get back to managing a non-stop and ever-growing workload of Flash/Flex projects.

  • Yeah, but what about twitter? I mean – wtf??

  • The concept that somehow we need or want Flash on the iPhone is very misguided in my opinion. On the practical level, it would slow Mobile Safari, take precious memory (there’s only 128 MB on current iPhones) and drain the battery faster. There’s no plugin architecture in Mobile Safari currently, which means it would have to be implemented at the system level, with the cooperation of Apple. That’s not going to happen.

    On a strategic level, there’s no way Apple is going to turn over control of its graphics/animation on it’s hottest product to a 3rd party, especially when they already have a graphics/animation platform called QuickTime (perhaps you’ve heard of it?) that’s coming to the iPhone in phases. H.264 (a.k.a. MPEG-4) hardware playback and Core Animation already exist on the device.

    Mobile Safari already supports CSS Animation–just by using CSS and no plugins, you can do animation in the browser, that would have normally required something like Flash: http://webkit.org/blog/324/css-animation-2/. It’s on its way to becoming a W3C/WHATWG standard. Being part of WebKit means other devices using WebKit (Android, Palm Pre, some Nokia phones) will also get CSS Animation for “free”. Apple by itself has over 37 million iPhones/iPod Touches where this already works.

    In summary, Flash on the iPhone makes no sense technically or strategically. Apple didn’t get to where it is today by making dumb decisions; allowing Flash on the iPhone would be as dumb as it gets.

    • Again, if your shop’s expertise is Flash/Flex, then it makes a lot of reason. And keep in mind this is a strategy that does not actually involve Apple building Flash into the iPhone.

      Have you actually run the demo? It is very compelling. I’ll say it again; I never took any solution like this seriously until now. I’ve set up my accounts and am doing the dev, and it’s VERY compelling.

      In summary, and to sum it up, get an account, do the development, run the apps, and then judge. That’s what I did, and I’m very optimistic.

    • Thanks for writing this, Albert — saved me some typing ;-)

      You’ve covered the technical and strategical concerns, let me speak to a user experience concern:

      Think about this problem, alone:

      How many Flash sites are designed such that you have to hover your mouse over a particular part of the screen to reveal some further set of options? You know — those dynamic menus you see everywhere…

      Problematically, there is NO SUCH THING as a mouse-over in Touch Safari. Such sites would remain completely unusable. Plus, the folks that are myopic enough to continue to believe Flash on the iPhone makes ANY sense to begin with will then become angered with Apple that they STILL can’t use the Flash sites you want.

      Not only does Apple have nothing to gain by getting Flash to work in Safari, but they actually stand to wind up with even greater customer dissatisfaction. At least everyone expects Flash not to work now.

      Consider also the following fact:

      There is NO SHORTAGE of iPhone users actively using the internet on their iPhones. In fact, nearly *everyone* with an iPhone actively uses the Internet. I only say “nearly” because I know that at least my father doesn’t; there may, somehow, be a handful more out there that don’t.

      Just because Flash is popular out on the Web, it’s not “the Web.” “The Web” is composed of hyptertext — maybe you’ve heard of it:

      http://en.wikipedia.org/wiki/World_Wide_Web

      • One at a time:

        - Poor design doesn’t mean poor technology. Also, Flash developers would understand the characteristics of touch screen, and program to it; so, the application would either not be built to use mouseovers, or, the application would be smart enough, if it detected the iPhone environment, to use a different interactive mechanism.

        - Lots of “Web 2.0″ apps, that have nothing to do with Flash, break on the iPhone. Not because JS based and AJAX technologies aren’t any good; it’s because they weren’t designed to be used with a touch screen, which is a relatively recent phenomena.

        - Apple stands to gain the loyalty of MILLIONS OF FLASH DEVELOPERS by putting Flash on the iPhone. MILLIONS.

        - Saying, “because a phone doesn’t have Flash, but people still use the phone to browse the web, means that Flash is pointless” is like saying “I have a car without power steering, but I use it anyway, so power steering is pointless”.

        - I have actually never heard a knowledgeable internet-based developer say that “the internet is composed of hyptertext” since 1995.

        Cheers.

        • > Poor design doesn’t mean poor technology.

          Agreed. The point here was that making Flash available in Safari would still leave the majority of Flash sites unusable. The remedies you offer up would require rewrites, and so that would leave a lot of people expecting to use Flash on the Internet pissed off at Apple coz stuff isn’t working.

          I don’t believe there is a really a universal solution to simulate (or replace) hover on touch, since many Flash apps using hover also have explicit functionality from touches (clicks), and swipes (drags). Not to say that there might not be a solution at all, but I sincerely don’t think that such a solution would approach anywhere near universality.

          > Lots of “Web 2.0″ apps, that have nothing to do with Flash, break on the iPhone.

          True. But no-one’s moaning that the iPhone should support these sites :)

          > Apple stands to gain the loyalty of MILLIONS OF FLASH DEVELOPERS by putting Flash on the iPhone.

          I disagree with “loyalty.” I don’t really think you quite mean it either…? I would say “Appeasement,” perhaps.

          And Apple would stand to lose far more than it would gain by an influx of Flash developers. See Albert’s points above.

          > Saying, “because a phone doesn’t have Flash, but people still use the phone to browse the web, means that Flash is pointless” is like saying “I have a car without power steering, but I use it anyway, so power steering is pointless”.

          OK, I could agree. Except I never said that :)

          What I *am* implying, however, is that:

          1. Flash in Mobile Safari is pointless, and
          2. Flash outside Safari is not at all in Apple’s interests (nor, frankly, in anyone else’s, except Flash developers, perhaps).

          > I have actually never heard a knowledgeable internet-based developer say that “the internet is composed of hyptertext” since 1995.

          Well, then: time to reset that clock :)

          Lemme split an important hair before I reaffirm my statement: I said “the Web,” not “the Internet.”

          There’s loads of other services that comprise “the Internet,” including email, instant messaging, MMOGs, and remember Gopher? to name merely a few. But these are importantly NOT part of “the Web.”

          When considering what “the Web” is, remember that:

          1. the World Wide Web consists of the entirety of material available via HTTP, which is of course the HyperText Transfer Protocol; and that

          2. nearly ALL Flash content is served with a HTML document (same comment about the HT in this acronym, too)

          And so, common as it is to encounter both Flash and malware (not equating, mind you), I still view both them as being something AVAILABLE ON the Web, which is to say that the Web would still be every bit “the Web” the Web without them :)

          So I reiterate: without Hypertext, we wouldn’t have “the Web.”

          The point is a little overstated, but the spirit is to shake the conception that “the Web” is incomplete without Flash. It’s simply not.

        • Again, you argue from the perspective of “Flash on the iPhone”.

          At the bottom of this discussion, some of us have placed reminders that this isn’t what this article is about.

          The solution I propose here does not put Flash on the iPhone. It makes ANY technology available by only refactoring the UI (a well built application would not need to be rewritten, just the UI would need to be shuffled around).

          The new generation of phones is coming soon; Symbian, iPhone, Blackberry, Windows Mobile, Android are the front runners. I don’t want to have to rebuild all my apps five times to run across all mobile devices. Developing a native iPhone app, or an Ajax-JS based app, either means I’m locked into one mobile platform, or have to dumb it down to something that Ajax-JS can handle from a display perspective.

          This solution offers developers a way to get it all with the technology of their choice. You don’t like Flash, use something else, but if you want it across all five major mobile platforms, saying “do it with the iPhone API” doesn’t pan out.

    • Albert, you presented insufficient evidence upon which to make such assertions…. ;-)

      jd/adobe

  • When flash is edventually suported on the iphone, can we have the FlashBlock plugin also?

  • Browsing on the iPhone without Flash is a great thing as far as I’m concerned. Those annoying, resource
    hogging Flash ads seem to be all over the place. You come across a site with one or two and it’s like your computer’s about to blow up. How could a little smartphone handle it? The iPhone and Firefox with the FlashBlock plugin are the only way I can browse the net comfortably these days.

  • A reminder of a few points:

    - This is not a VNC or RDP solution. I’ve seen them and was never impressed. You should try the demo.

    - It’s not appropriate for every kind of app, even Citrix said so, but that doesn’t mean it isn’t a real solution for a lot of them.

    - This should not devolve into an “Apple should put Flash on the iPhone” conversation, because what this conversation is actually about is, “The Citrix solution is an interesting option to get ANY technology on ANY phone.”

    As bandwidth increases along with the power and capability of mobile phones (which are already so much more than phones), Citrix could very well be at the forefront of a widely used solution for deployment of a common code base across virtually every platform, mobile, or desktop, or netbook, or whatever.

  • Flash on a phone is a PITA. Especially a touch interface … even interacting with some dhtml behaviors on sites can be troublesome with a touch interface if they aren’t designed correctly.

    And aside from the casual games (cough: App Store :cough) done in Flash what time do you spend on sites that use Flash? I can count maybe a few presentations on a few sites that are in Flash that I’ve missed on the iPhone but they were almost always supportive of the main content. Mostly Flash is used for adverts and I block flash when I can.

    The Gods of Flash are angry! Watch out.

  • This thread is really debating the title of this post “Faking Flash/Flex” for the most part.

    But as Tim is pointing out, there’s a much bigger story here, and it’s not just about delivering Flash apps to the iPhone. It’s really about the flexibility of building applications using whatever tools you want/need, and then having the ability to deliver that application to multiple device platforms using a single management paradigm.

    Citrix’s core technology behind “Faking Flash” to the iPhone is Citrix XenApp. It used by over 100M users daily to deliver all kinds of applications to all kinds of platforms, the iPhone being just one of them. As long as the application (Win32, Flash, Flex, HTML, ASP, .NET, AIR, Silverlight, JAVA, etc….) can run on the MS Server that XenApp is installed on top of, you can deliver that same application unmodified to multiple platforms (PC, MAC, iPhone, Windows Mobile Professional, Symbian S60, Linux, more coming soon). You can also develop custom apps specifically for a certain platforms if your requirements demand. Whether the application is running locally or delivered remotely, the end game is to get the data to the end user in a useful way for them to use securely. In the case of Citrix, usually related to some type of business task, again regardless of the device they are using.

    Again, it’s all about flexibility and the ability to centrally manage the delivery of all of your corporate apps and data to your corporate users in a unified way. You may never have a reason to deliver a single application using Citrix XenApp (all though some customers do this today), this again is about a much bigger picture of which the iPhone and Flash are a small part of. Citrix XenApp is commonly used today to deliver web based applications to overcome browser compatibility issues on PCs and other platforms. A company having the ability to deliver it’s Flash based apps to iPhones is a natural fit to overcome compatibility issues, just another example of one of the many reasons why companies use Citrix. Obviously this type of use will initially be more prevalent with existing Citrix customer, but I applaud Tim’s foresight as to how the use cases can be extended in to less classical markets for Citrix.

    So if you’re an app developer and you have interest in this type of flexibility in targeting the ~250K customer base that Citrix has, you might want to step back a second and consider the bigger picture and understand how this can be value add into a Citrix customer’s environment, as Tim has. We already have a list of core ISV partners that see the value of developing custom mobile apps to be delivered via XenApp calling out the the same core value that Tim points out. They get it! And they get how they can make more money with it! I think Tim gets it to :)

  • Adam- That’s a very good point. I definitely see potential for experimentation.

    LMAO @Jay

  • Why not post a video with the article demo’ing the technology noted. I’d like to see it in Real-time.

    -C-

  • You can read my blog and see screenshots of a Twitter client I built using it (and which I think the Citrix guys might have used in their Sys-Con iPhone Dev Summit presentation), and I’ll see what I can do about a video.

  • While I understand the developers who are looking for a way to create flash content across all platforms, there’s a good population of us that just want to watch some videos, the majority of which happen to be flash-only.

    Not flash-site-browsing, which could get complicated and resource consuming (as mentioned with the touch screens and flash ads). Just a way to watch videos that won’t stream without flash support. I am not a developer and am sincerely curious whether a “simple” app cannot be created to do this?

  • dunno why Apple are afraid of Adobe. I think they will win. Since 2 much flash you can met in the internet nowadays. So Flash+iPhone means more sales for Apple.

  • Slingbox is the way to go. Faking flash though, can be done and it is effective.

Leave Comment

Commenting Options

Enter your personal information to the left, or sign in with your Facebook account by clicking the button below.

Alternatively, you can create an avatar that will appear whenever you leave a comment on a Gravatar-enabled blog.

Trackback URL
Short URL
bugbugbug