- 2020-02-13 Tantek Çelik: Should this page be renamed to something like "photo publishing"? Or should it be rewritten to purely be about the act of uploading an image file? Or uploading/storage of image files? E.g. photo storage
For UIs to create a photo post, see:
It is possible to POSSE photo uploads via silo-specific APIs to the following:
- Wikimedia Commons - the API is somewhat complex and undocumented, but for some images that meet the project scope and are licensed under free licenses (CC BY-SA, CC BY, CC0/PD or equivalent)
- So long as images are not deleted, you are able to store images there indefinitely, hot link them and use Commons to retrieve scaled versions.
Manual POSSEing is possible to the following:
- Facebook - due to posting APIs being dropped 2018-08-01.
- Instagram - has never had official posting APIs
This presents the opportunity to build a PuPuPu system with Instagram as a publishing client:
Technically this would be Push-Push-Publishing, since the notifications from Instagram are done in real-time using the PuSH protocol.
The OwnYourGram service enables you to use Instagram as a publishing client for posting photos to your own site.
HTML5 photo uploads
HTML5 extends the input element to permit pages to declaratively attempt photo uploads with:
<input type="file" accept="image/*">
For documentation on how this works in browsers see:
Until in-browser approaches mature, it may be necessary to use native apps (either tied to a service and then PESOS, or a wrapper app around personal blogging web apps to provide camera functionality).
HTML5 Mobile browser upload
- Email as possible approach? Most smart phones have an email client, and/or have "email this photo" support built-into their native/default camera applications. If you could set-up a custom email address (security through obscurity) on your own domain for receiving photo uploads, you could use that to "upload" photos, and then have your indieweb site POSSE out to the above-mentioned silos.
- OwnCloud has an Android client which can upload new photos taken on the camera to your own installation,
- Android BotSync will watch a subdirectory on your phone and use the
scpprotocol to transfer new files in that directory to a server, but appears to have some issues with larger files (ie: video).
- The Android app "FolderSync" appears to be a more full-featured alternative to BotSync.
- At the IWC Düsseldorf photo session multiple people reported that the Dropbox App works most reliably for photo transfer from mobile
- With such sync approaches it makes sense for the UI to offer the user the option to pick an image from the recently uploaded ones
- HTTP uploads (and by extension everything based on them, e.g. Micropub, normal HTML upload forms) by default do not support uploading files bit-by-bit or resuming interrupted uploads, which is a problem esp. for mobile connections. A common solution seems to be to allow multiple requests with offsets to write parts of the file, and server implementations that also write data from aborted requests. (Examples: dropbox API, tus.io protocol (attempt to standardize such a protocol))
Some browsers support uploading images from a laptop/monitor camera:
- HTML Media Capture API — W3C Candidate Recommendation, implemented in Chrome desktop, feature request bug for Firefox.
- 2021-06-23 Ars Technica: Google Photos is so 2020—welcome to the world of self-hosted photo management
- Reddit thread about ^ https://old.reddit.com/r/selfhosted/comments/k5nzkj/google_photos_the_megathread/