As the row between Apple and Adobe over Flash on the iPhone OS continued to grow, we thought circumventing the issue entirely might be disruptive. If we could seamlessly deliver a site that uses Flash in Mobile Safari without installing any additional apps there’d be tons of potential uses, especially for large organizations trying to leverage existing content.
Today, we’re sharing a few videos of an early proof-of-concept. One of the best parts of this implementation is that there’s nothing Jobs can do about it without castrating the web experience on the iPad/iPhone altogether. It’s not jail-broken and it doesn’t require an app or a plug-in: Just the default Safari browser.
Videos
More On The Internals
Boiled down, this is a web-based thin client and, since it offloads the rendering to a back-end capable of running any plugin, we’re also able to render Silverlight, Unity3D and other plugins. I gotta say: it’s a bit of a trip to see Silverlight (such as the Artefact Animator) on an iPad.
We’re using Google’s open source Chrome browser (Chromium) to render images on a server and transmitting the image to Safari. Using Javascript on an overlaid layer, we’re able to send all touch interactions to the server and react to them, making it fully interactive.
On the downside, this requires more CPU time on the server and it’s not as fast as running Flash directly would be. Also, this only delivers images, currently. We’re working on a version that speeds up delivery by using the h.264 codec to deliver images and sound.
Findings
During this project we learned some interesting things about WiFi and TCP/IP on the iPhone and iPad. For some reason, these devices have roughly 10x longer latency than any other WiFi devices we could find. Some have had luck, to some extent, by using older 802.11b routers. There are only a few possible explanations for this:
- Bad hardware: Maybe all versions of iPhone / iPad use cheap, outdated wifi radios
- Bad software: Core bugs in Apple’s Mobile OSX are causing this – and have gone unfixed for at least 6 months
- Deliberate limitations: Perhaps Apple foresaw applications like this and decided to slow down their entire stack to make them harder to implement.
This means currently we’re limited to about 15 interactions per second out of an iPad, though we can stream images faster than that by bundling them into fewer packages.
What’s To Come?
Longer term, we hope to use this deliver high-end 3D experiences to all kinds of mobile devices with minimal impact on battery life since the device no longer has to render the most expensive content. Additionally, we’re looking into how this tech can be leveraged at both the enterprise and consumer levels.
Pingback: Webfavorites