photo upload

From IndieWeb

Photo upload is the act of sending a photo or other image file from a local device like a mobile phone of laptop to some place on the internet like a web server or service where it can be used to create a photo post or add a photo to another kind of post.

Uploading is one step of many for creating a photo post, in roughly this order but sometimes with steps combined or re-ordered:

For UIs to create a photo post, see:

Passive Uploads

Ideally, whatever device you take photos can passively upload them (when on a free / fast connection) to your preferred photo storage destination.

There are a number of ways to set this up, depending on the destination.

IndieWeb:

Silos:

  • Flickr’s iOS app has an Auto-Uploadr [sic] feature that:

    … is an easy way to privately store your photos and videos — until you choose to share them.

    and works in the background. It allows you to opt in or out of "uploading over cellular [mobile]" connections.
    • Limitations
      • Does not re-upload locally edited photos
      • Does not delete photos that are deleted locally (by design, so you can use your auto-uploaded photos as a backup in case you accidentally delete a photo locally)

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:

Mobile upload

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

Other approaches

  • 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 scp protocol 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.
  • 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))

Desktop upload

Some browsers support uploading images from a laptop/monitor camera:

See Also