All posts by Bastian Ilso Hougaard

GNOME outreach flyer for local groups and events

One of my very early contributions to GNOME was a flyer. FOSDEM 2014 was one of the first conferences I attended and with me I had brought printouts of this flyer which we handed out to people from the GNOME stand.


That was 2 and a half year ago and the flyer has started to show its age. GNOME shell has received a lot of changes style-wise since then. We now have more well-defined brand colors and I learned a lot more about communication and visual design. So over the last three days I have worked out a new flyer.

gnome-flyerThe flyers as seen when printed (Image by Rares Visalom)

The flyer focus on presenting GNOME and our vision with the ultimate goal of reaching out to users and give them the initial motivation to participate in our awesome community.



In the first two sections I focused on communicating GNOME in a tangible way. This is important because I feel the other information (vision, community etc) requires that you know what the fundamentals of what GNOME is in order to have impact. Furthermore attention is put on the user-visible aspects of GNOME – the shell and our applications. Hopefully someone who picks up a flyer might already recognize a few of the application icons shown in there.


The rest of the flyer then moves onto explaining our vision and values. First section is there to introduce our community structure in GNOME. Second section is a (very) friendly version describing exactly what “free” means when we say that GNOME is a free desktop.


The last section is about the more personal goals you can set for yourself which you can use when getting started as motivational factor for getting involved with GNOME. Initially you might want to do this in your free time to improving your skills, get more experience doing team work etc. My experience is that this motivation later is replaced by relational motivation factors as you start to bond with the community and partake in the team activities. The great photos shown in this section are taken by Carla Quintana Carrasco (thanks!).


Finally, the flyer contains information on how to get involved – online and possibly via a local GNOME group.

Getting the flyer

Is your local free software group doing an outreach event? Are you having a GNOME booth at a conference? Then this flyer is for you. I have uploaded it as a folder on engagement team’s gnome cloud where the source SVG’s and sample PDF’s are freely available for download (photos under CC-BY-NC 2.0, the rest CC-BY-SA 4.0).

If you have a local group and plan on printing this for an event, I encourage you to edit the gnome-outreach-flyer-middle-pages.svg and add links to your web pages, contact information, social media etc. there before printing. As an example see the gnome_flyer_bucharest.pdf.

This iteration of the flyer is made to be printed out on a duplex A4 printer. I definitely recommend getting it printed at a print shop on some proper paper but otherwise the flyer is possible to print on any printer – you can specify 0mm bleed when saving the SVG as PDF from Inkscape. In other cases I have made margin big enough for 4-5 mm bleed (although I’m not sure how to make Inkscape do crop marks). Notice that the A4 page containing front and back has to be upside down for the end result to be correct. If you need to edit the front page you can use “Ctrl+A” and afterwards “V” will flip the contents vertically back and forth in Inkscape. Use a tool like PdfMod to join the front-back pdf with the middle-contents pdf and you are good to go.

In the future I’m thinking it might be nice to expand the flyer a bit. I have some ideas including:

  • Make a separate page showing off pictures from our GNOME conferences and talk a bit about them.
  • Have sections dedicated to talking about the different teams in GNOME such as translation, engagement, coding, etc.
  • Have a dedicated page to possible local groups with more elaborate information and pictures of key persons in the group a newcomer might want to talk to.
  • At the moment the flyer targets people who are already familiar with Linux. That might not always be the case so it might be wise to have (optional) pages dedicated to talk about Linux, gnu’s and penguins.

If you have feedback or ideas yourself, do feel free to share them – this is first iteration. Thanks to Rares, Nuritzi and Alexandre and the rest of the engagement team for giving comments, feedback and encouragement for working on this!

How to install GNOME Builder Nightly with Flatpak

I wanted to try the latest version of Builder (gnome-builder 3.22) so I decided to install it with Flatpak. Here is a screenshot of GNOME Builder.


To run gnome builder nightly with any of my instructions and use all features you need Flatpak 0.6.11 or later. In case you run GNOME Software 3.23 or later I made a .flatpakref for GNOME Builder Nightly. You can download it and open it with GNOME Software to install Builder (note: you need to have Flatpak installed):

If that doesn’t work for you, you can also do it by Flatpak’s commandline:

