Skip to main content

Blog posts tagged "snapcraft"

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

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

The Future of Snapcraft

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, things are more complex

Ubuntu Frame – A picture is worth a thousand snaps

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 hands-on devices like

Craft Parts – Reusable code, Snapcraft style

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 particular, the sn

Snapcraft offline mode – Build snaps while saving data

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

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

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 an experimental feat

How to make snaps faster

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 journey. If you’re

Snapcraft 6.0 is around the corner

A good sign of maturity and confidence in software is when said software utilizes its own components for future development and enablement. Snapcraft is a command-line utility that allows developers to package and distribute their applications as snaps. But Snapcraft itself is also distributed as a snap, and built in the same manner! Toda

Snap usage metrics now available on the command line

For years now, developers and publishers could view how well their snaps are performing in terms of usage and popularity through the Snap Store Web interface, using the metrics tab. This functionality allows people to examine the cause and effect of their work, like software updates, marketing campaigns, or other events. But it requires m

Snapcraft for Windows – Preview

Two weeks ago, Snapcraft reached its fifth milestone release, 5.0. This version brings in a number of significant changes, including the removal of the base (core) snap, which has been relegated to the 4.X channel track. For snap developers, especially those working in mixed environments, the availability of the first preview release of S

The snap developer’s guide on how to migrate to new bases

A couple of weeks ago, we published an article about Ubuntu 16.04 entering Extended Security Maintenance (ESM), and the implications of this change for snap publishers. We talked about the different options available to developers and publishers who still may rely on the older bases in their build process – free Ubuntu Advantage (UA) toke

Better snap metadata handling coming your way soon

Open the Snap Store, click on any application you like – you will now see a page full of useful tidbits – screenshots and videos, application description, last update, license, contact data, and other information. The data shown here is often the first impression the user gets about the software, and can be a deciding

How does Ubuntu 16.04 entering Extended Security Maintenance (ESM) affect snap publishers?

At the end of April, Ubuntu 16.04 LTS will reach the end of its five years of mainstream support and enter the Extended Security Maintenance (ESM) phase. If you’re a snap developer, and you have built or based your snaps on Ubuntu 16.04 (Xenial) packages and libraries, you may want to know how this milestone

All About That Base

Snapcraft is our delightful tool for building snaps. It’s not the only way to build them, but it’s certainly a popular one.  A benefit of Snapcraft is that typically a developer can configure the packaging definition once, and not have to update it for a long time. Snapcraft will keep cranking out releases, via CI

Honey, I Shrunk the Snap!

The year is 1989. I bought a computer game called F-16: Combat Pilot, a flight simulator featuring free-flight, five types of single-player missions, a full campaign mode, serial-port multiplayer, and then some. Gloriously wrapped in four colors and magnetized on two single-density 5.25-inch floppy disks. Total size: 680 KB. Nowadays, it

Want to publish a snap? Here’s a list of dos and don’ts

Technology is a medium that enables us to achieve things in life, ideally in a pleasant way. In the software world, operating systems, programming languages and application frameworks are the tools of the trade. But you need the right tool for the right job. If you’re thinking about writing or porting your code to snaps,