Re: Generic Embeddable plugins.

From: Dom Lachowicz <domlachowicz_at_yahoo.com>
Date: Fri Jan 14 2005 - 15:47:04 CET

Hi Martin,

Please remember that I'm not advocating using the
Netscape API. I believe your do a disservice to your
argument by singularly mentioning it by name, as
though I were propounding it.

From my POV, I've offered it (and others...) up as a
possible source of knowledge and inspiration - a
reference implementation of a cross-platform UI
embedding mechanism with significant vendor buy-in.
And a rather simple mechanism at that, capable of
supporting both in-process and out-of-process
components.

I believe that its solution - though certainly
imperfect and not wholly suited to our needs -
attempts to solve problems that your design has not
considered. But I'm also certain that as your organic
experience grows, you'll run into many of these same
problems and find good solutions for them. I'd just
like to "head the problems off at the pass," so to
speak. To reference your Torvolds quote below, I think
that good managers make few decisions, and ensure that
those decisions can be reversed. I think that great
managers make decisions such that few decisions need
to be reversed. Therein lies the disctinction.

Finally, where people have made claims such as "NS
plugins can't print" or "they can't save", I've merely
attempted to correct those errors.

> 1. I really don't want the netscape header files to
> be part of the main
> build build of abiword. I'm not entirely sure why.

Well, even if I were to suggest that we use
Netscape's, I wouldn't suggest that we suck in their
header files. The NS plugin API consists of only a few
headers (my librsvg plugin and swfdec plugin import
exactly 2 headers), which we could easily hand-craft
ourselves without sucking in Mozilla's versions of
same.

> 2. Going with the netscape plugin API as the BASE
> for which we write our
> plugins forgoes the possibility of tight integration
> of drawing directly
> to our graphics class the way we're going with the
> MathML plugin.

Agreed, though I'm inclined to say that this is a
feature and not a bug.
 
> 3. The netscape API was designed for viewing web
> pages which are not
> edittable. Our uses are significantly different.

That's not entirely true. A great many Netscape
plugins are editable, or at least interactive.
However, I agree with you that the NS API does not
concern itself with getting edited data back from the
plugin, which is a real drawback from our perspective.
However, I believe that such things can be worked
around. There are a few message-passing hooks in their
API that we could "abuse". There is also the distinct
possibility of adding a few functions to the end of
the NS Plugin VTABLE, thus preserving API/ABI
compatibilty. This would allow existing plugins to be
used as viewers, but would allow plugins that are
aware of Abi's extensions to take advantage of the
extra functions.

> 5. We can either shoe-horn the netscape API directly
> into AbiWord and then
> shoehorn the MathML plugin (and other non-netscape
> plugins) into that. Or
> we can write an API that comfortablly fits with
> AbiWord and then shoehorn
> the netscape API into that.

See my previous concerns regarding Drawable sharing
and Print sharing.

> As I said I'm still feeling my way with stuff but my
> instinct is that once
> I have an API that works nicely with code I'm
> familiar with, I'm keen
> enough to try to work out how to make the netscape
> plugin API fit with it.

I deeply appreciate that.
 
> I read an essay by Linus Torvalds where he said the
> essence of being a
> good manager was to make as few decisions as
> possible and make sure each
> decision was reversible.

I've always felt that quote was disingenuous.
 
> I think going the netscape API route would take me
> far longer and leave us
> with an unreversible decision.

I couldn't agree more, which is why I haven't
advocated using it. I have, however, studied it and
written plugins for it. And Bonobo. And ActiveX. And,
generically, XEMBED. I'd like to say that I have a
fairly decent understanding of their relative
strengths and weaknesses. I'd like to say that I'm my
argument speaks from experience and acquired
knowledge.

But please try not to let this bridle your enthusiasm.
You've shown time and again that you've got the will
and know-how to get things done. I trust you.

Cheers,
Dom

                
__________________________________
Do you Yahoo!?
Yahoo! Mail - Easier than ever with enhanced search. Learn more.
http://info.mail.yahoo.com/mail_250
Received on Fri, 14 Jan 2005 06:47:04 -0800 (PST)

This archive was generated by hypermail 2.1.8 : Fri Jan 14 2005 - 15:48:17 CET