Libre Graphics World. Bloghttp://libregraphicsworld.org/blog
Copyright 2018 Libre Graphics Worldhttp://www.rssboard.org/rss-specificationExpressionEngine v2.5.5 http://expressionengine.com/enTue, 06 Feb 2018 04:13:44 GMT2018 in perspectivehttp://libregraphicsworld.org/blog/entry/2018-in-perspective
Alexandre ProkoudineArticlesEditorialhttp://libregraphicsworld.org/blog/entry/2018-in-perspective
It's arguable, but by now, it's pretty safe to say that the proverbial year of Linux on the desktop is never happening. But... do we really need it so much? Especially if there an impressive lineup of upcoming libre software releases set for 2018? Let's see what this year is bringing us.

FreeCAD 0.17

Over the past 1.5 years since v0.16 release, FreeCAD has gained a huge amount of changes: massive updates in the PartDesign and Path workbenches, composite solids now possible in the Part workbench thanks to upgrading to newer OpenCascade kernel, improved BIM workflow for architects, new Spreadsheet workbench for importing Excel data, and new TechDraw workbench for creating technical drawings.

The Arch workbench in particular now features new presets to build precast concrete elements,as well as tools for designing rebars and a plumbing system.

Unfortunately, FreeCAD 0.17 won't be shipped with any Assembly workbench, as available solutions are still experimental, and the focus seems to have shifted from Assembly2 to Assembly3. There are, however, builds of FreeCAD + Assembly3 on GitHub.

Blender 2.80

Originally proposed to be released "somewhere in 2016", Blender 2.80 now seems complete enough to land somewhere in 2018.

Real-time PBR in the viewport, asset management, grease pencil improvements, complete overhaul of layers and dependency graph, UI cleanup... Blender 2.80 has the makings of a huge update that will indeed immensily improve the workflow.

The Blender team does an excellent job promoting new features in the upcoming major update. There's a dedicated page that serves as intermediate release notes for v2.80. Moreover, Ton Roosendaal recently posted a great overview of new stuff expected this year. Do check it out!

Krita 4.0

Two of the major new features in upcoming Krita 4.0, vector graphics and text, were subject of the 2016 campaign on Kickstarter. For vector graphics, here is an overview from Jeremy Bullock, one of the leading OpenToonz contributors:

With text, the idea was to simplify adding speech ballons and suchlike in comics. That's a somewhat specialized use of the text tool, although adding generic captions works just fine. The team also notes that due to all the troubles with the tax office they had to limit the feature set for 4.0 (at least for the text tool), aiming to enhance it in further updates (better OpenType support, more control over glyphs etc.).

As usual, you should expect many improvements in the painting tools: various user experience improvements, possibility to use brushes larged than 1,000px, better performance by realying on multh-threading. For painting-related changes overview, see this video:

GIMP 2.10

After almost 6 years of work, the GIMP team is finalizing the next big update. The plan is to cut a beta of v2.10 once the amount of critical bugs falls further down: it's currently stuck at 20, as new bugs get promoted to blockers, while old blockers get fixed. It's a bit of an uphill battle.

The team initially intended v2.10 to be more or less a GEGL-based upgrade of v2.8 plus high bit depth precision support. Needless to say, the plan hasn't exactly worked: there will be a lot more than that.

In fact, even now, when only critical bugs are supposed to be worked on, the team cannot resist making improvements that aren't blocking the release. Just last night, Ell implemented masks for layer groups and updated the PSD plug-in accordingly.

So v2.10 is arriving later in 2018 with features including, but not limited to:

So far the community's response to finalization of 2.10 seems to be mixed. A lot of people feel that the release is too long overdue (and developers readily admit that). Hence the decision to relax the release policy and allow new features in stable branches (when possible). This way, contributions will get to end-users a lot faster.

RawTherapee 5.4 and darktable 2.6

Quite a few free software users are torn between RawTherapee and darktable. Both are very solid digital photography applications with an overlapping feature set, yet different approach to the processing workflow and UI/UX.

RawTherapee 5.4 is currently expected later this February. The release brings quite a few much welcome updates, some of which are:

New tools such as histogram matching, HDR Tone Mapping, and Local Contrast

New RCD demosaicing algorithm to minimize various artifacts

Out-of-gamut areas visualization

Creating and processing Sony Pixel Shift ARQ files

Saving 32-bit floating-point TIFF files, clamped to [0-1].

Lensfun-based chromatic aberration correction

Cleaner UI

But there is lot more going on. In a conversation, RT developer Morgan Hardwood told us:

We have been putting off a major refactoring and unification of the four existing pipelines (main image, thumbnail, etc.) into one. That work will begin now and should make a lot of new cool stuff possible, like on-canvas editing.

Naturally, there are no estimations of release dates beyond v5.4 at this point.

For darktable, it's hard to predict what's coming in the next major version. The team traditionally releases a major update around winter holidays time, so we are a mere month into the new development cycle.

There are, however, two new features that might make it to the next big update. The first one is a Filmulate plugin that reuses Filmulator technology to emulate film development.

The other one is a new Retouch tool that performs various operations such as healing on wavelet scales. The team wasn't originally fond of adding localized edits beyond spot removal to darktable. But they eventually gave in, when Liquify was submitted by a contributor (and it took quite a while to complete the feature). Releasing darktable with even more retouching tools could be... well, fun?

SVG2 to be finalized

In November 2016, we published an interview with Tavmjong Bah, Inkscape's core team developer responsible for introducing several artists-centered features to upcoming SVG2. During the conversation, he voiced his concerns about the possibility of terminating the working group and moving the specification to W3C's Web Platform Incubator Community Group (WICG) where its future would be rather uncertain.

The charter wasn't renewed in January 2017, but the project wasn't moved to WICG either. A new charter was announced in August with Microsoft's Bogdan Brinza (Principal PM Manager, Microsoft Edge) at the helm.

The WG was rechartered for the sole purpose of getting SVG2 unstuck and making it reach the Proposed Recommendation status which is scheduled for June 2018. Not quite coincidentally, this is when this WG will be disbanded again.

The Charter page is very specific about the focus of this charter period:

As a primary focus [...], the group will concentrate on the stabilisation and interoperability testing of the core SVG2 specification. As part of that testing, features which are in the reference draft of SVG2 and which do not meet the stability and interoperability requirements for a Proposed Recommendation may be moved to separate specification modules, work on which would remain in scope, but at a lower priority.

This is what the working group has been busy with ever since.

FreieFarbe/FreeColour is going DIN

In December 2017, FreieFarbe e.V. announced that their initiative for „Open Colour Communication“ standard was supported by DIN and will become a DIN SPEC (which is the first step towards DIN Norm). It is claimed that DIN intends to turn this into an international standard via ISO later.

