Further ICC Profile Updates for Firefox 3.5

As discussed in the recent post Firefox 3.5 – ICC Profile Support, the latest Firefox supports ICC Color Profiles. However, there appeared to be problems in the implementation of this support — especially for the Windows platform.

Problems with Firefox 3.5

While the implementation of ICC Profile support released in Firefox 3.5 went a long way toward standardizing the way users see online images which utilize ICC Profiles, there were two major problems.

First, as mentioned by an astute commenter on my last post on this topic, the Firefox team decided to only implement Version 2 of the ICC Profile standard. While this is a huge step forward, version 4 of the ICC Standard has been around since 2005 (from what I could find). Therefore, there are many instances where support for Version 2 is simply insufficient.

To see an example of this, see the International Color Consortium (ICC) official page to test browsers for Version 4 compatibility here.

The second problem with Firefox 3.5 was that on many Windows machines, images containing a Version 2 profile were displayed incorrectly. In fact, they appeared much too dark.

One Problem Solved

Just released today was the latest update to Firefox 3.5, version 3.5.2. This update fixes the second problem discussed above. (See release notesBug 497363.) In theory, with this release, the images which displayed very dark under the old version now display correctly.

While I really didn’t know how much of a difference it would make, after installing the update on my Windows machine, the images on my last Firefox post appear much better.

Now, if only they could fix the support for Version 4 of the ICC Color Profiles…

LAMP Server on Ubuntu 9.04 Workstation Install

As part of my efforts to revitalize my blog, it occurred to me that I have enough people accessing my site that I really didn’t want to mess up the actual pages when I mess something up. And let’s face it, if you muck about with HTML, PHP and CSS theme files enough, you’ll eventually land yourself into a situation where something is broken and it might take a few hours to fix. During that time is when, knowing my luck, Google or Yahoo will attempt to crawl my site looking for content. Or, even worse, a reader will look at my site, and leave since they can’t read the content. This is a bad situation.

Local LAMP Server

The solution to this is having the ability to develop your website off-line. Essentially, have your own, local server where can muck about till your heart is content without affecting any readers experience. For WordPress development, you’ll need a LAMP server (Linux, Apache, mySQL and PHP). If you’re starting from scratch with your Linux install, you could simply install a Linux Server version. Please be aware that a server install will not come packaged with a nice graphical user interface. Starting with an existing workstation install, it’s a bit more difficult. Ubuntu has attempted to make it as easy as possible by creating what they call “tasks” which are essentially meta packages containing what you need for a specific type of installation. This allows the Lamp Server task to be installed on top of your existing workstation installation. Since I wanted to be able to use my Ubuntu box as normal, but have the LAMP stack available, this is what I did.

Continue reading “LAMP Server on Ubuntu 9.04 Workstation Install”

Campaign Tracking in Google Analytics

Everyone attempts to market their blog. Some for money, some simply for personal satisfaction. While I’m really not serious about marketing my blog from a business perspective, I do have to say that the fact that I have had complete strangers comment on my blog has really been fun! And thus far, there have been some pretty good discussions!

Google Analytics — Tracking Website Visitors

With that said, most of us are tracking, to some degree or another, the people visiting our sites. And for most of us who don’t want to invest huge dollars into a custom analytics system, this means we’re using Google Analytics.

This tool is great. It tells me where my visitors come from (48 different countries over the past month), how long the average visitor spends on my site (around 2 minutes and 18 seconds) and what search keywords people are using to get here. It also tells me that 76% of my traffic is from people searching the Internet and just stumbling across my site. Plus, hundreds of other statistics that can be really useful of you know what you’re looking for.
Continue reading “Campaign Tracking in Google Analytics”

Firefox 3.5 – ICC Profile Support

After many discussions, much frustration and a good bit of community involvement, Firefox 3.5 now supports embedded ICC Color Profiles by default.  This is a huge step forward for photographers (or really, anyone who wants to view online images how the author wanted them to be viewed).  While I won’t say that this latest update will solve all the color profile woes of online browsing, it is definitely something photographers and other photo publishers should be aware of.

So What is an ICC Profile?

Books have been written about color management.  In fact, numerous websites have been created, articles written and arguments waged about how color profiles and color management should affect the everyday user.  Suffice it to say that it’s no small or simple matter.  I fully expect many to disagree with what I’m about to say.  But please stay with me to the end, and feel free to comment if you have an opinion.

With that disclaimer out of the way, I feel it’s somewhat appropriate to step back and give a bit of an overview to color management so it is clear just where ICC profiles fit into this whole topic.

An ICC Color Profile is a description of the color space used to encode the color data of an image.  Sounds cryptic?  To understand this concept, we have to step back and understand a bit more about digital images.

What is a Digital Image?

I know what you’re going to say.  This is a trick question — a digital image is an image that resides on a computer, or some form of digital device.  And in that statement, you’re 100% correct.  But it’s important to understand just how that image is stored.  In it’s purest form, an image is made up of a series of numeric values each representing a portion of the image.  This numeric data is translated into real-world colors by the image viewing application.  Simple?  Sort of.  The issue is, there are different color spaces, or translations between the numeric data and the real-world color.  What this means is that if the application creating the image is using one translation, and the application viewing the image is using a different translation, the image will likely look very wrong!  Here’s an example:

Train_Seat_sRGB_Profile Train_Seat_Adobe_RGB_No_Profile

The above image on the left looks relatively correct.  The one on the right?  Not so much.  What went wrong?  Your image viewing software (a web browser in this case) didn’t know what translation was used when the image was saved, and therefore, translated the color data of the image incorrectly.

So, how does someone ensure that this doesn’t happen to them?  How can an application know how to decode the data?  Simple.  By embedding a ICC Color Profile in the image which describes the color space used to create the image.

But wait!  It’s not so simple…

Sadly, it’s actually much more complicated.  In an ideal world, image creation software and image viewing software (in all forms) would understand and respect the embedded ICC Color Profile.  Unfortunately, this isn’t even close to being true.  In fact, most software that isn’t written for graphic designers or professional photographers simply ignores these profiles.  Shocked?  I was too when I started becoming more involved with digital photography and started realizing just how hard this color management thing was!

The annoying thing about color management is that each computing platform and each software application plays a role.  What this means is that Internet Explorer running on Windows may have completely different color profile handling capabilities than Firefox running under Windows.  Bring in Mac or Linux systems and the issue gets even more confusing and uncertain.

To start with, is your browser color profile aware?

Train_Seat_sRGB_Profile Train_Seat_Adobe_RGB_Profile Train_Seat_Adobe_RGB_No_Profile

If the center image is the same as the image on the left, great!  Your browser respects and understands ICC color profiles.  If the center image looks more like the image on the right, you are using a browser which does not support ICC color profiles.  If you’re running the newest Firefox version 3.5, the center image should look like the good image.  Now try that with another browser?  What are the results?

I’ve only scratched the surface of ICC Color profiles, but stay tuned.  I’m planning on writing more on this topic over the next week or so!