Subject: Re: proplib changes
To: Thor Simon <tls@rek.tjls.com>
From: Jason Thorpe <thorpej@shagadelic.org>
List: tech-kern
Date: 06/25/2007 22:08:30
On Jun 25, 2007, at 9:25 PM, Thor Lancelot Simon wrote:
> 1a) Never responded -- at all -- to those who asked you whether
> Apple's
> UI team would actually permit a developer to force normal users to
> read or edit proplist XML plists (I think it's pretty blindingly
> obvious that the answer is "no")
So, as someone who happens to work for Apple...
In some forums, end-users / administrators are encouraged to edit XML
plists in their text editor of choice.
Let's take a step back here -- Apple's HI team focuses on "grandma
reading her email and video chatting with her grandkids". The focus
there is "make it work without any configuration at all".
But there are a lot of folks at Apple who deal with advanced users,
server administrators, etc. And those folks DO encourage people to
edit XML plists. I can think of a half-dozen examples just in one day
at WWDC07 alone. And, quite honestly, in all of my dealings with
those Apple end-users, I have yet to hear a single complaint.
> 2) Never responded in any substantive manner to the objections of
> those
> who noted that the XML plist format has serious usability issues
> as a
> format to be read or edited by humans
If you're spending that much time editing config files, you have
bigger problems. Besides, what do you want me to say? Ok, here's my
response -- I think that the cross-platform compatibility benefits of
the XML plist format outweigh any minor inconvenience that a human has
when editing such a file. I'm not going to be persuaded otherwise,
because my fairly extensive real-world experience with this format
tells me that it's just not an issue.
> 3) Never actually offered any explanation of why a more human-friendly
> plist externalization would be problematic, in applications where
> there is a high likelihood that human beings would have to edit
> plists,
> restricting yourself (uncharacteristically, and for some reason I
> really
> do not grasp) to irrelevant and inaccurate invective such as the
> above
> quoted "N-I-H nonsense."
I can't state it any more clearly than this:
XML plists were chosen specifically because they provided the
flexibility I wanted while also using a format that is in wide-use by
other platforms.
I have stated this as my reasoning before. All we're doing with
alternative formats is wasting our time stroking our own egos because
"we can do it better, hah!" Sometimes it just doesn't matter if you
can make it a little better. Sometimes the effort is better spent
actually developing a solution on top of the infrastructure. How much
time was wasted on this proplib nonsense that could have been spent on
the actual SoC project that is using proplib? How much time will be
wasted documenting two serialization syntaxes for every app that
decides it wants to use proplib? It's just stupid to have both.
> Since one of the very nice things about proplib is that if you want
> XML
> (or any other supported format), the library can always give it to
> you,
> it's really hard to see why the only position in this conversation
> that
> the phrase "N-I-H nonsense" applies to is not, in fact, yours. What
> harm, exactly, does it do you if some other people, who find that they
> need to edit plists by hand, prefer to do so in a syntax they find
> easier to use? If you find that syntax so offensive, you can always
> have proplib give you the XML you prefer instead.
Well, you know, I never really liked the BIND domain file syntax.
Let's do another one! How about for every other config syntax in the
system! That's great! More choice! Choice is good! This is going
to be as cool as having 37 different toasted oat O-shaped breakfast
cereals to choose from!
> If you're worried about compatibility between proplib implementations,
> perhaps a more constructive thing to do would be to have Apple's
> library
> take advantage of the convenient BSD-licensed code for SCN format now
> available in NetBSD. But don't shoot the messenger!
What would be the point? It would pretty much never happen. Besides
the "Why would we want to do that?" response that would surely elicit,
it's not like the implementations are at all related, so the code
couldn't be used in any case.
> As a practical matter, just about everyone else seems to like this
> format,
> so it is probably going to stay -- just as the XML format is.
I'm so sorry I ever wrote proplib in the first place. I meant to
provide an enabling technology, but all I did was provide a platform
for people to make stupid decisions.
-- thorpej