Apple doesn’t like Flash for just one obvious reason: Flash is a tool for multi-platform development, and if there’s one curse-word in the Apple-universe, it is ‘multi-platform‘.
Apple believe their devices need the distinction of Apple-exclusive software in order make a maximum profit. So Flash doesn’t fit into that picture at all. That’s the reason why there’s no Flash on iPhones and iPads, and why Apple cripples Flash performance on OSX by not exposing their hardware API’s to the Flash Player plug-in.
The “Flash is bad, mkay?” mantra that Apple loves
From the moment Apple decided not to allow Flash on their iOS-devices (iPhones and iPads) there has been a strong anti-Flash sentiment in the Apple community, that is not based on facts, but on misinformation and false predictions. Such as this one:
“Flash eats too many resources and hurts my battery”
I heard a story in which Steve Jobs was demonstrating how evil Flash is by loading a webpage with a lot of Flash, while looking at his system resources. Then he removes the Flash plug-in from his system, and reloads the same page. It now has a lot of gaping empty holes. And Steve goes on saying: “Look how how much resources Flash needs! Without Flash, I use less than half of my CPU-power to display this page.”
I’m not making this up!
It’s just like saying: ‘Youtube uses more resources than Flickr. Ridiculous!’
If you create a simple vector animation in Flash, and the same one in HTML5, you’ll see that the HTML5-version is actually more power hungry than the Flash version. Also, the Flash-version will be about 20 times smaller in filesize.
Then there’s the 10.2 Flash Player update, out now, that has StageVideo-technology. Flash video is now the most efficient video-playback engine there is, using about half the CPU-power, and thus battery, compared to HTML5. That means that Flash-enabled mobile devices play video for twice as long as an iOS device on the same charge.
“Without Flash I don’t get those irritating ad-banners”
If Apple had its way, and Flash would die, do you think that ad-agencies would give up advertising on the internet? Or that their HTML5 ads would be more tasteful and aesthetic?
Of course not. And as long as it’s true that you get less ads without Flash on your device, it only shows that Flash is still going strong, and that Flash-banners are still the most efficient way to target a large audience. As long as you don’t get equally irritating HTML5-ads on your iPad, Flash is still alive and kicking. And you’re missing out on the other, exciting stuff that’s happening on the Flash platform. Such as Molehill.
And this anti-Flash sentiment is unique to the Apple community. I’ve never heard a user of a non-Apple system say:
“Wow, I wish my device also had no Flash!”
So, as a Flash developer, I’ve decided to help getting some of those Apple-myths out the window. I’m going to show them that Flash runs great on OSX, doesn’t use that much resources at all, and hardly ever crashes. How am I going to do this? I’m going to lower the framerates on OSX-machines.
Detecting the OS
The Flash Player Runtime can easily detect what OS it’s currently running on. And it can change the framerate of a Flash-movie on the fly. I’m combing those two capabilities, and I throw in a beautiful ternary operator to boot:
stage.frameRate = (flash.system.Capabilities.os.substr(0, 3) == "Mac") ? 21 : 31;
Now, the framerate of the movie is 21 on OSX, and 31 on all other systems.
The benefits of a lower framerate on Macs
But why would this ‘trick’ help killing Apple’s anti-Flash myths? Am I doing this just to annoy Apple users?
No. But this is how Flash-developers might react to Apple’s myth-spreading and refusal to open up their hardware-API’s to the Flash Player. Apple is the only platform on which Flash runs, that has this limitation. And then Apple turns this around, and points at Flash for not performing optimally on their systems. Doh!
Indeed, Flash performs better on all other platforms, so to counter this, I’ll lower the framerate on Macs. Because then:
- the resources used by Flash will be comparable across platforms again
- Apple users will experience ‘lighter’, less power-hungry Flash applications
- the lower frame rate will allow the Flash Player Garbage Collection to run more often, resulting in lower memory-use, less memory-leaks, and less memory-related crashes
- OSX-systems will remain more responsive while running Flash, comparable to the experience on non-OSX systems
Where there’s pain, there’s opportunity.
Nowadays, 3.5 million Flash developers out there seem to be be in a jam: How could they create rich experiences that run on desktops (where Flash is the obvious, consistent (cross-browser/-platform) choice) and on iOS devices where Flash isn’t allowed? They ’d have to create two versions of a everything–one Flash, and one HTML5*. Good luck getting clients to double their budgets, though, and yet they don’t want richness cut in half.
So, the opportunity: Cut the cost of targeting multiple runtimes & we’ll deliver real wins: more richness for clients, and a competitive advantage for customers.
Check out what engineer Rik Cabanier showed (just a tech demo, no promises, etc.) during MAX sneak peeks Tuesday night:
Flash is great for a lot of things, and this week’s demos showed it’s only improving. It’s not the only game in town, however, and Adobe makes its money selling tools, not giving away players. Let’s help people target whatever media** they need, as efficiently as possible.
* Someone will probably start quibbling with the use of “HTML5″ as a stand-in for SVG, CSS3, Canvas, etc. I know, I know. I use the umbrella term in the loose, commonly understood sense: “Flash stuff without Flash.”
** Historical fun fact: Flash Professional used to export Java, as that was the relevant runtime of the day. Tools evolve to meet viewer demands.
Diana Boyle mp3 player
For quite some time now, I’ve been building and tweaking my own mp3-player in Flash and ActionScript3. All code for this player has been written by 0L4F, except for the brilliant SoundManager library for AS3 by reintroducing.com.
Diana Boyle‘s webdesigner asked me if I could create a version of this player for her site. It would have to be able to select between four of Diana’s CDs, and play back high-quality (320 kbps, that’s pretty audiophile to me!) mp3s.
The player is now live on her site, but I’m still ironing out the last kinks and memory leaks, because the large mp3 files that are streamed in seem to give problems on some (probably ancient) computer setups.
Virtual Showroom Demo Reel
I just posted this video on my YouTube account, and thought I’d link it here as well. It’s a demo reel for the Virual Showroom application Rocketclowns developed for Waalwear kids.
The Virtual Showroom is a ‘business to business’ application, that allows agents of the Waalwear brands (in this case Barbara Farber, Cakewalk, Jottum, Dobber and Pointer) to present fashion collections in an attractive online multimedia environment. The latest update allows direct ordering from within the application.
I found some great screen-capturing software that allows high-resolution, high FPS recording. This turned out to be the only way to capture an app like this on video, as Flash still can’t produce video from scripted animations and user interaction.
environment graphic design – RocketClowns
interface design – 0L4F
actionscript development – 0L4F
interactive video capturing – 0L4F
video editing – Marcus Graf
live model footage produced by – Maurice Dahan
Music Box
For the site RocketClowns created for Mexx Youth, I developed this nifty little music box. It never got used, so I thought I’d post it here.
Click anywhere on the grid to create a ‘note’, click it again to delete. That’s all there is to it!
btw: I added a new category to this blog: Playground, where I’ll post more experiments like this on a regular basis!
The truth about Flash
This article, posted on www.adobe.com, is so significant in the light of the recent discussion about the future of Flash, that I’ve decided to duplicate it right here.
Setting the record straight
Recently there has been a surge in discussion about Adobe® Flash®, and within that discussion, a fair amount of incorrect information has been communicated.
We would like to clear up some of those misperceptions.
Touch
Flash was actually originally created as a technology for tablets with touch interfaces. And today, Flash has full support for working on touch-based devices.
For existing Flash content developed with mouse input in mind, the Adobe Flash Player runtime will automatically convert the touch events into mouse events. This allows Flash content designed for the desktop to work seamlessly on touch-based devices.
For new Flash content developed specifically with touch in mind, Flash Player 10.1 provides a complete set of multitouch and gesture APIs.
Read more about Flash and multitouch
Video
Seventy-five percent of all video on the web is viewed via Flash Player, including videos encoded in the most popular codecs such as H.264 and VP6.
There are many claims that H.264 will kill Flash. However, H.264 is a video codec (which requires a player), while Flash is a complete multimedia runtime that can play back H.264, among other codecs. Furthermore, Flash provides a complete solution for advanced video distribution, including support for technologies such as streaming, adaptive bitrate delivery, and content protection.
Math.random() in Flash

