User:Krassmus/Organising Photos

From diaspora* project wiki

This page relates to the Discourse discussion on organizing photos and suggests several possible workflows for organizing photos in diaspora*.


Current functionality

  • You can embed photos in diaspora* posts with the syntax ![name](url). You can embed multiple photos in a post in this way. But each of these photos needs to be already hosted somewhere on the web (most likely outside of diaspora*) when you write the post.
  • You can include photos in a diaspora* post by clicking on the camera icon. Your photos will be uploaded to the pod's server and associated with the post. These photos do not appear as part of your post's text, but appear underneath it as thumbnails. Users can click on them to see a slide show.
  • In the sidebar on the left side of your own profile or the profile of a friend you can see a few photos that the user uploaded via the camera icon. You can click on "show all" to view a stream of all the photos uploaded by that user. Unfortunately you currently get to see all photos uploaded by that user, including those uploaded as part of limited posts to aspects of which you are not a member. In this way, the photos are more or less public even when the related posts are not.

When talking about organizing photos, we are concerned only with uploaded photos, not images linked from other sources on the web.

Current decisions

Concept 1

Note: this is just a concept and not decided yet. But for implementation a concept does not need a decision, unless someone develops a contrary concept.

The main way to upload a photo is still to write a post. The user writes a post and can click on the camera icon to upload a photo. A photo can also be uploaded as a profile picture, unassociated with any post. There is nothing to change here.

Inheritance of attributes: Uploaded photos inherit all attributes from the post with which they were uploaded (and with which they are associated). Primarily they inherit hashtags from the post; they also inherit the privacy setting (the selected aspect). Because all uploaded images inherit the same attributes, those photos are united by the same hashtags, which can be used to organize them in the UI.

Displaying photos: When someone clicks on the link in the sidebar of a profile page to "show all photos", he or she will get to a new page, which displays all photos, grouped in the #tags. Each tag my photos are tagged with appears as a square that indicates an album (imagine a facebook-album). The tags are sorted with the number of related photos (descending).

If you click on such a tag you get to the slideshow area of that tag or maybe just a stream of photos that are related with that tag. Each photo is displayed with the tags of the photo underneath it (can be edited inline by the author), and probably with the posting, in which they appear (of course only if that posting is visible for me). The lazy variant is that only a link to the posting appears here.

Tasks

  • Enable photos to be related to several hashtags and let them inherit the hashtags from their post. Also write a migration that adds hashtags to older photos that are related to a post.
  • Enable photos to have a visibility so that they can only be visible to certain aspects. This is a not so easy a task, because we might need to alter the federation protocol here.
  • Enable a user to change the hashtags associated with an individual photo after it has been uploaded.