> === Quota Requested === > External Resource Name (Customer facing): Queries per day > Current Quota: 20000000 > Desired Quota: 30000000 > Region: GLOBAL > > To proceed to the next step, please provide the needed information below: > > 1. The number of users. It's safe to say that GNOME has more than 20 million users, but not everybody uses calendars. GNOME (https://www.gnome.org/) is a free software project that produces an operating system for laptops, tablets and desktop computers. For privacy reasons, it's hard for us to gather accurate metrics about our users. However, since popular Linux-based OSes like Fedora Workstation, Red Hat Enterprise Linux, Ubuntu, Debian, Gentoo, etc. are built around GNOME, we can make some educated guesses based on their numbers. Recently Ubuntu, a very popular Linux distribution, significantly increased their GNOME use, so that has likely caused a surge in the numbers. > 2. Average number of requests per day/per user. Based on our "queries per 100 seconds per user" figures, it would be in the order of 60,000 queries per day per user. GNOME polls Google's CalDAV API at 1 hour intervals to keep its local cache updated, contacts the server whenever a user receives a meeting invitation, and contacts the server when the device (laptop, tablet, workstation, etc.) is booted. The number of requests, each time GNOME contacts the CalDAV API, depends on the number of calendars the user has; and the number of requests per day will depend on the number of hours the user's GNOME-based devices are running. > 3. Which API methods will be called and what will be the frequency. Looking at GNOME's metrics on Google's API console, the most frequently used API calls are: * caldav.calendars.propfind * caldav.calendars.report * caldav.calendars.options * caldav.principals.propfind * caldav.homesets.propfind * caldav.events.get > 4. Are you polling the API? If yes, please consider push notifications[1] > instead. Yes, we are polling the API currently at one hour intervals. Yes, we are considering switching to push notifications. However, we are a volunteer driven free software project, so it will take some time for us to implement it. > 5. Have you implemented exponential backoff[2] for 4xx/5xx error retries? No, we haven't implemented exponential backoff. We try the request and if it fails then we retry only after an interval of 1 hour. Currently, the client-side CalDAV code in GNOME is shared between Google and other CalDAV services. That's one of the reasons why it doesn't use any Google-specific features.