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.

Enter Polari 3.20: ‘The Chicken has landed’

Yesterday was a big milestone for GNOME, as 3.20 landed. And just the day before Polari 3.20 was released. I have had a ton of fun this cycle designing and merging my GSoC work for Polari. Without further ado, I’ll now take you on an adventure showcasing what’s new in Polariland.


The big

As part of Isabella Riberio’s Outreachy internship Polari now has a much better workflow for managing networks. Instead of a management dialog hidden away in the application menu, you can now access your networks directly from the sidebar. Much more intuitive.

Another new contributor, Kunaal Jain, implemented support for image pasting – a feature I use almost daily now. Florian complimented the enhanced image pasting by adding support for inline pasting. This way you can paste text and images and write text around the resulting URLs.

As part of the connection management overhaul Florian also made adding servers and joining rooms much faster. Polari now ships with a predefined list of networks which means you can get Polari set up in just a few clicks. Another nice advantage is that this enables us to connect more securely to the networks – SSL is enabled by default on all predefined networks which support it.

The small and cool details

Polari 3.20 also got a much needed visual overhaul near the entry area. Below is a comparison between the old entry area (top) and new entry area (bottom).
The overhauled look also meant changing your nickname now happens via a popover. There’s still some more work to do here as there’s not enough distinguishment between changing nicknames temporarily and changing nicknames permanently (something I hope to adress next cycle).

What I’m over-hyped the most about is this 2-line change – we now animate the text. It’s really incredible how such a small detail can make such a huge impact on my chatting experience.

A nice other detail is that Polari now tab-completes IRC commands.

During the ContentApps Hackfest my status compression branch from last years Google Summer of Code also landed in Polari 3.20..
06-30-15 compressed-status-message-thumb well as my IRC URL Handling branch, which was further enhanced to match against the new list of predefined networks. Polari also detects mentions of chatrooms and linkifies them for your convenience.

Finally I want to higlight the new keyboard shortcuts Alt+Shift+up and Alt+Shift+down that Rares Visalom implemented this cycle. It’s a super addicting way of checking up on the new messages in various chatrooms.

Getting Polari 3.20

It is most likely that Polari and other GNOME 3.20 apps haven’t reached your repository yet. XDG-App to the rescue! You can check out Polari nightly by following Alexander larssons tutorial at.

In Polari we plan to participate in Google Summer of Code. If all goes well, we’ll have Kunaal and Rares work on implementing search and implementing a improved initil user experience. These are two milestones that I personally look much forward to achieve.

I would like to thank everyone involved with making this release of Polari so magnificent. Chat you later on IRC. (:

IT X: Open Source

In my city we have no local GNOME group or linux user group. I’m trying to shake that up a bit. I helped arrange an event called IT X, happening at Platform 4 which is a local non-profit venue in the center of my local city in Aalborg, Denmark.
2015-11-15Previosly part of an amusement park, now a non-profit venue for local citizens. Picture by Troels Leegaard.

With help from my local IT Union PROSA, we’re trying to create more publicity about open source among IT students. They helped organize what became the first edition of ITX – a monthly talk show event, this time themed Open Source. I was one of four speakers:

  • Lars introduced what open source is about.
  • I introduced GNOME, how and why to get involved.
  • Søren talked about Kodi/XMBC.
  • Mads introduced Aalborg’s local hackerspace Hal9k.

IMG_20160224_190413The event is about to begin – so exciting!

At 7 in the evening we had around 20-30 participants. With me I had brought 10 USB sticks with Fedora 23 and a printout of GNOME’s latest annual report. My talk was about GNOME, how we collaborate together, introduced our community and why contributing is valuable to me.

impress-slidesI used pictures from hackfests to emphasize that GNOME is people (tags were given by permission). Slides/Recording coming up soon!

I felt the audience were generally really intruiged and curious about GNOME! I was promoting a facebook group called “Open Source Aalborg” for those who wanted to know more. This group grew double the size after the event. Furthermore, a handful of people seemed genuinely interested in getting involved and contributing themselves too.

My plan now is to start doing weekly or bi-weekly events on open source, likely in collaboration with the local hackerspace Hal9k. I’ll use the opportunity to have a good time and help people getting started in GNOME. Afterall, we still have some user onboarding issues to fix in GNOME. But I’m really happy to see genuine interest from people in the project – these are partly people who have never even tried Linux before. Maybe you’ll see some more newcomers on IRC – greet them welcome. Let’s see where this is going. :-)

Belgian Vacation

On 26th I finished the semester exams and the day afterwards went on a trip.

It kicked off with me getting around Brussels with guidance from my printscreened map mashups – looking forward to being able to use Amisha’s Print Support in GNOME Maps in the future for this as I have no internet on my phone. :)

Wednesday was spent at the developer experience hackfest, discussing the future of GNOME Developer Center with kat, lasse, afranke, matthieu and fredp. Matthieu demoed his tool hotdoc and ptomato showed off his efforts on getting GJS documentation online. My understanding of where we ended was that there was some consensus so far to try to unify the hand-written docs so they are written in a single language (fx Mallard) and make it play with hotdoc which can integrate that with source code documentation. Hotdoc also allows a lot of cool things such as being able to change the language of the code examples and online editing.

I spent another part of the hackfest on creating CSS style that can make it easier to use our TemplateFancy for applications which want to be newcomer friendly. I partly achieved to create a navigation bar – I’m having some issues finding a non-hacky way of center-aligning the li elements relative to the width of the ul elements though, so I left that effort aside after a while. Beyond that, what remains now is to create CSS classes for title, subtitle and frontpage content.

devx my small laptop in a large room with a dozen hackers. The location was provided by betacowork – they are awesome.

The rest of my productive time went into iterating on some designs for planned features of Polari:

  • IRC commands auto-completion
  • Undoing connection removal (landed)
  • NickServ handling
  • Improvements for changing nicks (landed)
  • Contextual Popovers
  • polari-small-stuff Snippets of small UI mocks I’ve been working on (some of it is still WIP).

    Then FOSDEM happened. Also this year did GNOME have a booth although not as big as in previous years. I had designed merchandise and kat printed it – we had hoodies, t-shirts, mugs, stickers and a demo computer with the latest stable version of GNOME.


    I watched Christian Hergert’s demo of Builder which was quite insightful and something I can recommend you watch when a video appears online. Beyond that I was mainly standing in the booth, selling wear and talking to GNOME users. Some visitors asked how we (the people in the booth) were involved with the project. Some were even interested in contributing, so I showed them our newcomers page. When they appear on IRC, make sure to show them we don’t bite (most of the time)!

    31st January is today and that marks the end of the vacation. Last semester of my bachelor degree starts tomorrow, exciting times ahead.