A plugin to import files directly from phone

Hello everyone,
When taking notes on desktop one issue often breaks our workflow, scanning documents and taking pictures on the go and putting it on our notes. You might just switch to phone completely, but taking long notes on your phone is not always ideal with the limited screen. Well this can be solved if we use cloud sync feature, but synchronisation takes time and its not very ideal to sync your devices everytime you make a small change.

This is why I'm planning to create a plugin where you can directly choose your files from your phone and paste it to your note on the desktop. It will work in this way, you will scan a QR code displayed on your desktop app using your phone and it will open a nice little webpage with options of uploading files and texts from your browser. You choose a file and hit send and it will get pasted to your note on the desktop.

I think this will make everyone's note taking experience better especially if you're a student taking notes.

What this plugin does behind the scene is it starts a lightweight server and shows the QR code of a unique login link to the user, the link (and the QR code) changes every 30 seconds or so to reduce chances of brute-force attacks. If the user is not active for long time the server stops to save resources and the client is logged out.

I have started working on this and its still pretty much under development, I will share the links once it's ready. But I wanted to share my idea with everyone here and get some inputs.

12 Likes

Does it support IOS?

Very interesting idea. I guess it means both devices need to be on the same local network? Could that be a problem if the firewall or something is preventing the connection?

This sounds like an interesting idea. For Android users there is KDE Connect that perhaps can help to transfer files from smartphone to desktop, and for users in Apple Ecosystem there is airdrop / shared clipboard, but there is hardly any solution for iPhone/iPad users with Windows desktop. Just some quick questions:

  1. Is the QR code / link one time only? For example, after I uploaded an image, can I reuse the link (or keep the web page open in my mobile browser) to upload more files?
  2. Will there be settings to customize IP and port listening, as some users may struggle in some complex network environments?
  3. Is it possible to create some kind of PWA for mobile browser so the user don't have to repair to the same desktop Joplin instance? (Or just let the user set the QR code / link expiration manually?)

Still, great idea! Looking forward to it.

Yes it does! It will work with any combination of desktop and mobile devices.

Yes both devices needs to be on the same network but internet is not required. Firewalls with restrictions on local IPs, although rare can be a problem, in that case we can use services like ngrok but it's less ideal for normal users to setup.

1 Like

Once you scan the code you stay logged in as long as the page is open on your phone, you can upload files as many times you want, not only once. But you cannot reuse the same link on other devices or browsers.

Yes I'm planning to add such settings.

Hmm this is an interesting idea, in my current implementation you need to re-pair your phone everytime you restart joplin, the pairing info is not persisted. Clients are also kicked out if they are inactive for quite some time. I think fixing these will reduce the amt of pairing one need to do significantly. I'm not very sure about PWAs or bookmarking links since the plugin uses local ips to communicate and they keep changing every time you change the network or even after every few days, depends on your router.

Update

You can track the development here:
Github link: GitHub - asrient/backstage

I'm happy with the progress so far, major features are implemented now and it works as expected, need to polish up a few more things and it would be good to go.

I will create a final post once it is ready to release.
Thank you everyone here for your inputs, I have tried to incorporate them as much a possible and will keep doing so in future.

3 Likes