A "Generic" Picture of the Day provider

More and more tech companies have added restrictions on their APIs due to AI training or other reasons, but those restrictions have also caused some inconvenience, and Picture of the Day (PotD) is one of the victims.

On June 28th, The source of the Unsplash provider, https://source.unsplash.com, which didn’t need an API key, doesn’t work anymore (Update: https://source.unsplash.com is back on July 1st! But it can be gone again at any time.). Instead, one needs a developer access key and use https://api.unsplash.com. While Unsplash developer API provides 50 times/day free access, it limits wallpaper applications using its API. But users still have the freedom to manually get a developer access key, write a shell update script to download the latest wallpaper and put the script in cron/systemd timer.

Hence I wonder if a “Generic” provider will help much simplify the process, while not violate the restrictions.

The Generic provider will have some options like:

  • Script file path to update wallpapers, and also provide a textbox to write a shell/whatever interpretive language script directly.
  • Execution time of the day and period
  • Path where the update script saves images to

Some possible alternative providers are Pexels and The Met.

Pexels is basically the same.

You may not copy or replicate core functionality of Pexels (including making Pexels content available as a wallpaper app).

But then there’s this bit:

We’re happy to support (and even feature) community-built projects but we need to approve them first.

Unsplash has stated something similar:

If you think your usage might conflict, shoot us an email before you integrate and we can let you know ahead of time.

I wrote an email to them regarding our use case. Let’s see how they respond.

1 Like

Something else came to my mind regarding unsplash…

If we do not make the requests on a per-client basis, and do not need the users to setup a developer account, but rather having a central “PotD” service, that is registered with the API, proxies the PotDs for different categories on a daily basis, and the clients can then download from that proxy service…maybe this is a more valid use case for Unsplash, since we would not require a user to setup an account, according to their docs:

  1. Applications should not require users to register for a developer account with the Unsplash API to use your application. If needed, build a proxy that signs requests on behalf of your users, allowing them to all share a single API key, or reach out to our team for an OAuth solution.
1 Like

I think it makes sense, but there is a problem that the service can be abused by other wallpaper apps outside Plasma.

Update: https://source.unsplash.com is back! But it can be gone again at any time.

4 Likes

Hi everybody, what’s the status on this?

I think it would indeed be great to add the option of configuring user’s own POTD provider.

Hi anton_k, thanks for your interest, but I don’t have enough time to work on the feature. However, if someone else submit a merge request I will be happy to review it.