2022-11-26 Nix/Nixpkgs/NixOS hackathon in Zürich (Rapperswil-Jona)

This event is aimed at all skill levels, so it is a great opportunity to learn Nix, meet developers and maintainers, and become a contributor.

We’re really happy to have Elton Vecchietti (Director of UX at Modus Create) on board, who will run a UX workshop with Nix and Nixpkgs developers, including @edolstra and @infinisil.

There will be an opportunity to join remotely through Jitsi. Complete, up-to-date information:

Food, drinks, coffee, tea, swag, and friendly mentors are all provided. All we need is some fun company. Bring as many friends as you can! :slightly_smiling_face:

We will publish a written report on the workshop in the week after.

5 Likes

I may misremember or misunderstand the schedule, but wasn’t yesterday the day that ends ZHF and when the last staging-next should happen right before branch-off?

1 Like

The branch-off happened this Monday, which just means that the ZHF fixes now need to additionally be backported to the release-22.11 branch. ZHF continues until 2022-11-30, you can see the entire timeline here :slight_smile:

4 Likes

Thanks for clarifying, I missed the “Also ZHF ends” in the “Release” event :smiley:

Even if the official ZHF ends, people are still welcome to fix errors in Hydra’s builds :wink:

4 Likes

Ah I missed it, would’ve been nice to meet other NixOS users.

remember to x-post on Community Calendar

1 Like

Awesome. Thanks for organizing this!

Will the Lighting talks be live streamed and recorded? I think it would be great for online participants and people who missed the event.

I’m especially interested in the UX talk and workshop. I think UX is the most important thing for a successful software project! And NixOS is quite bad in this aspect.

Is there a plan what you want to achieve with Elton? There would be many areas where UX design is needed, like the whole onboarding process, organization of documentation, appropriate documentation style (video, numbered instructions with screenshots vs. long text like in a book), using nix/nixos, nix cli ui, nixos gui tools developed by the SnowflakeOS effort.

There will be a live stream, but no recording, and we will publish a report on the workshop. An executive summary of the talk contents should be part of that.

For the workshop this week the goal is to get to know each other better and establish some common ideas and ways of thinking about UX, and for Elton to gather impressions about the Nix ecosystem. I would love to have a longer-term collaboration and will work towards that, but cannot tell to what extent this will be possible and what shape it may take.

1 Like

@fricklerhandwerk I’m alone in the Jitsi room for the UX workshop. Have i missed something?

Resolution: The first part was not streamed.

Feedback: Online participation was very limited and not good organized.

Hi everyone. I’m really sorry for the unbounded delay on the report we promised. It was ready within a week, but then stalled in Tweag’s blog publishing pipeline due to other priorities, and went off the radar until recently. Now that we also received Elton’s evaluation and summary of the workshop results, here’s the report by Alex Drake and the workshop summary (PDF) by Elton Vecchietti. The workshop experience still resonates with everyone involved, so the following is just as true and relevant as it was in November 2022.

NixOS 22.11 ZHF Zürich Hackathon + UX Workshop report

Written by Alex Drake

NixOS, Tweag’s favourite operating system, releases a new stable version every 6 months. One month before each release, NixOS release managers announce the ZERO Hydra Failures stage. During this time, the community tries to fix all of the errors reported by Hydra, the continuous integration system used to build the massive number of packages that NixOS supports.

NixOS is quickly growing in popularity. This is in no small part thanks to its development process which puts transparent collaboration front and centre. Despite this, the Nix ecosystem can often feel foreign and uninviting to beginners. We help address this problem by organising events that are welcoming for both experts and beginners. This makes it easier to share knowledge with newer contributors and strengthens the sense of community.

Background and motivation

Organising community events helps drive adoption of both Nix and NixOS, as well as provides ample opportunities to network with like-minded people and companies. As the number of events increases, adjacent communities might become interested.

Tweag has long enjoyed a prominent position in the Nix community. The acquisition by Modus Create has strengthened our team with many industry experts in product design and user experience. Modus itself is an emerging player in the Nix ecosystem, and was keen to share some of their expertise with the community, helping shape a long-term Nix success strategy.

Elton Vecchietti, the Director of UX at Modus, had already planned to run a Nix UX workshop somewhere in Europe. Valentin Gagarin (@fricklerhandwerk), a fellow Tweager who is leading the Nix documentation initiative, connected the ZHF hackathon organisers with Elton, and we agreed to colocate the two events. This way we were able to halve the effort and double the participation.

Valentin also invited Eelco Dolstra (@edolstra), the creator of Nix, to attend the workshop. The rest, as they say, is history. :slightly_smiling_face:

Image: Valentin, Eelco, and Elton

Preparation

I’ve been organising monthly Nix meetups in Zürich for the past year. Our local Nix community is quite strong: we have a number of regular attendees, and even a number of local companies – of which Tweag is one – that generously sponsor and host our meetups every month.

For an event this size we needed something slightly larger than the usual company break room. I got in contact with Prof. Dr. Farhad Mehta, a professor of informatics at the nearby Eastern Switzerland University of Applied Sciences (OST). He is one of the co-organisers of ZuriHac, the largest Haskell conference in the world, which also takes place in OST. Farhad was happy to help co-organise this event as well, and offered us two large, modern computer rooms with a beautiful lake view, as well as an assistant to help us set things up. A big thank you to Farhad and Fabian, without whom the event would not be possible!

Having learned from advice of other ZHF organisers, we announced the event at least a month in advance. To give everyone plenty of time to mingle and work together, I planned the event as a full 8-hour day affair, between 10:00 and 18:00. And since most of us work full-time, I scheduled it on a Saturday. We got lucky; that Saturday was the sunniest day of the month, which helped lift everyone’s spirits.

Thanks to Tweag sponsorship, we were able to provide the attendees free T-shirts, food, and various drinks throughout the day. This made the full-day stay more comfortable and afforded much hanging out around the water cooler.

Outcome

About 25 people attended the event. Of these, at least 3 (to my knowledge) were complete beginners. Quite a few people also came from abroad. Additionally, all the local Nix companies that I’ve gotten in touch with in the past months were represented. We could not have hoped for a better attendance for a first event.

Thanks to careful planning, we had plenty of room, food, drinks, and shirts for everyone – even for unannounced arrivals.

Hackathon

Silvan (@infinisil) kicked the hackathon off with a guide to ZHF contributions. He was also mentoring people with Nix work the entire day, which made the event approachable to newcomers. Thank you for all your help, Silvan!

Throughout the day, participants submitted pull requests to Nixpkgs with the tag #ZurichZHF. A search for this tag shows 17 such pull requests, with most of them merged at the time of writing.

UX Workshop

In the workshop we discussed the relationship between User Experience Design and Development through the Systemic Design lenses, where several connections, behaviours, personalities, and competencies interact. Elton gave the audience an overview of the process: from research to strategy, from validation to implementation, aiming for an integrated culture that includes everyone in the open-source ecosystem, from internal operations to the developer’s community.


Image: Elton presenting at the Nix workshop

Please, don’t think about UX as design only.

The workshop attendance was higher that expected. Elton is an excellent speaker and mediator, who managed to engage everyone in the room with intriguing questions, compelling metaphors, and a few witty anecdotes.

The goal of the workshop was to learn how to apply the Systemic Design process to Nix development. We confronted ourselves with challenging questions like “how do users perceive our tool?”, “what actually matters to our users?”, and “who is responsible for delivering this feature?”. The workshop attracted both experts and newcomers and there was quite a variety of voices in the room.

Together we made a first approximation to identify the most important use cases, user’s points of contact with the ecosystem, an ideal user journey, and the roles and activities to support each step on that journey.

The experts often disagreed or had differing priorities; Elton brought special attention to those disagreements, as they provided some of the best opportunities for collaborative problem solving.

The feedback from the workshop attendees has been very positive. In just a few hours we shared insights and bridged gaps in communication, something that would otherwise take months of back and forth. At the end of the day we had compiled an overview of the key considerations concerning user experience in the Nix ecosystem.

Elton, thank you for sharing your outstanding expertise!


Image: The conclusion of the UX workshop

Looking ahead

Given the success of the event, I hope to organise another one for the next ZHF, in May 2023. The year 2023 marks Nix’ 20th birthday :tada:, so I hope to once again attract community leaders with excellent content.

Something to decide until then is whether the event should lean more towards the hackathon or the conference end of the spectrum. The more content we have, the more effort we must place in streaming and recording it for remote viewers. This time we tried to stream the workshop but ran into delays and technical issues, and we will try to improve on that aspect next time.

We hope to build upon the initial results of this workshop in the coming year, and are looking forward to collaborating with Elton, the Modus Create UX team, and, of course, the Nix community.

Nix UX workshop summary

Prepared by Elton Vecchietti

We ran an Experience & Touchpoint Mapping exercise with workshop participants. The results are what we identified as key user needs and a possible strategy to address them. Modus Create would like to stay in touch with the Nix community, and see how we can support implementing this strategy with our expertise.

3 Likes