Perfectly Formed Snaps Challenge

by Alan Pope on 18 July 2018

Summer is here (sorry Southern hemisphere), and with the World Cup and Wimbledon over, it’s time for a new challenge!

Background

Snaps are universal Linux software packages. That means they can work anywhere, and contain anything. Whether you’re a Pythonista, a Golang developer or if C++ is your bag, Snapcraft can package your software as a snap.

Recently we’ve seen leading developers such as Spotify, Microsoft and Slack deliver their flagship applications on Linux as snaps. These snaps ship with all necessary libraries and assets required to run on any modern Linux distribution.

Small-Scale Snaps

Snaps are perfect for the smaller things in life too. Looking away from the graphical flagship apps, the snap store hosts lightweight server daemons, command line utilities, developer tools and even tiny games.

Recently, a couple of petite snaps were published in the store. Sparky is a simple game played in a terminal, and a modest 32KB on disk. Bash-Shell-RPG is similarly diminutive at only 8KB. Neither contain an excess of additional libraries, just the absolute minimum needed to function everywhere.

The Challenge

This got us wondering just how much it’s possible to pack in a snap, so we kicked off a challenge over on the snapcraft forums. Create as small a snap as possible, containing something fun, functional or interesting. Preferably something new that you’ve created. We all know the demo scene are able to code amazing things in small spaces, but we’re not looking to snap all of pouet.net. Also, we’re not after a hundred more ‘hello world’ apps. We’re sure you can come up with something more compelling.

The goal of the challenge is to get new, interesting and fun things available to Linux users as snaps, but in the smallest, tightest package possible. It could be a script or handy utility you’ve developed, or a fully-fledged application. There’s no hard size limit or requirements, but consider a 1.44MB floppy disk as a soft size guideline. Go larger or smaller though, it’s up to you.

For those who haven’t created snaps before, we recommend consulting the documentation. Perhaps take a look at the snapcraft.yaml for Sparky and Bash-Shell-RPG to get an idea for how simple they can be.

If you’re a developer and have some time over the summer, we’d love to see what you come up with There’s no prize other than your sense of achievement and the wonder from your peers!

Build your snap, register an account in the store, publish your snap, and share your creation on the forum.

Lacking inspiration? Take a look through the expansive snapcraft wishlist to see what other users are asking for!

We’re looking forward to seeing what pocket-sized snaps you come up with!

Newsletter Signup

Related posts

8 Ways Snaps are Different

Depending on the audience, the discussion of software packaging elicits very different responses. Users generally don’t care how software is packaged, so long as it works. Developers typically want software packaging as a task to not burden them and just magically happen. Snaps aren’t magic, but aim to achieve both ease of maintenance and […]

Julia and Jeff discover the ease of snaps at the Snapcraft Summit

Julia is an open source, high-level, general-purpose, dynamic programming language designed for numerical analysis and computational science, launched in 2012. It solves the “two language” problem: developers can use Julia for both computational and interactive work, instead of needing to work with two different languages which can often […]