LGM: Collaboration and animation
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.]
Index entries for this article | |
---|---|
Conference | Libre Graphics Meeting/2013 |