Installing the flatpakref

  1. Install gnome-nightly.flatpakrepo:
  2. flatpak --user install --from gnome-nightly.flatpakrepo

  3. Install the gnome-builder-nightly.flatpakref:
  4. flatpak --user install --from gnome-builder-nightly.flatpakref

    Manual approach

  1. Install GNOME Nightly SDK keys:
  2. wget
    flatpak --user remote-add --gpg-import=nightly.gpg gnome-nightly

    See also:

  3. Install GNOME Nightly SDK:
  4. flatpak --user install gnome-nightly org.gnome.Sdk

  5. Install GNOME Nightly Apps keys:
  6. wget
    flatpak --user remote-add --gpg-import=nightly.gpg gnome-nightly-apps

    See also:

  7. Install org.gnome.Builder
  8. flatpak --user install gnome-nightly-apps org.gnome.Builder

    EDIT: Sorry i had forgotten to add --user to all the commands, should be fixed now!
    EDIT2: in case you are wondering why the flatpakrepo and flatpakref is hosted on the gnome cloud space it’s because I haven’t gotten in touch with the right people to get official files up in the space where they (imo) belong. stay tuned!

Behind the GNOME 3.22 Release Video

Every six months GNOME 3.22 releases and for the past six releases I’ve produced a release video to accompany our release notes.

Click to watch the release video on youtubeClick the image to watch on youtube. Also available as download (Ogg Theora).

Schedule-wise a number of things were different for producing the video. I started later than usual this release. The voice-over was also produced later in the production phase than usual. In total I spent 18 days working on the video.


This is less than usual. The time saving mostly stems from spending less time recording for the release video. At first thought you might think recording would be a breeze but it can be one of the most frustrating aspects of making the videos. Each cycle the GNOME community lands improvement a wide set of GNOME’s applications. So before each release I have to find some way to run a dozen of applications from master. I do this either by:

  1. Running the application in Fedora Rawhide with a NoDebug kernel.
  2. Attempting to build the application with JHBuild.
  3. See if a nightly flatpak exists of the application and attempt to run that.

Even then, I might run into boring problems. The rawhide packages may not be up to date or the application might not build or run. In these situations I usually attempt to get in touch with maintainers/developers but in this particular cycle I had little time on my hands to handle these issues. This unfortunately means that I had to skip including some awesome applications in this video such as properly showing GNOME Games, GNOME Builder’s profiler support and the revamped keyboard settings. Which is frustrating of course! If things went smoother with recording, I could maximize my spending time better on editing and with much more energy to do so too. In the past I have asked maintainers to record new features. This might be a nice time-saving approach since maintainers usually have their applications built and know how to showcase the new improvements. On the other hand I also know that maintainers can be just as time constrained as myself at this point in the release cycle. If you are maintainer, let me know: If I gave you a tarball with everything you need, would you be willing to spend time recording the new features you developed if I asked you?

The voice-over finished two days before release which had some interesting side-effects. By then I had already finished most of the video material and so it allowed the manuscript to be tested and modified extensively. Some sections of the release video now goes into more detail about the changes than in previous videos. The changes are also covered at slower pace and more in-depth. A big downside is that a late voiceover delays the subtitles translations tremendously due to the way the translation tools work. After submitting subtitles it’s not possible for me to change the timing, so subtitles would have to be made at a point where I can freeze the timing of the voiceover. This is unfortunately one of the last steps in the editing stage. However, thanks to the hard work of our translation teams who translated exceptionally quick this cycle, making the video available in 16 different languages 48 hours after release.

New developments in this video

Even on a tight schedule I had room to experiment with a few new things. I had some fun working on Jakub Steiner’s wallpapers in an attempt to animate them. You probably barely notice it in the video (that’s on purpose), so here’s some separate videos showing them (click the thumbnails below).

Adwaita-morning animated, click to watch on youtube
Adwaita- morning Overexposed, click to watch on youtube
Adwaita-day, click to watch on youtube

In one case I needed to change the same settings across 20 strips which blender usually can do using a “Copy to Selected” operation. This particular case was on changing a property inside a noise modifier inside a keyframe on an F-Curve for a strip – which Blender didn’t seem to support, hmm. Fortunately blender makes scripting some python easy and with the help of the internet I did so. Yes, very specific use case but very convenient if you work with noise modifiers and dont feel like manually editing 20 noise modifiers.