The FreieFarbe / FreeColour initiative aims to provide an open alternative to Pantone, HKS, and other proprietary colour systems. They argue that unlike Pantone and some other proprietary manufacturers like RAL, FreiFarbe has an actual color system.

As part of the proposal to DIN, they submitted a prototype of a CIE LCH based color reference (printed by Proof.de), where colors are sorted by their hue, lightness, and chroma values in steps of 10, 5, and 10 respectively (hue would be in steps of 5 in the final version). Which is, in fact, quite similar (if not identical) to the color system of RAL Design.

The team has just published HLC Colour Atlas: a printed reference (A4, ring binder), a printed documentation in German and English, colour palettes with LAB values in ASE (Adobe), SBZ (SwatchBooker), and other file formats, a PDF master file of the atlas with layers for different output targets, a CxF3 file where color data is stored in spectral values.

The specification should be done by June 2018. Ink formulas might not make it to the spec, in which case FreieFarbe e.V. promises to publish them freely online.

Ardour 6.0

Although projects like LMMS, MusE, and Rosegarden haven't really gone anywhere and have their following, it does look like Ardour and Qtractor are the dominating digital audio workstations on Linux these days. Both projects have exemplary maintenance and get regular updates, although Ardour's release pace recently slipped for a good reason.

Since mid-2017 or so, Ardour has been undergoing a completely boring procedure called refactoring and internal redesign. Hence Ardour 6, expected later this year, will feature mostly behind-the-scenes changes. Most of the work going into the next version so far is architectural (like proper handling of musical time), with one exception: cue monitoring.

At this point, it's hard to tell whether it's going to stay that way by the time v6.0 is finalized (after all, GIMP 2.10 was going to be mostly v2.8+GEGL, and we do know how this ended). That said, further 6.x releases are likely to gain what lead developer Paul Davis cautiously calls "some features to support a more "groove-centric" workflow".

It's not exactly a huge surprise that Paul has been interested in making Ardour more suitable for live performances for quite a long time. So we probably should be looking forward to something along the lines of advanced looping and sample stretching. Existing support for both Ableton Push 2 and NI Maschine 2 control surfaces would come in handy then.

So far, Ardour 6 looks like a summer-time release, but it's too early to tell.

More synths awesomeness

Last year, VCV Rack stormed into the softsynths scene as a free/libre software implementation of Eurorack/modular synths and became one of the most exciting projects in the Linux audio ecosystem.

VCV Rack is designed as a real modular synth, and there's an increasing amount of all sorts of modules available. And this thing is addictive as hell. We expect VCV Rack to keep rapidly growing this year.

In 2018, we are also likely to see further improvements of Zyn-Fusion, next generation of ZynAddSubFX. Although Mark McCurry only raised half the money he expected through selling binaries of Zyn-Fusion on Gumroad, he doesn't regret this decision a bit. On the last day of 2017, he released the final bit of source code he wrote for that project, so now anyone can build ZynAddSubFX with new, improved UI from source code.

From now on, the old UI is getting just bugfixes, all new stuff is happening in the new UI. The 3.1.x series is expected to focus on workflow improvements. If you don't have Zyn-Fusion in your Linux repo, you can have a go at build instructions.

After a spectacular launch around 2016, the free/libre Helm soft synth wasn't getting many updates in 2017. It might seem that Matt Tytel lost interest in the project, but he was actually rethinking it:

There were a bunch of things I wanted to change in Helm, but they would require ripping out most features. I'm going to fix more Helm bugs in the future, but I will not not add any features. I'm working on a new synth with a new name.

Again, no release dates.

NLEs

Unlike with DAWs, non-linear video editors is where it's quite impossible to mention one application without hearing "But you forgot [my libre NLE of choice]!". Indeed, there are just so many of them these days!

Pitivi, Shotcut, Kdenlive, Flowblade, OpenShot... Most of these projects have regular updates. Blender VSE reportedly still doesn't have a maintainer, but is now being improved by Nathan Lovato et al. via his Power Sequencer add-on. And, of course, we still have three flavours of Cinelerra. Even Lumiera still shows signs of life.

So in 2018, you are in for a treat, whichever non-linear video editor you end up using.

]]>http://libregraphicsworld.org/blog/entry/2018-in-perspective#When:04:05ZTue, 06 Feb 2018 04:05:43 GMTHow to view reference images in GIMPhttp://libregraphicsworld.org/blog/entry/how-to-view-reference-images-in-gimp
Alexandre ProkoudineTips & Trickshttp://libregraphicsworld.org/blog/entry/how-to-view-reference-images-in-gimp
Showing reference images for painting is a somewhat common feature request by GIMP users. While a specifically designed solution surely wouldn't come amiss, there a simple way to work around this. Here is how you can do it with pretty much any version of GIMP from at least the past 10+ years.

Viewing reference images

Let's take the default setup of GIMP (2.8 or 2.9 at your preference) with single-window mode enabled. Create an image where you will be painting, and then open an image that will be your reference.

Use Windows > Dockable Dialogs > Navigation to open the Navigation window:

By default, it will be added to the sidebar:

Now grab its header and drag it outside the sidebar:

Once it's not docked anymore, it has a new option in its own menu: Show Image Selection (it's been there since the time when dinosaurs ruled the world). Enable this option by clicking the triangle button (top right corner, below the Auto button) to open window's menu.

Now you have a drop-down list of currently opened images and an Auto button. The button is enabled by default so that the Navigation window would follow currently opened image. Click it to disable autofollowing of images, then choose your reference image in the drop-down list.

Then you can resize the Navigation to your liking and start painting. If the Navigation window doesn't stay on top (depends on operating system and window managers), one way to fix this is to go to Edit > Preferences > Window Management and choose Keep Above for Window Manager Hints.

Workaround limitations

There are several limitation with this workaround. First of all, it only works when the Navigation window is floating. It means that it inevitably overlaps part of your canvas, so it would be desirable to have this image selection drop-down list when the Navigation window is docked in the sidebar.

Secondly, since the Navigation window wasn't designed for this purpose, you can't zoom and pan your reference image.

And finally, once you use the Navigation window to view your reference image, you lose the ability to use it to pan and zoom on your painting. If this is how you usually pan images, there is a workaround for this.

When the scrollbars are enabled, their intersection in the lower right corner of the canvas has its own hidden navigation widget with the same arrowhead icon. Just click the arrowhead and start panning.

There are, however, other ways to pan and zoom:

press mouse wheel and drag around to pan

press Space and move your mouse

use Ctrl + mouse wheel up/down (viewport will center around the mouse pointer)

use shortcuts to switch to preset zoom levels (View > Zoom will give you idea)

