Obtaining the Release
Please download and install the app from our Google Play Store page.
Summary
This is a quick fix for version 5.0, which is a response to Port Authority's API Error Message: "Transaction limit for current day has been exceeded."
Official Statement for the App Being Down
There has been a misconception that since 5.0, we are now limiting the amount of times people can use the app. As you can see from the source code, this couldn't be farther from the truth. In fact, the only code that was changed was how we handled updates to the buses on the map. This does not affect how many calls are done on the app.
Port Authority has a 10,000 request per day limit to their TrueTime API per app. This is controlled by each app's API key. While the app currently has a special 500,000 request per day limit, we hit the limit on November 5 at 7:30PM.
The error message from Port Authority to us is "Transaction limit for current day has been exceeded." Everytime this message comes up, the app is out of commission until midnight when requests will be accepted again.
"Why was the API suddenly blocked after 7:30PM?" you may ask... While the route lines and stops are cached, every Monday and Friday, the cache is flushed and is re-cached. Each route download takes 1 API call. If you have 5 selected routes on Monday, your phone would do 6 requests to Port Authority -- 1 for the buses on the map, 5 for every route downloaded --. After this, the app will just do 1 API call per bus route updated (assuming you don't change your routes).
When we first hit the 10,000 request limit 2 months after the app back in July, we (at the time @RitwikGupta and I) took this as a compliment. As the userbase increased, we kept thinking about this error message as a compliment. Since then, we have requested the API key 5 times successfully to eventually get 500,000 requests per day. Unfortunately, now that we have well over 10,000 users using the app, where each user has contributed well over 500,000 uses per day, this has now become a burden to all users, including me. I sincerely apologize for my arrogance regarding this problem, as I use this app daily, also.
Since Port Authority doesn't seem to give developers usage numbers of the app, we are unable to predict when our app will go down because of over-usage. In addition, Port Authority told us we are only able to increase the usage request only if we have our app go down. Because of this, we have done our best on our side to mitigate the issue by requesting for another limit increase when the app's requests to the server get blocked.. We have also changed the app to say "Port Authority server unavailable. Please check after midnight." This is only a quick fix, and we expect to have an update to gracefully handle this better (as well as other error messages) in the coming weeks.
From this update, we ask users when this happens in the future to not add a review but instead just message us that the API is down.
Changes
- Transform API error message "Transaction limit for current day has been exceeded." to "Port Authority server unavailable. Please check after midnight."
Source code(tar.gz)
Source code(zip)