Category Archives: Uncategorized

GUADEC 17 Day 1

Friday marked the first day of GUADEC and me and Carlos had our talk named “Newcomer Genesis Evolution”. In case you missed, I’ll provide the slides for you here. A video is also coming up later.


Download slideshow

Volunteering at the merchandise table went well and by the end of the day we were all out of GNOME socks. I didn’t work on t-shirts this year but they look nice!


GUADEC 2017 Registration Desk (CC-BY-SA 4.0)

GNOME Socks! (CC-BY-SA 4.0)

I attended the newcomer lunch and got to meet some cool people who were attending GUADEC for the very first time. Later in the afternoon Julita had a talk showing all the events she has been holding to engage newcomers which was great to see.

Julita giving her talk “Different ways of outreaching newcomers” (CC-BY-SA 4.0)

The day ended with a rainy trip to The Wharf with dinner and chat. Onto day 2!

GUADEC Coming up!

My airplane is leaving Thursday afternoon, headed towards a week of friendly faces and fun again. The hand luggage will be full of socks and my mind will be full of feet, as I dive into GUADEC 2017, GNOME’s Annual European Conference in Manchester. Oh, and there will be a newcomers talk!

On Friday 28th July at 12:15 me and Carlos will speak a bit about our efforts on the newcomer guide and discuss with anyone interested the prospects of the project. This is followed by a newcomer workshop on 31st July which you are more than welcome to attend if you’re new to GNOME development and want to try out developing GNOME apps with Builder.

The schedule for this year’s GUADEC look amazing and I look forward to chat with many fellow GNOMEies again. Thank you GNOME Foundation for making my trip possible!

OS2: Danish Municipalities Collaborating in the Open


OS²: The public digitization association. (CC-BY-SA 4.0)

OS² is an association for Danish municipalities to pool together efforts in building a free and open source IT infrastructure. I first heard about it at the LibreOffice conference happening in Aarhus back in 2015 through a talk about “BibOS” and “TING”. The early efforts has since then inspired a formal association for municipalities which hosts a number of open source IT components. The components are developed, installed and supported by external suppliers who are hired by municipalities individually or together. This approach has benefits both for the municipality and the suppliers compared to traditional license-based solutions.

Out of curiosity I decided to attend an open general assembly for OS². Municipalities participating in the association and a number of suppliers were present as well. Rasmus Frey, OS²’s business manager opened up the general assembly, explaining the highlights in OS² of the past year.


Rasmus Frey presenting the past year’s highlights in OS² (CC-BY-SA 4.0).

Efforts has been made over the past year to use a governance model to transform OS² into a platform usable both for playground projects in development as well as for production-ready solutions. The transformation is a step in the process of making the OS² platform a viable alternative for municipalities coming from other systems and solutions.

OS² currently contain 12 different products. For example OS2BorgerPC which is a fork of Ubuntu running on many computers in public libraries or OS2web which is a content management system for municipality websites based on Drupal. The projects are released under the MPL 2.0, giving suppliers a number of ways to build their business.

Rasmus presented the next product in line at the general assembly: OS2cloud. It provides infrastructure that makes it easy for municipalities to deploy the OS² products from a web interface based on Origo. This also makes it easy for municipalities to self-host non-OS² open source software like Piwik for web analytics, instead of relying on external services such as Google Analytics with possible tracking and privacy issues.


Networking at the OS² general assembly (CC-BY-SA 4.0).

The talks at the OS² assembly demonstrated the many benefits of developing IT infrastructure around an open source model. One municipality told that they had found out about incidents of public library computers being key-logged. The perpetrator had done this by inserting USB hardware between the keyboard and the computer which logged user input. In response, the municipality hired a supplier to patch OS2BorgerPC so that library staff would be notified of any insertion or interruption of USB devices. A patch, which every other municipality deploying OS2BorgerPC subsequently would benefit from.

The openness and the fact that the OS² association maintains ownership of the produced code, also means that municipalities have wider range of suppliers to choose from for support and development. Compared to the traditional license-based products, this minimizes the risk of vendor lock-in and shared infrastructure across municipalities. For suppliers this potentially creates opportunities for consistent income, new market possibilities and closer collaboration between municipality and supplier.


