By Nathan Willis
December 19, 2012
The Inkscape vector graphics
editor is approaching its next milestone release, version 0.49. As
always, the update rolls together a wealth of new tools and features.
This development cycle is relatively light on large-scale additions,
but there is a long list of small usability enhancements that will add
up to a smoother design experience for most users.
The project just released a bugfix to the stable 0.48 series, and
although Inkscape is decidedly a "released when ready" application, the
murmuring is that Inkscape 0.49 could hit virtual shelves as soon as
January 2013. In the meantime, there are fairly stable
nightly
builds available from the trunk for those who wish to
experiment.
Drawing
Two new tools debut in Inkscape 0.49. The first is the measure tool,
a long-awaited addition that has applications in computer-aided
drafting (CAD) and other drawing tasks that require precision object
placement. As is the case with most graphics applications, one can
measure an object by clicking with the tool and dragging out a line.
However, where a raster application like Gimp can only measure the
length of the line segment defined by the mouse movement, Inkscape
measures the distance between drawing objects. Wherever the measure
tool's line intersects a path or object, an "x" appears, and the tool
overlays the distance in pixels between intersections, the total
distance if there are multiple intersections, and the angle of the
line.
The other new tool is the PowerStroke pen previewed at Libre Graphics
Meeting (LGM) 2012, which we discussed
in May. PowerStroke is an effect that produces calligraphy-like
lines that change width, much like hand-inked pen or brush strokes.
Of course, the advantage of using an Inkscape tool rather than
actual ink is that the paths drawn as well as their
attributes are fully adjustable after the fact. PowerStroke is better
integrated now than it was at LGM, with improvements to the sometimes
tricky joints at sharp corners.
Several of the existing tools pick up noteworthy features in this
release. The node editor (which allows the user to adjust and edit
the on-curve points and control points of Bézier splines) can now
automatically add points at the curve's maxima and minima. Not every
design task is improved by ensuring that a curve has points at its
extrema, but there are a lot of scenarios where it makes calculations
easier — consider calculating the bounding box of a path, for
example. Consequently, having curve points at the extrema is
sometimes required, and having Inkscape create them with one click is
a genuine time-saver.
The gradient editor has been reworked. In previous releases,
editing a gradient opened a floating window in which one could add or
remove gradient stops and adjust colors. The new editor works
on-canvas, with add/remove buttons and a color selection widget on the
toolbar. The "snap to" functionality is not a tool in its own right, but over
the past few releases, Inkscape's snapping has evolved into a complex
beast. New in this release is the ability to set
snap-to-path-intersection and snap-to-guide-intersection, plus the
ability to snap a path perpendicularly or tangentially while drawing
it. Snapping to text is also improved.
Similarly, Inkscape's new "symbols library" is not a tool per
se, though it does add functionality. The library is based on
SVG's <symbol> element, which is used to define
reusable graphical objects. One could always duplicate a normal SVG
object, of course, but the idea is that SVG can be used to create
common collections of frequently-referenced symbols, in the same way
that named colors can simplify SVG documents that need to reuse
identical color in multiple spots. Whether one finds that idea
enticing or not, Inkscape can now take advantage of it, providing
access to "libraries" of symbols and enabling users to create their
own. Two symbol libraries are built in: one with logic gates,
and the other with international road and travel symbols.
Beyond the basic tools, a handful of new extensions is included
that also offer new functionality. Inkscape extensions
tend to be more task-centric, so not every user will find them
helpful, but they can also offer surprisingly sophisticated
features. For example, one new extension allows N-up page layout for
printing large documents. Another allows converting drawings to the
G-code format used
by computer-controlled cutting machines. There are also extensions
for generating QR codes, isometric grids, and Voronoi
diagrams, plus smaller extensions to replace fonts in a document,
extract text, and the "guillotine," which can split a drawing up with
guide lines to export it as multiple PNG images.
Environmental and usability tweaks
In practice, Inkscape's tool set is extensive enough that it can be
mind-boggling to hear that some users still find it lacking, but such
is the lot of the general-purpose creative application. On the other
hand, the diverse tool set can frequently result in enough complexity
that the application begins to get in the way. On that front, the
project is making frequent small improvements that fix minor
annoyances.
For instance, layers have often felt like an afterthought in
Inkscape. The layer controls are small and tucked away at the bottom
of the window. Changing layer visibility or order was not intuitive.
Inkscape 0.49 improves things by allowing the user to re-order layers
with a simple drag-and-drop. Gimp and Krita still provide a nicer
layers interface (in Inkscape, a drawing's layers are listed in a
drop-down selection widget, rather than a list with all layers visible
at once), but the fix is an improvement.
Selecting the right object from a position where multiple objects
are stacked or overlap has been another pain point; Inkscape 0.49
allows the user to cycle through the options at the cursor point using
the mouse scroll-wheel. Users can also increase the size of the
"handles" shown for grabbing and manipulating path nodes, toggle the
visibility of guides, and edit keyboard shortcuts. Inkscape will now
remember from session to session which tool palettes are open and
their various screen positions, too, eliminating the need to reconfigure
the application at every start-up.
A particularly novel feature is the ability to enter arithmetic
operations into spinboxes. For example, if a rectangle is 1071 pixels
wide and needs to be shrunk to 1/7 of that size, the user can simply
enter /7 into the width box and hit Return, rather
than waste precious minutes hunting for a pencil or searching for the
calculator in GNOME Shell's "Activities overview." The Inkscape wiki
does not provide a canonical list of which calculations are supported,
but it does provide
examples with nested parentheses and even physical units (e.g., mm
instead of pixels). No word yet on logarithms, infinite series, or
complex numbers — mathematicians take note; this is clearly a
feature in need of serious stress-testing....
There are also several improvements aimed at using Inkscape for
print work. The background display color of the canvas can be changed
without changing the color of the document itself. That would be
useful, for example, if designing a flyer that will be printed on tan
paper — one needs to see how the design will look against tan,
but adding a solid-color rectangle as a background object is a
kludge. The interface can be toggled between normal full-color
display and grayscale, which again allows the user to preview output
— although this feature has other uses; it is often a good idea to
design a logo in grayscale first, to establish contrast and
readability, and grayscale is important for supporting people
color-impaired vision.
PDF and TeX export have been improved, which can benefit print or
electronic output. The PDF exporter can now automatically add a "bleed"
margin, and TeX export now supports text styles — including,
font nerds will be happy to learn, distinguishing between oblique and
italic styles. In addition, support for export to Gimp's XCF format
has been improved, and it is now possible to export drawings to Flash
XML Graphics (FXG), XAML, and to the native format for the open source
vector animation application Synfig.
Over and out
The new Inkscape series is not all bling, however. There are a number
of performance and rendering improvements rolled into 0.49, too. The
first is the long-awaited merging of Google Summer of Code work from
2010 and 2011 that ported the rendering engine to the Cairo raster graphics
library. This results in improved responsiveness when editing and
closes a number of outstanding rendering bugs. Responsiveness is also
improved through caching, and memory usage is reduced; the release
notes cite a four-fold reduction in the memory required over
Inkscape 0.48. Cairo is also responsible for the grayscale preview
mode mentioned earlier, and is used as the PNG export engine.
The other under-the-hood change of significance is the addition of
multithreading through OpenMP. This
change is primarily felt through speed improvements when using
filters; the OpenMP parallelization can take advantage of all CPU
cores on the system. Inkscape implements many effects through SVG
filters even when they are not labeled as such explicitly (such as the
"blur" slider available on every object). In addition, each release
adds more live previews to path effects and extensions. The upshot is
that multithreading is likely to benefit a lot of users even if they
do not employ complex filters in their normal workflow.
Overall, Inkscape 0.49 is shaping up to be a solid improvement. It
is hard to generalize about the impact of features like Cairo
rendering and multithreading; some users may feel no improvement at
all, while others may be ecstatic. The same goes for the new tools
and features — if you use G-code or TeX the benefits are clear,
if you have some other design needs you might not even notice the new
features. On the other hand, the usability improvements (particularly
to selection and window management) are more or less universal. But
the truly interesting aspect of any new Inkscape release is seeing how
users will take to a new drawing mode like PowerStroke, because that
is ultimately unpredictable. Inkscape is a "creative" application:
its biggest enhancements are in how it allows end users to think, and
act, a little more creatively with every new release.
Comments (12 posted)
Brief items
I once scoffed at the idea that anyone would write in COBOL anymore, as if the average COBOL programmer was some sort of second-class technology citizen. COBOL programmers in 1991, and even today, are surely good programmers — doing useful things for their jobs. The same is true of Perl these days: maybe Perl is finally getting a bit old fashioned — but there are good developers, still doing useful things with Perl. Perl is becoming Free Software's COBOL: an aging language that still has value.
Perl turns 25 years old today. COBOL was 25 years old in 1984, right at the time when I first started programming. To those young people who start programming today: I hope you'll learn from my mistake. Don't scoff at the Perl programmers. 25 years from now, you may regret scoffing at them as much as I regret scoffing at the COBOL developers. Programmers are programmers; don't judge them because you don't like their favorite language.
—
Bradley Kuhn
Comments (5 posted)
Eudev is the Gentoo-based fork of udev which was
covered here in November. The project has now
officially announced its existence. "
udev often
breaks compatibility with older systems by depending upon recent Linux
kernel releases, even when such dependencies are avoidable. This became
worse after udev became part of systemd, which has jeopardized our
ability to support existing installations. The systemd developers are
uninterested in providing full support in udev to systemd alternatives.
These are problems for us and we have decided to fork udev to address
them."
Full Story (comments: 190)
Digia, the current owner of the Qt code base, has sent out
a
press release announcing the Qt 5.0 release. "
Key benefits
of Qt 5 include: graphics quality; performance on constrained hardware;
cross-platform portability; support for C++11; HTML5 support with QtWebKit
2; a vastly improved QML engine with new APIs; ease of use and
compatibility with Qt 4 versions."
Comments (20 posted)
Evan Prodromou of StatusNet announced that the company's microblog-hosting service running at the status.net domain will close to new customers over the coming weeks, as the company begins migrating its offerings from the StatusNet software to it successor, the just-unveiled pump.io. User accounts on the existing sites running from the status.net domain will continue to function, as will the Identi.ca site. Self-hosted StatusNet instances will be unaffected by the move.
Comments (64 posted)
Version 3.0 of the PulseAudio subsystem is out; see
the
release notes for details. "
The tl;dr version for the lazy is: easier setup when your device is a
Bluetooth source, some ARM NEON optimisations, configurable latency
offsets, ALSA UCM [use-case manager] support for embedded folks, and a
_lot_ of other fixes
and infrastructure changes."
Full Story (comments: none)
Version 1.12 of the Gnumeric spreadsheet application is available. This is a major stable release wrapping up two years of development. Among the improvements are porting the interface to GTK+ 3, improved accuracy in computed cells, and additions to the graph tool. Gnumeric is also now available under two licenses, GPLv2 or GPLv3.
Full Story (comments: none)
Newsletters and articles
Comments (none posted)
At Opensource.com, Red Hat's Richard Fontana expresses his admiration for the "coordinated, centralized manner in which CC licenses are conceived, drafted and revised, and the successful occupation of the full policy field of open and quasi-open content licensing by Creative Commons." By comparison, he says, the de-centralized and organic growth of free software licenses lacks the "great emphasis on simplification of use, understanding, and identification of the various license categories."
Comments (25 posted)
The Perl Foundation News has posted
a
detailed history of the first 25 years of the Perl language.
"
Before the advent of Perl 5 the resources for collecting these
scripts were few and far between, and one or two have fallen into legend
and are now taken out by wizened Perlers around a flickering light where
the Tales of Terror are shared and Matt's Script Archive comes into its
own magnificent glory. In these Enlightened days it is easy to mock those
early pioneers and to smile fondly at some of the erroneous efforts, but
they were the only resource of their time and they were formative in the
evolution."
Comments (none posted)
At his blog, Jelmer Vernooij has written a detailed retrospective on the history of the Bazaar version control system, including a lot of analysis of the project's ups and downs over the years. "We just made these changes to the file format as they came along, rather than accumulating them. This meant that at one point there was a new format every couple of months. Later on, we did slow down on format changes and no new format has been introduced since 2009. Unfortunately we have been unable to shake the image that we introduce a new file format every fortnight."
Comments (32 posted)
Björn Balazs reports on some surprising results from the recent LibreOffice Writer icon test, which (among other things) pitted Tango's "floppy disc" icon against Oxygen's "filing cabinet" icon for the save action. "The results are stunning. There was not the slightest problem with using the floppy disc, while the filing cabinet metaphor more or less failed [...] Even when looking at the group of young users the results do not change significantly and the antiquated floppy disc still scores a perfect 10.0." Balazs speculates on possible explanations; whatever the cause, surely additional interesting findings are still to come from this survey project.
Comments (4 posted)
Page editor: Nathan Willis
Next page: Announcements>>