You can also remap any shortcuts in GIMP and even customize it to use mouse wheel scroll to zoom in/out without pressing Ctrl: go to Edit > Preferences > Input Controllers, then edit Main Mouse Wheel controller settings.

]]>http://libregraphicsworld.org/blog/entry/how-to-view-reference-images-in-gimp#When:19:03ZFri, 29 Dec 2017 19:03:39 GMTIntroducing libresvg, a rival to librsvg and QtSvghttp://libregraphicsworld.org/blog/entry/introducing-libresvg
Alexandre ProkoudineNewsSoftwarehttp://libregraphicsworld.org/blog/entry/introducing-libresvg
Evgeniy Raizner announced the first public release of libresvg. This new SVG rendering library aims to replace librsvg and QtSvg, as well as become alternative for using Inkscape as an SVG to PNG converter.

In the community, Evgeniy is mostly known for SVG Cleaner, a very useful tool for making SVG files a lot smaller by removing all the cruft such as unused and invisible elements. He started libresvg about a year ago and has been working on the first release ever since. Today, libresvg v0.1 supports a subset of SVG Full 1.1 without a number of elements (more on that later).

The reason why libresvg exists is that Evgeniy is quite unhappy with existing options such as librsvg (further as rsvg) and QtSvg (SVG Cleaner has a Qt GUI). He claims that the former has serious architectural issues, plethora of parser bugs, and is difficult to ship on platforms other than Linux (being hardwired to Cairo and glib).

At the same time, QtSvg has a rather incomplete support for SVG elements.

Design specifics

While libresvg is written in Rust, and librsvg is being ported to Rust as well, there are some technical differences between the two that Evgeniy outlined in both his original post at linux.org.ru and a private email exchange. They mostly boil down to how he tries to avoid things he sees as architectural imperfections of rsvg.

First of all, libresvg is designed differently. It parses an SVG document into DOM, does some preprocessing such as cruft removal and markup normalization, then constructs a simplified DOM that contains commands for the rendering backend. Parsing and other steps are done with his own toolchain (xmlparser, svgparser, svgdom) compiled into a single binary file that is a command-line converter.

With libresvg, preprocessing only happens once (Evgeniy claims that it doesn’t seem to be the case for rsvg when rendering to canvas), then 99% of the rendering time is spent on the Cairo/Qt side. Which also means smaller CPU footprint for the library.

So yes, there’s that too: libresvg supports multiple drawing backends. Qt and Cairo are already done, Skia is on the roadmap.

How much of SVG is supported

As of v0.1, libresvg surpasses QtSvg in terms of SVG compliance, but needs to gain support for more SVG elements to be on par with rsvg. The support for animations, scripting, and SVG fonts is not planned.

When compared to rsvg, this is what libresvg v0.1 looks like:

Libresvg doesn’t yet support filters, clipping paths, masks, markers, and patterns (which rsvg does support to an extent).

Libresvg has a complete support for gradient fills, while rsvg cannot inherit attributes and validate them, nor can it read single-stop gradients (swatches, typical for SVG documents produced with Inkscape).

Libresvg has better support for text rendering: librsvg doesn’t read xml:space and text-decoration, it also doesn’t always render multiline text correctly and doesn’t support tspan very well.

Libresvg has better, though still incomplete support for CSS 2.

Evgeniy is currently hesitant to start working on SVG 2 support as the spec isn’t completed yet, nor has there been decision on what new features will make it to the W3C recommendation.

Further work

One last important thing is that support for sprites is currently planned for v0.2. So if you expected to start using libresvg instead of Inkscape to convert master SVG documents (e.g. all icons in a single SVG file) to multiple PNG files, you’ll have to wait a bit. The developer will have to implement transferring element IDs from the original document to simplified DOM first.

Evgeniy doesn’t yet use his new library in SVG Cleaner, but that’s temporarily. He says he might return to this after releasing libresvg v0.3.

Source code of libresvg and the involved toolchain is available on GitHub. At some point in the future, the project will probably be renamed for fairly obvious reasons. Evgeniy accepts ideas on that.

After 9 years of working on DIGImend for free and 1 year of hiatus, Nikolai is now relying on both corporate support and recurring donations via Patreon to fund his work on the project.

Don't underestimate his statement that with $1300 per month (pre-tax) he would dedicate mere two hours to the project code each weekend (or buy tablets to hack on). Judging by live hacking sessions he broadcasts on YouTube, two hours get a lot of work done.

Earlier this year he already added support for Ugee's M540 and EX07 tablets, and several days ago support for Ugee 2150 tablet landed. In a thread on Google+ (yes, it's still a thing) he admitted he would also be interested to work on advanced configuration for such tablets in GNOME.

There are now two projects that share the proverbial 99% of code base: 1) original Valentina project, forked by its founder Roman Telezhinsky, 2) Seamly2D, managed by Valentina's other founder, Susan Spencer. But let's roll it back a bit.

The Story

