Development
An early peek at Krita 3.0
The Krita project has made the first "pre-alpha" builds of its upcoming 3.0 release available for download. The release of 3.0 will mark a significant milestone in the project's history, bringing a new set of features, a port to Qt 5, and a commitment to supporting a new platform.
The alpha release was announced on January 17. For now, the post
contains direct links to the binary packages, which are not available
through the normal Krita download channels. As maintainer Boudewijn
Rempt said in the post: "Right now, Krita is in the 'may eat
your cat'-stage...
". There are standard Mac OS X and
64-bit Windows installers provided. The Linux builds are provided as AppImage packages. The AppImage
format includes an ISO 9660 filesystem that bundles all necessary
files to launch the application, plus a small launcher binary that
mounts the filesystem with FUSE and runs the application within. The
upshot is that, like the Windows and OS X downloads, the Linux
package should be portable (or at least portable enough to run on
almost any desktop Linux distribution).
Improved OS X support is one of the key goals for Krita 3.0;
Rempt said in the announcement: "We fully intend to make
Krita 3.0 as supported on OSX as on Windows and Linux
". Since
OS X is disproportionately popular within the digital-artist
community, emphasizing support for the platform will, hopefully, gain
Krita quite a few new users.
Whatever operating system one uses, though, the new release packs in a lot of features. Under the hood, the big news is that Krita 3.0 marks the completion of a port from Qt 4 to Qt 5. Bumping the Qt version used was not a minor undertaking; it entailed substantial rewrites of the graphics-display subsystem and the tablet-computer support.
It also meant reworking the major new user-visible feature: animation support. The animation code was added in 2015 (two betas based on the 2.9 series were released: one in November and another in December), with the work supported by a Kickstarter campaign.
Krita's animation mode adds a timeline to the bottom edge of the screen and lets the user draw or paint every frame with the full complement of Krita's "natural-media" painting-and-drawing tools. The user can set the frame rate and there is a set of playback controls to advance and rewind through the timeline. However, Krita does not save or export animations as video files. Instead, it exports each frame of a document as a separate still image—automatically numbered to preserve the correct sequence—for use later in a video-editing application.
Because free-software animation programs are few and far between, Krita's animation support is a significant addition. The other active open-source 2D-animation tools (Synfig Studio and Tupi) may offer more control over timeline manipulation and animation features (e.g., effects, transitions, loops, and so on), but they cannot boast Krita's variety of painting tools, filters, and image-manipulation options.
Animation in Krita is rather easy to get started with. From a new or opened document, one only needs to click on the "Animation" option in the workspace menu in the top-right corner. That pops open the timeline as well as the animation controls. Down in the timeline, one then needs to right-click to create a new frame (which will be frame zero to start with). Subsequently, there is no need to manually create additional frames: just click on a square in the timeline and begin drawing.
The user can drag frames in the timeline to rearrange them, select multiple frames (by holding down the Control key) to draw on several frames simultaneously, and delete frames at will. It is about as intuitive as one could imagine. Furthermore, each frame can contain multiple layers (just like any other Krita document) that can be hidden or shown on screen as needed. There is also support for advancing or rewinding through the timeline using only the keyboard, and it is possible to open a set of several image files as an animation project (which is no doubt useful for those who have already worked on their animations in Krita).
Another nice touch is support for "onion skinning," a visualization that shows a faint rendering of previous and subsequent frames beneath the current one to help the user keep everything lined up. It is similar to drawing in a translucent notebook. Krita also lets the user tint previous and subsequent frames in different colors (red and green, respectively, by default). The new release also adds a feature called "drop-frame support" that drops frames from playback if the graphics card cannot keep up; that allows playback to keep time rather than slowing to a crawl. Statistics are available to let the user know how many frames are being dropped.
But animation support is not the only new feature to be found in the new release. Working with multi-layer documents is now easier. It is possible to select multiple layers and operate on them all together—such as duplicating several layers at once, merging several layers, or rearranging several layers in the layer stack like a single unit. It is even possible to edit certain aspects of a selected set of layers all at once: opacity, visibility, lock status, active image channels, and blend mode can all be changed for multiple layers together.
There are a couple of new features likely to be of interest to professional users. The first is instant-preview mode, which makes Krita more responsive when editing extremely high-resolution images. With instant-preview mode enabled, the canvas shown on screen will show a low-resolution approximation of the image, rather than Krita attempting to redraw and rescale the full-resolution image with every stroke. The second is a time tracker that records how much time is actively spent working on an image. The timer pauses when it detects no activity for 60 seconds, and the resolution is only at the one-minute level, but it should still be useful for illustrators who need to track their time on a per-project basis.
So far, there has been no schedule announced for the final release of this new Krita edition, but it is shaping up to be a release that will attract significant attention for the project—and perhaps many new users from the animation and OS X communities.
Brief items
Quote of the week
git-annex v6 released
Version 6 of git-annex has been released. The
announcement highlights the addition of one major new feature,
"support for unlocked large files that can be edited as usual
and committed using regular git commands.
" The feature makes
use of Git's smudge and clean filters, and is said to result in 50%
less disk usage compared to the git-lfs extension.
MyPaint 1.2.0 is available
Version 1.2 of the MyPaint natural-media-painting application has been released. Changes include new tools for smooth-stroke inking and flood filling, automatic file backup and recovery, the ability to group layers, and GTK+3 support. Ubuntu packages are already available through the project's official testing PPA; builds will follow shortly for other distributions and platforms. In the meantime, source bundles are provided at the project's GitHub page.
Clojure 1.8 released
Clojure version 1.8 is now available. New features include additional string functions, socket servers, and direct linking, which can speed up execution by inserting static function invocations in place of references.
PEP 512: migrating hg.python.org to GitHub
Python Enhancement Proposal (PEP) 512 is now available. The PEP "outlines the steps required to migrate Python's development
process from Mercurial as hosted at
hg.python.org to Git on GitHub. Meeting
the minimum goals of this PEP should allow for the development
process of Python to be as productive as it currently is, and meeting
its extended goals should improve it.
" The proposal is a lengthy one, encompassing the migration steps for six separate repositories.
CyanogenMod shutting down WhisperPush
The CyanogenMod developers have announced that they will be shutting down the WhisperPush secure messaging system (covered here in 2013). "We’ve ultimately made the decision that we will no longer be supporting WhisperPush functionality directly within CyanogenMod. Further, WhisperPush services will be end-of-lifed beginning Feb 1st 2016. As this is a server side implementation, all branches of CM from CM10.2 and forward will be affected."
Newsletters and articles
Development newsletters from the past week
- LLVM Weekly (January 18)
- OCaml Weekly News (January 19)
- Perl Weekly (January 18)
- PostgreSQL Weekly News (January 17)
- Python Weekly (January 14)
- Ruby Weekly (January 14)
- This Week in Rust (January 18)
- Wikimedia Tech News (January 18)
The State Of Meteor Part 1: What Went Wrong
Back in 2014, LWN looked at the Meteor web application framework. Now, Meteor's developers are contemplating why it failed to take over the world. "New developers love how easy it is to get started with it, but can get discouraged when they start struggling with more complex apps. And purely from a financial standpoint, it’s hard to build a sustainable business on the back of new developers hacking on smaller apps. On the other hand, many of the more experienced developers who’d be able to handle (and help solve) Meteor’s trickier challenges are turned off by its all-in-one approach, and never even give it a chance in the first place." They promise the imminent unveiling of a new approach that is going to address these problems.
How conference organizers can create better attendee experiences (Opensource.com)
Over at Opensource.com, VM (Vicky) Brasseur and Josh Berkus give advice to conference organizers on how they can improve their conferences for attendees. There are ten different areas they address, including "Clear communications", "Have a Code of Conduct (and train staff on what that means)", "Fix your darn badges", and "Working Wi-Fi (here be dragons)". "When asked, attendees have a lot of strong opinions on the subject of conference badges, and the majority of those opinions are not positive. Badges serve multiple purposes, but the single most important one is allowing attendees to identify each other. Yet, despite that, few conference badges do a good job of performing this one deceptively simple duty."
Hearn: The resolution of the Bitcoin experiment
Core Bitcoin developer Mike Hearn writes that the Bitcoin experiment has failed. "In a company, someone who did not share the goals of the organisation would be dealt with in a simple way: by firing him. But Bitcoin Core is an open source project, not a company. Once the 5 developers with commit access to the code had been chosen and Gavin [Andresen] had decided he did not want to be the leader, there was no procedure in place to ever remove one. And there was no interview or screening process to ensure they actually agreed with the project’s goals." If Bitcoin is indeed failing as the article says, it's failing due to project governance issues rather than technical or regulatory problems.
Mycroft: Linux’s Own AI (Linux.com)
Swapnil Bhartiya takes a look at Mycroft AI and talks with CTO Ryan Sipes, on Linux.com. "Earlier this month, the developers released the Adapt intent parser as open source. When many people look at Mycroft, they think voice recognition is the important piece, but the brain of Mycroft is the Adapt intent. It takes natural language, analyzes the ultimate sentence, and then decides what action needs to be taken. That means when someone says “turn the lights off in the conference room,” Adapt grabs the intent “turn off” and identifies the entity as “conference room.” So, it makes a decision and then reaches out to whatever device is controlling the lights in the conference rooms and tells it to turn them off. That’s complex work. And, the Mycroft developers just open sourced the biggest and most powerful piece of their software."
Wingo: Unboxing in Guile
Here is a long and detailed post from Andy Wingo on how he improved numerical performance in the Guile language by carefully removing runtime type information ("unboxing"). "If Guile did native compilation, it would always be a win to unbox any integer operation, if only because you would avoid polymorphism or any other potential side exit. For bignums that are within the unboxable range, the considerations are similar to the floating-point case: allocation costs dominate, so unboxing is almost always a win, provided that you avoid double-boxing. Eliminating one allocation can pay off a lot of instruction dispatch."
Page editor: Nathan Willis
Next page:
Announcements>>
