GSoC 2022: Overview


Throughout this summer I've been working on making the New Documents feature discoverable in Nautilus, a file manager for GNOME as part of the GSoC project. This post is an overview with links of the work I did together with my mentor Antonio Fernandes.


For the project I was supposed to resolve the discoverability problem of this feature - when there are no templates in the Templates directory, the new document menu is not shown, and many users don't know about its existence. Below is a list of steps I've taken to fulfill that quest:

  1. Planning - first we had to establish a schedule for our work
  2. Research - then we had to do some research about how others implement this feature
  3. Design - afterwards we had to design a mockup for the improved feature
  4. Code - at last a prototype was made, and after several design iterations, a final MR was submitted and merged to a feature branch (not master yet), during that phase I also presented at GUADEC


While the short term solution is implemented in a feature branch, it's still not a final one - we need to keep iterating on the design, perform usability testing, get more feedback, before we implement it in master branch and it can reach the users. There is also a long term plan detailed in the mockups - it's an ambitious one that requires changes across the app ecosystem, but some day the work towards it needs to start, and I'm going to aim towards it. I'm also planning on keeping contributing to Files, as well as other core GNOME apps written in C.


This GSoC project has been an amazing journey - I expanded my knowledge of C, Glib, GTK, Libadwaita, and the internals of Files. I also learned how to do proper research with Boxes, use Inkscape for creating mockups, ask for designer feedback, and how to use Builder to create magic.

I would like to thank my mentor Antonio Fernandes for answering my questions and guiding me through the project, as well as Tobias Bernard, Allan Day and Michaël Bertaux for designer feedback.


Popular posts from this blog

GSoC 2022: First update - Planning

GSoC 2022: Fourth update - Code

GSoC 2022: Second update - Research