With traditional websites, the model is straight forward.
- The user visits the website and views another creators work.
- The user visits the website, signs up for an account, creates work on the website.
- Rarely, downloads a "non-returnable" form of the work, e.g. a PDF from Google docs
- More rarely, downloads a "returnable" form of the work, e.g. a docx from Google docs
With the system used for this website
- The user visits the website and views another creators work.
- The user does not need to sign up and can start editing straight away as an anonymous user.
- The user can set a user name
- The user can sign into a (Solid) ID provider to get a user name
- The user can select a cloud directory (Solid) to sync their data with
- The user can change the permissions of the cloud directory (through the (Solid) cloud directory application) to allow others to read / write.
- The sync / save function auto merges the content together or warns if a conflict (the remote takes precidence)
- The user can also choose to download a "hard copy" as one json file.
- The user can choose to upload a "hard copy" as one json file. This will merge with the locally stored material. And then the locally stored will merge with the remote.
Not yet considering implementing:
- Before and during any merge, the user can choose to completely overwrite the remote or the local destination recieving the data.