All posts by Bastian Ilso Hougaard

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.

322time-spent

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 developer.gnome.org. 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!
sponsored-badge-simple

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.

16-08-16-guadec-artwork

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.
sponsored-badge-simple

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 (https://wiki.gnome.org/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.

sponsored-badge-simplebadge-speakingat

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 http://video.thecamp.dk/. 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.

Search

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:

search-aday-thumbnail
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.

contextualpopup-bastianilso
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.

userlist-bastianilso
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.

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

Misc.

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.

polari-overallthumb

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.
polari-server-properties-ui

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.
polari-image-pasting

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.
polari-join-dialog-quick

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).
polari-restyled-entry
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).
polari-change-nickname

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.
polari-text-animation

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

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

..as 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.
polari-altshift

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.
https://wiki.gnome.org/Projects/SandboxedApps/NightlyBuilds

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. :-)