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.
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 , 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.