Let’s not mince words: Presenting your images through Flash is now the best way to preserve the fidelity of their color online.
Support for color management is in Web browsers is rare (only Safari supports it by default, and the IE team is apparently missing in action). Color management thus can’t be counted on from browsers, and images display differently in different browsers. Flash Player, on the other hand, is ubiquitous, consistent, and reliable–and now in Flash Player 10 it offers basic color management support. It’ll take a little while for the new FP10 to proliferate, but this is a huge step forward. Color mgmt. in Flash will finally put an end to colors shifting when you move from PS to Flash.
I’ve asked Adobe color management expert Peter Constable to provide further details. For those, read on. For my take on why Web designers should give a damn about this stuff, see previous.
Ever scratched your head when viewing your images on the web? They just don’t look the way you thought they would or the way they looked when you viewed them in Photoshop? Well, there’s a reason for that. The colors you view on screen in Photoshop (or most other apps in the Design Suite) take advantage of a Color Management System (CMS). This CMS adjusts colors to take into account the unique characteristics of your imaging devices. In the case of viewing colors on your monitor, Photoshop uses Adobe’s CMS to adjust colors that are sent to your monitor. Most web browsers do not do this.
So what do you do if you want to use a CMS to provide accurate colors on a monitor display? Luckily, we now have a solution with the latest version of the Adobe Flash Player. Flash Player 10 can use Color Management to draw colors to screen. The only hitch is that it needs to be enable when the SWF or FLV is created. How do you do this?
You just need to put a small snippet of ActionScript 3 code in the Flash file.
- Chose or create an ActionScript 3 Flash file.
- Open the Actions window (Window/Actions).
- Type "stage.colorCorrection = ColorCorrection.ON;" in the Script window.
- Save the file.
You’re all set.
Note: Using this ActionScript enables an sRGB –> monitor color transform in the Flash Player. You should convert image files to the sRGB color space in Photoshop before publishing to Flash.
Now you are in a better position to ensure the images you post on the web will appear the way you want them to!
For more information on Color Management, see the sections on Color Management in the Adobe Help files.
[Update: Sorry if you’re hitting an error when trying to comment on this post. A weird double-entry thing happened when I published it last night, and I’m presently trying to determine what’s up. Update 2: Okay, seems to be working now. –J.]
30 thoughts on “Get better color online through Flash Player 10”
Color-accurate online display on all 12 profiled and calibrated monitors on this planet?
[I’m not talking about enabling prepress workflows on highly demanding calibrated monitors. I’m taking about your images going from “eviscerated shite” to “not shite,” particularly on the Mac (where, as depicted, the unmanaged color shift is obvious). –J.]
And I’m supposed to upgrade my OS to support your media player and all the bandwidth-hogging atrocities perpetuated in its name.
[You’re running something older than WinXP or Mac OS 10.4? –J.]
Sorry, pet peeve. That and your company’s mind-bendingly unhelpful customer support.
If Flash is to be taken seriously for anything, it has to stop making the fans on my MacBook spin up to genocide speed. On Mac it’s lame and clunky.
[I too would like to see the player enhanced to prevent badly written content from hogging resources.
Of course, when Mac users say Flash is lame, they’re largely complaining that playback is generally not as fast on the Mac as it is on Windows. How much of that is the fault of the OS and how much the fault of the player, I don’t know. (It’s naturally assumed to be entirely the fault of the player.)
Human nature is such that we perceive only relative good and bad. If someone went around the country handing out a new Ferrari to every household, but then handed out 5 Ferraris to some people (based on, let’s say, race or religion), we’d see rioting in the streets. (Oh, the inhumanity of asking some people to get by with just *one* Ferrari apiece!) It’s the perception of unfairness that drives people insane. –J.]
Before betting the company on it and forcing the flagship products into using it everywhere, you might want to reconsider the foundations a bit. Building on sand isn’t going to work.
Yep: Mac OS X 10.3.9.
[That’s your call. Note however that ~6 months ago Apple was touting having gotten something like 89% of Mac users onto 10.4 or higher. –J.]
And calling Flash “ubiquitous, consistent, and reliable” is one of those two-out-of-three-ain’t-bad situations: reliable, I don’t buy, and I’m wavering on the consistent part. Most of the time when I have to force quit a browser because of an unruly page, there’s Flash on it.
I think I know what you are saying…
I use lightroom for most of my web app with the flash templates.
How can I (if possible) write a script for that???
Ken in KY
[Ah, I probably should have gone into a bit more detail. Color management is enabled through ActionScript 3.0 in the Flash Player, and you can’t mix AS2 with AS3 (at least as far as I know). Lightroom was designed to work with AS2 projects, so it’ll need to be updated before the galleries it produces can support color management. Believe me, I’m pushing to get this updated sooner rather than later, and gallery developers are excited about taking advantage of the change. –J.]
A non-Flash-related aside: Firefox 3.x supports color management, but it must be switched on manually:
Type “about:config” into the address bar, click “I’ll be careful, I promise!” button if necessary, type “gfx.color_management.enabled”into the “Filter:” box. If the value is set to “false,” double-click it to “true” then restart Firefox.
[Yeah, although I’ve blogged about FF & color, the required level of hackery to enable it makes it just a science fair project. –J.]
I have a high-gamut monitor at home, and saturated photos on the Web look hideously garish without that enabled. I like Google’s Chrome browser OK, but it has no such option either. Microsoft is at least aware of color management issues even if IE falls down in this department.
[The bizarre thing to me is that several years ago Microsoft got up on its hind legs about how WCS et al. was going to make everything terrific. Meanwhile the company hasn’t seen fit even to color-manage images in IE. I know it’s a big company and that many pieces don’t talk to one another, but this glaring omission doesn’t help curry favor with the photographers they’re spending millions to court. –J.]
Some background here:
[Cool, thanks. –J.]
As an interactive art director with Flash chops, I want so badly to upgrade to FP10 so I can start messing with the new features.
But, the first beta I installed ‘broke’ youtube and made all the videos green. It stopped after I uninstalled.
Then I tried again once the official release came out and a project I was developing in Flash CS3 (FP9) completely would not work in my browser (FP10). All the mouse events went haywire.
I wasn’t doing anything tricky or hack-y just using the transparent window mode.
Until it works for production I can’t trust FP 10 even though I am my agency’s biggest Adobe evangelist.
I, for one, think that this is an outstanding feature.
The people complaining about it are complaining about a a freebie feature that, when used appropriately, makes the web a better place, and when not used, leaves us in exactly the state we are currently in. OK, if you don’t want to use Flash to deliver color-accurate photos, then fine, don’t use Flash. Leave things exactly as they are now, and continue to let the browser render the colors. That’s your call, and no one will think you’re a jerk for doing so.
At some point, all browsers will probably support color management, enabled by default. Until then, I’m very happy to know that Flash is at least an option (not the only option). And that for now, it’s the only consistent way to ensure color management delivery, with no work required from the end user.
Thanks for the heads up, John.
About time Flash was colour managed as one of it’s great strengths is it’s consistency across platforms/browsers.This will make it even better.
But, and it’s a big but, seeing as a lot of photographers [the ones for whom this really matters] don’t normally do Flash unless it is via SlideshowPro in LR or similar easy to use software, fiddling around with action scripts is a bit of a non solution really.
For web designers, who work with Flash, yes it’s dead easy. But judging by how difficult it is to explain to photographers simply to Save For Web with sRGB to stop your colours looking flat, this doesn’t look like it will make things much simpler. Also if creating Flash documents from InDesign will they be colour managed?
This also assumes they have the colour management in PS Creative Suite setup correctly in the first place.
If Flash is to be taken seriously for anything, it has to stop making the fans on my MacBook spin up to genocide speed. On Mac it’s lame and clunky.
MacBooks basically have two CPUs, each of which is several times faster than the single CPU in my 5-year-old PowerBook G4, so you can imagine how Flash performs on my machine. The notion that we should use Flash — a CPU-smothering, battery life-destroying plug-in — to view something as simple as a JPEG is the height of over-engineering. The fact that Flash can still be so inefficient and taxing on today’s modern dual-core Mac systems is shameful.
In a general sense, my PowerBook is plenty fast for everything I do except for anything involving Flash. I can play back 720p HD QuickTime, but even the smallest, crappiest YouTube videos stutter and skip. I signed up for Photoshop.com to try out the photo sharing features, and not only does it take about a full minute just to load the Flash, but the performance is abysmal. Which is a shame because in a general sense the layout and the look of Photoshop.com is nice.
There is no good or decent reason to turn the web into one big fat Flash app. Flash, I have become convinced, like Hillary Clinton before it, was born of the jackal.
At any rate, the simple fact that next to nobody on the planet has a calibrated display sort of makes the whole notion of color-management on the web laughable. The good news is that it’s all relative anyway. Chances are, an image that looks good on your screen will look good on someone else’s screen, even if it doesn’t necessarily look the same on both.
Firefox 3.1 has color management turned on by default since Beta 1, and even turning it on in 3.0 is really simple, saying it’s hackery and a science fair project is disingenuous at best and an outright lie.
[I love being called a liar by people unwilling to provide so much as a real name or address. It’s SUPER AWESOME. –J.]
Flash is a security nightmare, just from the Pwn2Own contest vulnerability which comprosed OSX and the Flash clipboard hijack attack alone this year is bad enough and no one knows when the next major security bug will come along.
Also, many people including myself either turn off Flash or use Flashblock since it’s abused so much to deliver extremely obnoxious and annoying ads that wastes bandwidth and constantly hog the cpu power.
Flash Player 10 also still is unstable in Firefox 3.1, Chrome and IE8. I can crash it regularly enough on Youtube. Poor coding and numerous bugs makes Flash extremelyunreliable for anything. I’ll be glad once SVG(how ironic, Adobe once pushed SVG), and Ogg Theora is ubiquitous and replace unstable Flash on the web.
First of all, you’re the blog owner and it’s hosted by Adobe. If you think my comments are factually wrong or offends you in any way, you are free to delete it since its your blog and prerogative.
You make it sound as if it’s rocket science to turn on color management in Firefox 3.0, which it isn’t.
[The point is that this stuff either just works, or it doesn’t work at all. I want my parents to see baby pictures that look the way I made them look in Lightroom. Think they’d like typing a bunch of command line stuff into their Web browser? Think a designer at an ad agency would like instructing clients on how to do so in all their copies of Firefox? Obviously not. This stuff needs to Just Work. –J.]
If it’s still too hard to make a few simple changes, Firefox 3.1 has it turned on by default now and the final release will have color management with no fuss.
Another thing, iPhone and hundreds of millions of mobile devices has no Flash 10 equivalent on the mobile side, are you suggesting to exclude all those millions of devices from any website which uses Flash 10?
[Where did I say anything like that? –J.]
Because I’ve seen many site use Flash to generate the navigation UI stuff and don’t have graceful HTML standards fallback, which makes that site pratically useless eventhough they use a browser like Mozilla Fennec or iPhone Safari.
And I doubt Adobe will be able to persuade Steve Jobs and Apple to allow Flash on the iPhone, thats 10 million devices that will be locked out from any site if it’s done in Flash 10, certainly no one wants to exclude that many potential viewers from their sites.
Of course, Adobe can bury its head in the sand like an ostrich and ignore all the criticism about Flash, which Adobe seems to do all the time anyway. No 64bit plugins for 64bit browsers, much slower on other platforms like Mac and Linux, etc.
Air: 17 FPS, 108 percent CPU
Mac Pro: 28 FPS, 140 percent CPU
Flash 10 (Windows)
GUIMark: 46 FPS, 54 CPU
[Why do you think that is? It must all be the Flash team’s fault, right? –J.]
I believe that color management now is more important than ever – due to display manufacturers unveiling wider gamut monitors. It’s great to see Flash addressing color so that people get a good experience after spending the bucks on a fancy monitor. However, it’s unfortunate that you apparently are limiting the source to sRGB – this means that Flash apps can’t deliver colors outside the sRGB gamut that for example AdobeRGB contains.
“The first beta I installed ‘broke’ youtube and made all the videos green.”
True, in some situations:
“Open GL 2.0 video card with GLSL capabilities required to use this feature. When in use with the beta, a green square will appear in the upper left corner when accelerated.”
“A project I was developing in Flash CS3 (FP9) completely would not work in my browser (FP10). All the mouse events went haywire.”
I’m not able to diagnose from that description, sorry. Knowing if a second project also “went haywire” could help narrow things in a bit.
I think the core point of John’s blogpost is still very important: Now we have a way to assure correct colors on the world’s displays, across operating systems, across browsers, and increasingly across device types. It’s a significant first step.
anonymous: “Flash is a security nightmare, just from the Pwn2Own contest vulnerability which comprosed OSX and the Flash clipboard hijack attack alone this year is bad enough and no one knows when the next major security bug will come along.”
It’s funny that you mention clickjacking as a security concern just within Flash. Because while Adobe has patched up that security concern with Flash Player 10 (plus a Flash Play 9 patch coming shortly), yet clickjacking still exists as a fundamental flaw within HTML and all browsers, with no patch in sight. For more details check out the following link:
anonymous: “No 64bit plugins for 64bit browsers, much slower on other platforms like Mac and Linux, etc.”
Someone from the Flash Player tream has demoed a 64-bit Flash Player (see http://thebackbutton.com/blog/73/64-bit-linux-freebsd-flash-player-exists/) but apparently it still needs work and there’s still currently no release date. One of the reasons that it seems to have been demoed is because the missing piece of the puzzle is updating from 32 to 64-bit the Mozilla Tamarin VM, which is used in the Flash Player and which is open sourced. More help from developers on this would help not just the Flash Player, but also Firefox. Here’s another link for more:
As for that benchmarking article from arstechnica.com, it’s unfortunate that they don’t mention which browser were used in their benchmarking. As different browsers on the same OS get different framerates, depending on how the individual browsers handle plugins. Here’s a link for more info:
It’s also too bad arstechnica.com, didn’t try to contact Adobe about Flash performance to get more details on why there’s differences between OS’s. Perhaps they could have gotten a quote from Tinic Uro from the Flash Player team to help explain the why.
“I’ll be glad once SVG(how ironic, Adobe once pushed SVG), and Ogg Theora is ubiquitous and replace unstable Flash on the web.” You may find yourself waiting a very, long, long time. For another product to replace the Flash Player it would need to have most the functionality found in the player as well as have a high enough install base. SVG and Ogg could be supported on all browsers (something I don’t see happening) and we would at a point that is still a long way from replacing Flash.
John, I am designing an online colour categorization experiment, and I am planning to use the new features (colour management) of flash 10 to present my samples. Should I create my samples with actionscript3 (vector) or should I create bitmaps and embed the sRGB profile.
[Ken Kameda from the Adobe color team replies: “I’d recommend creating sRGB bitmaps of those objects (with the sRGB profile embedded), because:
1. If the bitmap creation app supports color management (like Photoshop), then he will be able to get the correct colors at creation time.
2. Unfortunately, SWF creation apps like Flash or Flex don’t support color management to the monitor, so you won’t be able to get an accurate display of your colored objects if you create them there.” –J.]
You mentionned LR2 in a comment, but what about CS4, are the Flash web galleries in AS2 or AS3?
[I’m afraid we’re stuck with AS2 (no color mgmt.) for those galleries for now. –J.]
Hello all !
A candid question : why flash player do not have colormanagement turned ON by default on supporting OS ?
Assuming by default that untagged image or video where sRGB, that sould resolve the issue without coding again all flash application running on systems with Wide Gamut monitor !?
This would be great, but when I place this one line of code in my document class I get two compile errors:
stage.colorCorrection doesn’t exist, and ColorCorrection is not found either.
I assume this is because the ColorCorrection class is not in any package that shipped with CS3.
Is there not a Flash update that adds the ColorCorrection class to the class library so any developer can use this feature?
Forgive me ignorance, but isn’t it odd that rather large chunks of the Adobe Flash website have a logo saying, “Powered by Google”, yet it seems that YouTube doesn’t recognize my Flash 10 plug-in as being Chrome compatible (YouTube is telling me that I’m using an outdated version of Flash, which it wasn’t earlier today, even though I autoupdated tonight, so I should have Flash Player 10 installed now, right?). I’d be interested in a response to this.
I cant upgrade my flash to visit sites and play my silly games on my iphone. Is there a fix?
Any plans to implement color-management into ActionScript 2.0? My entire site was built with 2.0, and it would be quite a pain to have to have it rebuilt in 3.0 just to be able to include the color-management fix.
[Sorry, I’m afraid not. –J.]
Personally, I think it’s pretty lame when a “color management” feature requires you to first downgrade your images to sRGB. Isn’t that exactly what a feature like this should be handling itself?
Support for color management is in Web browsers is rare (only Safari supports it by default, and the IE team is apparently missing in action). Color management thus can’t be counted on from browsers, and images display differently in different browsers.
Just curious as to why it isn’t enabled by default?
End users should be able to enable color-managed Flash by themselves. No developer will care about how color looks in my display. Proof: I haven’t seen a single color-managed flash, altough support has been around since 2008…
Notice how its always Mac users that complain about flash performance…
I’m a mac & pc user and flash developer. I test my projects cross platform and the same project will often run at three times the number of cpu cycles on a mac. And thats comparing an 8-core mac pro to a two year old sony vaio…
The stick that adobe gets is unreal, people are so quick to point the finger.. why would adobe let this happen? – they wouldn’t. Who has an unhealthy greed and loves to stifle the competition and innovation? – Apple, and more accurately, Steve Jobs..
1. It’s apples fault for flash being slow on mac. To sum the up the long research I’ve been doing: Apple does not permit flash to use the accelerated drawing api and basically flash has to redraw everything every frame onto a temporary bitmap which then in turn is blitted to the target space, unaccelerated of course. On windows flash gets access at least to the normal drawing api – though it could get access to the directx api in windows >= vista, which would further speed it up. People just blame flash because the don’t know better.
2. Flash is not 100% cross-browser. Try urldecode / urlencode on mac, on linux, and on windows for an example (posted the bug on their bugtracker, and it may be fixed with flash 10.1). And there’s a lot more. Still, if you compare flash to html (esp. html 5!) + css you can easily say flash is like 99% cross-browser and html+css is 1% cross-browser. So, why does no one flame W3C for not making the specs specific enough, so that there would be no room for any browser to interpret things differently?
3. Everyone who blames flash for their system “hanging” should consider blaming their system for being able to hang. Try getting a realtime preemptive linux machine to stop reacting because of a browser plugin 😉 Also, if you knew anything about programming, you would know that >= 99% of the problems software makes is not the fault of the programming language but happening because of bad code. If companies would stop to hire “flash programmers” from the street, maybe we would start to get acceptable quality swf movies. But alas most people disregard flash, and thus a flash programmer isn’t paid much better than someone selling hair dryers – do you really think any serious programmer would want to work with flash if they’re getting paid that bad?
And there’s a whole lot more to say, so please do a little research before you just repeat some comment you read 2 minutes ago.
P.S. Hopefully my english didn’t trip any of you up, as english ain’t my mothertongue.
This is great news for things like Flash-based photographic image galleries, which have always suffered from lack of monitor profile support.
However, I have just tried the Web Gallery module of the freshly-released Bridge CS5, and the colours are still off.
Is the left hand not talking to the right hand?
Why does it need a special code in the Flash for the color management to be active?
When I am in FF, I have the right colors, when I’m in Acrobat or Photoshop, I have them. Even Paint Shop Pro 7 is already doing Color management. Just as soon as I have e.g. Youtube, colors go nuts on a wide gamut monitor.
I cannot change other people’s Flashs…but I still would prefer if the color management would be used.
Can somebody from Adobe please give me some decent insight in Flash Player color management on a wide gamut display? Images (sRGB) in img-tags are being displayed correctly in most browsers, so why not within Flash? We’re now talking 2012 and I don’t feel this is something that belongs in your code (colorCorrection), you don’t do so with separate jpg images either ;]