screenshot-from-2016-09-26-10-51-36The top left is the python script, top right is the preview, bottom right are the overlayed image sequences and bottom left shows the opacity F-curves with noise modifiers applied to them to change color randomly over time.

This cycle I put more of the work into the VSE instead of the 3D view which both saved me some time and cost me some time. One one hand it means less in-between render steps and this saves time if what I want to do is something simple animation-wise anyway. On the other hand it prolongs the final render time which can be cumbersome if you just want to render a preview of the video. The key probably is to find a balance here.

img_20160921_004700Rendering the release video (CC-BY-SA 4.0)

Thanks to Karen and Mike for working on the amazing voiceover, the GNOME Design Team for providing graphical assets, the translation team for translations, the engagement team for feedback and Jonathan Yamoty for the background music. And thanks to everyone who contributed improvements to GNOME this cycle! For me, making the release video and is not only about promoting the new version but also about celebrating the awesome contributions by the community. This is my contribution to help giving everyone renewed energy and make next release even better.

GUADEC 2016: BoFs

The Birds of a feather sessions at GUADEC was a great opportunity to sit down and get work done. I participated in the engagement team’s BoF which involved lots of brainstorming for GNOME’s 20th birthday. Over the two days we delegated all the different tasks to do and planned what should be done up to and doing the event. Together with Sri I’ll be working on merchandise for the event which among other things could involve beer mugs.

28795698090_35a9a8ea74_kThe engagement team brainstorm in the form of sticky notes and whiteboard doodles. Picture by Jakub Steiner (CC-BY 2.0).

The BoF days were also spent on Polari work. Florian has had lots of code restructuring patches waiting for review. Hopefully they will enable us to land exciting features such as automatic nickserv authentication support soon. A couple of fixes has also landed which might make bouncer users happy.

I spoke with Philip Chimento about GJS and what could be interesting stuff to work on there. There are patches for having GJS snippets in Builder. I’m also hoping to someday see GJS documentation integrated with I couldn’t attend the GJS BoF itself but heard there was lots of interest in it so I’m looking forward to follow any developments here!

On the last BoF day there was an Ambassadors BoF. We are a lot of open source groups around the world and several also have people from the GNOME community involved in them. We discussed how we could distribute marketing materials and how the engagement team could help the GNOME groups around the world. Personally I’d love to see free and open source groups connect more and share their experiences and knowledge. Another suggestion which came up was to make easily transportable newcomer packages which could contain things like stickers, pin buttons and balloons.

I met both old and new faces and GUADEC this year. Now I’m home, batteries once again loaded over the top with energy. Thanks to GNOME Foundation for sponsoring my travel and stay!

GUADEC 2016: Core Days

I’m having the opportunity to once again go to GUADEC. I’ve had many great discussions, There’s so many great people to meet here.

Core Day 1: Friday
On the first core day I held a talk with Carlos about the newcomer initiative. Carlos has been involved for three years while I myself have been involved since around fall last year. Newcomers is a rebrand of GNOME Love and aims to be a clear step-by-step guide aiming to get developers introduced to GNOME development. Currently building relies on Jhbuild but im hoping for an even brighter future. Flatpak and GNOME Nightly SDK have the potential to make building gnome applications completely distribution agnostic. Should Nightly not build one day, we can also in large amount of cases fall back to an older version of nightly from a day or two before without this being a problem for the newcomer. If I made you curious you can watch the talk here.

28342074124_2bab4cfd9d_o-binliMe and Carlos giving the newcomers talk. Picture by Bin Li (CC-NC-SA 2.0)

During the evening there was a nice picnic in the evening with GNOME Games, good watermelon and great fun.

Core Day 2 Saturday
Saturday went with attending talks. To mention a few I attended there is Emmanuelle’s GTK: Are we in the future yet? and GNOME Music: State of the union. In the afternoon I also participated in the AGM where me and Carlos gave a brief review of the year working on the newcomer intiative.

Core Day 3 Sunday
On the third day I held a lighting talk about GUADEC’s streaming artwork. I spoke about the difference between SVG and HTML coordinate systems when applying transformations and how you can script and animate transformations using python and CCC’s intro-outro generator.

