Meet the new Week view

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:

Introducing the Week view

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
  • Being beautiful
  • Handling too many events

And so it goes. You can create all day and multiday events very quickly:

Creating all day, multiday events by clicking the header

Of course you can also create timed events with the new week view! Check this out:

Creating a timed event in the week view’s grid

And, as always, the traditional sequence of pictures with an awsome rock-ish soundtrack!


Excited? Join #gnome-calendar IRC room at, 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 πŸ™‚


The future of GNOME Calendar

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.

Week View

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.


What’ll change

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.

Year View

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 πŸ™‚



Looking forward GNOME 3.22

The old GNOME mantra:

The best GNOME release is the next GNOME release.

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.

Batch rename

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:

The new batch rename dialog

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!

compress window.png
Dialog to compress a set of files (picture made by Carlos)
Progress of the compression in the popover (picture made by Carlos)


GNOME Calendar

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.

Not only it automagically discovers my games, it also searches for nice covers (thanks to Bastien Nocera’s Grilo work)

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.

Good old time, huh?

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!

banner down

GNOME Calendar and Drag n’ Drop

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.

The GNOME 3.20 release

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.

Captura de tela de 2016-03-23 00-47-05
Year view improvements and faded past events.

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.

Captura de tela de 2016-03-23 00-51-58
Month view improvements.

Good news? I didn’t do any of these features! They were all contributions from independent, warmhearted people spread all around the world.

To Do

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.

Captura de tela de 2016-01-31 18-59-50
Plugin support for GNOME To Do.

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?

Captura de tela de 2016-03-22 14-16-51
This is coming next: action bars.

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?

Captura de tela de 2016-03-07 17-55-36


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.

GNOME Calendar 3.19.90 was released

Aye folks! This was a very productive cycle for GNOME Calendar, and this release is the result of a hardworked cycle. First of all, the bad news: no DnD support, no Week View, no, no, no!

But why, Mr. Feaneron?

The reason is simple. Sanity.

Behind the scenes

GNOME Calendar is build on top of Evolution-Data-Server, so we don’t need to write an entirely new backend and to guarantee system integration (GNOME Shell uses it to fetch events, for example).

The problem is that EDS is an “[…] unholy mess“, and it reflects on Calendar. No matter how skilled are the engineers behind it, Calendar was reaching a point of messy code. No one likes messy code – it makes newcomers run away, maintainers avoid improvements out of fear of breaking the app, the app dies, no one’s happy.

So I decided to not let it reach this point, and did a major rework and cleanup of Calendar internals. Believe me, it wasn’t easy.

The good thing is that we’ll be able to avoid commits like this and this, and after reworking the internals, fixing long-term, hard bugs was a piece of cake. From now on, Calendar is going the right way (IMHO) and we’ll avoid messy code and obscure paths.

Now, let’s go to the cool things.

An Improved Quick Add Popover

Following the recent trend of “Popovers Everywhere! TM”, the quick add popover just got better. Now, the user can select in which calendar the event will be added without having exit the popover. Long-term plans include adding natural language support, so we’ll be able to extract the location, start & end dates from the event summary.

Captura de tela de 2016-02-16 22-22-10
The new quick add popover


Implementing this popover was a delight after the new rework.

Year View, Restyled

Thanks to the new contributor Isaque Galdino, the year view receive some improvements that made it look so much better! And appearently, he won’t stop soon. Check this out:

Captura de tela de 2016-02-16 22-21-45
The improved year view (check the dots under the days)


Thanks, Isaque! I hope you keep up with your really good work.

Keyboard Shortcuts Window

Last but not least, the brand new shortcuts window:

Captura de tela de 2016-02-16 22-21-29
Most people didn’t know Calendar had so many shortcuts!

And, as the tradition dictates, a cool video of the new version:


A Public Request

Since Calendar received such a major overhaul in it’s gears, I need to make sure it is stable and good enought. So I hereby request that, whoever has the chance, please test Calendar. Thanks!

Any ideas, comments or suggestions? Leave a comment below!

What the future holds (or plans for GNOME 3.20)

We did it. Yes, we finally made it. We’re having the 3.18 release, and is the best release ever – just like every GNOME release. We saw many cool features landing, a number of awsome project which the GNOME interns (hey, I was one of them too!) worked on this summer and lots of exciting news going around.

Every new GNOME release, however, actually just an excuse for the next one. There’s always room for improvements and the work never ends. I personally like the beginning of new release cycles so that I can plan ahead what I’ll probably work on. And why not share it?


Oh, poor Calendar. Received so little attention for 3.18 release… fear no more! Calendar will receive it’s well deserved love. Here’s what’ll happen:

  • Calendar theme will get some attention. Minor details will be fixed.
  • Every single struggle pointed by Gina’s usability tests is going to be fixed.
  • We’ll finally have Drag n’ Drop support!
  • Hopefully, Week view will be ready.
  • A new view will be available too – but that’s a surprise! πŸ˜‰
  • Much like To Do, Calendar will receive some error reporting UI too.

To Do

The new kid in town will also receive some love. Since it’s very fresh and young, there’s plenty of ideas to try here:

  • A new flow grid view will land (see Google Keep’s grid view to have an idea).
  • Support for subtasks (and the many cool things we can do with that).
  • Full GOA support (actually depends on Evolution-Data-Server work).


I started working on Nautilus as part of my Summer of Code internship, and – guess what – I won’t abbandon it! Such a core component of GNOME stack must receive as much attention as it possibly can. For this cycle:

  • Improve the way we do bookmarking on Nautilus (possibly will reflect on Gtk+ too).
  • Rework the search UI.
  • Remove the duplicated GtkPlacesView code.
  • Many bugfixes.


Together with Nautilus, I managed to inject some code in Gtk+ as part of my GSoC internship too. And I just realized that I’m the official(?) maintainer of a Gtk+ widget! As such, that’s what I’ll do on Gtk+:

  • Show the free space of local disks, as shown in the mockups.
  • Cleanup & document the code.
  • Expose it as a public widget (and also remove the duplicated code from Nautilus).
  • Improve the places sidebar.

I’m also hoping to work on smaller things with Music and Maps. And last week, I made my first patches for Grilo! Stay tuned for updates on that.

There’s not much to say besides that. I sincerely hope you guys enjoy using the new GNOME 3.18 release, just as much as I enjoyed working on it! See ya!

Annoucing GNOME Calendar 3.17.4

During the last period, GNOME Calendar received many improvements and bugfixes.


  • Calendar’s Month view received a nice keyboard navigation feature.
  • Many code optimizations, cleanups and fixes
  • Improve Year view’s rendering

Unfortunately, Calendar won’t receive Week view this cycle. It’ll be postponed to 3.20 cycle, which I’ll have much more time to work on Calendar.

GNOME Calendar Wishlist #1: Calendar Management

Last month, I wrote about the most wanted Calendar features. And here I come to show you the first & top wanted feature: Calendar management.


Before getting our hands into works, we needed mockups. Good ones, since we’re dealing with the most expected feature. And here he came to save the day again, the all mighty Allan Day. And his work was amazing:


Before anything, keep in mind that this work still needs much testing. Don’t be afraid, go on and test it! Fill as many bugs as you possibly can, and scream out loud so we Calendar Developers can hear you clear!

What’s next?

LTR, Week View. We already have some awsome experiments going on here, and we’ll have something valuable by the end of next month.

Hope you guys enjoy it!