[Portland] The Code

Lubos Lunak l.lunak at suse.cz
Thu Feb 16 20:40:29 EET 2006


On Thursday 16 February 2006 19:17, Bryce Harrington wrote:
> On Thu, Feb 16, 2006 at 07:52:19AM -0800, Bastian, Waldo wrote:
> > An important thing to keep in mind here is to come up with solutions
> > that work with Linux distributions as they are deployed today. There
> > will be cases were that will not be possible, but it should be taken
> > into account.

 Right.

> > It may be feasible to have different short term and long term solutions,
> > although I'm not sure how that would work out. But it would be
> > interesting to start with a simple IPC mechanism as used by Lubos and
> > target a Dbus based solution down the road.

 If I abstract out the socket handle to something opaque I should be able to 
somewhen later change the autogenerated code to use DBus or whatever, so 
assuming servers keep supporting the old system and more importantly assuming 
the transport mechanism would be the only thing to change, apps wouldn't even 
have to notice or bother.

> Well, at the application level it looks like it could be an optional
> thing.  I.e., an app like Inkscape could simply try to init the dapi
> service, and if it can't, then it assumes that functionality is not
> available and goes on.

 On the other hand, the app could always include its own generic 
implementation that it'd start if it fails to find any running. If it turns 
out to be feasible to provide "complete" functionality even in the generic 
implementation, apps then wouldn't have to bother with fallbacks at all.

> Probably the most important thing is to stablize the wire protocol,
> and/or keep it extremely backwards compatible.  Once app developers
> start using it, there are going to be packages of those apps floating
> around for a long time using a fixed version of the protocol.  The
> stability of the API may be its #1 killer feature.  If we can ensure it
> works consistently 100% of the time that the service is present, that
> will make it well worth adopting, especially in the face of all the
> variation in distros, desktop environments, packaging formats, and so
> on.

 Of course. And that's probably another reason against DBus, which AFAIK still 
is considered unstable (as in "not frozen"). Versioning all the calls 
shouldn't be that difficult though. OTOH I guess we shouldn't bother much 
with API stability at least in the beginning.

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/



More information about the Portland mailing list