During last weekend, I was very happy to attend the Core Apps Hackfest in Berlin. This is effectively the first hackfest I’ve ever been! Thanks Carlos for organizing that, thanks Kinvolk folks for hosting the event, and Collabora for sponsoring the dinner.
This event was a great chance to meet the maintainers in person and talk directly to the designers about doubts we have. Since Carlos already wrote down the list of tasks we worked on, I’m not going to repeat it. So here, I’ll report what I was able to work on.
Together with Marinus and Felipe, we were able to give GNOME Music some thought and decide what to do next. Music, unfortunately, was not written to scale, and this is basically the worst blocker we have to deal with. Pieces of code are not contained, and working on something means breaking something else completely unrelated.
So we sit down and analyzed the code, and came up with a solution for that. Music needs to isolate the backend and the UI, so we can write extensions to music providers in such a way that the UI doesn’t have to be patched too much for that. We decided to work on it before trying to add any new features, because otherwise GNOME Music will be unmaintainable.
For the next release, do expect to see lots of action in Music’s codebase, but few features. Most of the efforts will be focused on refactoring and cleaning the code (even if that means more lines of code in the end).
I’ve been able to work on top of Vamsi’s previous prototype of the week view a little bit, and it’s starting to take shape. Basically, getting a working week view is hard. I’m sure we’ll be able to have something working by the end of December, but I expect some pain and headaches before getting into that state.
Andreas also did a quick live testing of GNOME Calendar, and I could see a few bugs to be fixed.
What a great chance to talk about our beloved shellfish! With Carlos and Alex in there, some issues were figured out and hammered off.
We also dicussed the plans for porting Nautilus to GtkListBox and GtkFlowBox. The biggest problem with those widgets is scalability: they’re not performant on big ammounts of data. Put 10k rows inside a listbox and it slows down to death. Same for flowbox.
Following up on the discussion, the flowbox-based view prototype that Carlos did some time ago was rebased against master. I also worked on rebasing the actionbar prototypes against master. From now on, I’ll focus on trying to get the actionbars into the main codebase.
As Allan detailed in his report, one of the big app-agnostic concepts discussed in this event was the content apps opening and managing files.
I somehow got involved a lot with GNOME Music development, so we discussed how can GNOME Music handle that. We ultimately realized that it’d be better for everyone if we do it The Right Way © and land the code refactorings and backend work before even attempting to do that. This will avoid having to implement the feature twice (before and after the refactoring) and frustrating people with eventual breakages.
This won’t affect GNOME Calendar nor GNOME To Do at the moment, so this discussion wasn’t my focus.
There’s a bunch of things that happened during the hackfest that I’d like to highlight:
- The always-awsome Carlos Garnacho fixed some locking issues in Tracker that gave another performance boost to GNOME Music. Now I can really use Music as my everyday player. It takes only 2 or 3 seconds to load my 10.000-songs library.
- The new Online Accounts panel patches were reviewed, and started to land on the main codebase. Thanks Rishi!
- The GNOME hackers are absolutely awsome. They’re great people, really. I’m proud and honored to be part of this team with such incredible people. I feel like a small kid both in technical and human terms when with them.
I’m very grateful for the GNOME Foundation for sponsoring me. I wouldn’t be able to attend without the sponsorship. And I also thank Endless for allowing me to attend the event. This event was very productive and I have a strong feeling that this really pays back to the community.