Posted on Leave a comment

Announcement: GNOME will have an Outreachy intern working on librsvg

We are excited to announce that the GNOME Foundation is sponsoring an Outreachy internship for the December-March round!

The intern will work with mentor Federico Mena Quintero on the project, “Implement the SVG2 text layout algorithm in librsvg.”

The intern’s blog will soon be added to Planet GNOME, where you can follow their project updates and learn more about them. Stay tuned!

Posted on Leave a comment

GNOME Settings 47 Retrospective

While cutting the 47.2 release earlier today, I couldn’t help but reflect on everything we’ve accomplished this cycle. But instead of just listing code changes, I want to use this opportunity to give credit where it’s due, because to me, software is about people!

Much of what we have achieved this cycle is thanks to the dedication of passionate volunteer contributors such as Matthijs Velsink, Automeris Naranja, Hari Rana, Alice Mikhaylenko, Andy Holmes, Adrian Vovk, Corey Berla, Joan Torres, Joshua, Adrien Plazas, Jamie Murphy, and many others. I’m also deeply grateful to the translation teams for making GNOME accessible in so many different languages.

The GNOME Design team has been invaluable throughout this cycle. A big thank you to Allan Day, Jakub Steiner, Sam Hewitt, and Jamie Gravendeel, for their essential contributions.

Special thanks to Matthijs Velsink for taking on the challenging role of co-maintaining Settings with me. I couldn’t manage it without Matthijs’ outstanding contributions to fixes, features, and reviews. We’re lucky to have him as part of the project.

Release 47 holds extra significance for me. Wearing my downstream hat, I can share (it’s no secret) that the upcoming RHEL 10 Workstation will primarily feature GNOME 47 components. Building a solid upstream foundation for this version has been one of my top priorities, and I’m happy with the results.

Thanks to the evolution of libadwaita, we’ve been able to port many of our custom widgets to modern libadwaita ones. This transition enhances consistency across the desktop, improves accessibility, and ensures better responsiveness on screens of various sizes. A big shoutout to the incredible folks working on libadwaita for making this possible!

With Libadwaita we added Accent Color settings, allowing customizing our default blue accent color throughout the GNOME app ecosystem. Personally, I’ve been rocking the purple accent color on my desktop. 🙂

We also revisited the interface for adding local and enterprise user accounts, improving it with libadwaita widgets, a new password and username feedback widget, and addressing some technical debt along the way. Speaking of interface modernization, we’ve also revamped several UIs in the Printing settings.

Over time, some of our UIs have evolved at different paces, often leaving us with interfaces in transitional states and UX inconsistencies. A common example was nested dialogs, where a button within a dialog could open yet another dialog. To address this, many top-level dialogs have been converted into subpages using libadwaita’s AdwNavigationView, resulting in a smoother browsing experience.

We continually refine the settings texts and descriptions to align more closely with the GNOME Human Interface Guidelines. Many settings have also been reworded to improve clarity and discoverability too.

There’s so much more that happened this cycle, including a lot of performance improvements, bug fixes, and various tweaks. You can find more changes listed on the ‘Version History’ dialog in GNOME Software.

We’re always looking for contributors, and there are many ways you can help improve GNOME Settings. Visit apps.gnome.org/Settings to learn how to get started.

Posted on Leave a comment

Looking for more internship project ideas for Outreachy (December-March cohort)

GNOME is interested in participating in the Outreachy December-March cohort, and while we already have a few great projects, we are looking for experienced mentors with a couple more project ideas. Hurry up, we have until September 11 to conclude our list of ideas.

Please, submit project ideas on https://gitlab.gnome.org/Teams/internship/project-ideas

Feel free to message us on #internships:gnome.org (matrix) if you have any doubts.

Posted on Leave a comment

Stepping down as GNOME Internships organizer

For the past nine years, I’ve been actively involved in our internship initiatives with Google Summer of Code and Outreachy. As an alumnus of these programs, I firmly believe they are great ways to onboard new contributors to GNOME and help students start a career in open-source software.

However, as my work responsibilities have grown and I’ve started some personal (non-software) projects, I’ve found myself with less time and energy for this type of contribution.

