By Nathan Willis
April 17, 2013
There were not any major new software releases at this year's Libre Graphics
Meeting (LGM) in Madrid, although there were updates from
most of the
well-known open source graphics and design projects. But the annual
gathering also offers an instructive look at where development is
heading, both based on what new problems the programmers are tackling
and on what the creative professionals report as their areas of
concern. This year, two themes recurred in many of the sessions:
collaboration (often in real-time) is coming to many creative-suite
tools, and 2D animation is gaining momentum.
LGM was hosted at Medialab Prado, a brand-new facility in central
Madrid, from April 10 though 13. As is typical of the event, talks
were divided up among software development teams, artists, educators, and
theorists exploring more abstract topics like consensus-building in
communities. By coincidence, the best-known
application projects from the graphics community (GIMP, Krita, Inkscape,
Blender, Scribus, MyPaint) all happen to be in between stable
releases, but there was still plenty to discuss. The conference runs a
single track for all sessions (plus side meetings and workshops); altogether
there were 68 presentations this year—which represented a
broad sample of the open source graphics and design community.
Join together
One oft-repeated subject this year was development work to enable
collaboration. Ben Martin of FontForge showcased the font editor's
recently added ability to share a simultaneous editing session between
multiple users. The work was underwritten by Dave Crossland, principally
for use in type-design workshops, although Martin pointed out that it
has other applications as well, such as running task-specific utilities
in the background (for example, ttfautohint), or
tweaking a font in the editor while showing a live preview of the
result in a typesetting program.
It is sometimes assumed that collaborative editing requires deep
changes to an application, but the FontForge implementation touches
relatively little of the existing codebase. It hooks into the
existing undo/redo system, which already handles serializing
and recording operations. The collaboration feature is enabled by the
first user session starting a server process; subsequent client
sessions connect to the server. The server sends a copy of the open file to
each new client; afterward any change on any client is relayed to all
of the others. The code assumes a low-latency network at present,
which simplifies synchronization, but the ZeroMQ library which handles the
underlying networking is capable of running over almost any channel
(including TLS and other secure options).
Though the overall design of the collaboration feature is
straightforward, there are several challenges. First, undo/redo does not
always correspond to a single action that needs to be relayed. There
are no-ops, such as selection and deselection, which do not alter the
file but still need to be tracked locally. FontForge also has seven
different internal flavors of "undo" to handle special cases—such as
when moving a spline point affects the total width of a glyph.
When that happens, the user sees it only as moving a point on the
canvas, but fonts store the width and side-bearings of a glyph as
separate data. So one operation affects several parts of the file,
but must still be undoable as a single operation. And users must be
able to use the existing Undo and Redo commands from the menu, so the
local undo/redo stack must be tracked separately from the
collaboration stack.
There are also some editing tools that have not yet been hooked into the
collaboration feature, as well as non-canvas editing tasks like adding
layers or editing metadata tables. In addition, at the moment only
FontForge's native SFD file format is supported. But Martin argued
that more open source graphics applications ought to pursue real-time
collaboration features. Proprietary applications by and large do not
offer it, but with a robust undo/redo stack, implementation using
ZeroMQ is within reach.
The 2D animation studio Tupi also supports real-time
collaborative editing, as Gustav Gonzalez explained. Gonzalez's talk
did not go into as much detail as the FontForge talk did, but that was
in part because the Tupi team was making its first LGM appearance, and
had far more ground to cover. But Gonzalez told the audience that
nothing would prepare them for the strangeness of collaborative
editing, when the elements in video frame suddenly start to move
without their intervention.
Real-time editing, with multiple users altering one file at the
same time, certainly has its uses—Gonzalez observed
that animation projects deal with far more data than still image
editors, seeing as they have dozens of frames per second to worry
about. But enabling better collaboration between teams working
asynchronously came up in multiple presentations, too. Julien
Deswaef presented a session on using distributed version control in
design projects. Deswaef noted that many of the file formats which
graphics designers use today are text-based, including SVG, DXF, OBJ,
and STL, and that they are often accustomed to using version control on
web-design projects.
But while version control is quite easy to get
started with when developing a web site based on Bootstrap.js or
another Github-hosted framework, Git support is not
integrated into most desktop tools. Consequently, Deswaef has started his
own branch of Inkscape that features Git integration. The basic
commands are in place, such as init, commit, and
branch, but he is still working on the more complicated ones,
such as rolling back.
The "holy grail," he said, is a "visual diff"
that will allow users to highlight changes in a file. How best to
implement visual diff in the interface is an ongoing debate in design
circles, he said. Currently Adobe offers only screenshot-like
snapshots of files in its versioning system, which is not a solution
popular with many users. SVG's XML underpinnings ought to allow
Inkscape to do better, perhaps via CSS styling, he said. Ultimately,
not every file format would integrate well with Git (raster formats
in particular), but illustrators sharing and reusing vector art on
GitHub could be as important as web designers using Git for site
designs.
It's sunny; let's share
Of course, collaboration is not a concept limited to end users.
Tom Lechner spoke about "shareable tools," his proposal that graphics
applications find a common way to define on-canvas editing
tools, so that they can be more easily copied between programs.
Lechner is famous for the constantly evolving interface of Laidout, his page impositioning
program; in another session he showcased several new Laidout editing
tools, which included a new on-canvas interface for rotating and
reflecting objects. Graphics applications' tools change regularly, so
perhaps there is hope that the proposal will attract
interest—during a workshop session later in the week, developers
from MyPaint, Krita, GIMP, and other applications did hash out the basics of
a scheme to share paintbrushes across applications.
Several other sessions touched on collaboration features. Susan
Spencer expressed interest in adding real-time collaboration to Tau Meta Tau Physica, her
textile-pattern-making application, and several artists commented that
collaboration had become a critical part of their workflows. But
without doubt, the most unusual demonstration of collaborative
features was the Piksels and
Lines Orchestra, which performed a live "opera" on its own branches of
Scribus, MyPaint, and Inkscape.
The applications were modified to
hook sound events into each editing action (cut/copy/paste, painting,
transforming images, and so on); the sounds were mixed together live
using PulseAudio. Four artists on stage drew and edited in the
various applications, while Jon Nordby of MyPaint conducted and
Brendan Howell of PyCessing
narrated. If you are having a hard time imaging the performance, you
would be forgiven—experiencing it is really the only solution.
Video of the sessions is scheduled to be archived at the
Medialab Prado site shortly.
Animated discussions
The Tupi animation program was a welcome addition to
the LGM program. Gonzalez provided an overview of the application
(which began as a fork of the earlier project KToon), showed a video made with Tupi (featuring the voice of Jon "Maddog" Hall), and discussed the
development roadmap. An Android version is currently in the works,
and plug-ins are planned to simplify creating and importing work from
Inkscape, MyPaint, and Blender.
There was not a session from the Synfig team, the other active 2D
animation tool, but there was both a Synfig birds-of-a-feather meeting
and a hands-on Synfig workshop, which was run by Konstantin Dmitriev
from the Morevna Project.
Perhaps the highest-profile discussion about 2D animation came in the
talk delivered by animator Nina Paley, who
lamented the state of the open source 2D animation programs. Paley is
quite experienced and fairly well known as an animator. But she
expressed frustration with the open source tools available,
particularly in terms of their usability and discoverability.
Paley has
been trying to move to an open source animation suite ever since Adobe
canceled its Flash Studio product, she said, eager to
avoid being locked into another proprietary tool that could be
discontinued. But the difficulty
involved in figuring out Synfig, Blender, and the other options makes
staying on Flash on an old Mac machine preferable. People tell her
she should just learn to program, she said, but that kind of comment
misses the point: both her passion and her talent is for creating the
animations; advising her to stop doing that and start programming
instead would not result in good animation or good software.
As one might expect, Paley's dissatisfaction with Synfig elicited a
passionate response from Dmitriev during the question and answer
section; he argued that Synfig was perfectly usable, which he had
demonstrated to Paley during the workshop, and repeatedly shows by
holding training sessions for children. Paley replied by agreeing
that the workshop had been useful, but said it also revealed the
trouble: Synfig currently requires hands-on education. But, she said,
she was willing to keep learning. As it stands, she is stuck on
Flash, but she emphasized that this is a purely practical choice.
Personally, she is very committed to free and open culture, which she
demonstrated by showing an "illegal" animated short she had made that
used music clips which were still under copyright.
Paley's talk expressed frustration, but in the larger scheme of
things, the fact that 2D animation was discussed at all was a new
development. Several other talks touched on it, including Thierry
Ravet's session about teaching stop-motion animation at Numediart,
and Jakub Steiner's presentation about creating animated new-user help
for GNOME's Getting
Started. Getting Started used Blender for its animation;
Numediart used Pencil
(which was also mentioned in passing during several other sessions).
While it is true that 2D animation with open source tools is
currently a trying endeavor, not too long
ago it was impossible. The growth of the topic for LGM 2013 bodes
well for the future; not too many years ago, the pain-points at LGM were
things like color management and professional print-ready
output—now those features are a given.
Hearing criticisms about the
projects can be uncomfortable, but it is part of the value of
meeting in person. As Steiner observed on his
blog: "Feedback from an animator struggling to finish a task is
million times more valuable than online polls asking for a feature
that exists in other tools." Collaborative editing tools are
an area where open source may be a bit ahead of the proprietary
competition, while in animation, open source may be a bit behind. But
considering their frequency in this year's program, one should expect
both to be major growth areas in the years ahead.
[The author wishes to thank Libre Graphics Meeting for assistance with travel to Madrid.]
(
Log in to post comments)