tidbyt / pixlet

Build apps for pixel-based displays ✨
https://tidbyt.com
Apache License 2.0
756 stars 107 forks source link

[Feature] Allow setting an image expiration using push command #229

Open tacomilkshake opened 2 years ago

tacomilkshake commented 2 years ago

Problem: I've developed a clock for my Tidbyt, but have regular brief internet outages -- I live in the woods. As a result, my Tidbyt occasionally displays stale clock images that are outdated.

Feature suggestion: I'd like to be able to specify an image expiration when using the pixlet push command, like so:

(device ids and installation id excluded for simplicity) pixlet push clock.webp -e 90

What would this expiration (-e) do? I propose that if the clock.webp image isn't replaced on the Tidbyt device within 90 seconds, that the Tidbyt should advance to the next app, or if there are no apps to advance to then display a blank screen, or other default image.

My thinking here is that no clock is better than an incorrect clock. This functionality would ensure developers could expire images after a set number of seconds.

Incidentally, this could also serve as an early warning indicator of an internet outage on your network.

tacomilkshake commented 2 years ago

Another idea: Allow an expiration, and an image to display upon expiration:

pixlet push clock.webp -e 90 -r replacement.webp

This would allow me to send a second image to the device that could be displayed in the event of expiration. I'd use it to display an error message or internet outage warning.

saltedlolly commented 2 years ago

This is a nice idea. I'm currently planning my next app that will be a status monitor for a DigiByte full node. It will display the latest block count, mem pool stats etc. If the node goes down for some reason, it would be nice if the latest webp could expire, otherwise it is not clear that there is a problem, or even better show an expiry error message. This way if updates stop being sent the user is warned that there is a problem.

I previously shared a similar request in the forums here: https://discuss.tidbyt.com/t/feature-request-apps-published-via-api-should-expire-if-the-instance-is-not-updated/1964

tacomilkshake commented 1 year ago

Hoping this gets prioritized at some point. I occasionally find my Tidbyt "stuck" an incorrect time. :(