phone

    • chevron_right

      Ross Burton: Building a big-endian Arm system in Yocto

      news.movim.eu / PlanetGnome · Monday, 6 March, 2023 - 15:24 · 1 minute

    For reasons I won't bore anyone with I needed to build a 32-bit big-endian system with the Yocto Project to test a package, and I thought I'd write the steps down in case I ever need to do it again (or, even more unlikely, someone else needs to do it).

    For unsurprising reasons I thought I'd do a big-endian Arm build. So we start by picking the qemuarm machine, which is a Armv7-A processor (Cortex-A15, specifically) in little-endian mode by default.

    MACHINE = "qemuarm"
    

    qemumarm.conf requires tune-cortexa15.inc which then requires arch-armv7ve.inc , and this file defines the base tunes. The default tune is armv7ve , we can make it big-endian by simply adding a b :

    DEFAULTTUNE:qemuarm = "armv7veb"
    

    And now we just build an image:

    $ MACHINE=qemuarm bitbake core-image-minimal
    ...
    Summary: 4 tasks failed:
      .../poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb:do_package_qa
      .../poky/meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb:do_configure
      .../poky/meta/recipes-core/glib-2.0/glib-2.0_2.74.5.bb:do_configure
      .../poky/meta/recipes-graphics/wayland/wayland_1.21.0.bb:do_configure
    

    Or not.

    There are two failure cases here. First, the kernel:

    ERROR: linux-yocto-6.1.9+gitAUTOINC+d7393c5752_ccd3b20fb5-r0 do_package_qa: QA Issue: Endiannes did not match (1, expected 0) in /lib/modules/6.1.9-yocto-standard/kernel/net/ipv4/ah4.ko [arch]
    

    It turns out the kernel needs to be configured specifically to be big or little endian, and the default configuration is, predictably, little endian. There is a bug open to make this automatic, but big-endian really is dead because it has been open since 2016. The solution is a quick kernel configuration fragment added to the kernel's SRC_URI :

    CONFIG_CPU_BIG_ENDIAN=y
    CONFIG_CPU_LITTLE_ENDIAN=n
    

    With this, the kernel builds as expected. The second set of failures are all from Meson, failing to execute a target binary:

    ../xorgproto-2022.2/meson.build:22:0: ERROR: Executables created by c compiler armeb-poky-linux-gnueabi-gcc [...] are not runnable.
    

    Meson is trying to run the target binaries in a qemu-user that we set up, but the problem here is to save build time we only build the qemu targets that are typically used. This doesn't include usermode big-endian 32-bit Arm, so this target needs enabling:

    QEMU_TARGETS:append = " armeb"
    

    Now the image builds successfully, and we discover that indeed gdbm refuses to open a database which was generated on a system with a different endian.

    • wifi_tethering open_in_new

      This post is public

      www.burtonini.com /blog/2023/03/06/big-endian/

    • chevron_right

      Adrien Plazas: David Revoy (Comic Artist): “At First, Publishing Under a Free License Scared Me”

      news.movim.eu / PlanetGnome · Sunday, 5 March, 2023 - 23:00 · 8 minutes

    In this article I use the words “librism” and “librist” as direct borrows from the French “librisme” and “libriste”. You can define librism as a conjunction of the free software and free culture movements. I prefer to define it as the fringe of the anticapitalist struggles that strives to destroy intellectual property by creating new intangible commons and protecting them.

    The following is a translation of an interview published in the February 2023 issue of Alternative Libertaire . I conducted this interview with the goal of offering to its readers a glimpse of what the free culture movement is. The magazine doesn’t target free software or free culture enthusiasts, and its printed edition constrains the size of its content. Please excuse the resulting briefness and simplifications.

    Thanks to Nina for proofreading the translation.

    Making comics, deciding to give up copyright and hoping to make a living from them in capitalist lands, what an idea! Yet that’s what the comic artist and librist activist David Revoy decided to do. Here’s a look at his unusual journey into the commons.

    Alternative Libertaire: Hi David, your main work follows the adventures of the young witch Pepper and her cat Carrot, and you distribute your works under free licenses. What led you to make your work part of the commons?

    David Revoy : At first, I was afraid of free licenses, I was afraid that one of my characters would be copied, that my style would be imitated, that I would have no control over it.

    In the years 2009–2010, I worked for the Blender Foundation, the Creative Commons was mandatory and under their wing, it reassured me. I made concept-arts and it went well, I saw beautiful derivations, fan-arts and I didn’t see any unpleasant derivation, it reassured me a lot. I even saw the beneficial effects on propagation, audience and interest. There was an added value, it became a common good, a sandbox that other creators could use.

    When I did my own comic book project, Pepper & Carrot , the commons imposed itslef to me as evident.

    david-revoy-photo.jpg

    David Revoy is a French comic book author, publishing all its work under a free license

    A community collaborates in the creation of you universes, how is it integrated into the creative process?

    It’s not completely integrated, I’m using a software forge to create my collaborative space which is abused as a forum, and we have an instant messenging tool on the side. I made a special scenario forge, where people can publish their Pepper & Carrot scenarios under a free license, to check if it can inspire me to make an episode. But you can’t improvise yourself a scenarist, and I have a lot of scripts that start out with very good ideas but fail to come up with a ending or a plot-twist. So there’s a lot of fragments of ideas that I sometimes pick up, some published episodes are inspired by things that have been suggested to me.

    What really happens in terms of collaboration is feedback. I share my story-board and the community will show me things that could be avoided, like a proofreading before publication. For example, two panels didn’t flow well and we couldn’t understand why the character comes from the right and then from the left, or why there was a bubble that said that at this particular moment. It allows me to anticipate these questions and to know if they are desired or if it is uncontrolled, if something is not understandable.

    After that, the collaborative space is mostly around translation, there are now sixty languages and about a hundred people gravitating around the project, around twenty of which are active.

    How do you manage to make a living from your art while giving up on the usual models?

    Since all my work is under a free license and accessible without any pay wall, to make an economic model around it, there are not 3 000 solutions, there is only donation, voluntary patronage of the readers. Only a small percentage of the readership will contribute to the author’s livelihood by making a donation for the next episode that I publish every two months.

    david-revoy-site.jpg

    Home page of www.peppercarrot.com

    When I made Pepper & Carrot in 2014, asking money like that was really frowned upon, for web-comics it was donations on Paypal and e-shops , one-time donations, but not recurring donations. Now it’s much more commonplace and almost every starting artist has a system for recurring donations, this system has spread a lot.

    Since 2016, Pepper & Carrot is published by Glénat in print edition. Did you approach them or did they come to you after the online success of Pepper & Carrot?

    Glénat clearly came to me after the online success of the comic, the publishing house was looking for web-comics authors and they contacted me to edit Pepper & Carrot . I was offered the classic contract following their process, with the standard contract from their legal department. They are the ones who have leverage on the author; unless you already make a lot of sales, when you are a very small author, you don’t tend to negotiate too much.

    Except I told them that this would not be the concept at all, that there was the free tool, the free culture, and that I had no interest in the exclusivity system. They were convinced by the unusual concept that now serves as an experiment. We just signed the Creative Commons together. It bothered the legal department a bit because it’s not their usual process and they know that a competing publisher like Delcourt could publish Pepper & Carrot , it would be completely legal.

    Glénat pays me when I release a new comic, as patronage, and I have no copyright on the books. When I do signings, whether I sell a million copies or zero, I don’t make any money, but I help Glénat to help me in return. Besides, I love signing books and I can’t sign web-comics , there’s a kind of synergy, we have a relationship based on trust.

    Last October, you shared your irritation when you discovered the Bulgarian edition removed a lesbian relationship from the story . If the license gives them this right, how do you reconcile the desire to create commons and to preserve your story?

    We had a full range of legal resources at our disposal, the Creative Commons doesn’t remove moral right, so if this edition put a red cross on the lesbian kiss panel, it would have been an opinion expressed to say “this is bad” and there I could have expressed my moral right and sued over it, because it is not what I want to express as an author. The fact that it removes the panel from the story doesn’t mean that the author is against it, because it doesn’t take anything away from the story. There’s an omission because the editor didn’t want to be persona non grata in the media for defending an opinion too progressive for his country.

    I couldn’t use my moral rights on it, it’s annoying but there was a movement of readers who organized themselves to print the panel and glue it back into their album, it became a sign of militancy to patch the printed book.

    You also promote the freely licensed tools you use, like the Krita drawing software. What do you gain by using these instead of proprietary tools like Photoshop?

    Mostly freedom. Not the freedom to not pay because I have a support subscription on Krita equal to what Photoshop costs, but I can install it on as many machines as I want, use it in a computer room, and tell everyone “we’re doing a Krita workshop, install it”.

    I’ve been helping the Krita project since 2010 by giving feedback, and I had a lot of adjustments made for my needs. Krita has become tailored to my drawing technique, I have all my reflexes catered for, it is the ultimate comfort. Secondly, I’m sure there is no telemetry. I can’t read Krita’s code, but I know that there’s a whole community who does and can assure me that at no moment in time there can be a line of code able to find out which documents I’m using, what tablet, how much time I’m spending on my drawing. It guarantees my privacy and ensures that I don’t have any ad.

    david-revoy-bd.jpg

    Illustration taken from the 37th episode of “Pepper & Carrot” , David Revoy, 2022

    If tomorrow Adobe is bought by a billionaire, people who use Photoshop have no recourse. On Krita, there’s the Krita Foundation that develops it, but if they stop, its free license requires that the code has to be published somewhere and accessible. There will certainly be another group, or even myself, who will continue to build Krita and use it. This ensures that I can still benefit from my level and practice of drawing in the years to come, a guarantee that a Photoshp user would never get.

    You also participate in the promotion of free software and free culture by illustrating many Framasoft campaigns. What political significance do you see in librism?

    I see it as an online sandbox where you can try your hand at collaboration. You can try out a pyramidal structure with a leader, or a horizontal structure with each person being here on their own initiative, wanting to develop the project and to know how it works. I think this sandbox will allow us to develop reflexes of appreciation for certain models that will make us adopt certain policies instead retrospectively .

    I don’t really believe in someone who will come up with a ready-made policy. School is not made like that, hobbies in France are not made like that, we always have a master on a podium, and now, all of a sudden, we’re going to be able to really have a space for experimentation of what collaboration is. I’ve already seen in librist festivals, when you have to pack up, how people organize themselves. That’s where free software has a great political force: to train people to collaborate.

    • wifi_tethering open_in_new

      This post is public

      adrienplazas.com /blog/2023/03/06/david-revoy-comic-artist-at-first-publishing-under-a-free-license-scared-me.html

    • chevron_right

      Jussi Pakkanen: The code functionality tipping point

      news.movim.eu / PlanetGnome · Sunday, 5 March, 2023 - 15:59

    Software development is weirdly nonlinear. When you start working on a new project at first it does not really do much. Adding more and more code does not seem to help. The "end user visible" functionality is pretty poor and it does not seem to get visibly better. You can do something, but nothing that would be actually useful.

    This goes on for some amount of time that can't be predicted.

    And then, unexpectedly, the pieces come together and useful functionality jumps from "almost nothing" to "quite a lot, actually".

    Case in point. Up until yesterday a4pdf was pretty much useless. But today you can take this piece of Python code:

    to produce a PDF that looks like this:


    • wifi_tethering open_in_new

      This post is public

      nibblestew.blogspot.com /2023/03/the-code-functionality-tipping-point.html

    • chevron_right

      Felix Häcker: #85 Preferred Installations

      news.movim.eu / PlanetGnome · Friday, 3 March, 2023 - 00:00 · 5 minutes

    Update on what happened across the GNOME project in the week from February 24 to March 03.

    GNOME Development Tools

    GNOME Builder

    IDE for writing GNOME-based software.

    hergertme reports

    Builder now allows you to choose a preferred Flatpak installation to use when installing new SDKs and SDK extensions. That Flatpak installation must include a remote providing the necessary FlatpakRef to be used.

    GNOME Circle Apps and Libraries

    Plum Nutty (she/they) says

    Chess Clock added support for the Bronstein delay and simple delay timing methods. These methods prevent a player’s time from increasing by playing fast moves, as is possible with increment time control.

    Sophie 🏳️‍🌈 🏳️‍⚧️ ✊ reports

    This week, Elastic joined GNOME Circle. Elastic allows you to design spring animations. Congratulations!

    Third Party Projects

    nxyz reports

    This week I released Conjure , a simple gtk4/libadwaita app that allows you to manipulate images with various transform & filter operations. Manipulation is done with the popular image processing library, ImageMagick with python bindings from Wand .

    gh repo: https://github.com/nate-xyz/conjure Flathub page: https://beta.flathub.org/apps/io.github.nate_xyz.Conjure

    angeloverlain announces

    Hello everyone! This week, Sticky Notes was released. It’s a simple libadwaita app that allows you to quickly jote down ideas in notes. Notes contain text with some formatting (bold, italic, underline and strikethrough) and every note can be assigned one of 8 pastel colors to categorize notes. You can get it from Flathub

    abb128 says

    Since my last post, I’ve updated Live Captions with a few new features:

    • The window can now automatically be kept on top on X11, or on Wayland if you have the GNOME Extension or KWin script
    • Support for lower-end hardware (at potentially reduced accuracy)
    • New history window and history export

    Download Live Captions from FlatHub if you’re interested in trying it out!

    I’ve also been working on improving the april-asr library so hopefully more open-source apps can make use of live speech recognition. There are now C# and Python bindings available. I’m not calling them stable yet, but they should be usable. Open an issue if you have any problems or suggestions!

    Tube Converter

    An easy-to-use video downloader (yt-dlp frontend).

    Nick announces

    Tube Converter V2023.3.0-beta1 is here! This is the first beta featuring the new C# rewrite. It continues to use yt-dlp and ffmpeg in its backend, however, the application now has a much more stable and cleaner architecture, allowing for faster downloads and fewer crashes. The C# rewrite also makes Tube Converter available for Windows! This work couldn’t have been possible without the help of @fsobolev and @DaPigGuy ❤️

    Here’s the changelog:

    • Tube Converter has been rewritten in C#. With the C# rewrite, Tube Converter is now available on Windows!
    • Added download progress/speed indicators
    • Replaced the View Log button with an Open Save Folder button on successful download and a Retry Download button on error
    • Redesigned download rows to better fit small screens/mobile devices
    • Fixed UI freeze while downloads in progress

    The beta is available on flathub-beta :

    flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
    flatpak install flathub-beta org.nickvision.tubeconverter
    flatpak run org.nickvision.tubeconverter//beta
    

    For translators: Please update all translations on Weblate before Friday, March 3 2023, to be included in the stable release.

    Phosh

    A pure wayland shell for mobile devices.

    Guido says

    This week we released phosh 0.25.0 featuring a new plugin to configure the emergency preferences as shown on the lock screen by Chris Talbot and a style refresh updating the settings menu by Sam Hewitt:

    Denaro

    A personal finance manager.

    Nick says

    Denaro V2023.2.2 is here! This release includes many UI tweaks and improvements as we gear up for joining The Circle ;)

    Here’s the full changelog:

    • New and improved icon (Thanks @bertob)!
    • Various UX improvements
    • Updated and added translations (Thanks to everyone on Weblate)!

    Shell Extensions

    Just Perfection says

    The port guide for GNOME Shell 44 extensions is ready: https://gjs.guide/extensions/upgrading/gnome-shell-44.html If you need any help porting your extensions to GNOME Shell 44, please ask us on GNOME Matrix Channel

    Cleo Menezes Jr. announces

    Weather O’Clock and Auto Activities extensions received support for GNOME Shell 44. Along with their respective releases, there were also some visual refinements and bug fixes.

    Miscellaneous

    barthalion announces

    While my job title proudly says “DevOps Engineer”, it really means I’m doing a little bit of everything everywhere. This week has been almost entirely wasted on playing the cat & mouse game with a spammer attacking gitlab.gnome.org. As the part of remediation steps, I ended up disabling external authentication providers like Google, limiting the possibility to create or fork repositories without SSH key configured, and applied on the behalf of GNOME Foundation for Akismet enterprise plan for better spam detection. I have also started banning such abusive accounts instead of outright removing them, and currently the situation seems to be under control.

    GNOME has been accepted to the Fast Forward program by Fastly . Infrastructure changes are not live yet, but we will finally have proper zero downtime upgrades of the underlying servers, as we will no longer rely on DNS-based round-robin traffic distribution, and gain the support for IPv6, including Flathub’s website.

    Over at Flathub, we’re tying various loose ends related to the upcoming beta version launch. I don’t want to spoil too much as we’re closer to the finish line than we’ve ever been since the first commit 2 years ago, but you can already poke around at beta.flathub.org to see what’s coming.

    Hemish 🇮🇳🏳️‍🌈 announces

    New interface translations for Hindi language have been done for GNOME Characters, GNOME Calendar, GNOME Clocks, GNOME Weather, Console, Calls, GNOME Initial Setup, GNOME Tour, GNOME Display Manager (GDM), Sound Recorder, libshumate, gnome-bluetooth, xdg-desktop-portal-gnome, libadwaita, Dialect and Solanum. (Translations did not exist for these software)

    GNOME Shell and Yelp got a lot of previous translations corrected, and new translations added after accumulation of new strings due to being inactive for past 8-9 years. GNOME Shell and Yelp are fully translated now.

    All these translation works are making their way into GNOME 44 release.

    GNOME Foundation

    Sonny announces

    GNOME Foundation has been accepted as a GSoC 2023 mentoring org!

    We are glad to announce that once again the GNOME Foundation will be part of Google Summer of Code . We are interested in onboarding new contributors that are passionate about GNOME and motivated to become long term GNOME developers!

    Thank you Felipe Borges for organizing!

    That’s all for this week!

    See you next week, and be sure to stop by #thisweek:gnome.org with updates on your own projects!

    • chevron_right

      Michael Meeks: 2023-03-02 Thursday

      news.movim.eu / PlanetGnome · Thursday, 2 March, 2023 - 09:57

    • Mail chew, thrilled to see our work with Nextcloud and Deutsche Telekom around their great MagentaCLOUD announced . This brings Collabora Online (and LibreOffice technology ) to another large group of users, and lets us continue to invest to improve both COOL and the underlying LibreOffice technology for everyone; more in Steven's article .
    • Also really pleased (something of a news roundup today) to see the EDPS piloting Collabora Online too with Nextcloud. FLOSS solutions that give you back your Digital Sovereignty: full control over your data, software, and IT stack are here.
    • wifi_tethering open_in_new

      This post is public

      meeksfamily.uk /~michael/blog/2023-03-02.html

    • chevron_right

      Michael Meeks: 2023-03-01 Wednesday

      news.movim.eu / PlanetGnome · Wednesday, 1 March, 2023 - 21:00

    • Chat with Stelios, sales planning call; caught up with William, lunch. Partner call, introducing Anna, more calling action with William.
    • wifi_tethering open_in_new

      This post is public

      meeksfamily.uk /~michael/blog/2023-03-01.html

    • chevron_right

      Jussi Pakkanen: Unit testing PDF generation

      news.movim.eu / PlanetGnome · Monday, 27 February, 2023 - 16:58 · 2 minutes

    How would you test PDF generation?

    This turns out to be unexpectedly difficult because you need to check that the files are both syntactically and semantically valid. The former could be tested with existing PDF validators and converters but the latter is more difficult.

    If you, say, try to render a red square, the end result should be that the PDF command stream has two commands, a re command and an f command. That could be verified simply by grepping the command stream with some regexps. It would not be very useful, though, as there is no guarantee that those commands actually produce a red square in the output document. There are dozens of ways to make the output stream not produce a red square in the intended location without breaking file "validity" in any way.

    What even is the truth?

    The only reliable way is to render the PDF file into an image and compare it to a ground truth image. Assuming the output is "close enough" then the generator can be said to have worked correctly. The problem, as is often the case, lies inside those quote marks. Fuzzy image equality is a difficult problem. Those interested in details can look it up online. For our case we'll just ignore it and require pixel perfect reproduction. This means that we can have test failures if we change the PDF rendering backend, run it on a different operating system or even just upgrade it to a new version.

    The other problem comes from the desire to have a plain C API. Writing unit tests in C is cumbersome to say the least. Fortunately there is a simpler solution. Since the project ships its own Python bindings, we can write all of these tests using Python. This affords us all the niceties that exist in Python such as an extensive unit testing suite, the ability to easily spawn external processes and image difference operators (via PIL). After some boilerplate, writing an unit tests reduces to this:

    @validate_image('python_simple', 480, 640)
    def test_simple(self, ofilename):
    ofile = pathlib.Path(ofilename)
    with a4pdf.Generator(ofile) as g:
    with g.page_draw_context() as ctx:
    ctx.set_rgb_nonstroke(1.0, 0.0, 0.0)
    ctx.cmd_re(10, 10, 100, 100)
    ctx.cmd_f()

    Behind the scenes this will generate the PDF, render it with Ghostscript and compare the result to an existing image. If the output is not bitwise identical the test fails.

    Get the code

    The project is now available here .
    • chevron_right

      Felipe Borges: GSoC 2023: GNOME Foundation has been accepted as a mentoring org!

      news.movim.eu / PlanetGnome · Monday, 27 February, 2023 - 15:25 · 2 minutes

    We are glad to announce that once again the GNOME Foundation will be part of Google Summer of Code . We are interested in onboarding new contributors that are passionate about GNOME and motivated to become long term GNOME developers!

    @Contributors interested in participating in GSoC with GNOME should visit https://gsoc.gnome.org for more information.

    @Mentors interested in mentoring projects this year should file a gitlab issue in Teams / Engagement / Internship Project Ideas · GitLab 2

    Project ideas

    Our ideas list is available in GNOME + GSoC | 2023 Project Ideas 2 and is the result of the discussions in Teams / Engagement / Internship Project Ideas · GitLab 2 .

    You can still submit project ideas until March 19th, when GSoC applicants are expected to submit their final proposals.

    Important upcoming dates:

    • Now – March 19: Proactive GSoC contributors will reach out asking questions about your ideas list and receive feedback from us so they can start crafting their project proposals.

      @Contributors make sure you research enough about the project and work towards making a small contribution. You should consider the proposals available in GNOME + GSoC | 2023 Project Ideas or propose your own project ideas as soon as possible in Teams / Engagement / Internship Project Ideas · GitLab 2
      Make sure you approach potential mentors to move your idea towards an internship.

      @Mentors , point contributors to gsoc.gnome.org for more information and be patient with their questions. Contributors are open to suggest new project proposals and you should indicate whether you’d be interested in mentoring those proposals and help them compose a project proposal that is realistic and benefits the project.

    • March 20 – April 4 18:00 UTC : GSoC contributors will submit their proposals through the program website.
    • April 4 – 26: We (admins and mentors) will review all submitted GSoC Contributor proposals and consider how many we want to select (based on how many committed mentors we have available). Admins and mentors will rank the contribution proposals.
    • April 27 18:00 UTC : Deadline to submit ranked slot requests (Org Admins enter requests)
    • April 27 – May 2: Google Program Admins review and assign org slots
    • May 3: Organizations receive notification of their accepted GSoC 2023 Contributors
    • May 4 : Accepted GSoC 2023 GSoC Contributor projects are announced
    • May 4 – 28: Community Bonding Period
    • May 27 : Deadline to notify Google Admins of an inactive GSoC Contributor that you wish to remove from the program
    • May 29 : Coding begins

    For more information on the timeline, visit Google Summer of Code 2023 Timeline  |  Google Developers

    If you have any doubts or questions, please reply to this message on Discourse .

    • wifi_tethering open_in_new

      This post is public

      feborg.es /gsoc-2023-gnome-foundation-has-been-accepted-as-a-mentoring-org/

    • chevron_right

      Alexander Mikhaylenko: Introducing Elastic

      news.movim.eu / PlanetGnome · Friday, 24 February, 2023 - 12:44 · 2 minutes

    Elastic is a new spring animation editor app.

    Screenshot of Elastic

    Ever since 1.0, libadwaita has had spring animations . These animations aren’t controlled with a duration and an easing function, but instead with physical properties: damping ratio (or optionally damping), mass, stiffness and initial velocity, as well as epsilon. While this allows for a lot of control over the animation, it can be pretty hard to understand if you’re not familiar with physics involved, and to be truly useful it needs an editor.

    So, Elastic is that editor. It provides a way to tweak each parameter, explains what they do, allows to preview the animation in various ways, and generates the code to create that animation.

    Screenshot of the animation graph in Elastic

    Backstory

    This app has a pretty convoluted history.

    At one point of time, before 1.0, me and Tobias wanted to rework libadwaita demo and Tobias made new mockups for it. At about the same time, I was experimenting to see how feasible spring animations would be and needed some playground. Since it was understood that this will eventually be in libadwaita, Tobias made this design a part of the new demo:

    Spring animation demo mockups

    So I implemented it about as closely as I could at the time, but since then a few things happened:

    • We decided that the new demo was too design-focused to work well as, well, a demo (one of the purposes of which is using it as a test case for libadwaita itself). So, instead, we decided to make the new design a separate app called Patterns . That app is stalled for other reasons as it needs features that libadwaita doesn’t provide at the moment. Hopefully, next cycle we should have everything needed to finish it.
    • We decided that the spring animation page was too involved for a demo and was better off separately. So I split that code out and ported it to Vala instead of C.
    • As part of his GSoC project, Manuel Genovés implemented proper spring animations instead of a hacky prototype, and I ported the editor to that.

    And then… everyone kinda forgot about it – Patterns was still blocked on other things, Manuel implemented a simpler animation demo for libadwaita and this one was left out.

    Fast forward two years, Tobias was reviewing an app in Circle and needed a way to play with spring animations. We realized we never did anything with the editor, so I turned it into a proper app, fixed the remaining bugs and made it generate code instead of just previewing animations. We named it Spring Editor (imaginative, I know) and my impression was that design tools were covered by the new app inclusion process, so I submitted it to incubator.

    It turned out more complicated than expected, so I decided to ignore it and try and get it into GNOME Circle instead. So now the Spring Editor name is too generic, so the app got renamed again, this time to Elastic (thanks Christopher Davis for that name) and it’s on Flathub now.


    Anyway, the app is finally out, it’s on Flathub, so have fun. :)

    Download on Flathub

    • wifi_tethering open_in_new

      This post is public

      blogs.gnome.org /alexm/2023/02/24/introducing-elastic/