Igor Ljubuncic

Igor Ljubuncic

113 posts


Igor Ljubuncic
17 May 2022

Snapping PhotoNoteBook: Lessons from the kitchen table, or: How an Android app got converted to a Linux snap

Article Ubuntu

This article was written by Alan Watson, with only small cosmetic changes from me. Having stumbled upon PhotoNoteBook, I asked Alan to write a guest blog post and share his project with the wider snap developer community. ===== The idea for PhotoNoteBook was seeded in 2018 after watching a Double-Glazing salesman...

Igor Ljubuncic
17 May 2022


Igor Ljubuncic
6 May 2022

Linux Application Summit 2022 – And there we were all in one place …

Article Ubuntu

In the last two days of April, the small, picturesque town of Rovereto in northern Italy was the location of this year’s Linux Application Summit (LAS). After a virtual-only experience during the pandemic, the LAS returned with a physical presence, and so did we. Canonical has long recognized the value and importance of LAS as

Igor Ljubuncic
6 May 2022


Igor Ljubuncic
14 April 2022

Private shared memory support for snaps

Article Ubuntu

At first glance, the title of this article may sound like an oxymoron. However, what it highlights is the introduction of a rather useful feature that will enable a far more robust and elegant handling of the /dev/shm implementation inside the snap sandbox. This will make snap development easier, more secure, and reduce...

Igor Ljubuncic
14 April 2022


Igor Ljubuncic
17 March 2022

KDE snaps performance revving up

Article Ubuntu

Speed, or rather, responsiveness is an essential part of the software usage experience. This applies to every technology and domain, snaps included. Indeed, when it comes to snaps, the equation is a bit more complicated and slightly less straightforward because snaps are packaged as compressed, standalone applications...

Igor Ljubuncic
17 March 2022


Igor Ljubuncic
25 February 2022

Three ways to package your Electron apps as snaps

Article Ubuntu

Software comes in many shapes and forms. One of the popular cross-platform, cross-architecture frameworks for building and distributing applications in Electron, which combines the Chromium rendering engine and the Node.js runtime. This makes Electron-based applications relatively easy to create. If you want to deploy...

Igor Ljubuncic
25 February 2022


Igor Ljubuncic
8 February 2022

How Snapcraft helps developers map out their application dependencies and efficiently build snaps

Article Ubuntu

One of the core concepts of snaps is cross-distro compatibility. Developers can build their snaps once, and they should run well on more than 40 different Linux distros. But how does one take care of all the required runtime dependencies? By providing them inside the snap, as part of the bundle. In the snap ecosystem,

Igor Ljubuncic
8 February 2022


Igor Ljubuncic
21 January 2022

Let’s build a snap together – a complex snapcraft.yaml walkthrough

Article Ubuntu

It has been a while since we talked about how to build snaps. In the past, we went through a number of detailed examples, focused on different programming languages and the use of various useful components that can be declared in snapcraft.yaml, like extensions, stage packages, layouts, and more. Today, we want to give you

Igor Ljubuncic
21 January 2022


Igor Ljubuncic
7 January 2022

The Future of Snapcraft

Article Ubuntu

System hysteresis, when applied to software, can roughly be defined as an overall lag between desired implementation of code and actual implementation of said code. Ideally, this delay should be minimal, and programmers would be able to make instantaneous changes and improvements to their applications. In reality,...

Igor Ljubuncic
7 January 2022


Igor Ljubuncic
17 December 2021

Snapcrafters – One for all, all for one

Article Ubuntu

In mid-2017, a small group of techies banded together and formed a team that would specialize in creating community-supported snaps of applications for which there was or would be no upstream support. This team called itself: Snapcrafters. Over time, it slowly, gradually grew, attracting more people and bringing yet...

Igor Ljubuncic
17 December 2021


Igor Ljubuncic
3 December 2021

Ubuntu Frame – A picture is worth a thousand snaps

Article Internet of Things

The development of graphical applications intended for use on IoT devices isn’t trivial. The complexity goes beyond the usual challenges that exist in the classic desktop and server domains. One, the IoT world is much less mature. Two, developers need to take into consideration various edge cases that do not apply to...

Igor Ljubuncic
3 December 2021


Igor Ljubuncic
26 November 2021

Craft Parts – Reusable code, Snapcraft style

Article Ubuntu

Throughout the ages, humans have always used simpler tools and materials to create more complex ones. Wood and stone for smelting bronze and iron; iron to create steel; vacuum tubes to create logical gates; logical gates to create advanced arithmetic engines, and so on. Modern software is no different. With Snapcraft in...

Igor Ljubuncic
26 November 2021


Igor Ljubuncic
12 November 2021

Snapcraft offline mode – Build snaps while saving data

Article Ubuntu

As part of the snap creation cycle, the Snapcraft tool creates isolated build instances inside which all of the necessary work – download of sources, compilation, packaging, etc. – is done in a safe manner, without touching the host system. While there are many advantages to the use of the virtual machines (via Multipass) or

Igor Ljubuncic
12 November 2021


Igor Ljubuncic
20 October 2021

Snapcraft experimental login – new, secure Web-based authentication method

Article Ubuntu

Some Snapcraft operations mandate that users identify themselves. For example, if you want to push your snap to the Snap Store, you need to login on the command line. The process relies on the internal login mechanism built into Snapcraft. A preview functionality for a new Web-based authentication flow is available as...

Igor Ljubuncic
20 October 2021


Igor Ljubuncic
8 October 2021

How to make snaps faster

Article Ubuntu

A great user experience is (or at least, should be) an integral part of any software that involves user interaction. On the desktop, this starts with the application launch, and continues through the session. The overall time to completion of tasks as well as interactive responsiveness are a core element in this...

Igor Ljubuncic
8 October 2021