Re: The need for a substantial upgrade of ColorSync
Re: The need for a substantial upgrade of ColorSync
- Subject: Re: The need for a substantial upgrade of ColorSync
- From: Nathan Duran <email@hidden>
- Date: Mon, 05 Apr 2010 01:29:01 -0700
- Thread-topic: The need for a substantial upgrade of ColorSync
> Walter Blackwell wrote:
> An honest statement from Apple about the state of ColorSync
The most honest statement you'll get out of Apple is in the header files it
publishes. For those who cannot read them, I will offer my speculative
perspective based on the things that I have observed in using them:
ColorSync is old. Really old. I wouldn't be surprised if chunks of it were
still being built with MPW until very, very recently, and that generally
means that nobody wants to touch it.
For many, many years, it was impossible to build anything that linked
against ColorSync without receiving a litany of deprecation warnings from
the compiler because ColorSync was completely reliant on ancient Pascal-era
data structures like FSSpecs that didn't really work in modern filesystems
where paths could contain more than 255 characters. Apple told everyone to
stop using these stupid things over 10 years ago when CarbonLib was
announced at WWDC (1998 I believe), but at least two of their own groups
were unable to follow their own advice: QuickTime and ColorSync.
We got some extremely minor updates that the Aperture team's PM demanded out
of concern for his less-than-stellar sales figures, but the code base was
still pretty frozen until 10.6 got a release date. Who cares about the
pre-press industry when you've got Walkmans and phones paying all the
backdated stock options?
Nevertheless, in 10.6, ColorSync HAD to be 64-bit compatible, and that meant
all the old FSSpec code had to be pitched and replaced, along with the
AppleScript extension everyone used to use. No small task, to be sure, but
keep in mind that they had more than ten years.
So in 10.6, we have a lot of new methods replacing the old ones, but no real
documentation on ANY of it (if you want to use these new methods you pretty
much have to guess how it all works and spend a lot of time dumping out
dictionaries in the debugger), and big, gaping holes in the functionality of
the library/framework. Some things just don't work at all, and others are
flat out impossible. When Apple ships something in a state of disrepair as
significant as this, that generally means that someone got tired of waiting
for someone else and forced them to polish up whatever they had ready and
keep the rest of the ugliness to themselves.
And that's the state of ColorSync in 10.6 as I see it--a half-finished piece
of hastily re-written abandon-ware that was rushed out the door because
everyone was too busy playing catch-up with the last decade they slept
through to get any real work done. It is still very difficult for
third-party developers to do anything serious without dipping into the
contents of ColorSyncDeprecated.h, and Gnaegy remains as defensive as ever
about all the red text in his documentation telling everyone not to use any
of the code he's not interested in replacing with anything better. Hopefully
that'll all change and we'll get a totally awesome, modern API out of the
ordeal, but I've learned not to hold my breath where these little
territorial pissing wars are involved.
Again, this is all pure conjecture on my part. All I know for an absolute
fact is that the new API is nowhere near finished and bug #7095136 isn't
receiving much attention; yours probably won't fare any better, and this
message will probably be censored out of existence.
---
Nathan Duran
http://khiltd.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Colorsync-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden