I’m still buried under piles of work and family obligations. Hence, currently, I don’t have the luxury of spending 15 hours a week to make the usual kind of a weekly reviews. Instead, I picked several topics that I think are the most interesting things that happened lately.
The new version was released just one year after 1.0 — a staggering improvement in the dev cycle duration, more in line with what we used to know back when Inkscape was in its v0.3x years.
If you are not aware of the release, here are the highlights:
Brand new docking system for UI
New startup dialog for configuration of defaults, easy access to templates etc.
Command palette to execute a command by typing its name
New Outline Overlay mode to see the wireframe over full-color illustration
Selection of nodes can now be copied, cut and pasted
New Slice live path effect
Inkscape is also participating at Google Summer of Code this year with 6 students:
On-canvas alignment guides aka “smart guides”
Verbs to Gio::Actions conversion to remove code redundancy and make some things possible
Upgrade Django-based website from 1.1 to 3.x
And because Parth Pant is delivering results early, here is my brief demo of smart guides (to be further improved):
An interview with the team is coming to Libre Arts later this week, hopefully.
As someone in need of UI/web prototyping tools lately, I’m really excited to see Penpot growing fast and wide. The project sees regular releases, sometimes twice a month. The latest one didn’t have as much new stuff as the previous few releases, nevertheless, some good stuff there:
New option to interactively scale text objects.
Custom fonts can now be uploaded and used (Penpot will automatically generate webfonts out of them).
Shapes get transformed to paths on double click.
Shift key is now used to keep aspect ratio when scaling an object.
And before you ask, Penpot can be run as a web app as well as a desktop application.
The team swears it’s the last 6.x release before v7.0. That is, unless some horrible bug is discovered. It’s also the last release to support older versions of Windows (before 7). Highlights:
New Recorder tab, convenient for an overview of multiple tracks to be recorded, as well as for giving physical ports meaningful names.
Loudness Analyzer & Normalizer dialog has been overhauled: there’s a loudness graph now, the conformity analysis is always avisible, and you can make your own presets.
A bunch of exporting presets were added for various streaming services (think YouTube, Spotify etc.).
See here for vastly more details.
Robin Gareus will be working on another Mixbus release that isn’t supposed to have
nutempo2 branch merged, so we are in this interesting moment in time where there will be several months of features going into the master branch and no releases.
And yes, there are new things happening in the master branch already, like ripple editing workflow improvements.
The project recently launched their own development fund not just modeled after Blender’s one but actively drawing from the original source code.
The first goal is to be able to hire 5 full-time developers. That’s $17K a month. At the moment of publishing this, it’s $4,881 from 336 individuals (and zero corps so far). The team is currently focused on delivering Krita 5.
You can read more about moving Blender’s code in a blog post by Carl Schwan. The team also posts weekly updates for the fund, including all the programming work done on Krita itself.
There are three GSoC students working on Krita this year: making more operations work with multiple selected layers, implementing an efficient algorithm to find the intersection of bezier curves in Krita’s vector layers, and enhancing the reference docker. You can read a little more about it in Krita’s blog.
This is awesome news. Here is what you should be expecting as the result of this:
A comprehensive test suite for IfcOpenShell and OpenCASCADE.
Improvements to get IfcOpenShell to render drawings and diagrams for commercial output.
Support for IFC metadata that is useful for structural analysis, mechanical, electrical, fire, and hydraulic systems authoring and analysis, environmental analysis etc.
Another BlenderBIM release was published recently, with 186 new features and fixes. Highlights:
Blender 2.93 support, up to 8 times faster IFC4 imports, 3 times smaller add-on thanks to a new drawing system.
New native parametric wall and slab authoring tools.
New project library panel for importing data from other IFC projects, essentially, this is an embryo of an IFC assets library.
New cost planning tools.
New construction sequencing tools (you basically get a giant Gantt chart).
Improved support for structural analytical models.
See here for more info and pretty pictures.
IfcOpenShell also has two GSoC stuents this year through the evergrowing umbrella BRL-CAD organization:
Artur Tomczak is adding IDS (Information Delivery Specifications) validation with BCF output to IfcOpenShell
Singh Prabhat is integrating existing BCF libraries with the API’s so as to perform reading and writing of files.
Finally, if you are into topological analysis and interested in Blender, there’s Topologic news for you too:
I am happy to announce that the porting of Topologic nodes to Blender/Sverchok is now complete! 194 nodes! Truly enjoyed this journey and still lots more to do:— Topologic (@topologicBIM) June 6, 2021
1. Interface with @BlenderBIM / ifcopenshell
2. Improve installation experience
3. Build amazing domain-specific apps pic.twitter.com/TYXuDYVupy
Almost everything that could go wrong after Audacity’s acquirement by Muse Group went wrong.
You’d think that, with several years of being involved with MuseScore prior to that, the new team would predict certain things to happen. Alas, no.
Soon after the acquisition announcement, the new Audacity team went on to propose two telemetry items:
Sending data to Google Analytics and Yandex.Metrika to figure out how people use Audacity and how many people do it.
Sending crash data for investigation, using Google’s BreakPad.
This caused no small amount of uproar, some press coverage, and essentially led to these three things:
Telemetry is now planned to be opt-in by default (the PR hasn’t been merged yet).
The team claims to be investigating self-hosted solutions such as Plausible and Matomo (formerly Piwik).
A short explanation from Martin Keary, with a promise of a separate post detailing this proposal.
Here’s my take on this. I think opt-in telemetry is perfectly fine as long as you a) self-host the storage and processing of the data, b) collect the right kind of data for the job, and c) have an actual plan for using the data you collected. Assuming, of course, that you do have your users’ best interests at heart.
Telemetry seems to be helpful in a number of cases. Like when you need to figure out sensible defaults. E.g. when you have an application with dozens of filters or tools, expecting a user survey to tell you what defaults each of these filters/tool should have is an unrealistic expectation.
So when you set up telemetry and instrumentation, you can get enough raw data to understand how actual field use of your program on a large sampling matches what you get from your focus group and your own gut feeling. And then you could make more sensible defaults and/or presets.
The data Audacity would be collecting is of somewhat limited usefulness, in my opinion. E.g. they’d know what effect was used, but not with what settings. But maybe I don’t understand the job they have in mind.
Opt-out telemetry is… Let’s just say ethically questionable. It gives vastly more raw data but paves the way to misuse and abuse of privacy. Likewise, submitting the data to a third party generally puts you on Santa’s naughty list. So Muse Group clearly could have done a better job at both communicating their plan and choosing the technology stack.
Community-wise, this is clearly a blow for the company. It happened too soon after the acquisition while users were still figuring out what the ownership change would mean for them long-term.
To give you idea just how unpopular the move was, here is what recently happened when Apple rolled out iOS 14.5 with a new feature that allows you to stop apps from tracking your activity for ad targeting. According to Flurry Analytics, only 4% of U.S. users opted in. This is how bad tracking is perceived.
And then the other shoe dropped when Muse announced they have already introduced a contributor license agreement (CLA).
They clearly learned a few things from the first episode, because they posted a thorough explanation from the get-go. Nevertheless, it was met with a lot of criticism.
The main issue with the CLA seems to be that there is no provision to always maintain Audacity under the terms of GPL. The CLA gives Muse Group the permission to relicense the source code however they wish.
Muse Group also didn’t figure out that Audacity is already distributed under GPLv2+ rather than strictly GPLv2, which invalidates part of their reasoning (they wanted to avoid asking every contributor to upgrade to GPLv3+).
There are more debatable statements like having to relicense to meet the requirements of Apple’s ToS for iOS apps (multiple free/libre projects already bypass that), or add support for cloud services (Audacity is not distributed under the terms of AGPL).
I think I’d side with Filipe Coelho here who thinks that Muse Group simply want to reuse bits of MuseScore that could be proprietary for whatever reason.
I also find it a little funny that Muse Group gets the blame for publishing proprietary MuseScore mobile apps when the original MuseScore team did just that over 7 years ago. And then the reason for going proprietary there wasn’t really discussed beyond the knee-jerk “how dare they” reaction, which also seems like an oversight.
Overall, for Muse Group and Audacity, all this is most likely not an irreparable damage. Obviously, some users will quit in frustration. But generally, this is not the first time some company did a blooper early on. Either way, looking forward, everyone will benefit from better communication.
My impression from following commits and the Discord chat seems to be that the original team mostly disregards the white-hot discussions and keeps on hacking. Meanwhile, Martin Keary and Jouni are preparing a master plan for Audacity, this quote coming from the Discord channel:
Incidentally, Jouni and I are preparing a ‘high level’ wireframe of where we think Audacity could go in around 3-4 years. We’ll be sharing soon. I’m also thinking of preparing a new video about the process of designing the future of Audacity. So… soon enough we’ll have a basic outline that we can all begin chipping away at!
Remember: the first UX vision is just so we can all sculpt a high-level view together. It is crucial for understanding how we make incremental updates to functionality and UI.
There’s also quite a bit of “the project was doing just fine without Muse” sentiment around, but let’s be realistic:
Audacity was not a finanically sustainable project, and noone reorganized it to have a solid development fund.
The original team did the best they could, but they didn’t have enough steam to introduce long sought-after changes like non-destructive editing.
That’s why this situation was possible per se. There’s not much point saying “but Blender!” or “but Krita!”. Both Blender and Krita organized themselves to draw funds directly from the community. For some reason it was either not tried or not successful with many other projects, including Audacity.
Noone is preventing the vocal part of the community from 1) forking Audacity code base, then 2) creating a development fund, and, of course, 3) actually delivering.
Personally, I don’t expect Muse Group to go completely altruistic and send paychecks to people they hired simply because they admire the work that original MuseScore and Audacity developers did. It’s a business, after all (and choosing GA for telemetry was a move almost any company would do in their place).
But I think Muse Group are learning — if painfully slowly — from these two episodes how to work with communities. So I’m interested in long-term results of all this, whatever they turn out to be.
I don’t really have a particular opinion about the whole Freenode drama one way or another. All I know is that multiple projects I keep an eye on (including Ardour) have moved to libera.chat.
So if you don’t see much action in the usual channel on Freenode that you chat on, maybe everyone moved elsewhere and you missed the news.
If you want to know more, there’s a write-up over at LWN.
Libre Graphics Meeting was an online event this year again, organized by the French team. You can watch the videos on a PeerTube instance called ConfTube.
As far as I can tell, there is no decision yet what team will be hosting the 2022 event, offline or otherwise.
Featured image by none other than Philipp Urlich.
Each of my weekly recaps involves researching, building and testing software, reporting bugs, talking to developers, actually watching videos that I recommend, and only then writing. Time-wise, that's typically between 10 and 20 hours. If you enjoy the work I do, you can support me on Patreon or make a one-time donation.