Debate panel between suppliers and municipalities (CC-BY-SA 4.0).

The general assembly ended in networking and with a panel debate between suppliers and municipalities. The debate brought up a number of interesting challenges, one being in the transition from the traditional culture of selling software in license form. Concerns are raised in the industry on whether business really can be made on developing open source software and why “the free market can’t be used to solve this” (although IMO, a free market is exactly what open source in this case creates). There is a need for current suppliers in open source to spread awareness in the industry of the new models which business in IT can be built upon. On the other hand, the suppliers raised concerns with the mindset of some municipalities. They asked that the OS² association should emphasize to municipalities that software, being open source, does not mean you get free support the same way you might do with some license-based products. Expenses should be calculated for continuous maintenance and software development.

Initiatives like OS² excite me in many aspects. From a political perspective I think spending tax payers’ money on technology which then is released back to the public under an open license makes a ton of sense. It creates possibilities, not only for creating a fair market, but also for education and labor. The publicly available code enables studying and knowledge sharing for students like me and hobby groups like Open Source Aalborg. From an ethical perspective I further find the transparency which come with public code appealing to address questions of privacy and data collection. Finally, from a broader perspective I believe knowledge-sharing initiatives like OS² can advance technology at a much faster pace.

Open Source Days 2017 Impressions

Open Source Days is an annual conference held in Copenhagen, this time held from the 17th March to the 18th March. Since my successful trip with members of Open Source Aalborg we are keeping a close eye on free software happening in and around Denmark. For all of us, this was the first time we went to the Open Source Days conference.

Day 1: Business Days

First day of the conference was arranged as an opportunity for networking and presentations oriented around open source in corporate setting. We were there, as part of PROSA, a local Danish union organization supporting open source. While Open Source Days is a significantly smaller conference than say FOSDEM, I was still impressed by the variance of local Scandinavian firms present which ranged from firms selling courses and education to firms offering cloud-based services and offering support on self-hosted services.

I had the chance to talk to quite a few around there including FAIR Denmark which is recycling computers with GNOME installed on them to provide education to poor countries. Very interesting!

I also had the chance to meet Jesper, Martin and a few others from last years open source camp. Jesper was presenting about his work on enabling high speed network packet support in the Linux Kernel. Lots of it flew over my head but it was very interesting to hear as the presentation was a continuation the work he presented last year at the camp.

Day 2: Community Days

The second day marked the community days. In spirit of the day, Open Source Aalborg had its own humble booth with hand-drawn flyers, signs and everything. Start small, as they say. :-)

Copenhagen’s hackerspace Labitat was also present and had brought lots of small projects with them such as hacked sewing machines, LED matrix bling-bling and other electronics.

The community day had two tracks with talks. Probably the most interesting was the talk about how Danish municipalities are collaborating on infrastructure based on free and open source software principles called OS2. This model doesn’t mean that the municipalties are developing the project in-house. Rather, they are placing contracts with local danish firms to work for specific periods of time to develop projects further – and one municipality’s work benefit all other 98 municipalities.

The conference ended with beers and popcorn at Farfar’s as is tradition or so I have been told. Thanks to PROSA for sponsoring this trip to Open Source Days for Open Source Aalborg. I’m definitely attending again next year. :-)

November Bug Squash Redux

Last month GNOME had a Bug Squash Month. Thanks to everyone who participated!

For this initiative I had prototyped a way to gamify things up a bit. I created a high score table and badges for the local open source groups joining in on the bug squashing. I had my own group Open Source Aalborg participating on November the 30th and we had lots of fun!


Open Source Aalborg in the process of bug squashing (CC-BY-SA 4.0)

What made bug squashing a particularly good activity for my local group was the it sets no requirement to do actual coding. I did a small presentation about bug squashing and afterwards everyone could participate regardless of background. Our award system with the badges even meant each could individually set their goal and how much effort to put into it. Want something easy? Look out for obvious obsolete bugs. Want something harder? Try to code up a patch.


Installing Fedora to build run the latest GNOME Apps and reproduce bugs (CC-BY-SA 4.0).

