further plans with guppi, bonobo?

Bill Gribble grib@billgribble.com
Sun, 6 May 2001 08:20:55 -0500

On Sun, May 06, 2001 at 12:06:27AM -0700, Christian Stimming wrote:
> But I started to think about why we are actually using libguppitank. This 
> interface is another layer between the guppi features and gnucash. 

We paid Jon Trowbridge to write the libguppitank interface.  The idea
was that gnucash will never use the full generality of the guppi API,
which is rather complex, and what we really need is an API that does
the basics in a way that's guaranteed to continue to work even though
guppi's guts may change. 

> What would be different if we use bonobo to interface to guppi? 
> Could it be that the "additional interface layer" is handled automatically 
> by CORBA, so that there's no additional code that has to be maintained? 

The guppitank API serves a very different function that a Bonobo
interface to guppi would.  guppitank is supposed to be the "high
level" API to guppi, and bonobo provides an API to other applications;
really it's not addressing the same problem.
> And, by the way, what were the reasons for not using bonobo but instead 
> creating a new API? The mailing list doesn't have any discussion on that, 
> so I guess it was an internal gnumatic discussion -- does somebody recall 
> some of the arguments?

Bonobo is broken now, and was even more so when we made the decision;
plus, the API is a complete clusterfuck and people basically have to
cut-n-paste and pray from example code to use it.

Given the choice between linking with guppi's libraries and using
Bonobo, I can't see any benefit to using Bonobo.  Maybe eventually it
will be useful, and I may personally play with it some, and I hope
people interested in using it with Gnucash will pursue it, but IMO it
has a way to go before it's really useful to use Bonobo instead of
linking against a shared library.

> I would actually volunteer to extend any interface of Guppi so that we can 
> get *really* sexy guppi charts. I would estimate this to be work for the 
> next 2...4 months. BUT before I invest a whole lot of work into Guppi I 
> would rather like to make sure that the API structure does make sense. 

I think it makes sense; Gnucash really doesn't use the full generality
of Guppi, and the guppitank interface is a reasonable abstraction of
it IMO.  I think there are plenty of things about guppitank that can
be improved.  But keep in mind how much stuff guppitank does!  if we
throw it out, we will basically have to completely reimplement it,
with the main difference being that the source code is in the gnucash
tree instead of the guppi tree.  

I would encourage you to work on improving guppitank, and the ways
gnucash uses it; IMO it's a nice interface to maintain.  I don't
really believe that bonobo is ready for prime time yet.