During the conference I had the opportunity to talk with many contributors. One of the items which I had on my list of interst was the GNOME developer center and what is going to happen there. I was also approached on the topic of which applications could be suitable for the newcomer guide once they get a nice wiki page and newcomer bugs filed against them.

As volunteer for GUADEC I had the chance to work on a lot of artwork. I made streaming artwork for the talk recordings. I also got requested to make artwork for the unconference slots.


For this year’s GUADEC T-shirts I created a conference-specific design and a generic design like last year. The conference-specific design was opted for and can be seen below:

28331201703_5188f8b064_zThe red edition of the GUADEC 2016 T-shirt worn by one Benjamin Berg from the local GUADEC team. Picture by Bin Li (CC-NC-SA 2.0)

Big hugs to GNOME Foundation for sponsoring my travel and accomodation. This thanks also goes out to all you donors who enable GNOME Foundation to sponsor contributors like me and events like GUADEC. Stay tuned for a blog post on the BoF days.

GUADEC in Karlsruhe Awaits

On Thursday I’m taking a plane to Germany. I’m also accompanied by a friend who’d like to know more about GNOME and get involved in GNOME. Again this year I’m also volunteering – so far I have worked on t-shirts and streaming artwork for GUADEC.

On Friday at 15 in the afternoon I’m going to speak together with Carlos Soriano about the newcomer initiative we have worked on over the past year. Even if you can’t make it to GUADEC, I hear that all talks will be livestreamed, recorded and put on the web. Here’s a pitch:

