If you were having crashes and problems, please upgrade immediately. Quite a few crashers were fixed, and a few polishes went in too. Hopefully the experience of using Calendar will be much more pleasant now.
This new version was available in Flathub just half an hour after yesterday’s official announcement. Flathub is the only distribution mechanism that I officially support – if you rely on distro packages, please ask your distro maintainers to update.
It’s been a long time with no news. I guess work and masters are really getting in the way… good news is that I’ll finish masters in 2 months, and will have some free time to devote to this beloved project.
“Bad” news is that, after almost 6 years, I’ll finally take some time to have a real vacation. I’ll stay 3 weeks out of the loop in February, a time where I’ll be traveling to the other side of the world, watching the sunset at the beach with my wife. Without a computer. While it’s unfortunate to the community, I think this time is necessary for my mental health – I’ve gone way too many times through the almost-burned-out state recently.
But even with all of these thing in our way, thanks to the help of awsome old and new contributors, Calendar and To Do received a lot of new features!
Lets begin with my beloved Calendar. My focus for the past weeks was rewriting the Month view. It was a hard, painful process, but I can say for sure now that, of the very few responsive widgets in GNOME, the Month view is the best one! 😛
The most substantial changes were:
The day numbers are at the top of each cell now. This is thanks to the hard design work of Allan Day, Jean-François and Lapo.
Each cell now only shows the overflow button when absolutely necessary. When implementing this new behavior, a few longstanding issues were fixed.
The Month view now finally has a fully working, sane code to deal with RTL languages.
When clicking the +N button, the cell “zooms in” and display the list of events. This is a big design improvement over the popovers that we were using.
Code-wise, the Month view code that position the events is an order of magnitude simpler and easier to read. It may sound like a purely technical matter, but it has user-visible effects too: easier, cleaner code means more features and less issues in the future.
Of course, no words can make people as excited as a sequence of pictures! Lets check this out:
The animations were implemented usuing the animation framework in libdazzle, all thanks to Christian Hergert’s work on GNOME Builder. Kudos!
For the next cycle, thanks to the hard work of a new and awsome contributor Florian Brosch, this is what’s coming next:
We’re on track to land the features that were proposed for this cycle. You can check out the plans at the Roadmap page of Calendar. You can also get help us with these tasks with design, code and testing!
GNOME To Do also received a lot of attention already. We’re going through a big redesign, thanks to the leading design work of Tobias Bernard, and the results are already gratifying.
The immeditaly noticeable change is the tasklist view:
The rows are entirely draggable now. I’ll continue working on these features, but more importantly, I want people to take some of this work over and contribute to the project!
Talking about managing tasks, GNOME To Do was moved to GitLab! I can’t state how much of an improvement it is over the previous Bugzilla approach. We now have an updated and organized Kanban Board:
The reason for that is to have a consolidated workflow:
A designer moves the task to “Design” column and works on it.
Once design is settled, a developer moves the task to the “Development” column and fixes/implements the task.
When the task if implemented, the developer moves the task to “Code Review” column, and a maintainer will review the code.
Once the code is reviewed and the code landed, the task is moved to the “QA” column, where a tester will pick up and test it.
When all the regressions and issues of that task are fixed, the task is closed
So far, the experience with this workflow has been outstanding. We were able to find out much more bugs due to QA being a first-class citizen in the process. Filing bugs is now a breeze too! There are bug templates already available, and I took the burden and made a colossal cleanup and organization of the bug list:
While many of these changes are super exciting, this is just the first part of the cycle. There are much more to work on, and the more people get involved, the more we will accomplish. Things are moving in a fast pace, and I’m incredibly happy with the direction of these projects.
To help pushing community involvement, I went ahead and wrote a page describing how can you help testing. With Flatpak, this is ridiculously easy – and yet, absolutely necessary! So, don’t hesitate to get in touch and help us shaping the next GNOME version.
I am incredibly excited for GNOME 3.26, and it’s been hard to wait for it. I openly admit this fact. This release saw serious, important improvements all over the places, new features landed, some others didn’t, thousands of bugs were fixed all across the platform, and I’d like to share my personal highlights for this release.
As the result of a successfull Google Summer of Code project from Yash Singh, Calendar now supports events with recurrences. So far he did an outstanding job! There ain’t no secret in using it, and in fact it should be as simple as one could expect. Here’s a small video showcasing this new feature:
Another successful Summer of Code project from Rohit Kaushik introduced Todoist integration. This was made in cooperation with a GNOME Recipes intern, and many improvements to the entire stack landed.
What can we say about Christian Hergert’s work on GNOME Builder? It’s simple wonderful! This cycle, GNOME Builder received a redesign UI, code indexing, documentation cards, debugging capabilities and a great fullscreen mode. The code highlight is working like a charm too.
After using Builder for a couple of years now, I can finally say that, as a user of the application, it now covers all of my big needs. I am really happy to see how Builder is coming along, and how my development workflow was improved by this tool. Really, it allows me to code much faster now!
Thanks Christian, you deserve all the best!
Games is an app that I have a love and hate relationship. I love how simple and straightforward and powerful it is – specially because I love retro games – but I hate how it tempts me to spend my time playing instead of working.
I think Games is the GNOME app that makes the best usage of Tracker currently. It literally just works. I can plug my joystick, select a game and play it. And, because it uses libretro, I can play the games I love the most: Playstation games. Even the ones with multiple disks!
Thanks Adrien for creating this great app 🙂
I didn’t say this before, but nowadays I only use the unstable version of GNOME apps through Flatpak’s Nightly channel. Also, I run Steam and Spotify through Flathub.
It works like magic. Almost literally.
You should give it a try.
Stability. I love Stability.
When I wrote my impressions about the 3.24 release, I was really frustrated about the overall experience of 3.24. Having a session that crashes every 2 minutes when you already have your own tight deadlines didn’t help.
Things improved drastically during the cycle, of course – thanks to the tireless efforts of Philip Chimento. He was brave to make himself responsible for a very core component (GJS) and work on it. He fixed all the worst bugs already, and the JS platform is finally advancing again thanks to him. We should really get him a drink, don’t you agree? 🙂
And I now realize that I wrote about those issues in the worst possible way I could’ve. And, from the very bottom of my heart, I beg the pardon of the community about that.
This cycle, I did a few things that I’m happy. Specially because I myself will benefit from them as well! 🙂
You’re probably aware of it already, but GNOME Control Center’s UI was revamped and rebranded as “Settings”. I think that this rebrand, together with GNOME Tweak Tools becoming “Tweaks”, make it clearer and more obvious the different purposes of those apps.
The panels are now much more consistent, and the overall experience should be more streamlined now. It’s looking simple and intuitive, and yet we present the same ammount of features! I wrote about it in this blog post. Even though this work was huge, and I am feeling mentally tired after this battle, I’m also very happy we managed to get this done for 3.26.
Thanks for everyone involved!
Fullscreen Mode in Builder
This was one tiny contribution from my side, and Christian was the one that actually made it great. But it makes Builder much more usable on a standard 1366×768 screen, where I can’t half-tile it. This is how it used to look like:
Moar Music Performance
Another cycle, another round of performance improvements in GNOME Music. This time, an issue in the Album Art loading code was killed with fire. Check this out:
Quarter Tiling, where are you?
This is complicated. As you know, I’m not a window manager expert. And Mutter is huge, with dozens of edge cases that I didn’t know of. This led to me spending a stupidly long time testing a high number of different setups and configurations.
The good news: the patches are working.
The bad news: they couldn’t make it for 3.26.
Depending on the willingness of Florian, and the acceptance of the Release Team, I can try and request a feature freeze break for 3.26.1, but there of course is a chance that this is not going to be accepted. Which is totally reasonable, few people are willing to introduce potentially buggy new features in stable releases.
Even if it doesn’t make for 3.26, I’ll continue to work towards quarter tiling and we, at the very least, can expect it to be very well tested for 3.28.
I’d love to hear your comments and suggestions. What are your impressions about this GNOME release? Drop a comment below!
This year’s GUADEC was amazing. I’m really happy I could attent it this year (even though my tasks are accumulating and I’m really afraid to look at my emails again…). I’m still in Manchester so, if anyone wants to meet me and buy me a tea, do get in touch!
There were quite a few talks that I enjoyed. I can’t really name one that I liked the most, but on the top of my list are:
I had a special interest in Richard’s talk. He raised many relevant questions and exposed how complicated it can potentially be the problem of donations and payments. More about that in the future.
Calendar & To Do
I had the chance to sit down and see a power user interacting with GNOME Calendar. It was an unique and enlightening experience. I was able to see a few areas where Calendar can do better in terms of UI/UX.
Unfortunately, GNOME To Do didn’t have the same luck. I’m still somewhat unhappy with the current UI of To Do, but I’m running out of ideas on how to improve it without a complete rewrite (which I simply don’t have time to do now). If you’re a GNOME user with any kind of background on design, ~please~ get in touch: I’d love to gather some feedback on To Do!
I had the chance (and honor) to be present at the discussions for GTK4. In these discussions, we did a big list of topics and discussed each one of them in details.
I admit that, during these discussions, I felt like a kid at times – the GTK hackers are incredibly smart and skilled people. The other side of the coin is that, while I was feeling like lagging behind them, I also felt honored and happy to be surrounded by such amazing people.
The biggest problem to solve now is the accessibility stack. After digging into the topic and clarifying how it works, we concluded that this topic was too big and complex for that moment, and deserved a hackfest of its own. We’ll organize one during the next months.
Wrapping up, I can’t state how productive these discussions were. Thanks to Matthias Clasen, Benjamin Otte, Christian Hergert, Cosimo Cecchi and everyone else that drove the discussions. We now have a solid GTK4 roadmap that I’ll move to the GNOME Wiki in no time.
An unexpected thing happen during the Unconference days. When talking to my good friend Mario we asked ourselves: how can we improve our own Endless tasks by upstreaming our features?
Endless OS shell has many features that GNOME Shell doesn’t, and maintaining downstream patches is expensive and simply not cool. One of these features was specially important, as it is difficult to maintain and lots of GNOME users frequently ask for.
This specific feature was considered in the past, but had many design constraints and we end up never solving it design-wise, nor implementing it.
This is about to change.
After a rather spontaneous group discussion, we found solid solutions for all the relevant edge cases of this feature 🙂 I’m sure Mario will write about it in the future, and probably will implement it as well, so stay tuned!
Because, in case you forgot:
(And yes, I purposely didn’t say which feature I’m talking about – but I’m sure many of you can guess that :P)
After a long explanation and discussion with Florian Müllner (and of course, getting him a well deserved beer for being the GNOME Shell and Mutter maintainer!) the path for quarter-tiling is much clearer now.
The original idea is to implement tiling support using constrained edges, rather than tiling states. But this is hard, and now I believe it’s effectively impossible to do that.
Olivier Fourdan tried to propose a Wayland protocol for that, but discussion ended up freezing and no progress was made for a long time. I admit I’m kinda scared to try to send these changes upstream… see the bug’s feedback (sometimes I forget that the GNOME community is much more welcoming than many other FOSS communities).
I now have a real problem to solve, and the time is not enough. Perhaps it’s time to declare bankruptcy?
I’d like to thank the GNOME Foundation for sponsoring me. I sincerely hope that my engagement and contributions pay off this investment!
I also thank my employer Endless to let me join. The upstream contributions we’re doing are valuable for the community, and in turn it helps us lowering the number of downstream changes to maintain.
This morning, I had some free hours to spend on my baby Calendar, and of course I’d spend on what matters the most: the Week view.
I’ve been working on and off in this feature for quite a while, and the last missing piece was proper drag n’ drop support. Fear no more!, and say hello to the new Week view in GNOME Calendar:
This work initially started as a Summer of Code driven by Vamsi, and I just went ahead and finished his work. I tried to be as careful as possible with the new Week view, in order to keep in on part with Month and Year views. That means:
Drag n’ drop
Visualizing and editing events
Properly handle multiday and all day events
Handling too many events
And so it goes. You can create all day and multiday events very quickly:
Of course you can also create timed events with the new week view! Check this out:
And, as always, the traditional sequence of pictures with an awsome rock-ish soundtrack!
Excited? Join #gnome-calendar IRC room at irc.gnome.org, or send me an email to get in touch! Don’t be shy. Calendar is entirely made by amazing contributors dedicating their free time to make the world a slightly better place to live 🙂
Today, the Calendar Team had the first meeting in history. Isaque, Lapo, Renata, Vamsi and I attended it, and the meeting was extremely productive! In fact, we were able to sketch out the general direction that GNOME Calendar will head towards.
What’ll be added
Lets start talking about the additions that Calendar will have.
A New Sidebar
Our design samurai came up with this idea and it was immediately completely welcomed. We want to do a simpler, less cluttered version of this:
The search would behave just like the redesigned GNOME Control Center, and in fact, using a sidebar fixes many issues we currently have with GNOME Calendar, like the search popover and random glitches all around.
The sidebar will be able to be hidden, just like Nautius’ sidebar, so people can have their old Calendar again, behaving just like it used to behave. Stay tuned.
Vamsi has been working on Week View for the past few months. It’s harder than it looks like! Still, he’s working on it and we plan to have the week view by the end of this year. The current state is described by him in his blog post, and here’s how it actually looks like (be aware – IT’S NOT FINISHED):
There’s still a lot of work to do, but we’ll get there eventually 🙂
This is something I myself use frequently, but cannot do with Calendar. Obviously, this will be integrated with GNOME Contacts and will support mailing the attendees.
There are some pain points that we want to change in GNOME Calendar. Thanks to Renata, we have a much clearer picture about the big bottlenecks of Calendar now: adding new calendars and promoting Online Accounts.
Calendar Management Workflow
Based on Renata’s usability testing results, we’ll improve the way people manage calendars by changing its workflow. We’ll use this oportunity to finally implement the initial setup wizard, which we have mockups for quite some time now:
We’ll also turn the calendar management dialog into a wizard-like dialog, and make it more pleasant to work with.
The current Year View is not in the greatest shape possible. The single biggest issue right now is that the months in Year view are different from the months in Calendar (and GNOME Shell):
Fortunately, Isaque has a deep understanding of the Year view, and we’ll turn Year view into a GtkFlowBox-based widget, and share the same month widget (and behavior) all around. Exciting times ahead!
What’ll be removed
Nothing (just a bait for the trolls :P)
Of course, I didn’t cover every single thing discussed in the meeting. Obvious things like recurrences, more reminders, natural language support, jump to date and many other things are not worth the time – they’ll be added. Period.
In general, I’m very happy that this meeting happened. There is a team of contributors growing around Calendar, and this is awsome! Remember that the very first post in this blog was about the Calendar revival? It was a long way from a dead app to a serious core project. A big thanks for this awsome team that is putting time and efforts to make Calendar a better application – without you guys, there wouldn’t be a Calendar!
Excited? Join us in making Calendar great. Get involved, ping us on #gnome-calendar IRC channel, file bugs and/or document it. Every contribution is endlessly appreciated 🙂
is still true! Between backend reworks, Summer of Code projects and spontaneous contributions from awsome random contributors, here are the things that I’m looking forward with GNOME 3.22 release.
Let’s face it: Nautilus is heading towards a bright future and it’s getting in a very good shape – and the community that is growing around it is absolutely gorgeous. Obviously, this is not random; Carlos Soriano is working very hard to make it happen.
This leads not only to fun IRC chats, but tons of contributions. Nautilus’ codebase had its style unified, making it very nice for newcomers to send their patches. After a huge work on Nautilus’ internals, things are in a better shape now and new features are popping up. If you want a more complete list of Nautilus improvements, check Carlos’ blog post about it. Below, the ones that caught my attention.
I didn’t notice how a batch rename tool could simplify one’s life. I personally wasn’t confident this would be useful, but now I can’t live without it! Thanks to Alex Pandelea, we can do things like this now:
Integrated compressed files
Another detail that required lots of improvements on how Nautilus works is the integration of compressed files. This is the kind of thing that gives Nautilus a kudo for the attention to details. Having progress report in the Nautilus progress popover and a built-in way to create compressed files makes me feel like Nautilus cares about me 🙂 Thanks Razvan!
This cycle I focused my efforts at GNOME Calendar. I already wrote about it multiple times, but in short, Calendar received:
In one phrase: I can use Music now. My music collection is considerable (over 9000 individual songs) and GNOME Music simply couldn’t handle it.
Let me be crystal clear: Tracker is fast as hell. GNOME Music was slow to death. Retrieving the list of songs from Tracker takes about 0.25 second, putting the songs into a window and presenting it used to take ~85 seconds. Yes, that’s right, 340x slower.
Fortunately, this is fixed and will be distributed with GNOME Music 3.22 🙂
This new app is surprising me. A lot. I was trying to play Spyro 3 – Year of the dragon for months, without success. Then I tried GNOME Games – without success too. But at least, I could report my issues to Adrien, and what a supportive guy he is! With his help, we were able to debug my failures and, surprise!, he fixed it right after.
And now, after a journey through different PS1 emulators, I can play Spyro again. I could only get it working using Games from Flatpak’s nightly builds – but hey, it works, that’s what matters.
Yay! That’s very promosing! (Although I wonder how much it will impact my productivity :P)
Thanks to the amazing team that leads the development of Gtk+, it keeps receiving a flow of new features, improvements and fixes so fast that it’s hard to track. This round, I was able to add a small feature, the CSS background-blend-mode property support. It definitely isn’t a big thing, but I learned a lot throughout the whole process and I plan to work on more CSS3 features like filters, blend groups and others (and finally give Lapo all the tools he wants to create his crazy themes).
But wait! The greatest thing that Gtk+ will receive in 3.24 (or rather, 4.0 if I understood the new release scheme correctly) is the Gtk+ Scene Graph (aka GSK), thanks to Emmanuele. I’m looking forward using it in a future release!
Not everything is perfect…
Some things didn’t make for this release. I’m particularly sad about GNOME Control Center, which received a new UI but won’t switch to it because not all panels got ready in time. Also, Nautilus’ actionbar wasn’t good enough too – we weren’t satisfied with the end result, and decided it needs more research and love.
Basically, everything I touched outside GNOME Calendar. Sorry, folks!
… but we’ll get there!
So now it’s time to start planning the next cycle – this time, I want to try something new and decide some features based only on community input. I’ll run pools and decide the priorities with that, ask around and really try to get the community involved in the whole process. Stay tuned!
I’d like to thank my employer Endless for allowing me to work on GNOME – it’s awsome that I can do what I love to do as part of my job. Thanks, Endless!
One of the most intuitive ways to interact with an application is reproducing what we do in real life. Applications try to shorten the learning curve by using metaphores of real world objects.
We all know what GNOME Calendar is: a virtual calendar application. As such, using real-life calendars as a reference for it’s UI is mostly a good thing, except that we’d probably have an annoying time moving events around. In this regard, technology can improve what we do.
And that’s why GNOME Calendar now supports dragging and dropping events around.
Aaand… our traditional video:
Oh, did you noticed? Year view is much improved thanks to the awsome work of Isaque, who proved himself an amazing contributor and a good friend. And don’t forget, this summer we have an intern, Vamsi, working on the long wanted Week View.Calendar, just like Nautilus, is in it’s best moment.
Time has passed and we finally made it: GNOME 3.20 just got released. I’m writing this post in a full GNOME 3.20 + Wayland session (thanks Arch folks, [gnome-unstable] is amazing).
I’d like to take some time to reflect about this release, what happened and what didn’t happen.
While this certainly wasn’t the biggest feature release of GNOME Calendar, I’m very satisfied with it. Not only it went through a major rework that will make future development much easier, but also 4 new contributors had their patches in. 4 new contributors.
This is truly beautiful.
They polished lots of rough edges. Thanks to these contributions, past event are now less proeminent, year view is much more visually appealing and respects GNOME Shell’s setting to show week dates.
Not only that, but Month view also received subtle improvements. The rendering code now ensures a pixel-perfect selection, more proeminent background for selected days and navigating to beyond the last days switch the month.
Good news? I didn’t do any of these features! They were all contributions from independent, warmhearted people spread all around the world.
This release made GNOME To Do shine. I spent most of my time working on the new plugin support, and learned a lot to make it work correctly. Thanks to Garret Gregier, Patrick Griffis, Christian Hergert and many other supportive and warm people, the engine works good and soon I’ll write a small series to demonstrate plugin development.
Let’s see what will be created from now on 🙂
Oh, dear Nautilus. I’ve worked on you as a Summer of Code project, then as a free-time project, now it’s a paid-time project. I love you, but I disdain you. Your old codebase with loads of obsolete code makes my spine chill, and yet I can’t leave you crying in the rain.
This cycle, I worked on the new Search feature. Then Carlos finished what I’ve started, so he deserves all the credits. Check his post about it.
What’s coming next?
Maybe that’s not the only big thing that will come. Who knows 😉
Poor GNOME News, almost dying. I managed to push some changes on it, but it’s far from perfect. Maybe I’ll manage to sneak more improvements during 3.21 cycle?
This was a good cycle. I’m very proud of how much better GNOME got during the last releases. It’s definitely getting to a stability and usability points that we saught since the first 3.0 release. The apps are slowly (no so slowly anymore) getting mature and useful.