Home Anatomy of sharing

Anatomy of sharing

There are only so many ways that something can be shared. This is based on four things:

  1. Direction - what direction the files go when it's shared
  2. Storage - where the file is stored once it's shared
  3. Relationship - determines if you can send or receive
  4. Access - determines who can participate in sharing
  5. Notification - how you find out something has been shared

Share Direction:

  • Push: File is sent onto your computer, like it or not (email)
  • Pull: File is downloaded (from a server)
  • Permission: File doesn't move but permissions are set so that it can as needed

Share Notification:

  • Synchronous: When something is shared you are notified
  • Asynchronous: Notified at some interval hour/daily/weekly of sharing activity
  • None/Discovery: User is not notified but the user can discover that something has been shared

Share Relationship

  • Incoming : Allow files to be received
  • Outgoing : Allow files to go out
  • Bi-directional : Sent and received


  • Self : File is stored with the share originator
  • Recipient : The person receiving the file will store the file
  • Transitive : File is stored with the originator and recipients
  • Server : File is stored on a central server


  • Open : Anyone can add files and get files
  • Open-Get : Anyone can get the file
  • Open-Put : Anyone can share a file
  • Secure (Get/Put) : Only specified people can get or share
  Direction Storage Relationship Access Notification
FTP Push/Pull Server Bi-directional Secure None
Push Recipient Bi-directional Open-Put
Pull Server Bi-directional Open Discovery
Pull Server Incoming Open Discovery
Pull Transitive Bi-directional Open None
Network Sharing
Permission Self Outgoing Secure None
Postal Mail
Push Recipient Bi-directional Open Synchronous

Am I missing any key scenarios for how sharing services can differentiate themselves technically?

This post is licensed under CC BY 4.0 by the author.