Glimpse in kdereview

Kåre Särs kare.sars at
Sun Mar 30 20:35:30 BST 2008

On Sunday 30 March 2008 15:53:44 Allen Winter wrote:
> On Saturday 29 March 2008 09:31:06 Jonathan Marten wrote:
> > John Layt <johnlayt at> writes:
> > > I don't know what the kdegraphics policies are, but I want to raise the
> > > question of whether we should have two libraries in kdegraphics
> > > performing exactly the same function, especially when libkscan is
> > > apparently being worked on again (but not in trunk?).
> > >
> > > While I appreciate that libkscan was unmaintained when you started and
> > > may not have met your or Digikam's needs (and your work is certainly
> > > appreciated), I'm reluctant to see a situation arise where we are
> > > supporting two competing libraries without a clear idea of where we are
> > > heading.  True, this is kdegraphics and not kdelibs, so the policy is
> > > more liberal, but by providing both these as libraries for developers
> > > to use we're surely making some promises around them with regards to
> > > ongoing support and stability?
> > >
> > > Perhaps you can give us a better overview of the differences between
> > > libksane and libkscan and why we should have both in kdegraphics?  What
> > > are the future plans for libksane?  Do you see libksane eventually
> > > replacing a deprecated libkscan with advanced features like OCR left to
> > > apps to implement?
> >
> > Speaking as the adoptive maintainer of Kooka and libkscan, as we know
> > the former has been removed from kdegraphics in KDE4 and libkscan
> > there is essentially unchanged from KDE3.  Eventually either kooka or
> > Glimpse may reappear in kdegraphics, but that will be a long journey.
> > kooka and updated libkscan are currently in a working branch
> > (branches/work/kooka-kde3).
> >
> > At the moment I'm mainly working on improving the functions and user
> > interface of the kooka application.  This has necessarily lead to some
> > changes in libkscan: with great care it may have been possible to keep
> > this library BC or at least source compatible, but in the interests of
> > cleaning up the code and API (improving maintainability in the future)
> > I decided not to have that as a high priority.  So it is likely that,
> > if libkscan in kdegraphics is updated, it will have to happen at a
> > major release.  I intend to port to KDE4 as soon as that becomes
> > usable for my day-to-day desktop...
> >
> > It would be good if there was only one of libkscan and libksane, but
> > without looking at each of those libraries and the applications that
> > use them it's not possible to say if that could happen.  I would
> > certainly be willing to investigate libksane, once Glimpse is stable,
> > to see if Kooka could use that instead.
> >
> > There is no OCR (or printing, or saving) support in libkscan at the
> > moment - all of that is handled by the Kooka application.
> I think all this is something that needs to be worked out within
> the kdegraphics module folks and your coordinator (Aaron).
> Speaking from a Release Team perspective... certainly we
> don't want two libraries with similar functionality, if that
> can be avoided.  But we also want/need a scanning capability
> within the KDE main modules.

I agree that two libraries that does the same thing is probably not a good 
idea so here I have a list why I think libksane would be the better one :)
(I'm comparing to libkscan of KDE3)

1) libkscan has a hardcoded user interface with fixed options while libksane 
has a dynamic interface that shows available options.

2) libkscan has a small fixed subset of the possible options that the sane 
backends can provide, while libksane provides most* available options grouped 
in 'Basic' and 'Other' options.

*) floatingpoint gamma tables are not supported (yet?), and I can't guarantee 
that _all_ possible options can be handled :)

3) libkscan provides the image in a QImage, which means that 16bit per color 
is not possible. libksane provides the data in a QByteArray (plus format 
info), with 16bit per color support.

Jonathan Marten: There is already one 'stable' release of libksane (0.1.0) 
that you could try :) it was released at the same time as kde 4.0.2 and you 
can find it at:


More information about the kde-core-devel mailing list