The project was started by Roman Telezhinsky (Ukraine) and Susan Spencer (USA) in 2013. Both founders had previous attempts at writing software for pattern-as-in-clothes design. However, within the Valentina project, Roman took the role of writing the code, while Susan quickly gravitated towards community building, PR, handling financials (paying Roman's salary, in fact) etc.

Early on, Roman took position that basically boils down to this (opennet.ru, 2013):

I work on this project for myself. If anybody else needs it—great. If nobody else needs it, it's fine as well.

Depending of where you are coming from, this either contradicts or complements his more official statement (Valentina blog, 2013):

It's clear that a single person cannot realistically create such a program. So I made it an open project, hoping that I won't be the only one interested in it. I hope it doesn't stop at that.

Despite this rather blunt classic approach to publishing software under terms of GPL, users soon started gathering around the Valentina project. The two main reasons for that were technical excellence of the software (despite a lot of rough edges) and solid community work.

The former can be explained by introduction of parametric design to software for end-users, which greatly simplified making adjustments, as well as refitting an existing design to a completely different person.

Moreover, with over 50 pattern-making systems supported, this made the project somewhat popular with designers of contemporary clothes as well as the historical recreation community, since a significant part of the supported systems cover Victorian tailoring, as well as garment cutting from even earlier centuries.

There's something else that should be factored in to explain public's interest in Valentina/Seamly2D. Pattern-making software is mostly proprietary and very expensive even for personal use. Top-notch systems like Gerber AccuMark and Lectra Fashion PLM are targeted at large companies and are in the general arm/leg/kidney ballpark price-wise. If you know exactly how much either of them costs, congratulations—you are an owner of a large fashion business with hundreds of employees.

Less expensive options typically start around $1,000. Some cheaper (and simplistic) solutions exist, and even then vendors would try to charge you for every single extra feature.

And, to the best of our knowledge, none of the above have native Linux versions. Needless to say, none of them is free-as-in-speech.

A user who commented on sodaCAD blog back in 2014 pretty much nailed it:

I've been in the pattern making industry for over 20 years and we REALLY NEED a free/cheap/open solution. It's almost impossible to hire skilled operators in New Zealand simply because nobody can afford to buy the software and get skilled up in it.

That's why breaking the Valentina team in two was dangerous, if inevitable. But this is not the usual "a couple of programmers had a technical argument". Digging into the story of the conflict between the founders has been an exceptional, if frightful source of insights into the world of Things That Can Go Wrong On So Many Levels.

Alleged locking one founder out of direct communication to potential partners by another founder? Check.

Social awkwardness of one founder enabled by the tendency of the other founder to sweep the dust under the rug? Check.

Arguably, so far the most sensible comment on the whole situation comes from Mario Behling who, at some point in the past, unsuccessfully tried bringing Roman to live in Berlin and work on the project in a hackerspace:

In my opinion they should just calmly do their own things and let it be. I think their worlds are just too far apart.

It's hard to tell how calm they can get. In his most recent post, Roman summarizes his vision of working with a community and uses what one might call "brutal honesty". The statements go well into the uneasy territory, breaking almost every rule of contemporary community management. If anything, they hint at exactly how difficult it could be working with him for other contributors—something he readily admits in both private conversations and earlier public posts.

And then what?

We could leave it at that, was it not for the fact that four months into the fork, the amount of confusion about the two separated projects is still staggering. Not in the least place because it's caused by actual stakeholders.

...an open community of indie designers, forward thinking businesses, artisan producers, makers, crafters, hackers and doers. We are working together to build and run our own, independent chains for global fashion production.

The initiative seems like an interesting approach to solving quite a few things that are wrong with the fashion industry. The founders appear to rely on Seamly2D as its strongest community-building tool. So it's expected that the project started posting user stories.

One of the things I love about Seamly2D is that it is getting translated into so many languages.

It's not. The Transifex account that Susan Spencer keeps pointing users to is owned by Roman Telezhinsky. They are not translating Seamly2D. They are translating Valentina and probably don't even know that.

Moreover, she couldn't be using Seamly2D, unless it was a private build from Git master made within the last couple of weeks. There are simply no builds of Seamly2D to download yet, nor have there been releases of Seamly2D. The 0.6.0.1 release was made a full month prior to the final rebranding. Susan Spencer got the valentina-project.org domain name and the website as part of the separation deal. The downloads section of the website still distributes Valentina builds. It even says "Valentina" right on the front page, next to "Seamly2D".

[Seamly2D] is cloud-based so I can see what the tailor sees. I could potentially add users to help with pattern design and quality control.

Seamly2D is not cloud-based, nor is Valentina. It's a Qt/C++ desktop application that has to be downloaded and installed. When asked for clarification, Ms. Rhinehart replied that there was "a third party app to run it on the cloud" involved. As of December 7, the testimonial retains the original, unedited statement.

It also doesn't help that Seamly2D has two simultaneously maintained GitHub repositories (more on that later). Some of that confusion can be explained by the fact that the separation agreement was made hastily, angry conversations went on for a while, and there were no clean cuts.

Present State of Affairs

In terms of writing actual code, this is what things look like at the moment.

Roman more or less maintains the programming pace, fixing bugs, making various enhancements, writing new features, and publishing test builds. August through October was a busy time for him, less so for November, and he expects December to be a slow month for the project as well.

Code-wise, Seamly2D isn't as efficient so far. Currently, the project confusingly operates on two GitHub repositories:

In fact, since August, changes in what is now Seamly2D code base boil down to rebranding, updating/fixing the build system and setting up automatic builds on a new account, updating various build/contribution related docs, renaming icons, and improvements in generating tiled PDF files. That is, the vast majority of changes doesn't fix bugs or introduce new features.

During a conversation on September 11, Susan Spencer stated:

Since Roman left, we've received offers to contribute from four programmers. They are waiting on the issues list to be recreated.

This is an important part, because the alleged pushing away of contributors by Roman was one of the biggest concerns mentioned by Susan.

However, three weeks after this step was completed, source code changes still weren't pouring into the repository. We asked Mrs. Spencer for an insight on that, and then a weird thing happened:

She changed the narrative into what boils down to "we do have programmers, but they are currently unavailable".

She then provided a rather believable explanation for each "missing programmer" case, without naming anyone or giving away too many details in order to protect the privacy of the alleged future contributors.

Following that, she mentioned another technical detail about all of them that, if published, would raise questions about possibility of actual programming to be done in the project.

Finally, she specifically forbid publicly mentioning specific information she provided out of "fear that ... there could be a big questionmark on our community" within this article.

Instead, Mrs. Spencer provided this statement:

I would like for the take-away from all this to be that our all-volunteer community is handling the situation rather well. They are an open, honest, and upstanding group of nice people who care about each other and about the project. I'm quite proud of them.

All in all, Susan Spencer seems genuinely defensive of the community she helped growing, although in this particular case this leads to questionable PR tactics.

Aftermath

It would be extremely easy to blame either side for what's going on with both projects currently. However even from what's left unmoderated in the forum it's clear that there has been a lot of mutual hostility, but above all—lack of understanding coming from both founders and community members. Some of it continues to pour out one way or another.

Maintainers of both Seamly2D and Valentina emphasize that their projects are doing well. However the former has been mostly lacking visibly active developers since day one, and the latter doesn't get nearly as much community awareness as before.

In the coming months/years, we are likely to see for ourselves, whether a community/PR manager can build a team of developers, and whether a developer can succeed in building a strong dedicated community.

If you ask, which project you should be tracking from now on, the best we can get you is "both, if you can stand occasional passive aggression outbreaks and nasty remarks". Nobody actually promised that free software would be a peaceful ecosystem. But it will get better.

]]>http://libregraphicsworld.org/blog/entry/valentina-seamly2d#When:20:59ZThu, 07 Dec 2017 20:59:38 GMTDocument Liberation Project announces initial QuarkXPress supporthttp://libregraphicsworld.org/blog/entry/document-liberation-project-announces-initial-quarkxpress-support
Alexandre ProkoudineNewsSoftwarehttp://libregraphicsworld.org/blog/entry/document-liberation-project-announces-initial-quarkxpress-support
The Document Liberation Project (DLP) announced the first release of libqxp, a library for reading QuarkXPress 3.3—4.1 documents. And this is one hell of a trip down the memory lane.

The initiative is a perfect fit for the project's agenda to implement support for as many legacy file formats as possible (see our earlier interview with Fridrich Strba et al.), although the timing is a bit of a puzzle.

History lessons

QuakXPress was once the king of desktop publishing, with reported 95% of the market share at its highest point. But corporate greed, overconfidence, and lack of vision pretty much killed it in early 2000s, and Adobe InDesign nailed its coffin.

A typical comment to the Ars article (linked above) on the subject looks like this:

