By Werner Ruotsalainen on Sat, 07/16/2011
Flash support has always (according to some people, painfully) been missing from the iOS platform. In the article below, I explain how you can watch any kind of Flash videos (via SkyFire) and how you can use full(!) Flash (and even Silverlight!) applications on your iPad (via AlwaysOnPC). All this without having to jailbreak!
Pure Flash videos
Let's start with playing back Flash videos without a HTML5 version; that is, ones that are absolutely unplayable on iDevices. There are tons of Web sites with videos incompatible with the iOS platform; for example, Engadget (videos HERE)
Note that it's still incompatible with SilverLight videos (e.g., those of the Finnish MTV3 Katsomo).
In this case, SkyFire (iPad [US$4.99] / iPhone [US$2.99]) will be your best friend.
The iOS version of SkyFire has slowly, but steadily evolved into a pretty good self-standing Web browser. While the initial versions didn't support for example tabs, the current one does and is, therefore, a nice alternative to Safari or other Web browsers. Unfortunately, its tabbing support is pretty weak: it, for example, uses the iPhone type of “the list of tabs need to be scrolled to left and right to get to the right one” even on the iPad. (They should have used at least the native iPad Safari one with all tabs in one page for quick selection.) There're no in-page searching capabilities either. These are some of the reasons why I, personally, still prefer Safari because it's much more task switching and multitasking-friendly than any third-party browser, except for the non-memory-hungry Opera Mini. Particularly under iOS5, where it received on-screen tabs and background tab opening capabilities. This is why I only switch to SkyFire when encountering an incompatible Flash video.
There is another demo HERE showing it in action.
Important note: currently, you can't access the subsequent videos on pages where more than one are present. That is, on pages like THIS where there're more than one video embedded, the app will only list the first one for playback (as usual, click the images to see the original, high-quality, albeit larger ones):
(Of course, this wasn't a true example where SkyFire would have been needed at all; after all, the original videos are also playable, as you can see in the original page.)
Another one follows; this time, with the old (still non-iOS-compliant) embedded format of Vimeo (the test page I created is HERE), which (unlike the previous TouchArcade example, where I only generated a list of already-playable videos) contains non-playable ones:
As you can see (note the number of converted videos, while the main page has two), in both cases only the first video was converted.
The FAQ (also directly liked to from the bottom of the “Home” page of Skyfire) HERE states “On pages with many video thumbnails, you likely won't see a video pop-up until you choose an individual video. It's better to touch the link rather than the thumbnail to load an individual video page.” Unfortunately,
1, there're no thumbnails with for example the old-format Vimeo videos (again, check it out yourself my test page in both a desktop Web browser and on the iDevice to see where the original videos were)
2, it's not easy (currently, I don't know a fully universal method of it) to convert all embedded videos to links unlike, say, parsing a simple HTML page for text format links. This is what the SkyFire folks are asking for.
I've created a demo video (direct link) of it in action. In the video, I show copying a link in Safari (where I couldn't play back the Engadget videos) and pasting it to SkyFire to play the video back:
Note that, in this video, SkyFire didn't notice the clipboard having a URL on it; this is why it hasn't asked the “Open link in ” question. By, then, tapping Open you save yourself having to clear the original contents of the address bar and pasting the new URL there from the clipboard. A screenshot of this:
Now, further to using Flash (and even Silverlight / Java) apps.
Real, interactive Flash pages
SkyFire is “only” able to play back Flash videos. If you want more (real interactivity with active user input), you must go the “remote desktop” way. First, however, Frash.
Yes, there's Frash (note the 'r' instead of 'l') for jailbroken devices (dedicated page HERE) available from the repository http://repo.benm.at. As of version 0.02 (which hasn't changed for more than a year) it's pretty much useless and refuses to render, among other things, the DPReview Flash page I use for testing below (and in the demo video) with the common error message “_abort() food.c:43”:
That is, I don't think it's worth bothering with. Let's move on a really working solution, AlwaysOnPC instead. Assuming you don't have a 24/7 desktop computer connected to the net (in which case a LogMeIn / RDP / VNC etc. client may be a far better, in most cases cheaper and even faster solution), it's the app you'll want to check out.
AlwaysOnPC (iPad [US$19.99] / iPhone [US$24.99]) offers real(!) Flash support like already-mentioned / linked DPReview page. It also supports Java and some (it's based on Moonlight) degree of Silverlight. With the latter, it doesn't support video playback at all (for example, the already-mentioned videos at MTV3 Katsomo display black screen if not crash right away). Note that its Flash doesn't support playing back videos either. That's not that big a problem though, as SkyFire already has good (albeit not great) Flash video support.
Note that its mouse pointer emulation isn't compatible with the BTstack Mouse hack I introduced yesterday. (Unfortunately – with an external mouse, it'd be far easier to use.) If you do want to use an external Bluetooth mouse with it, you'll need to make sure you always grab the pointer where it currently is and always grab it with yourself.
In the video, it doesn't really see but in order to activate the DPReview Flash controller knobs, I needed to use a double-tap. Also note that AlwaysOnPC doesn't support clipboard contents copying between the local iDevice and the remote desktop. This means if you encounter Flash content you must use some other kind of net service (e.g., email, Twitter, Facebook etc.) to quickly make the URL available to the remote desktop.
Finally, note that, as you can also see in the demo video, it's far from perfect as it's pretty slow (particularly scrolling the Web pages). Still, it's a great way to check out Flash content if you have no access to a desktop computer (more than nothing).
The demo video (direct link):
In the first few seconds, I show you how the Flash animation on the test page is rendered. (It asks for enabling Flash.) Then, at 0:09, I switch to AlwaysOnPC and tap “Connect” to connect to my virtual remote desktop with the user credentials I've previously entered. The desktop loads in some seconds. I quickly start Firefox (at 0:24) and select Restore to restore my previous tabs. (I didn't really need to highlight the DPReview page first – so, just ignore what I'm doing between 0:25 and 0:28.)
Then, the (restored) pages load; I switch to the first tab at 0:39. After this, I waste a lot of time on trying to scroll the web page (with a double-finger swipe) to the position where the entire Flash animation is visible. (As I've already mentioned, scrolling Web pages is really slow – at least here in Europe. I don't know whether it's faster in the States.)
It took me roughly a minute to scroll the page to the right position. Then, from around 1:40, I (wrongly) try to operate the Flash widgets (here, the Focal Length picker at the lower left) without quickly double-tapping them first. I used a single-tap and then a draw; this is why they didn't work. It's around 1:51 that I double-tap the slider; from there on, dragging works.
Note that I also made a mistake by not double-tapping the right slider when switching to it. It's at 2:35 that I first double-tap it; it's from there that dragging starts to work. Before that, it didn't as I only single-tapped the slider before trying to slide it (and not double-tapped). Finally, at 2:40, I return to the left slider and show double-tapping + dragging (the way it should be operated).
I could write a LOT more on AlwaysOnPC. It's quite costly but if you take into account that you don't need to operate a connected desktop computer all the time. The Linux-only approach may also be a problem. If you have apps that are not compatible with Linux and would like to exclusively use them (instead of Flash and the like), go for something else. Otherwise, give it a try – don't forget the desktop client (where you can give it a test drive and also access it) is free. Also make sure you check out the demo videos of the developer.
UPDATE (06/13/2012): Frash couldn't run any of the test Flash video / animations I've thrown it at under 5.1.1 (tested on the iPad 3). The test videos included those of QVC (homepage). BTW, speaking of QVC, I've checked the videos with Photon (AppStore), iSwifter (AppStore) and SkyFire (three Flash-enabled browsers in the AppStore). SkyFire didn't recognize videos at all; of the other two, iSwifter was the better one (and it has a free trial).
UPDATE (06/22/2012): I've conducted another series of tests with THIS video (also see THIS and THIS thread). As expected, Frash didn't work. Neither did SkyFire, the first ever Flash player to hit iOS. Unfortunately, it seems to have pretty low compatibility rate lately and I, therefore, don't recommend it at all any more.
I've found iSwifter and Puffin (of the latter, tested the commercial version (AppStore link) - the free lite version, as opposed to iSwifter, doesn't support Flash at all) the two best players (I'm in Europe so your mileage may vary if you're in the US), followed by Photon. The latter seems to consistently deliver worse performance than the other two browsers with all the Flash sites I've test it on.
UPDATE (07/12/2012): today, answering THIS question, I've tested the Java applet compliance of the Flash-capable Web browsers.
Unfortunately, remote emulation-based, inexpensive browsers like iSwifter (which is just a proxy to a server-side Firefox) can't run applets at all. Neither can SkyFire, Puffin or Photon, the other three, known remote desktop and/or stream transcoding-based browsers. That is, your only choice is full remote terminal access. For example, the above-introduced AlwaysOnPC runs the applets at http://java.sun.com/applets/ just fine.
UPDATE (07/14/2012): upon a reader's request (thread), I've tested the subscription-based German sports streaming page, http://www.fohlen.tv/. It works with all three recommended Flash browsers (but, as you may have guessed, not on SkyFire), that is, iSwifter, Photon (this after explicitly switching to Flash mode with the thunder icon) and Puffin.
UPDATE (07/28/2012): helping another user (thread HERE), I've tested the Flash audio players at http://www.theraa.com/media/ and http://music.cbc.ca/ in the Flash-capable browsers. Based on the results, the Flash players' playback quality is in strictly the following order (from best to worst):
Photon: most recommended: it transfers stereo sound as opposed to iSwifter and Puffin!
iSwifter: mono, no problems
Puffin: mono, minor problems (static noise from time to time etc.)
Finally the non-working ones:
SkyFire, as could easily be predicted (after all, it's for video playback only, not the more generic full Flash emulation / streaming), doesn't recognize and, therefore, can't play back the audio tracks.
Media2Go has turned out to be useless – as always in my previous tests. It does not support any kind of audio transfer; in this case, the theraa.com/media/ Flash widgets just don't exit the „Buffering” mode (and there's absolutely no audio with the music.cbc.ca player either, of course).
UPDATE (08/29/2012): I've run tests to find the best browser to watch / listen to TV and radio broadcasts on Finnish Broadcast Company's (still) Flash-only and, therefore, non-iOS-friendly video / audio archive. The results are exactly the same as with the previous update: Photon turned out to be the best. While Puffin delivered the same framerate as Photon when playing videos, it did have audio problems, just as during the previous tests. iSwifter had a somewhat lower framerate when playing videos. SkyFire couldn't recognize the video player at all. Unfortunately, none of the usable (Photon / Puffin / iSwifter) browsers have a local server in Finland; therefore, programs restricted to Finnish audience can't be played back with them, not even with the listener being situated in the country.