DESOSA 2021

Inkscape

Inkscape is a Free and open source vector graphics editor for GNU/Linux, Windows and MacOS X. It offers a rich set of features and is widely used for both artistic and technical illustrations such as cartoons, clip art, logos, typography, diagramming and flowcharting. It uses vector graphics to allow for sharp printouts and renderings at unlimited resolution and is not bound to a fixed number of pixels like raster graphics. Inkscape uses the standardized SVG file format as its main format, which is supported by many other applications including web browsers.

Authors

Isar Meijer

Master student, Embedded Systems at Delft University of Technology

Sourav Mohapatra

Master student, Embedded Systems at Delft University of Technology

Vivian Dsouza

Master student, Embedded systems at Delft University of Technology

Wessel van de Brug

Master student Computer Science at Delft University of Technology.

Variability in Inkscape

Inkscape is an application that is used to design vector images. There exist a lot of different users of vector images; from a web-designer in need of simple icons, to a CNC cutting hobbyist, to a professional graphics designer. All these stakeholders have diverse needs and priorities in what they require from Inkscape. Therefore, Inkscape greatly benefits from a high level of variability. The ability to install Inkscape on the three main Operating Systems, Inkscape’s extensibility, and the configurability of the user interface are all aspects that define Inkscape and are useful to its stakeholders.

Inkscape - Quality and Evolution

Being a large open-source project, Inkscape relies on contributions from a wide collaborative community to develop its vector graphics application. As such, it is challenging to ensure that the desired quality attributes like functionality and correctness are sufficiently met.1 Inkscape does employ processes to ensure quality, like the use of test suites, adherence to coding standards, and continuous integration pipelines. Nonetheless, Inkscape leverages its large active user community to find and report bugs which are then tackled by developers.

Inkscape - From Vision to Architecture

Inkscape is an application used to design vector graphics. Its development started in 2003 as a fork of Sodipodi1, which it quickly replaced. It has evolved a lot over the years, and its (architectural) documentation2 has become outdated. The source code3 has grown to almost 600,000 lines of C/C++ code spread over more than 2000 files.4 The goal of this essay is to provide an architectural overview and insight into the design of Inkscape in its current state.

Draw Freely

It all started back in the 1970s when an engineer from Kodak took leftover and used parts from a factory to make the first ever digital camera. Art, from that time since, was not limited to just physical manipulation of colors on a piece of handcrafted paper anymore. In today’s era of high computational prowess, artists can take the help of efficient and intuitive software to express their creativity rather than the ingenuity of the brush or the material of their canvas.