> === Quota Requested === > > Resource: Queries per day > Current Quota: 2,000,000 > Desired Quota: 2,500,000 > Region: GLOBAL > > In order to us to process further we need to have additional information > listed below: > 1. The number of users. It's safe to say that GNOME has more than 20 million users, but not everybody uses tasks. 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. A calculation describing your expected usage of the API. Right now, with our quota of 2 million queries per day, we are beginning to go past 1.5 million queries. Due to the ongoing growth in our user base, thanks to Ubuntu, we have seen a surge in our use of other Google APIs. eg., the CalDAV API where we are consistently hitting our current quota of 20 million queries per day, whereas five years ago a quota of 5 million was enough. Therefore, for the Tasks API, it seems wise to increment our quota by half a million queries per day to avoid any disruption for our end-users. > 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: * tasks.tasklists.list * tasks.tasks.list * tasks.tasks.update * tasks.tasks.delete * tasks.tasks.insert > 4. Are you polling the API? If yes, how often? Yes, we are polling the API currently at one hour intervals. > 5. Will you be using incremental sync with sync tokens? If not possible > for your app, please let us know why. GNOME doesn't use incremental sync with sync tokens. However, we only query for changes since the last refresh. This leads to significantly less network traffic than querying for all tasks at every 1 hour interval. A full refresh is only performed when we encounter some specific errors. eg., changes in the date and time format, the server rejecting an older query format, etc.. > 6. Will you be using push notifications? 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. Historically, the Google Tasks API wasn't used as widely on GNOME for us to worry about optimizing the amount of generated traffic. This is the first time we are seeing enough traffic to seriously consider implementing more sophisticated client behaviour. > 7. Have you implemented exponential backoff 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.