Mozilla Nederland LogoDe Nederlandse

Calendar: Google Summer of Code 2015 Projects

Thunderbird - sn, 28/02/2015 - 15:32

The one thing I like best about the Google Summer of Code is that it gives us an opportunity work on cool new features I never have time for on my own. Also, its a great opportunity for students to learn about working on a large-scale project and prepare for real life work, which is very much different than the smaller projects I remember from my university. Students that have stayed with us even after the Summer of Code have proven themselves invaluable, showing spirit and enthusiasm for an open source project like the Mozilla Calendar Project gives me a warm feeling in my heart.

This year, we have proposed two projects: Introducing Calendar Accounts and Resource Booking Improvements. As the projects have been available on the wiki for a while (sorry for not blogging about this earlier!), we’ve already had the one or other student interested in applying. However, that doesn’t mean there isn’t any room left for a fine candidate like you!

In the first project, Introducing Calendar Accounts, the goal is to improve our backend layer to move from a flat list of calendars to a hierarchical list with calendars grouped by the accounts they belong to. Aside from the benefits this gives us w.r.t. avoiding code duplication and ugly hacks, it will open Lightning to a load of new features related to accounts, for example notifications if a new calendars was added to the account or improved support for authenticating to calendars on one server with different credentials.

Second, we have proposed a project on Resource Booking Improvements. Right now, our invite attendees dialog is fairly simple and only allows entering email addresses and seeing their free/busy status. What is missing is an easy way to invite resources and rooms, for example when you want to book a conference room for your meeting. There is an inconspicuous feature that allows changing an attendee to a resource entry, although there is no real value in doing this aside from sending more correct data to the calendar server. The user still has to remember the virtual email address associate with the conference room. With this Summer of Code project we want to allow any kind of calendar provider to be able to specify how to search for rooms and resources. Certain CalDAV servers support searching for these entries using custom queries, the goal for this project is mostly to support those servers.

If you are interested, please do get in touch with me, either via email or on, where my nickname is Fallen and I usually hang around in #calendar. Should I not be around, redDragon (a former GSoC Student, by the way!) will be there to help you.

Categorieën: Mozilla-nl planet

Calendar: Provider for Google Calendar Postmortem

Thunderbird - sn, 28/02/2015 - 14:42

First of all, I’d like to apologize for not adding in new blog posts once in a while. There have been a few topics I could have written about, but I never got around to it. The consequence is that there will be a few posts in succession now, I hope to be better about this in the future.

In this post, I’d like to tell you a little bit about the changes to the Provider for Google Calendar that have taken place in the last months. With due prior notice, Google has shut down version 1 and version 2 of the Google Calendar API. The previous version of the Provider for Google Calendar, version 0.32, was still using the API v1.

The changes to the API were fairly substantial, so I took the opportunity to rewrite large parts of the Provider to use new JavaScript features and generally make the code more readable. I also added some new features, including:

  • Support for tasks using the Google Tasks API
  • A very user friendly new calendar wizard, no need to enter the XML url.
  • Offline support by default, with no need to disable it.
  • Support for the activity manager, sync progress is now shown in status bar
  • Better (albeit not perfect) support for accepting invitations
  • Allow setting default reminders
  • Compatibility to Postbox 3

As such drastic changes are a common source for regressions, I went through 10 rounds of pre-release testing and got some very helpful input from those who commented on the bug or sent me an email. There would have been substantially more issues without these folks, so thank you very much! In the last round the amount of issues was down to a level where I felt comfortable releasing the Provider to the world.