We hated Quark, the program and the company. But of course we used it because it was ubiquitous. InDesign 1.0 wasn't great, but we were so desperate to move away from Quark that we slowly converted.

From many discussions on the web regarding Quark and Adobe it looks like QXP users mostly got their closure in 2003—2004, when Adobe's Creative Suite 2 arrived and settled in, although some sticked with Quark's software through v5 and v6.

Ever since Adobe introduced subscription-based model in 2013, there's a somewhat popular notion that Adobe is the new Quark and it's on the road to failure. However, after initial setback in 2013 and 2014, the company's financials have been steadily growing, in terms of both revenue, net profit, and net income. And since introduction of Creative Cloud in May 2013, Adobe's stock price is up by ca. 230%. So it looks like they need to try harder to fail.

Although Quark has been trying to bring back the former market share by any means deemed necessary, they haven't been very successful. The company eventually refocused on automating content creation, management, publishing, and delivery. There are very few businesses around that still run once popular QuarkXPress, let alone the versions from 15—20 years ago which DLP focused on. Which brings us back to the actual topic at hand.

What's in libqxp 0.0.0

The newly released first version of the library is the result of several months of work by Aleksas Pantechovskis, a student from Lithuania, who participated in the Google Summer of Code program this year (again).

Aleksas already had good track record with the Document Liberation Project. Last year, he wrote libzmf, a library for importing Zoner Callisto/Draw v4 and v5 documents.

Some rather important features like custom kerning and tracking aren't yet supported, because OpenDocument file format doesn't support those. But that's not much of an issue, according to Aleksas:

librevenge is just interfaces, so if there is another output generation lib instead of libodfgen for format that supports them, then it can use any attributes passed to it.

One big missing part in this release is support for image objects, because, Aleksas says, the picture format seems to be quite complicated.

Development of libqxp sits on top of reverse-engineering work started by Valek Filippov in OLE Toy in 2013 and continued by David Tardon and Aleksas in February 2017. Although libqxp sticks to ancient versions of QuarkXPress for now, OLE Toy can parse some of the data in QXP v6 and v8 (it's encrypted since v5), so this might change in the future.

LibreOffice has already been patched to open QXP files, this feature will be available in v6.0 (expected in early 2018). The library itself ships with the usual SVG converter which you are likely to find of limited use. Also, if all you need is extracting text, there's a perfectly sensible qxp2text converter as well.

Support in Scribus

One would rightfully expect Scribus to be the primary beneficiary from libqxp. But here is some background info.

First of all, the history between Quark and Scribus is rather hairy.

Initially, Scribus was pretty much modeled after QuarkXPress, and the two projects still share some similarities. Early in the history of Scribus, it made a lot of sense to introduce support for QXP files. Users got mad with Quark's continuous quirks and bad user support, they would jump ship at the very next opportunity.

Paul Johnson, former Scribus contributor, actually started working on support for QXP files in 2004. But after he had posted to a public mailing list about his progress, he reportedly received a cease and desist letter from Quark.

Scribus was nowhere near its current fame at the time, and even now it would not be able to handle legal expenses (save for a theoretical FSF intervention). Back then Paul just stopped working on that project.

Quark didn't quit monitoring Scribus though and continued tracking the progress of the project to the point where developers jokingly discussed blocking Quark's IP addresses range from accessing Scribus's source code repository (they reportedly had logs of that). Eventually Quark turned their attention towards more pressing matters like losing their market share to Adobe.

Today, much like LibreOffice, Scribus supports both ubiquitous file formats like IDML and bizarre ones like those by Calamus and Viva Designer. It even has support for Quark's XTG files. Getting a QXP importer would also perfectly fit Scribus's narrative.

The team is well aware of the libqxp project, they already have experience writing librevenge-based importers for Corel DRAW, Microsoft Publisher, Macromedia FreeHand etc. So it's likely just a matter of time till they introduce QuarkXPress importer.

Is there any closure left to get?

]]>http://libregraphicsworld.org/blog/entry/document-liberation-project-announces-initial-quarkxpress-support#When:11:30ZSun, 03 Sep 2017 11:30:23 GMTInkscape hackfest planned for late June in Parishttp://libregraphicsworld.org/blog/entry/inkscape-hackfest-planned-for-late-june-2017-in-paris
Alexandre ProkoudineNewsSoftwarehttp://libregraphicsworld.org/blog/entry/inkscape-hackfest-planned-for-late-june-2017-in-paris
Following productive hackfests in 2015 and 2016, the Inkscape team is meeting in Paris later this month for another hackfest. The event is taking place on June 27th through July 1st inside Paris's modern science museum, Cité des sciences et de l'industrie.

So far the hackfest agenda seems to cover many topics from the official roadmap for the next major update of Inkscape: GTK+3 port, coordinate system flip, making C++11 compiler a requirement, splitting less-maintained extensions into an extra package, improving performance. Which is another reminder that should the team stick to the plan, they will need all the help they can get to prepare the next release in a sensible amount of time.

The attending team members are core team developers like Tavmjong Bah, Martin Owens, and Jabier Arraiza, as well as contributors like C Rogers, Cédric Gemy, and Elisa de Castro Guerra. Apart from programming sessions there's a community meet-up planned for Saturday, July 1st.

The team is currently revamping the project's infrastructure. Most recently they moved to Gitlab for source code hosting and bug tracking, marking a departure from Canonical's Launchpad and Bazaar.

]]>http://libregraphicsworld.org/blog/entry/inkscape-hackfest-planned-for-late-june-2017-in-paris#When:09:20ZMon, 12 Jun 2017 09:20:00 GMTIs SVG 2 really on life support?http://libregraphicsworld.org/blog/entry/is-svg-2-really-on-life-support
Alexandre ProkoudineNewsInterviewshttp://libregraphicsworld.org/blog/entry/is-svg-2-really-on-life-support
Between SVG 1.1 W3C Recommendation and SVG 2 in its current form, people have raised kids and sent them off to the college. And yet SVG 2 might arrive sometime in the future without quite a few useful features that have been already developed and tested. What's up with that?

During the Inkscape's board meeting, Tavmjong Bah shared a write-up on the status of SVG 2 based on recent happenings around the SVG Charter. While we encourage you to read it in its entirety, for the record, here is a quick summary:

Very few people actually contribute to the evolution of the SVG specification; entire companies dropped off de facto or are about to drop off the charter de jure.

There are not enough implementations of SVG 2 to test proposed new features.

So there is not enough content using those features to justify implementation in browsers.

Therefore browser vendors are not spending their resources on adding those features.

Which means features like gradient meshes and hatches would be axed from SVG 2 and moved to Web Incubator Community Group (WICG).

All in all, there is a substanical possibility that SVG Working Group charter will not be renewed.

For Inkscape users this means that a handful of new features in upcoming v0.92 may become unsupported in SVG 2.

