31 August 2024 to 2 September 2024
JECRC Foundation
Asia/Kolkata timezone

Your app everywhere - Just in a Snap! - Interactive Workshop

1 Sept 2024, 14:45
1h 30m
Room 2 (JECRC Foundation)

Room 2

JECRC Foundation

Shri Ram ki Nangal, via Sitapura RIICO Tonk Road, Jaipur, Rajasthan 302 022 India
Workshop Desktop and WSL

Speaker

Till Kamppeter
OpenPrinting/Canonical

Description

Have you already thought about how the applications you develop get distributed to end users?

Often developers only provide the source code. So for not so tech-savvy users the major distributions need to pick up projects and package it, and maintain it for new releases.

This is why there is a need for distribution-independent, secure, and easy-to-use packaging, like on smartphones. This exists also for Linux ... Among the options, there is Snap! Applications are easy to find in the Snap Store and they are installable on most Linux distributions.

More about Snap: The Powers, The People

https://snapcraft.io/

In this workshop we introduce you to the Snap packaging format and guide you on how to create your first Snap. Hands-on exercises are done with 3 simple GTK/GNOME applications.

So if you are creator/developer/maintainer of an application and want to reach a wider audience with it, make it easier to install for end users, you will learn what you need to do to get your work ready for the Snap Store here.

Even if your application is not a desktop application, command line applications, system applications and daemons, ... could be packaged as Snaps, too.

Also if you want to help snapping applications whose upstream developers do not have snapped them, you should also attend and join the Snapcrafters.

What audience can learn

Here the audience will learn and practice hands-on how to package applications as Snaps.

A Snap package is defined by a single instruction file, snapcraft.yaml with meta data, apps which can be called by the user or the system, interfaces with which the apps communicate with the outside world, components and how to build and install them into the Snap's immutable file system image, ...

Each section of snapcraft.yaml gets introduced to get a simple desktop app into a Snap.

Advanced concepts about providing commonly used libraries from an auxiliary Snap ("content provider"), compiling source code, telling the app to use the directories inside the sandbox, applying patches, are also treated.

In the end the attendees have snapped 3 simple GNOME/GTK applications and so have a good base to snap their own app.

Things to know or prepare for this session

What you need to know
* Basic knowledge about compiling/installing programs under Linux
* No knowledge about programming or packaging needed!

What you need to prepare
This is an interactive workshop where you will do hands-on exercises. As our time is limited, it is important that you have already installed the needed software tools beforehand.

You need to be able to run snapcraft on your laptop, ideally you have Ubuntu 22.04 or later installed, or you download the virtual machine image linked below. Download the slides and see the "Setup" section of them for details. There is also a virtual machine image available in case you are not able to run snapcraft on your operating system.

Biography

Till is leader of OpenPrinting since it was founded in 2001, introduced the CUPS printing system in Mandrake Linux in 2000 working at MandrakeSoft and with this and a lot of evangelism (booths, talks, workshops) made the other distros also switch to CUPS, since 2006 printing maintainer at Canonical, co-organizing annual meetings with the Printer Working Group (PWG), since 2008 every year mentoring in Google Summer of Code, doing everything to make printing on Linux and alike operating systems "just work". Due to the fact that printing goes through several daemons (CUPS, Printer Applications) got a daemon snapper and Snap enthusiast and evangelist. Till is also fellow of the Linux Foundation.

Summary

Interactive workshop to learn how to package applications in the sandboxed, immutable package format Snap to publish them in the Snap Store. Attendees will create simple Snaps in several hands-on exercises.

Difficulty level Intermediate

Presentation materials