No Flash For The iPhone

Via TechCrunch I noticed that there won’t be flash player for the iPhone anytime soon. I’m not surprised. I said this before.

Apple doesn’t want the iPhone to get the reputation of having poor battery life. Apple is said to have avoided 3G thus far because of power consumption reasons, instead opting for a lower powered EDGE chip. When Apple moves to 3G later this year, they will want to at a minimum keep the same battery life. Having Flash on the iPhone will mean a likely drop in battery life. Something they don’t want.

I suspect in 12-18 months when H.264/AAC is a more common encoding scheme, I think we’ll see a Flash component for QuickTime that can take advantage of the hardware on the iPhone. Right now there’s too much vc6 stuff out there.

Apple doesn’t want anything released to drain battery life or it will be accused of misleading consumers about average battery life. Keeping the CPU idle will help keep that time up.

I suspect the SDK will have some limitations on CPU cycles an app built can consume before it’s throttled in some way. For the exact same purpose. That’s fine for most things, most users won’t notice, but for video, any slowdown or bottleneck becomes very visible.

Flash For iPhone

Gear Live is reporting that Flash for the iPhone is coming. Given how many times rumors like this come around, I’m slightly skeptical until I actually see confirmation for myself.

That said, if there is an implementation, I suspect it will be a special mobile version, and very MPEG-4 centric. By that I mean H.264 as the encouraged (if not only) video encoding, and AAC as the preferred audio format, with MP3.

There’s a simple reason for this. AAC, MP3, and H.264 can be processed using hardware decoding. This means the CPU isn’t needed, resulting in lower power consumption. Many mobile devices have specific hardware for this reason. There is unknown hardware in the iPhone, which may very well be for hardware decoding.

By leveraging hardware decoding it allows Apple to offer things like video without sacrificing thermals or battery life. Since Flash can now use H.264 as well, it could offload some of that complicated processing. The CPU itself contains PowerVR MBX 3D graphics.

This could allow for most Flash to work, with much lower power consumption. The downside to this is that VP6 encoded video wouldn’t be able to use hardware decoding. For many online video sites (which use VP6 since H.264 is still very new) you’d have to run off of the CPU meaning more thermals and power consumption. A notable exception is YouTube, which thanks to Google’s work with the Apple apparently uses H.264 by means of a custom application.