This topic clearly involves multiple parties. We are starting with Tavmjong Bah (Inkscape developer, invited expert in the SVG working group) and hope to hear from browser vendors and other charter members to get the full picture.

Tavmjong, how did the SVG WG end up in this situation with regards to SVG 2? Is it "death by committee"?

SVG is a huge specification with a small group working on it. Some of the most active members focused on joint CSS/SVG specs like Compositing and Blending, Transforms, Filters, Masking and Clipping. There wasn't much time left over for working on SVG 2 directly but still we plugged away. Most of the work was on things of little interest to Inkscape but of importance to browsers (like the DOM interface).

The SVG 2 group had their differences, but nothing major (being very pragmatic about things like SVG Fonts). Two major browser vendors provided the co-chairs until the past year. One co-chair was laid off (from Opera) and another changed positions (from Mozilla) and no longer works on SVG. Neither were replaced.

You mention that "there seems to be a disconnect between the browser vendors and the content creators. Even Adobe has expressed frustrations with the current status…". Would you say that SVG prior to v2 as we know it now lacked certain features that appealed to content creators? Or are there more significant factors at play here?

I'm not sure I understand your question. As I see it, from Inkscape's perspective SVG 2 is missing:

mesh gradients, supported in PostScript/PDF/Illustrator/etc. and very important to illustrators;

hatches, supported by any CAD program and important for technical drawings and for people who use SVG as input for engravers, embroidery, and plotters;

solid colors which are part of SVG 1.2 and a far better way to handle "swatches" than using single stop gradients;

and of course, text in a shape.

There are a lot of other improvements in SVG 2 such as enabling the automatic matching of an arrow head fill color to the path's stroke color, the paint-order property, and better closing path syntax.

What are the exact implications of moving all new features to WICG? Who would be working on new features in WICG given how little participation there is at the moment?

The idea of WICG is that community (i.e. not the browser vendors) develop new ideas that the browser vendors can then have a look at and say yea or nay.

I don't see this as a viable alternative for several reasons including lack of browser buy-in. And it is also not appropriate for SVG 2 features since they have already been developed and tested.

To me it looks like SVG is pretty much at the mercy of browser vendors who don't exactly contribute to its evolution.

Yes. It wasn't always that way. In the early days there were many different SVG renderers so one could find multiple implementations of most features. It was sufficient for something to remain in the spec, if there were two independent implementations.

The idea was that eventually all browsers would support all features if not right away. Of course it took IE many years to support SVG.

Now with just a handful of renderers in browsers it becomes harder to find two implementations, and even if there are two, it does not guarantee something staying in the spec. If one browser comes out adamantly against something, then it gets removed (e.g. SVG fonts, <tref> etc.).

Would you say that the existing process gives the specification developers a fair chance to get new useful features included into the final recommendation?

If you had asked me three months ago I would have said yes. Now I would say no.

From what I can see in telecon logs, it looks like browser vendors are OK with new features as long as implementations exist, and accessibility is taken care of.

Inkscape has fully working rendering implementations of meshes (for four years) and hatches (for two or three years). So existing proof-of-implementability is not enough. Accessibility in this context is not an issue.

If the charter isn't renewed, who will be there to sort out whatever comes out of the incubator?

The CSS working group? Or nobody. By the way, The HTML canvas element is suffering the same problem in that there is no group to maintain it.

As a principal author of quite a few new features in SVG 2, do you have an idea of a solution to getting major incomplete and missing features done? (stroke positioning, pages etc. — all the recently discussed axed features and more).

I am afraid I don't see the browser vendors spending much effort on them given the discussion last month. The only spec that has had any interest from CSS is the strokes spec (they want to be able to stroke bounding boxes).

Notably, in your write-up, you mostly mention the charter, Inkscape, and browser vendors. What is your understanding of where SVG (1.1 and/or 2) currently stands with regards to authoring applications? Moreover, some features appear to lack the "second implementation". Would it be correct to assume that Inkscape is the only authoring app project actively involved with SVG currently?

Adobe Illustrator supports export to SVG 1.1. I don't know of any SVG 2 features they have implemented (since I don't use it). They did have very strong interest in the things that got removed from SVG and put into joint CSS/SVG specs, so I am sure they support those in their web design programs.

During WG telecon in early October this year, Dirk Schulze said this: "Adobe have a strong interest in getting more features — e.g. mesh gradients, stroke features, variable width stroke, etc which do not neccessarily need to live in the SVG WG, but we do want to see them proceed". So it looks like Inkscape's interests align with those of Adobe. Do you see this as a starting point for a conversation on getting the much required "second implementation" done?

It has been suggested that they may be an ally. Although I was also informed that they are frustrated with participating in the W3C specification process and have seriously cut back their participation (certainly we haven't seen their active participation in the SVG group for a couple of years).

Do you have any advice to users others than creating more content that uses proposed SVG 2 features?

There are three things that the browser vendors seem to be sensitive to:

The opinions of major JavaScript library authors like D3.

Large corporations.

Use counters.

I'm not sure about 1). 2) won't help, although Boeing is a possible ally for hatches since they are converting their technical drawings to SVG. 3) is the easiest place for us to have an impact.

Basing decisions off this has some serious flaws. It doesn't take into account the fact that something isn't used due to it not being cross-browser available. For example, SVG would have rated very low before implementation in IE.

Will Inkscape 0.92 expose SVG 2 features by default in team's own binary builds? What will be the team's recommendation to 3rd party distributors?

We should encourage them to enable them. Already, we have 'paint-order' and new filter blending modes in the GUI. Speaking of which, Firefox has never supported Inkscape's layer blending using filters and we've never heard complaints about it.

]]>http://libregraphicsworld.org/blog/entry/is-svg-2-really-on-life-support#When:10:45ZSun, 13 Nov 2016 10:45:27 GMTKrita To Kickstart New Text And Vector Toolshttp://libregraphicsworld.org/blog/entry/krita-to-kickstart-new-text-and-vector-tools
Alexandre ProkoudineNewsSoftwareInterviewshttp://libregraphicsworld.org/blog/entry/krita-to-kickstart-new-text-and-vector-tools
Krita Foundation announced their third Kickstarter project to fund development of new text and vector tools. With the proposed features, the team aims to improve the user experience for, among others, comic book and webcomic artists.

Essentially, the team will ditch the Text tool inherited from Calligra Suite and create an easier-to-use UI for managing text and its styling, improve RTL and complex scripts support (think CJK, Devanagari), add text on path editing, non-destructive bending and distortion of text items etc.

Additionally, they will completely switch to SVG as an internal storage format for vector graphics and improve usability of related editing tools.