As participants worked out the bug reports, I was keeping the high score table up to date. A projector would then show off the high score table so everyone would know whenever we achieved a new badge.


Small physical rewards in the form of candy to everyone participating (CC-BY-SA 4.0)

As another experiment, I had made actual physical rewards for the participants consisting of candy and buiscuits. When participants managed to squash their first bug they would get something, and when our group managed to get 5 bugs squashed I would give out snacks to everyone. Fun small addition and I particularly liked the idea of rewards to everybody when we as a group met a goal. It reinforces the team spirit!

Some thoughts about what worked and what didnt work:

  • Badges which the event manager can manage live at the event happens also work the best.
  • It varies a lot how much each local group achieves in quantity. I think making badges based on other measurements works best (fx. Spooky Skeleton Award was fun!).
  • Our social media awards were awesome!
  • Good to have share a step by step guide after presentation so people can get started quickly.

I’m definitely up for getting another high score table up and running again for another bug squash sometime. There has been talk in #engagement about making a web app a bit like the Capture the flag websites for these kind of things. Would definitely be cool!

And thanks a lot Alexandre for taking an initative on this!

Whereabouts at the CoreApps Hackfest

For the past three days I have been to the Core Apps Hackfest in Berlin. It’s been nice and cozy! Kinvolk has some nice facilities that we could borrow and it’s been productive for me even if I missed the first day as anticipated.

img_20161127_120240

The upcoming Newcomer Guide Revamp

At the hackfest I met with Carlos Soriano. We discussed Carlos’ experience doing the Bucarest Hackathon with Rares and Razvan. Talked about the issues that the students had and the questions they asked. The most general problem is that there is too much text in the newcomer guide. All information is useful but we need to prioritize what we present first. The students have only so much energy, and our job as guide writers is to ensure that no energy is wasted.

Since the first revamp where GNOME Love turned into the Newcomer Initiative there has also been many projects participating which newcomers can choose between. I’m super excited that so many projects care about getting newcomers but the list is also getting very long again now. We’ll try to address this in the next revamp by introducing highlights and rotate the rest as necessary. Other issues include working with discoverability of newcomer bugs, making all terminal commands copy/paste-able, make sure newcomers get developer docs installed, and maintain consistency between the website of our newcomer apps.

To address these issues I’m experimenting with using less text, using more visuals and gamifying the experience with progress bars. More to come soon.

newcomer-revamp-mockups
work in progress mockup of the newcomer guide.

I made some experiments turning this mockup into reality using Tom’s new custom CSS for the moinmoin wiki. There are still a few things to resolve before we can migrate, but we are getting closer.

LinuxAtUNI

Julita asked me to give a talk about contributing to GNOME Design for her LinuxAtUNI event in Peru. So during the hackfest in Berlin I gave this talk by video conference. I’m super excited for the events there!

15194536_10209175162268671_5969187234075386538_o

15235766_10209175158628580_7153783559538918808_o

Monday

The hackfest officially ended Sunday but I stayed a day longer with Florian Muellner, working on Polari. Together with Andreas Nilsson I finalized some new iterations of various design ideas I had been playing with and managed to file a bunch of bugs. Here’s some highlights:

room-status-indication
Mockup showing the design for room status indication, error handling for rooms and indicating prolonged waiting for rooms. See bug 775257, bug .

offline-status-rev3
We finalized offline indication through using an infobar in the sidebar. bug 760833.

mockup-use-server-password
Andreas made a mockup of how we could expose server passwords for custom networks. Bug 775225.

Florian worked on moving our soon-to-land roomlist in the join dialog over to a GtkTreeView as we had performance issues with the GtkListBox. We also discussed things like the nickname renaming behavior, how should error messages behave in connection properties dialog and future plans.

Again, thanks to GNOME Foundation for partially sponsoring me, it’s been a great hackfest and I really enjoyed it!

sponsored-badge-simple

Plans for Core Apps Hackfest

I have requested and received a partial sponsorship for a trip to Berlin to participate in the Core Apps Hackfest. This is a great opportunity for me to meet up with other from the GNOME community and immerse myself in contributing. I’ll be going on Saturday the 26th and leave again Tuesday the 29th. Some things I anticipate I’ll be doing includes:

