Bo Peng wrote:
I'm trying to concentrate on very general questions
about how these two proposals work. The question, "Do you use zip or tar or
base64?" is just not worth discussing at this point. ...
Richard,
We are both tired of this discussion. My proposal is solid. I can
provide every bit of detail if you would like to know. There has been
no big issue with it except for this "cluster the dialog" one.
You repeated many times that your proposal is better, but without
solid reasons. Your proposal is still in its infancy, with only a core
idea. Whenever I ask you something specific, you would hide behind
this 'implementation detail' excuse.
How long have we been discussion this embedding idea? Two month? More?
How much time have we wasted on all these emails? Every tiny aspect of
our proposals, the pros and cons of many implementation details have
been extensively discussed. It is really time for you to sit down and
think, and pick the best implementation for your approach.
You do not have to write down any code. You simply need to figure out
how exactly you would like to open and save a file, how to insert
external files, how to update them, what file format to use, how to
bundle/unbundle, compress/uncompress etc. It may not be easy, but
should be a much better way to spend your time than emailing back and
forth here with me. If you need guidelines, the problems I have
pointed out with your approach (see the wiki) are things you can try
to avoid. I have enough patience to wait for a solid proposal, just
let me know much time you will need.
Bo,
The proposals I have made have been pitched at the level of DESIGN. I do
not propose to resolve questions that are at the level of IMPLEMENTATION
at this time. This is because my own approach to programming involves
trying to think through design questions and then remaining as flexible
as possible about how the design might be implemented. I hope this
distinction is clear. That said, I am happy to admit that I do not
always succeed in keeping design separate from implementation. I rely
upon Andre (as well he knows) and Abdel and JMarc and Edwin and many
others with a lot more experience than I have to remind me when I've
gone astray and get me back into line. I'm a philosopher and logician,
not a professional programmer. But I understand the importance of
separating design questions from implementation questions, even if I
don't always separate them. I hope you do, too.
To be more concrete: I do not see why you and I need to debate questions
like whether we should use base64, or zip, or tar; or whether we should
store the file mapping in session files, or the LyX file, or elsewhere.
All of these could be changed at any time, for all kinds of reasons.
Neither of them has anything to do with "the individual embedding
debate". If you like, I can describe several different forms of my
proposal, as many as there are ways of setting various implementation
parameters. But 2^n grows fast, and I don't see the point.
Here's what we DO need to debate: (i) Whether we should distinguish
between bundling and wrapping, as JMarc long ago urged we should; (ii)
whether we should allow individual embedding or only have a switch that
bundles everything. I've made my view on these matters just about as
clear as I am able to make it. But let me summarize, one more time.
On the latter, I simply don't see the value of inset-by-inset bundling.
Yes, I see that there are possible use cases, but I very much doubt
there are actual use cases, and no user with whom I've spoken has
requested the ability to bundle just one graphic file, or to leave one
out. And inset-by-inset bundling has significant costs, both in terms of
code complexity and effects on the UI. I would need to be given very
good reasons to support its inclusion, and so far as I can see I've been
given none.
On the former, I think the reasons that JMarc gave for wanting this
distinction are very strong. If we do make such a distinction, for
example, then we can support OSX 's "magic directories" with almost no
effort. And this is only an example of the flexibility we buy ourselves.
And even if we didn't have that reason, it is plain as day that bundling
and wrapping are different, conceptually, and it is good programming
practice not to trample it without reason.
You want to discuss these issues, let's discuss them. I won't waste my
time debating other questions.
Best,
Richard