This post is going to be a bit nerdy. Skip it if you want. This one is for the Flash / math / programming enthousiasts. Probably there’s much more interesting stuff for you in the other recent posts!
But: I was working on the layout of this blog today, and added the small Flash-movie that appears in the upper right corner on all pages.
I wanted to keep the movie light, so there are no tweening engines running, everything happens in simple ENTER_FRAME events.
As you can see, there are two movies with the name ‘0L4F‘ in them. On every frame, they move a little bit in a random direction. I liked the random movement, but I wanted to keep them more or less in the same place, even over a longer period of time.
So, the chance that the movie moves up, had to be equal to the chance that the movie moves down on every frame.
The Future of Flash: is there any?
In recent months, there has been a lot of debate on the net about the future of the Flash platform.
Even though the Flash platform is running on 98% of connected devices out there, and has only become fully mature in 2007, with the release of the third version of ActionScript – the scripting language for Flash-applications – a recent showdown between Apple’s CEO Steve Jobs and Adobe, creators of the Flash platform, has sparked the discussion about the future of Flash on the net.

You probably heard about Steve Jobs refusing to allow Flash-content to run on the iPhone and the iPad. He came up with several arguments for his decision: Flash-content would drain the batteries of mobile devices, Flash would draw a lot of resources from the device its running on, Flash-applications would cause iPhones, iPads and even normal OSX-Macs to crash.
Although all of these arguments can be countered, and I will do just that in a few moments, Adobe thought up something clever for their Flash-editor: the CS5-version (out now) compiles iPhone-apps directly! So, you develop your application in Flash, select ‘compile for iPhone’, et voila: your iPhone app is ready to be uploaded to the Apple Store.
Welcome to 0L4F’s blog!
Hello, and welcome to 0L4F’s blog. Good to have you here.
You might be wondering what 0L4F is, and what 0L4F.com is all about. So why not just use the first post on this shiny new blog to explain things a bit?

First: 0L4F, what does it stand for?
Well, for one thing, it just happens to be my first name in L337.
Leet, also known as eleet or leetspeak, is an alternative alphabet for the English language that is used primarily on the Internet. It uses various combinations of ASCII characters to replace Latinate letters. For example, leet spellings of the word leet include 1337 and l33t; eleet may be spelled 31337 or 3l33t.
So, am I such a nerd that I think L337 is cool? Not really, but the domain 0L4F.com happened to be unclaimed. And you’d be hard-pressed to find an unclaimed, four-letter .com domain that also kind of makes sense, fits you, and the things you do.
And: 0L4F can be short for all kinds of catchy slogans. At the time of writing this, I came up with Zero Limits For Flash.

