The Road to 3.28: Calendar and To Do

New tasklist view in To Do 3.27

Greetings my GNOME friends!

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!

Calendar

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:

Weather indication in Week view
Weather indication

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!

To Do

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:

New tasklist view in To Do 3.27
New tasklist view in To Do 3.27

 

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:

 

GNOME To Do in GitLab: the Kanban Board
GNOME To Do in GitLab: the 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:

GNOME To Do in GitLab: Issue Templates
GNOME To Do in GitLab: Issue Templates

I encourage everyone to not trust me and go check it out: https://gitlab.gnome.org/GNOME/gnome-todo. The downside is that I’m feeling incredibly demotivated to check Calendar bugs in Bugzilla now ๐Ÿ˜ฆ

We’re Not Quite There Yet

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.

See you all around o/

Advertisements

GNOME 3.26 is great

Greetings!

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.

Calendar

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:

 

To Do

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.

Todoist in GNOME To Do
Todoist in GNOME To Do.

Builder

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.

GNOME Builder 3.26
GNOME Builder 3.26 showing documentation card and displaying the functions with ‘gcal_manager’ prefix.

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!

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!

GNOME Games
I’m terribly awful playing Megaman X6 ๐Ÿ˜ฆ Still fun though

Thanks Adrien for creating this great app ๐Ÿ™‚

Flatpak

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.

Sorry, folks.

My Contributions

This cycle, I did a few things that I’m happy. Specially because I myself will benefit from them as well! ๐Ÿ™‚

Settings

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.

New Network panel
The new, single column Network panel

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:

Yay!

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!

GUADEC + Unconferences | 2017

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!

GTK4

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.

This slideshow requires JavaScript.

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.

GNOME Shell

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:

banner down

(And yes, I purposely didn’t say which feature I’m talking about – but I’m sure many of you can guess that :P)

Mutter

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?

Acknowledgements

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.

sponsored-badge-shadow

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:

captura-de-tela-de-2017-01-17-19-43-40
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:

captura-de-tela-de-2017-01-17-19-58-38
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:

captura-de-tela-de-2017-01-17-20-00-17
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 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 ๐Ÿ™‚

Enjoy!

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

Attendees

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:

calendar-wizard

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):

month-differences

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)

Conclusion

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

Peace!

 

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.

Nautilus

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:

captura-de-tela-de-2016-09-19-12-12-12
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)
compression.png
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:

 

GNOME Music

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

 

GNOME Games

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.

captura-de-tela-de-2016-09-19-13-06-18
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.

captura-de-tela-de-2016-09-19-13-06-29
Good old time, huh?

Yay! That’s very promosing! (Although I wonder how muchย  it will impact my productivity :P)

Gtk+

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.

Calendar

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

Nautilus

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 ๐Ÿ˜‰

News

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
GNOME News.

Conclusion

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!