Polari Whereabouts

The hackfest will be an opportunity to meet up with Florian and discuss design for Polari 3.24. Danny, a good friend of mine is currently working on Initial Setup based on mockups by Allan Day. For Polari 3.24 Rares Visalom might be looking into implementing blank states and we also hope to land room lists this cycle.

initial-setup-thumb-aday

Quality Assurance on listed Newcomer Applcations

The hackfest is a great opportunity to meet a lot of maintainers of different core applications of which are listed as Newcomer applications. I think it could be a useful opportunity to go over the newcomer bugs and identify ways we can improve the in-flow of bugs, the expected level of difficulty and so forth.

Revamp Newcomer Applications to the new TemplateFancy

I have babbled a long time about wanting to get rid of the ugly HTML tables we currently use to make “fancy” layouts in the GNOME wiki. As part of the Newcomer initiative I made the TemplateFancy template which is now required to be used by applications listed in the Newcomer guide. I investigated how to add custom CSS classes with MoinMoin wiki and Tom Tryfonidis has managed to complete convert the template from using HTML tables to custom CSS classes. This has resulted in a webpage which has easier-to-read MoinMoin markup, separation of content and layout and which possibly is more mobile-friendly.

Furthermore, these custom classes are generic and can be applied anywhere on the GNOME wiki, providing much better opportunity to make visually pleasing documentation. This really excites me! We can be much more flexible in terms of how we want to visualize information and I’m hoping this can lead to a more pleasing experience. These custom classes has already landed so I’ll looking at converting newcomer application pages to the new template markup this weekend. :-)

If I have time this weekend I’ll also look into getting these classes and examples of how to use them documented on the wiki. But most of all I’m looking forward to getting my batteries recharged and participate in the many discussions listed in the agenda on how to bring GNOME’s core applications forward. Thanks to GNOME Foundation for sponsoring part of this trip!

sponsored-badge-simple

November is Bugsquash month – Open Source Aalborg is joining

From the initiative page:
For a month, we focus on bug triaging to get our bug tracker in a better shape. Maintainers then get a clearer picture of the state of their module, users have a better chance to see their issues resolved, and software quality improves as a consequence.

gnome_bugsquash_nov_2016

Me and my friend Daniel from Open Source Aalborg will arrange that the local participants from the open source group in Aalborg will join in on the final bug squashing day, November the 30th. OS Aalborg has recently joined a lot of Capture the flag’s and I think we will try to put up some very basic infrastructure (read google forms + spreadsheet) to do something similar for the GNOME Bug Squashing initiative.

img_20160518_172756
Open Source Aalborg busy working on open source projects at the Hal9k hackerspace. Maybe we will livestream?

Apart from the many individuals idling in #bugs on GNOME IRC, there are currently also three open source groups participating in the squashing: San Fransisco on Nov 17th, Strasbourg on Nov 26th and Aalborg on the 30th.

We are talking in #engagement on GNOME IRC about creating “virtual teams” and make a fun competition around the initative. I think it’ll have a motivating effect to have something “capture the flag” -like for the local participants and in the end it’s for a better purpose. :-)

Check out the initiative here and read the triage guide if you want to join in!

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.

portfoliothing

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.

Walkthough

gnome-flyer-linux-desktop-apps

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.

gnome-flyer-communityfreesoftware

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.

gnome-flyer-improve-skills

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

gnome-flyer-get-involved

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.

builder-nightly

To run gnome builder nightly with any of my instructions and use all features you need Flatpak 0.6.13 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):
gnome-builder-nightly.flatpakref

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 remote-add gnome-nightly gnome-nightly.flatpakrepo

  3. Install org.gnome.Sdk from gnome-nightly using the command underneath
  4. flatpak --user install gnome-nightly org.gnome.Sdk

  5. Install the gnome-builder-nightly.flatpakref:
  6. flatpak --user install --from gnome-builder-nightly.flatpakref

    Manual approach

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

    See also: http://flatpak.org/runtimes.html

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

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

    See also: http://flatpak.org/apps.html#nightly-gnome

  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 sdk.gnome.org space where they (imo) belong. stay tuned!