Saturday, September 15, 2007

Upcoming KDE4's print capability no longer in limbo -- developer pledges "happyness will happen soon :)"

In recent weeks, some long, interesting threads on the kde-core-devel mailing list caused a far reaching discovery: the venerable KDEPrint framework (part of kdelibs) will no longer work well with KDE4, whereas it served so brilliantly since more than 6 years (it was designed and created for KDE 2.2 in 2001). KDEPrint was simply ported to Qt4 already many months ago... while it had not had any active maintenance and volunteer developer love since quite a few years already (due to lack of time on the part of the original andthe new maintainer and new commitments in their non-KDE real life). So it slowly got out of sync with the ongoing development of CUPS 1.1.x, the recent CUPS 1.2 and also the newest CUPS 1.3.

Lots of mails on the problem occurred on the list, and a few volunteers stepped forward to organize an IRC meeting, to investigate more closely and to care for new code to be written.

A core KOffice developer who was hired by Trolltech and started his new job only a few days ago could convince his new employer to get involved in the new KDE printing tasks during work-time which led to a definite plan: to transfer and embed most of what KDEPrint in KDE3 did, over into a dramatically improved and in big parts re-written QtPrinter4 (this specific name may not be technically correct) which in turn will be used by KDE4 (maybe only KDE 4.1, not yet 4.0).

Here is the basic consideration that justifies this move:

KDEPrint is build around a basic assumption that QPrinter generates postscript. You can see this by the fact that ghostscript is used heavily. For example to convert to pdf, but also to do 'filters'.

With the introduction of Qt4 this situation changed considerably; QPrinter is now capable of generating not only postscript, but also PDF natively. And since we want printing to work on Windows as well that adds the 'feature' that QPrinter directly talks to the printer driver and the output of that tends to be some sort of binary printer specific format.

Due to the change of input most of the kdeprint will no longer be sufficient for all cases where the application doesn't generate postscript. Which is KOffice and all apps on Windows. Things like print-preview can not work anymore in those cases either and all filters stop working due to being postscript based."

After the IRC meeting discussed the specifics, a few summary emails reported about the findings.

As usual, some sceptic voice did raise its doubts, but this was quickly appeased:

"I've said it before, and I'll say it again, this stuff has my and TTs attention. Consider that I'm one of the largest backers of a printing system that will "just work". I mean, I have just spent 2 years off on my own time writing a word processor. Which is useless without proper printing. :-) Consider my motivation here.

We have a roadmap, and the manpower to keep to it, which is better then you will have seen in years in kdeprint."

So all is well?

Not quite yet. But there is hope.

However, you better prepare to suffer through some temporary regressions once/if you'll start to use KDE 4.0 for printing from early next year (then your distro will have their first KDE4 packages available). And keep the confidence that KDE 4.1 will be re-imbursing you for showing the patience with any KDE 4.0 regressions.

Keep in mind this last paragraph by one of the summary mails:

"One last thing: before people start complaining about loss of functionality, we have, so far, two coders who know next to nothing about printing, one or two more with limited time and little knowledge of the kde print codebase, a printing guru with little knowledge of the kde print codebase and maintainer who has very little time to spare on this. And a deadline in three weeks."


Anonymous said...

yeah, it would be a crime if kdeprint as we know it from kde3.5.x would go away.

I'd _really_ hate to see this. kprinter was what did win me over to kde, and especially those nifty "print to pdf" and "print to mail" virtual printers.

Printing Workflow said...

Nice posting, what I am exactly searched is available in your website. Thanks Bye Printing Workflow