Since last year GNOME has sported a revamped newcomer experience for developers with the move from GNOME Love to Newcomers ( The talk is a joint talk by Bastian Ilso and Carlos Soriano explaining what’s new and what lies in the future for GNOME’s newcomers guide.

There is also plenty of exciting changes landing in Polari these days. The Polari team has really expanded since last year and I’m looking much forward to meet together at GUADEC to discuss, design and review code.

I plan to be in Karlsruhe from tomorrow evening and will stay in Karlsruhe until Thursday next week. I’d really like to thank GNOME Foundation for sponsoring my trip, I’m sure it is going to be an enjoyable experience.


The Camp 2016

Last year I was told about an annual event happening in Denmark that I didn’t know of called “The Camp”. Later at GUADEC 2015 I also met Kristen who helps arranging the event and has been doing so for more than 15 years. The Camp is a week long camp where you join together in a remote location of Denmark to hack, listen to talks and have some great food.

29-07-16-thecamp-outside-eatingThe camp holds roughly 50 attendees each year for a week during July. Photo by Poul Erik Thamdrup.

On the first day I held a talk on GNOME and the state of the free desktop. I constructed it in a way that would make it interesting for non-GNOME users too. I wanted to give an insight into how the traditional desktop is influenced by new technology and modalitaties which neccesiates new interaction styles and constraints. There’s not a single answer to how to do that. We have different free desktop environments suited for different use cases. The desktop environments being free enables us to share a lot of underlying technology and collaborate on advancing the free desktop. I put emphasis on that being involved in GNOME therefore often means working across the whole desktop stack which is beneficial for the free desktop as a whole.

bastian-talkMy talk on GNOME held on the first day of the camp. Photo by Mike Mikjaer.

I then presented a timeline explaining the many different technologies which GNOME contributors have contributed to and which play an important role in our desktop stack today. I’m not much familiar with what happened prior to GNOME 3 so I learned a lot in my research prior to the presentation myself. I elaborated a bit more on some of the newer technologies like Continuous, Flatpak and Builder which I think are three really exciting initiatives.

29-07-16-doughEveryone took turns helping making dinner – in this case we’re preparing dough for burgers. Photo by Poul Erik Thamdrup.

There were a lot of the other talks too which were interesting. I met two who played with producing computer graphics in javascript programmatically. A kernel hacker who worked on enabling the kernel to process 100 Gbit connections. A sysadmin who made a videobox for recording frames off your computer at up to 60FPS. The camp is a big mix of lots of interesting people!

29-07-16-jesper-100gbitJesper works as a kernel hacker at Red Hat and is explaining his hardware setup. Photo by Poul Erik Thamdrup.

During the week there was also time to sit down and work on GNOME related activities. I’m volunteering for GUADEC 2016 and have helped creating t-shirts and talk intro graphics using CCC’s intro-outro-generator. The generator takes a python script as input for the animation which you can use to script SVG transforms. I started researching chain transformations in SVG and learned how to use Inkscape’s XML editor to properly set up objects for animation. By the end of the camp I had produced a simple intro, outro and pause overlay for GUADEC which I also held a lighting talk about.

YouTube Preview Image

All talks are available at Most of them are in Danish except Jesper’s 100Gbit challenge talk which is in English.

To Polari 3.22 and beyond

This summer I am co-mentoring Rares Visalom and Kunaal Jain for a Google Summer of Code internship in Polari.

Kunaal Jain is working on search and Rares Visalom is working on various user experience improvements. In this relation I’ve had the chance to be involved with designing some of the new features.


Being able to search is one of the major milestones expected of a chat client and includes:

  • Searching for conversations
  • Searching for links
  • Searching for users

The design is tailored to IRC communication. Results are divided into chunks of conversations and the search prioritizes conversations where you participated or conversations where a link was shared. There are still some details to be thought out but Allan Day made wires as a foundation of how searching would work. Here is a screenshot of one of them:

One of the work-in-progress wires from Allan’s Search mockup.

User Popover

There’s also plans for implementing a popover which can be activated by clicking a user. One of the goals with doing this is to make it faster to message users from the chat context. One feature I’m particularly excited about here is the ability to enable notifications for certain offline users so you will know when they become online again. The popover is also a nice opportunity to convey the blue/grey convention used to indicate online/offline status.

One of the work-in-progress wires from my user popover mockup.

It is planned that many of these features also will be available from Polari’s user list.

One of the work-in-progress wire of updated userlist details.

Initial Setup

Last year during my own internship I worked on improving the initial setup experience by providing a blank state. Allan has made designs for initial setup to facilitate even faster setup of Polari which in some future also could feature easy migration from other IRC clients.

One of the work-in-progress wires from Allan’s Initial Setup mockup.


We are anticipating other features for Polari in the near future including:

  • Nickserv automation
  • Show a roomlist in the join room dialog
  • Various interface smarts based on history

More details are also available in Polari’s Roadmap. It’s pretty exciting! Those interested in contributing can help make the list even longer by checking out Polari’s homepage on how to get started. I would be more than happy to help anyone getting started should they should chime into #polari.

Reflections on Starting a Local FOSS Group

Last Wednesday was no less than the third time the local FOSS group in Aalborg met. Today I’m looking back at how it all started so I thought I would share some thoughts that may help others who would like to spread free and open source software in their local area.

Create the first piece of basic infrastructure

..whether it means collecting e-mail adresses or creating a group on social media. In my case I resorted to creating a public group on Facebook called “Open Source Aalborg”.

Find someone who knows someone

You’ll need some way to get in touch with others who live in your area and is interested in this topic. In my case I happened to get in touch with my local IT union PROSA who helped arranging a free event called “IT X: Open Source” and reaching out to many members locally (in particular students). Note that the extensive use of “Open Source” rather than “Free Software” was simply because the term is less ambiguous and more familiar (ie used more in media) to people.

Reach out to them

IT X was a great springboard to do this. IT X was arranged as a talk show. First talk would explain to the audience what open source was, since the audience might be familiar with the term at different levels or not at all. Secondly we ran talks on how open source is useful. For me that meant giving a talk at IT X where I talked about how and why I spend my free time contributing to GNOME. The audience was primarily students and software developers so I designed my talk to largely concern how open source can benefit your skills and experience with large-scale collaborative software development. At the end of my talked I promoted my local initiative “Open Source Aalborg” and afterwards Hal9K also promoted their local hackerspace which also is located in Aalborg.

Follow up to maintain the interest

The next days after IT X, Open Source Aalborg expanded from 6-7 members to 40 members. I followed up by making the first “Open Source Night” 14 days after the talk show had happened. Looking back I should probably have made the first event even 7 days after. When scheduling I tried making it as convenient for people as possible. We would met on a Wednesday at Hal9k from 5 o clock (after work/university) to whenever people wanted. To make it further convenient for attendees we arranged pizza so attendees wouldn’t need to concern themselves about food either.

Things you can do on the first meetup

At the first meetup we ended up being around 10, mostly students. This is what we ended up doing:

  • Sightseeing in the local hackerspace.
  • Talked about each other’s individual interests and areas of expertises.
  • Discussed various news and upcoming conferences that we knew of.

For the following meetings I usually picked up what was previously discussed or coded on and used it to write a description that teases the possible topics we might discuss at the next meetup. It makes for a nice motivation I think, plus we keep each other up to date on how we are progressing.

Another fun thing we have done is that last meeting I arranged a video conference call with Johan Thelin from FOSS GBG. We talked with Johan about the history behind the Gothenburg FOSS group, how they run their meetups and about their upcoming conference foss-north. The video conference was definitely a success – we even talked about making a video conference meeting between two FOSS groups sometime. What I particularly like about doing this, is that it gives a taste of the impression that this little local group is part of huge worldwide community. This is a feeling which I think can really benefit the motivation among individuals in any local FOSS group out there.

Some other fun ideas for the future

  • Send and receive greetings with other FOSS groups.
  • Have video calls with members of GNOME or someone experienced in open source could be insightful.
  • Arrange a follow-up talk event on open source in the fall where members can do lighting talks on the small projects they have worked on throughout the year.
  • Find local companies or initiatives related to open source and have them come around and present what they are all about.
  • Go on a trip to a FOSS conference together.

Are you in a local FOSS group? Trying to get one started? Let me know! I’d be more than happy to listen to your suggestions too.

Behind the GNOME 3.20 Release Video

It’s a little more than two weeks since GNOME made yet another release. Having a release video to go alongside with it is almost a tradition by now. I’m slightly frightened and super excited about it at the same time. (-:

gnome320video-thumbPress the picture to watch the video on Youtube or download it here.

time-spentA crude approximation of my time distribution while working on the GNOME 3.20 release video.

Doing those videos is some work. Since my GSoC internship on Polari, my motivation has shifted heavily towards the realms of interaction design and involving new contributors to GNOME in general. That and a want to create videos beyond just during every release has encouraged me to look into creating release videos more effectively. Yet despite that mindset I’m still very satisfied with the outcome and I feel I have evolved yet again from last cycle’s video.

Screenshot from 2016-04-10 00-51-49The final release video as edited in Blender VSE.

Animating empties

By animating empties rather than the objects themselves, I’ve managed to create a collection of animations I can reuse at any point in the future. Not only does this save me time, it also means that objects in two different scenes can share animation and have consistent timing.

Camera Imperfections

As an experiment I played with adding camera imperfections to the video such as grain, slight vignette and dispersion. The aim here is to let the virtual camera feel more “real” – adding to the perceived quality (it’s something that we subconsciously expect). If everything went well, hopefully these effects should have gone unnoticeable through. It is definitely something I want to study further.

Applied Film Theory

Last semester I had a course in Screen Media, which introduced much useful film theory to me. For the GNOME 3.20 release video in particular I’ve been more aware of the rhythmic relation between the music and the editing. Cuts and animations are timed to the pace of the music giving the video a more natural feel.

I also had the chance to play with the use of ambient sound – you may have noticed the sound of an ocean in the background. The purpose of the ambient sound is together with the picture to cue the viewer of a location, season and time of day. I thought the ocean would be a fitting choice with the music to put the viewer in a calm mood.

There’s definitely more to explore within film theory that I can applying to future release videos – I got 47 pages of notes from Screen Media to practice. (-:

Kudos to the team behind Blender for such a powerful tool I can use in my Free Software pipeline. Same goes to GIMP, Inkscape and ffmpeg.

I have Karen Sandler and Mike Tarantino to thank for providing such a professional voice-over. Good sound has incredible influence on the perceived video quality. With help from Petr Kovar and the GNOME Translation Team the video is also avaiable in 13 different languages. The Engagement Team gave feedback and coordinated the release. The GNOME Design Team has made the vast amount of visual assets that I use. Finally, a big pad on the back to all the developers and contributors in GNOME! Every cycle we advance free desktop technology further and that’s an important message to send to the world.

I’d like to credit the following authors for their assets which I have used:

The GNOME 3.20 release video is licensed under CC-BY-SA 3.0 and can be downloaded here. The source .blend file can be downloaded here. To keep the file size down I’m not including any animation assets.