* Timeline gets cluttered up with old items over time, and sometimes there are several expired short timers before an active long one, making it hard to notice it. Might be best to split into two lists of active and expired. However, that can't be done in the haskell as it stands now; would need to be done in the js. * If two devices are displaying the same page, an add by one is not seen by the other one until the page is reloaded. * Switch to an AJAX display where the js queries the server for a list of items and then builds up the display? That would allow solving both the cluttered timeline and multi-device update. Alternatively, the js could make a long poll to the server, which replies when it wants to update the display, and the js then just reloads the page. This keeps the js smaller, and it also might replace the hourly polling for a changed session id. * Check if the MediaDevices API is not suported and fall back to file upload. * Expire old images after some reasonable amount of time. This can be done with just a find command. Or the js could hide them. * Add systemd service file and Makefile to install it better. * Improve CSS. (Patches welcome on this one.) * The javascript could let things be added in offline mode, and sync up with the server next time it comes online. (Patches welcome on this one.)