Sharing notes
The task
As an owner of your notes you may wish to share some of notes with other people – members of your team or family. Same situation is when you have multiple computers – e.g. Windows desktop and Mac laptop. You shall be able to share your notes between your own devices – you on Windows with you on Mac yet with your mobile devices.
Prerequisites
I don’t want to create yet another cloudy solution with dedicated servers and storages sitting nobody knows where. And all that just for the purpose of sharing notes. So I am looking for “serverless” solutions primarily.
Possible solutions
A. Sharing notes using local network folder.
All our home or office computers are already connected with each other by local network that also provides us Internet access. Anyone in network can create so called shared folder and put there files for common use. Notes can be shared in the same way – each note can be placed in a separate file in some shared folder. The only thing that needs to be implemented is synchronization of multiple Sciter Notes instances with that folder. Notes created by Mary in shared notebook will still be stored in database but also copied into shared folder. And John’s Notes application will automatically pickup changed notes from that folder and put them into his Sciter Notes, in his notebook shared with the same folder.
From security standpoint such note sharing is as safe as storing your notes on your own devices. Local networks (as a rule) are protected from outside access.
B. Sharing notes using existing cloud storages.
These days we have plenty of “cloud disk providers”, just few names: DropBox, Microsoft’s OneDrive, Google’s Drive and so on. Yet we have installable “custom cloud disk” solutions like Nextcloud and derivatives.
All these solutions provide transparent folder mapping – you have local folder on your computer that is mapped to their storage. So we can use these services for sharing notes pretty much in the same way as in case A above.
Cons:
- not that so private solution as you can imagine.
Pros:
- each cloud provider has already mobile client application that can be used to browse and read notes. Notes in shared folders are normal self-contained html files so are rendered OK on mobiles.
C. Sharing notes using existing e-mail providers.
Pretty much each modern online e-mail service provides access to mail using IMAP4 service. IMAP4 allows to access your emails as files in remote storage folders.
As an example: you can create Notes folder in your mail box and ask Sciter Notes to populate it by your local notes.
Cons:
- not that so private solution;
- not clear how to share notes in groups of people – mail box account is bound to one person.
Pros:
- each mobile platform has already default e-mail client application that can be used to browse notes.
D. Make two Sciter Notes instances to communicate each other directly.
While technically feasible is it worth implementing it?
Mike
September 27, 2017 at 7:44 pmYou could try something along the DHT lines: http://www.rasterbar.com/products/libtorrent/dht_store.html , (article states proposal but its up and running) create a private key that is shared among devices then use DHT to find out where the deices are then separately and securely transfer data, a few messaging systems exist already: http://engineering.bittorrent.com/2014/09/17/how-does-bleep-work/
js implemented dht: https://www.npmjs.com/package/bittorrent-dht
I think with secure synchronization/exchange and available on Android sciter notes could potentially do away with the need for cloud storage for a lot of people.
Andrew Fedoniouk
September 27, 2017 at 9:41 pmInteresting, but that mechanism requires two endpoints to be online at the same time, right?
Mike
October 19, 2017 at 12:48 pmTwo would be needed to share data but one instance would create the item if it does not already exist then any other instance aware of the item can then get the endpoints of the other interested instances with validation handled internally or via something within the immutable items.
VB
January 29, 2018 at 7:00 pmB: store note on AWS S3 with encryption and share using signed URLs with expiration date.. somewhat addresses privacy concerns. Provide as a plug-in to let user to use his/her own AWS account for increased security.
C: end-to-end encryption with digital signatures. Again make it user’s responsibility to manage public keys exchange..
.. “The rescue of a drowning man is the drowning man’s own job” – if user really need this feature let him/her to set it up.