When I release version 1.0, something inevitable happened: nearly 300,000 users find more issues than 140, so I had to do a few additional releases to fix more major issues. The new API version imposes limits on the number of requests being made, so one of the first issues I had to overcome was gaining more quota. Thanks to the fantastic folks at Google I was able to solve this issue using a combination of code changes to reduce the number of requests and also higher quota limits. Here is a roundup of the other issues:

  • Version 1.0.1
    • Calendars were incorrectly migrated from 0.32 to 1.0
    • Users who disabled cookies could not use the login dialog
    • Attendees added from Hangouts were incorrectly shown
  • Version 1.0.2
    • Added descriptive text to the new calendar wizard to make it easier to understand for users who were used to entering the XML url.
    • Refresh intervals smaller than 30 minutes were prohibited due to quota issues
    • Calendar is no longer refreshed when user is idle
    • Bumped number of results per request from 50 to 1000
    • Various issues w.r.t. showing correct messages on quota or login errors
  • Version 1.0.3
    • Postbox 3 support, which essentially means backwards compatibility to various older Mozilla Platform versions
    • Recurring events no longer disappear when modified
    • Recurring alarms are correctly snoozed.
    • Fixed error “this.mDeferred is null” when login fails
    • Removed lots of debugging messages
    • Back button in new calendar wizard no longer causes double-subscriptions
    • Synchronizing no longer blocks UI thread
    • Calendars no longer get disabled when in offline mode
    • Use application locale when showing OAuth window
    • Fixed an invalid timezone definition for the start time
    • Provider no longer ignores default reminder settings
  • Version 1.0.4
    • Notifications are now correctly sent when modifying events
    • Fixed creating events without an organizer but with attendees
    • Fixed an error in the attendees dialog with “entry.interval is undefined”
    • Correctly create events in UTC timezone
    • Wait for parsing to complete before completing synchronization
    • Fix some internal issues and a compatibility issue with Thunderbird 24
    • Improve invitations handling
    • Google login popup now has a description as to why its required
    • Fixed setting default alarm props on calendars without default alarm
    • Task lists now work for calendar entries without a calendar (regression)
    • Outdated client message shown when using obsolete token

In retrospect, there have been a lot of complaints, but on the other hand a lot of people have noticed how important this addon has become for them. Many have shown their gratitude by sending a donation via the addons page. I hope that version 1.0.4 fixes most of the issues, there are just a few more issues reported. If you continue to experience difficulties, please send me an email or visit the support forum.




Categorieën: Mozilla-nl planet

Thunderbird Blog: Thunderbird Usage Continues to Grow

Thunderbird - fr, 27/02/2015 - 23:44

We’re happy to report that Thunderbird usage continues to expand.

Mozilla measures program usage by Active Daily Installations (ADI), which is the number of pings that Mozilla servers receive as installations do their daily plugin block-list update. This is not the same as the number of active users, since some users don’t access their program each day, and some installations are behind firewalls. An estimate of active monthly users is typically done by multiplying the ADI by a factor of 3.

To plot changes in Thunderbird usage over time, I’ve picked the peak ADI for each month for the last few years. Here’s the result:

Thunderbird Active Daily Installations, peak value per month.

Germany has long been our #1 country for usage, but in 4th quarter 2014, Japan exceeded US as the #2 country. Here’s the top 10 countries, taken from the ADI count of February 24, 2015:

Rank Country ADI 2015-02-24 1 Germany 1,711,834 2 Japan 1,002,877 3 United States 927,477 4 France 777,478 5 Italy 514,771 6 Russian Federation 494,645 7 Poland 480,496 8 Spain 282,008 9 Brazil 265,820 10 United Kingdom 254,381 All Others 2,543,493 Total 9,255,280

Country Rankings for Thunderbird Usage, February 24, 2015

The Thunderbird team is now working hard preparing our next major release, which will be Thunderbird 38 in May 2015. We’ll be blogging more about that release in the next few weeks, including reporting on the many new features that we have added.

Categorieën: Mozilla-nl planet

Mike Conley: The Joy of Coding (Episode 3)

Thunderbird - fr, 27/02/2015 - 16:27

The third episode is up! My machine was a little sluggish this time, since I had OBS chugging in the background attempting to do a hi-res screen recording simultaneously.

Richard Milewski and I are going to try an experiment where I try to stream with OBS next week, which should result in a much higher-resolution stream. We’re also thinking about having recording occur on a separate machine, so that it doesn’t bog me down while I’m working. Hopefully we’ll have that set up for next week.

So this third episode was pretty interesting. Probably the most interesting part was when I discovered in the last quarter that I’d accidentally shipped a regression in Firefox 36. Luckily, I’ve got a patch that fixes the problem that has been approved for uplift to Aurora and Beta. A point release is also planned for 36, so I’ve got approval to get the fix in there too. \o/

Here are the notes for the bug I was working on. The review feedback from karlt is in this bug, since I kinda screwed up where I posted the review request with MozReview.

Categorieën: Mozilla-nl planet

Mike Conley: The Joy of Coding (Episode 2)

Thunderbird - to, 19/02/2015 - 04:54

The second episode is up! We seem to have solved the resolution problem this time around – big thanks to Richard Milewski for his work there. This time, however, my microphone levels were just a bit low for the first half-hour. That’s my bad – I’ll make sure my gain is at the right level next time before I air.

Here are the notes for the bug I was working on.

And let me know if there’s anything else I can do to make these episodes more useful or interesting.

Categorieën: Mozilla-nl planet