I’ve been discussing this with key people over the past year, and I plan to stay around to hand over responsibilities to other members of the Internship Committee. I will continue helping manage things for 2024, but I won’t be directly involved beyond that.

If you’re interested in helping with these activities, please reach out to the GNOME Internship Committee.

Posted on 7 Comments

Rethinking Planet GNOME with GitLab Pages/CI

Some GNOME websites are getting modernized and simplified, but Planet GNOME has fallen behind. Not anymore. I started a prototype for a Python script to publish Planet GNOME with GitLab Pages/CI.

As Planet GNOME Editor, I am often asked to look for blog and syndication issues I couldn’t really address due to limited server-side access. With this, debugging indexing issues should be easier as it is just about looking at the CI job output.

Also, the Planet website is perceived as messy and outdated. So this work allowed Jakub Steiner to quickly jump in and restyle the page from a clean state.

Try it live at https://felipeborges.pages.gitlab.gnome.org/planet.gnome.org and let me know what you think. Keep in mind this is a proof of concept. Tips, feedback, and contributions are welcome in the project repo.

This still doesn’t produce the global Planet rss feed, just the webpage, but that’s in my TODO list too.

P.S.: I know feed readers/parsers can over-request rss/atom feeds. So I plan to cache data and use metadata to avoid redundant downloads before this is even considered as a replacement for the current Planet implementation. No worries. 😉

Posted on Leave a comment

GNOME will have two Outreachy interns conducting a series of short user research exercises

We are happy to announce that GNOME is sponsoring two Outreachy internship projects for the May-August 2024 Outreachy internship round where they will be conducting a series of short user research exercises, using a mix of research methods.

Udo Ijibike and Tamnjong Larry Tabeh will be working with mentors Allan Day and Aryan Kaushik.

Stay tuned to Planet GNOME for future updates on the progress of this project!

Posted on Leave a comment

GNOME will be mentoring 8 new contributors for Google Summer of Code 2024

We are happy to announce that GNOME was assigned eight slots for Google Summer of Code projects this year!

GSoC is a program focused on bringing new contributors into open source software development. A number of long term GNOME developers are former GSoC interns, making the program a very valuable entry point for new members in our project.

In 2024 we will mentoring the following projects:

  • “Add TypeScript Support to Workbench” by Angelo Verlain Shema, mentored by Sonny Piers
  • “Port Workbench demos to Vala, build a new Workbench Library, and replace the current code search” by Bharat Tyagi, mentored by Sonny Piers
  • “Improve Tracker SPARQL developer experience by creating a ‘web IDE’ for developing queries” by Demigod, mentored by Carlos Garnacho
  • “Papers’ small screen and touch support for mobile and tablet” by Markus Göllnitz, mentored by Pablo Correa Gomez
  • “More durable synching for FlatSync” by Mattia Formichetti, mentored by Rasmus Thomsen
  • “Port libipuz to Rust” by pranjal_, mentored by Jonathan Blandford
  • “Improve Tracker SPARQL developer experience by creating ‘web IDE’ for developing queries” by rachle08, mentored by Carlos Garnacho
  • “Add support for the latest GIR attributes and gi-docgen formatting to Valadoc” by sudhanshuv1, mentored by Lorenz Wildberg

As part of the contributor’s acceptance into GSoC they are expected to actively participate in the Community Bonding period (May 1 – 26). The Community Bonding period is intended to help prepare contributors to start contributing at full speed starting May 27.

The new contributors will soon get their blogs added to Planet GNOME making it easy for the GNOME community to get to know them and the projects that they will be working on.

We would like to also thank our mentors for supporting GSoC and helping new contributors enter our project.

If you have any doubts, feel free to reply to this Discourse topic or message us privately at soc-admins@gnome.org

 

Posted on Leave a comment

GNOME is participating in Outreachy! (May to August 2024)

The Outreachy organizers have approved GNOME to participate in the current round of Outreachy!

The GNOME Foundation is interested in sponsoring 3 internship projects for the May to August cohort.

@mentors If you are interested in mentoring, please discuss project ideas in our Project Ideas repository.

  • Feb. 23, 2024 is the deadline for mentors to submit new projects.

@interns Initial applications for the Outreachy May 2024 to Aug 2024 internships are due on Jan 29 at 4pm UTC: https://www.outreachy.org/apply/