There are also 24 stretch goals: from composition guides to reference image docker improvements to LUT baking. In all likeliness we are going to see at least some of the stretch goals done: it was the case for both past Kickstarter campaigns, and after the first two days this new campaign is already ca. 30% funded.

As usual, LGW asked project leader Boudewijn Rempt some technical questions about the development plans within the campaign.

Given the focus on text and vector tools, how many bits of Calligra Suite does Krita still share with the original project?

There is nothing shared anymore: the libraries that we used to share have been forked, so Calligra and Krita have separate and, by now, very different versions of those libraries. That was a really tough decision, but in the end we all realized that office and art applications are just too different.

So, we'll probably drop all the OpenDocument loading and saving code in favor of SVG, with just an OpenDocument to SVG converter for compatibility with old KRA files.

We'll implement a completely new text tool and drop the old text tools and its libraries. As for the vector tools, we'll keep most of that code, since it is already half-ported to SVG, but we'll rework the tools to work better in the context of Krita.

For import/export, only SVG. And the functionality we want to implement first is what's really important for artists: it must support the main thing, the raster art. So, things like vector based speech balloons for comics, or decorative borders for trading cards or some kinds of effects. Boolean ops on paths are really import for comic book frames, for instance.

Regarding text direction flow and OpenType features: how much do Qt and Harfbuzz provide for Krita already, and how much (and what exactly) do you need to write from scratch?

Qt's text layout is a bit limited, it doesn't do top-to-bottom for Japanese, for instance. So likely we'll have to write our own layout engine, but we'll be using harfbuzz for the glyph shaper.

Do you think it's faster/easier to write and maintain your own engine than to patch Qt?

Well, they serve different purposes: Qt's layout engine is general purpose and mostly meant for things like the text editor widget or QML labels. We want things like automatic semi-random font substitution that places glyps from different fonts so we can have a better imitation of hand-lettered text, for instance. How far we'll be able to this is a bit of an adventure!

Some specifics of the proposed implementation make it look like you would slightly extend SVG. Is that correct?

Well, first we'll look at what SVG2 proposes and see if that's enough, then we'll check what Inkscape is doing, and if we still need more flexibility, we'll start working on extending SVG with our own namespace.

For vectors, I don't think that will be necessary, but it might be necessary for text. If the kickstarter gets funded, I suspect I'll be mailing Tavmjong Bah a lot!

Stretch goals cover all aspects of Krita: composition, game art, deep painting, general workflow improvements. How did you compile the list?

This January, we had a sprint in Deventer with some developers and some artists (Dmitry, me, beelzy, wolthera), where we went through all the wish bugs and feature requests and classified them. That gave us a big list of wishes of stretch goal size. Then later on, Timothée, Wolthera, Irina, and me sat down and compiled a list that felt balanced: some things that almost made it last years, some new things, bigger things, smaller things, something for every user.

One of the stretch goals is audio import for animation sequences. How far are you willing to go there? Just the basics, or do you see things like lipsync happen in the future?

Just the basics: we discussed this with the animators in our community, and lipsyncing just isn't that much of a priority for them. It's more having the music and the movement next to each other.

But that suggests multiple audio objects on the timeline, or would it be just a single track preprocessed in something like Ardour?

For now, a single track!

]]>http://libregraphicsworld.org/blog/entry/krita-to-kickstart-new-text-and-vector-tools#When:18:44ZTue, 10 May 2016 18:44:42 GMTdarktable 2.0 released with printing supporthttp://libregraphicsworld.org/blog/entry/darktable-2-0-released-with-printing-support
Alexandre ProkoudineNewsSoftwareInterviewshttp://libregraphicsworld.org/blog/entry/darktable-2-0-released-with-printing-supportDarktable, free RAW processing software for Linux and Mac, got a major update just in time for your festive season.

The most visible new feature is the print module that uses CUPS. Printing is completely color-managed, you can tweak positions of images on paper etc. All the basics are in place.

The nice "perk" of this new feature is exporting to PDF in the export module.

The other important change is improved color management support. The darkroom mode now features handy toggles for softproofing and gamut check below the viewport (darktable uses a cyan color to fill out of gamut areas). Additionally, thumbnails are properly color-managed now.

Something I personally consider a major improvement in terms of getting darktable to work out of box nicely is that the viewport is finally automatically sized. No longer you need to go through the trial-and-error routine to set it up in the preferences dialog. It just works. Moreover, mipmap cache has been replaced with thumbnail cache which makes a huge difference. Everything is really a lot faster.

The port to Gtk+3 widget set is yet another major change that you might or might not care about much. It's mostly to bring darktable up to date with recent changes in Gtk+ and simplify support for HiDPI displays (think Retina, 4K, 5K etc.)

The new version features just two additional image processing modules:

Additionally, the watermark module features a simple-text.svg template now, so that you could apply a configurable text line to your photos. Which means that with a frame plugin and two instances of watermark you can use darktable for the most despicable reason ever:

The most important changes in Lua scripting is that script can add buttons, sliders, and other user interface widgets to the lighttable view. To, the team started a new repository for scripts on Github.

Finally, the usual part of every release: updates in the camera support:

Base curves for 8 more cameras by Canon, Olympus, Panasonic, and Sony.

White balance presets for 30 new cameras by Canons, Panasonic, Pentax, and Sony.

Changes in v2.0 could be summarized as one major new feature (printing) and lots of both under-the-hood and user interaction changes (Gtk+3 port, keyboard shortcuts etc.). All in all, it's more of a gradual improvement of the existing features. Is this mostly because of the time and efforts that the Gtk+3 port took? Or would you say that you are now at the stage where the feature set is pretty much settled?

Tobias: That's a tough question. The main reason was surely that the Gtk+3 port took some time. Secondly, the main motivation for most of us is scratching our itches, and I guess that most of the major ones are scratched by now. That doesn't mean that we have no more ideas what we'd like to see changed or added, but at least most low-hanging fruits are picked, so everything new takes more time and effort than big changes done in the past.

Roman: The Gtk+3 port, as it seems, was the thing that got me initially involved with the project. On its own, just the port (i.e. rewriting all the necessary things, and making it compile and mostly be functional) did not took too long, no more than a week, and was finished even before previous release happened (v1.6 that is). But it was the stabilization work, i.e. fixing all those small things that are hard to notice, but are irritating and make bad user experience that took a while.

Johannes: As far as I'm concerned, yes, darktable is feature complete. The under-the-hood changes are also pretty far-reaching and another reason why we call it 2.0.0. The Gtk+3/GUI part is of course the most visible and the one you can most easily summarize.

Jeremy: I'd like to emphasis the "under the hood" part. We did rewrite all our cache management, and that's a pretty complicated part of our infrastructure. I don't think this cycle was slow, it's just that most of it is infrastructure work needed if we want darktable's visible feature set to grow in the future...

