NOTICE: This content was originally posted to Google+, then imported here. Some formatting may be lost, links may be dead, and images may be missing.
A new version is now starting roll out through the Play Store.
If you're an existing user you will no doubt have noticed the app stopped working recently. On August 21, the app's 500px API key was blocked by 500px. Of course luck would have it this was the very same day I left on vacation, and also the same day Android Oreo was released. I returned last weekend and started investigating the matter.
I was able to get in contact with a platform engineer over at 500px, who informed me that 500 Firepaper's massive bandwidth use was no longer something they were able to support. Not completely surprising, as 500 Firepaper downloads batches of high resolution imagery several times a day. Multiply that by tens of thousands of users, and you can probably imagine this puts some strain on their pipes. I have always expected they'd pull the plug on it because of this at some point, I'm actually surprised it took this long.
As advised by said platform engineer, I have made some major changes to the caching and image selection algorithms in 500 Firepaper:
API call rate limiting
The number of API calls to 500px servers has been significantly reduced.
Daily quota
There is now a hard limit on the number of images that will be pulled from 500px's server every day. Older versions would keep pulling fresh images if you were on an unmetered connection (such as Wi-Fi) and had a nearly full battery or was charging the device. Especially for users with agressive image refresh settings, this could burn through a lot of bandwidth in very little time.
Cache period extension
I have been granted permission by 500px to let the app cache imagery for 7 days. The 500px terms of service normally limits developers to 24 hours, which limited the usefulness of caching.
As this change allows us to cache 7 times as many images, the default cache size setting has increased accordingly in 500 Firepaper's settings - if you are using a lower range device with limited storage, you may want to reduce the cache size now used. I've also preset the orientation bias to 85% portrait to improve cache efficiency for the average user, if you use your phone in landscape a lot, you may want to adjust this setting as well.
Of course, combined with the daily quota, this means that the cache will take up to a week to reach an optimal fill. You will gradually be shown more different images as the days go by.
Display order randomization
Previously, the app showed you the images from the cache that you had seen before the least number of times. If you were away from an unmetered connection for a while, this meant you usually kept seeing the same images in the same order over and over again.
As the app is now becoming more cache-reliant and downloads less truly fresh images, this situation would become more common. Additionally, the algorithm would strongly favor the images downloaded today versus mixing in images cached from the past week.
To mitigate this, the image displayed is semi-randomized from the entire pool of cached imagery, with a slight but noticable bias towards more recently downloaded images. This should provide with a more dynamic display.
Freshness
While these changes will for some users strongly reduce the number of fresh images (images you have never seen before) 500 Firepaper will bring you, it is my hope that it is still fresh enough for the average user.
Future
This is an attempt to reduce 500 Firepaper's bandwidth usage to a level acceptable to 500px. It remains to be seen if the update actually succeeds in achieving this. 500px will be tracking the app's usage, and even with these changes they may well decide to shut it down (again) at any time.
If they do so, I'm not sure where this will go. I feel that if I reduce bandwidth usage (and thus freshness) even more, it destroys the idea of what 500 Firepaper was supposed to be.
Of course, 500 Firepaper has lost a significant portion of its users due to not being operational for a month, so that alone reduces bandwidth usage by a large margin, which may be good news for those still wanting to use it :)
I've gotten some comments from users saying they would be willing to pay for the bandwidth use. While there are certainly some users willing to do that, we already tried an in-app-purchase with revenue sharing before, and the funds raised then were factors less than the funds required. There's simply not enough people willing to pay for something like this, so that is a dead end.
Other apps
Some users have been switching to other apps that do similar things. Obviously, if they are also using the 500px API, and if they become as popular as 500 Firepaper, and they provide you with the same freshness of images, it is only a matter of time for those apps to suffer the same fate. I'm not saying you shouldn't switch to whatever works for you (because you should!), it's just something you should keep in mind.
Links
500 Firepaper on Google Play:
https://play.google.com/store/apps/details?id=eu.chainfire.firepaper.fivehundredpx&hl=en
Discussion thread on XDA:
https://forum.xda-developers.com/showthread.php?t=2522588
Changelogs
-
New API keys
-
Grand algorithm reworking:
--- API call rate limiting
--- Daily quotas
--- Cache period extension
--- Display order randomization
- Fixed bug where images would auto-change for a few seconds
Is it possible for you to get lower resolution images so if someone only has a 480*800 screen it won't download a 4k image?
The app doesn't download 4k images at all, those are not provided by the 500px API. Unfortunately the step between the high resolution images it does download and the next highest resolution is so big as to be useless, even on a 480*800 screen.
App is still not working
Ah that's a shame. Thought it might be an easy save of a few MB a user. ☺
It is now working good, after setting the wallpaper 10 minutes ago (also cleared cache and data multiple times)
Still app not working on my phone..same issue unable to download image .... I used i try every thing after update ..clear data of app , reinstall app but still not working ..
Wow you are really doing a great job
Thanks! Hope they won't close api for one more time :(
Have you thought about a peer-to-peer system where users contribute photos and vote on them to promote the best ones?
There could be some kind of immaterial reward for the most-liked photos, like a rank or a number of points.
Not sure if something like this can be done without a central server or a server cloud, but perhaps it can. Or perhaps some cloud storage like Google Drive could be leveraged, so users would upload their photos to their own cloud server and share them with everyone, alerting each other of new photos and their rankings. Isn't Google Drive keyword-searchable?
+Hans-Georg Michna i think it is not possible due to 500px rules about cache
+Alexander Uljanov My proposal was about bypassing 500px altogether and only using photos provided directly by users.
I agree with Hans. It's time to create your own image repository. Perhaps buying a bunch from 500px and supplementing with user contributed content. Or even content acquired from another image source. I just became a paid user after a long time using the free version. Time to drop 500 px and get something more reliable. Love your app.
Thank you for your works on 500 firepaper. It brought me a lot joy when I turn on display every time. (Yes, I set it up to change every screen on...)
Since 500 fire paper stopped working, I tried several alternatives but really cannot find anything better. Desaparily I end up using Tasker to pull photos from 500px then reducing brightness (via Java functions) but the performance is still much less than 500 firepaper....
With my own API key and tiny bandwidth, maybe I will be safe from 500px's bandwidth monitor warth.... (500px do have right to deny anyone from using their free service...)
Thank you for investigating and fixing the problem. As you have written i also have switched to a different app to have fresh wallpapers. I found out that if Fireaper could also change the lockscreen picture to that would be a very nice feature. Thank you for everything you do for the Android community.
Thank you very much +Chainfire for fixing this again ? I really ❤️ this app!
Thank you so much for making it work again...
感谢!
Thanks!
I suspect the Watermarks are still there? Anyone know that, I bought the pro Version long ago but haven't used it since the problems began and also right now I'm on vacation, unable to download large Data to try myself.
Thank you for sticking your neck out for us users, most other Devs would just have abandoned their app I believe. Really shows your character.
Yeah! After clear data! Now its working again. That's good at all
+Chainfire thanks for the update. Actually I hadn't been using your app for years but this felt like a good time to give it a swing again.
I am so glad that this is back! I switched to Google's version but this is a better app in every way. thank you!
Thanks dear, It works fine
Hi +Chainfire, really appreciate the update - i have new photos again! However, the daydream/screensaver continues to not work - i see a photo for about a minute, then the screen goes black (even though the photos still seem to download; i see the titles and authors in white text on the black background). This seems to be on any phone with android 6.x+ or 7.x+.
This appears to be an incompatibility between 500 firepaper and the screen saver API in the later versions of Android. Older versions of Android seem to still work.
Really hoping you can have a look at this!
Thanks.
I have android 6.0.1
But i don't have daydream. Just live wallpaper activate.
It's working fine
+Nick Fletcher it goes black when the screen lock activates and next image loads. You can try this if you disable lock screen immediately with power button seeing and set the timeout for locking the screen after sleeping to high enough value. The daydream works until the timeout occurs after which the screen doors black.
I use the app on my Nvidia Shield TV (55" LCD). Been a bit boring these last couple of weeks, seeing a black screen :P
Glad it got updated and all working again, thanks!
+Mikko Löytynoja yes I'm aware, but the point is the screen shouldn't go black when the phone locks, the pictures should still display.
+Nick Fletcher definitely so. I just wanted to describe the problem in a bit more detail.
မဂၤလာပါ
Now stopped sync same problem
I love the 500 Firepaper wallpaper app, especially all the controls it provides.
I'd like to make one request for a control to display the time/time and date then it would be perfect.
Keep up the good work!
baljeet singh bhullar