Posted on Leave a comment

Updates on our internships administration

For the past few years I have been managing GNOME’s participation in the Google Summer of Code and Outreachy internship programs. As a former alumni myself more than a decade ago, I believe these programs are a fundamental tool to onboard new contributors to our community and to provide opportunities for contributors to learn and join a thriving open source community. While I enjoy part of this management role, I am still a developer, and some of the internship activities are really energy/time consuming. So I have been looking for ways to improve that.

During my term as a Board member, the Board established the concept of committees, to extend the Board’s responsibilities and to solidify the Board’s position of governance and oversight. See https://wiki.gnome.org/Foundation/Committees

Before my Board term ended, I proposed the creation of yet another committee: the Internship Committee. My goal was to increase the visibility of our internship efforts within the Board so that committee members have the resources and support they need to coordinate the programs. See https://gitlab.gnome.org/Teams/Board/-/issues/239

Now the Board has voted to approve the creation of the committee! This means that now the Board will always have a liason member dedicated to facilitate the communication between the Board and the internship administrators. This also means that now the Internship Committee has more formal responsibilities, such as the ones defined on the committee charter. The committee already has multiple community members and is working towards improving our processeses.

Another step I wanted to take was to produce a documentation for the internship administration processeses so that we eliminate the bus factor and have also a easy time onboarding new admins.

I just pushed the initial version of the Internship Admin guide, containing also my personal collection of templates for communication with interns, mentors, program organizations, etc… This allows for community members to improve the processes themselves all in once place. A lot of the templates I wrote need update and rewording (contributions are welcome).

And, while we are at it, don’t forget that we are gathering ideas for GSoC and Outreachy internships for 2024. Visit https://gitlab.gnome.org/Teams/Engagement/internship-project-ideas to learn more.

Posted on Leave a comment

#2 Another update on GNOME Settings

For the past months since my last update our project has been thriving with active contributors and positive interactions in our issue tracker and chat channels. As we land changes we often forget to talk about them, so this blog post is a small summary of the visual changes we have landed lately in Settings (in no particular order).

None of these changes are final and are subject to modifications before the stable GNOME 46 release. In addition to the items listed here, we have landed numerous bug fixes, tweaks, and non-visual changes. While the descriptions are brief, you can click on the links for more information and context.

New “System” panel, a Google Summer of Code project

Gotam Gorabh worked on this project during the summer of 2023. This panel groups “Region & Language”, “Date & Time”, “Remote Desktop”, “About” and will contain more system-level settings in the future.

Merged the “Removable Media” and “Default Apps” panels into the “Apps” panel

We have been working towards reducing the number of panels and grouping settings when that makes sense. Removable Media and Default Apps settings are similar to what we expose in the “Apps” panel and this makes related things easier to find.

An About dialog

After some discussions we decided to land the About dialog as it is not visually distracting where it is, and it gives us an opportunity to thank the volunteers involved in developing, translating,  documenting, designing the project.

Performance improvements in the Appearance panel

This panel has had some long lasting issues with its startup speed and lag when resizing. @velsinki has done great work identifying the issues and proposing changes that improve things significantly.

Lots of updated tooltips, mnemonics, HIG compliance UI changes

There are contributors doing drive-by merge-requests where they fix some missing tooltip, add a useful mnemonic, fix some sentence capitalization, etc… every detail matters. I appreciate this!

Multiple dialogs ported from deprecated GtkDialog to newer API

Most Settings panels spawn dialogs for specific settings, and a lot of those historically were using GtkDialog APIs that got deprecated. Various ports to newer APIs have landed lately.

Use of modern libadwaita AdwSpinRow, AdwEntryRow, etc…

The same way our dialogs are getting ported to new API, there are multiple instances of custom widgets that get easily replaced by modern libadwaita widgets. The result is often a much better polished widget and less code to maintain. Win-win.

Add “disable while typing” touchpad option

Updated Wacom illustration style

Improved status pages

Improvements in the “Saved Wifi-Networks” dialog

Notifications: don’t list system services

Other than that, there are other interesting merge-requests in the review queue and individuals working in features and bugfixes for the upcoming 46 release.