Darktable seems to be following the general industry trend where software for processing RAW images becomes self-sustained, with non-destructive local editing features such as a clone tool, as well as sophisticated selection and masking features. In the past, I've seen you talking about not trying to make a general-purpose image editor out of darktable, but these features just seem to crawl in no matter what, you are even considering adding a Liquify-like tool made by a contributor. Would you say that your project vision has substantially changed in the past? How would you define it now?

Tobias: I don't see too many general image manipulation features creeping in. We have masks since a while, and the liquify/warping thing would be another one, but besides that I don't see anything. There is also the question where to draw the line. Is everything besides global filters (exposure, levels, ...) already a step towards a general purpose editor? Are masks the line being crossed? I don't know for sure, but for me it's mostly pushing individual pixels, working with layers, merging several images. We do none of those and I hope we never will.

Johannes: I think this is caused by how darktable is governed. It's very much driven by the needs of individual developers, and we're very open when it comes to accepting the work of motivated contributors. we have a large dev basis, so I guess it was just a matter of time until someone felt the need for this or that and just went ahead and implemented it. I guess you could say we weren't consequent enough in rejecting patches, but so far I don't think this strategy has hurt us much. To the contrary, it helps to foster a large community of motivated developers.

HDR merging does exist though, and there's even a feature request to add manual/automatic alignment. And both duplication and configurable blending of processing modules are a lot like working with layers, even though the processing pipeline is fixed.

Tobias: Yes, but that doesn't counter my point: Editing single pixels is out of context, general calculations like that fit.

Johannes: To give a very specific answer to this very specific question: the HDR merging works on pre-demosaic raw data (which is why we have it, it's substantially simpler than/different to other tools except Wenzel's hdrmerge which came after IIRC). So automatic alignment is not possible (or even manual for that matter).

Have you already defined any major milestones for future development?

Tobias: No. Version 2.0 had the predefined milestone "Gtk+3 port", but that was an exception. Normally we start working on things we like, new features pile up and at some point we say "hey, that looks cool already, and we didn't have a release for a while, let's stabilize and get this to the users". There is a lot less planning involved than many might think.

Roman: As Tobias said, there are rarely pre-defined milestones. It is more like, someone has some cool idea, or needs some functionality that is not there yet, and he has time to implement it.

Personally, I have been working on image operation for highlight reconstruction via inpainting. There are several of them already in darktable, but frankly, currently that is the one of important features that are still not completely handled by darktable.

There has been a lot of preparatory work under-the-hood over the last two releases, which now opened possibility for some interesting things, say native support for Magic Lantern's Dual ISO, or new version of our profiled denoise image operation.

I'm also looking into adding yet another process() function to image operations, that would not use any intrinsic instructions, but OpenMP SIMD only, and thus, making darktable to not have any hard dependency on x86 processors, i.e. it could work on ARM64 too.

Jeremy: I would like to add the manipulation of actual image parameters to Lua, that is a big chunk of work. Apart from that it will mainly depend on what people do/want to do.

What kind of impact on users' workflows do you think the adding of Lua scripting has done so far? What are the most interesting things you've seen people do with Lua scripting in darktable?

Tobias: Good question. We slowly added Lua support since 1.4, but only now we start to get to a point where more advanced features can be done. In the future I can see quite some fancy scripts being written that people can just use instead of everyone coding the same helpers over and over again. That's also the motivation for our Lua scripts repository on GitHub. While there are some official scripts, i.e., mostly written and maintained by Jeremy and me, we want them to be seen as an extension to the Lua documentation, so that others can get ideas how to use our Lua API.

The results of that can be seen in the 'contrib' directory. The examples there range from background music for darktable's slideshows to a hook that uses 'mencoder' to assemble timelapses. We hope to see many more contributions in the future.

Jeremy: Lua was added mainly for users that have a specific workflow that goes against the most common workflow. Darktable will follow the most common workflow, but Lua will allow other users to adapt DT to their specific need.

That being said, I agree with Tobias that Lua in 1.6 was still missing some bricks to make it really useful. Without the possibility to add widgets (buttons, sliders etc.) to darktable, it was impossible to make a script that was really useable without technical knowledge.

With the Lua repository and the possibility to find widgets, things should go crazy really fast. Did you know that you can remote-control darktable via d-bus by sending Lua commands?

In early days of darktable quite a few features (e.g. wavelet-based) came directly from papers published at SIGGRAPH etc. What's your relationship with the academic world these days?

Tobias: We didn't add many new image operations recently, and those that got added were mostly not that sophisticated that we had to take the ideas from papers. That doesn't mean that our link to the academic world was dropped, Johannes is still working as a researcher in university, and when new papers come out we might think about implementing something new, too.

Johannes: Yes, as Tobias says. But then again graphics research is my profession, and darktable is for fun. No, seriously, the last few siggraphs didn't have any papers that seemed a good fit for implementation in darktable to me.

Several years ago you switched to rawspeed library by Klaus Post from the Rawstudio project. Now it looks like darktable is the primary "user" of rawspeed, and your own Pedro Côrte-Real is 2nd most active contributor to the library. Doesn't it feel at least a tiny bit weird? ;)

Tobias: I think it's a great example of how open source software can benefit from each other. I'm not sure if that's weird or just a bit funny.

How has your relationship with the Magic Lantern project been evolving, given the deflicker feature etc.?

Tobias: The deflicker code wasn't so much contributed by the Magic Lantern folks but written by Roman with inspiration from how magic lantern does it. I don't know if he used any code from them, maybe he can clarify. Apart from deflicker there are also plans to support their dual-iso feature natively.

Roman: The only direct contribution from Magic Lantern project was the highlight reconstruction algorithm that made it into v1.6. The deflicker was implemented by me, as it usually happens, after I needed a way to auto-expose lots of images, and found no way to do it. That being said, it uses exactly the same math as deflick.mo does.

Tobias: Even that was not taking code from them. Jo wrote it after talking with Alex at LGM.

Johannes: But it was most inspiring meeting those folks in person. And yes, I was a lazy ass implementing this dual-iso support natively in darktable ever since LGM.

Darktable seems to be doing pretty well without any kind of community funding which is all the rage these days. What do you think are the causes to that effect?

Tobias: Well, we'd need some legal entity that takes care of taxes. And to be honest, we don't need that much money. Our server is sponsored by a nice guy and there are no other expenses. Instead we have been asking our users to donate to LGM for several years now and from what we can see that helped a lot.

As for why we have been doing so well, no idea. Maybe because we are doing what we want without caring if anyone would like it. To the best of our knowledge darktable has exactly 17 users (that number is measured with the scientific method of pulling it out of thin air), so whatever we do, we can lose at most those few. Nothing to worry about.

The new version of darktable is available as source code and a .dmg for Mac OS X. Builds for various Linux distributions have either already landed or are pending.