What is KritaThe present: Krita 1.6
The future: Krita 2
Krita: Present and FutureA look at some of Krita’s more recent developments,
both in the present 1.6 branch and in the new 2.0 branch
Bart Coppens
FOSDEM 2007
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
What is Krita
The present: Krita 1.6The short road since the previous releaseThe feature thaw of the 1.6 series
The future: Krita 2Qt4 and KDE4KOffice2 technologiesKrita design revisited
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
What is Krita
I The KOffice painting and image editing application
I Started in 1999
I Most recent release: Krita 1.6.2 on February 21, 2006
I In Swedish, Krita means ‘chalk’ or ‘crayon’.
I http://www.koffice.org/krita/
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
What happened in the last year?
We released 2 major versions
I Release of KOffice 1.5.0 on April 11, 2006
I Release of KOffice 1.6.0 on October 16, 2006
Some of the new features in Krita 1.6.0 include
I Layer masks
I Perspective grid → perspective cloning, manipulation
I Curves: magnetic outline, bezier
I Improvements in loading and handling huge files
I New filters (lens correction, better blur, ...)
I Tablet pressure curve editing
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
Layer masks
I Merge parts of two layers without destroying the originalcontents
I Masks out a part of the regular composite operation
I Paint on it like a regular greyscale layer, or like on a selection
I Can prevent you from ‘drawing outside the border’ (createfrom selection)
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
Perspective cloning
I Regular cloning: does not keep into account perspectivechanges
I Perspective cloning adds a grid that visualises ‘perspective’
I Cloning is done, but the cloned part is transformed accordingto the perspective grid
I Unfortunately: no multiple grids can be combined (GUI wouldsuck even more, but perhaps for Krita 2)
I A good demonstration of how it works athttp://www.koffice.org/krita/videos.php
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
Curves
I Developed during last summer’s Google Summer of Code
I Has a added generic framework for drawing curves in Krita
I First application: Bezier curves
I Second application: Magnetic outline
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
Curves: Magnetic Outline
I Create a curve following your mouse
I Tries to follow edges in theneighbourhood of the mouse
I Inserts nodes at regular intervals nearthe mouse position, tries to detect thebest line between two nodes
I The more contrastful and sharplyoutlined the area, the better the result
I Hard-to-find feature: Press Ctrl for‘Manual mode’ (move nodes, insert,remove)
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
The feature thaw of the 1.6 series
I What is a feature thaw?Allowing new features to be added to a stable branch, wronglyspelled strings can be fixed.
I We unfroze for 1.6.1, 1.6.2 and maybe for the upcoming 1.6.3
I Allows for long-lived branches to be more alive than otherwise.
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
Levels in 1.6.1
I Began as a wishlist entry in the bugsdatabase: http://bugs.kde.org/show bug.cgi?id=129789
I Someone claimed it would be easy toimplement this, we called his bluff
I Related to Brightness/Contrast
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
The short road since the previous releaseThe feature thaw of the 1.6 series
Smudge in 1.6.2
I Implemented after user request
I Very easy to actually write that code
I ‘Simple Smudge tutorial’. First part athttp://www.kdedevelopers.org/node/2594
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
KDE4
Qt4 and KDE4 will offer some nice new technologies that KOffice2will be able to use.
I Qt4’s better threading, KDE4’s ThreadWeaver
I KDE4’s Phonon: Playing of audio and video objects inKPresenter
KOffice also moved some code to KDELibs: Kross, so that allKDE4 applications will be able to use this.
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
Flake
I Flake Shapes: everything yousee is a shape
I KWord → everything is aFlake shape, even pages
I Krita → embedded Flakeshapes (vector graphics, text)
I KPresenter → everything is aFlake shape
I Lightweight embeddability,compared to a full-fledgedKPart like KOffice 1.x
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
Pigment
The KOffice color management library. Was originally Krita’slibkritacolor.
I Offers some basic colorspaces hardcoded: Alpha, L*a*b*
I KOffice-wide plugins for the common colorspaces: RGB,CMYK
I Krita-specific plugins for natural media, HDR
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
Resolution
I Often requested feature
I The Flake redesign was the idealmoment for adding workingresolution to Krita.
I ‘20cm + 15mm’?
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
Layers: masks, selections and filters - The Present
Our current 1.5+ design needs some reworking:
I Per-layer selections, wanted or not?
I Filter layers work on the entire stack below them
I Masks are very static, badly integrated in the layerbox
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
Layers: masks, selections and filters - The Future?
There are proposals for 2.0 that could fix some of this:
I Selections: ‘controversial’ issue. Selections as a specialsub-layer? Global selection?
I Let normal layers have filters as a per-layer stack of filters
I Masks could be just some layer-filter → easy to manipulate,equal integration with filters
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
OpenRaster
I Better cross-application exchange of raster data for the freesoftware world (.kra, .xcf are too specific)
I A possible solution: ‘OpenRaster’(http://create.freedesktop.org/wiki/index.php/General multilayered bitmap exchange format)
I Very experimental stage at the moment
I Support for the GIMP might be delivered partly by GEGL(http://gegl.org/)
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
Dynamic brush
I Proposed enhancement of the current ‘brush’ tool
I Add different actions to the tablet input
I Implemented as a separate paint operation
Bart Coppens Krita: Present and Future
What is KritaThe present: Krita 1.6
The future: Krita 2
Qt4 and KDE4KOffice2 technologiesKrita design revisited
So where can you help?
You don’t need to be able to code:
I Report bugs (also for alpha and beta versions!)
I Write documentationI Report about usability issues (developers often don’t see the
problems with their own applications anymore)I Hard to discover featuresI Obvious actions not used for a featureI Contra-intuitive GUI design
I Keep bugging us if we don’t fix them ;-)
Bart Coppens Krita: Present and Future