
Show HN: Yopp – A very quick way to transfer a file from phone to computer - josephernest
https://github.com/josephernest/Yopp
======
yoodenvranx
For the Linux users: Try KDE Connect, it is amazing!

You can easily share files in both directions and you have a shared clipboard
which makes exchanging short texts and urls very simple.

~~~
meekins
\+ Phone notifications on your desktop! A really awesome piece of software
that doesn't seem to get the attention it deserves.

------
blkhp19
AirDrop works pretty flawlessly if you're using an iPhone and Mac, which is
fortunately + by choice my only setup / workflow.

~~~
derefr
Annoyingly, AirDrop works _directly_ over wifi, meaning that you can't use it
to transfer files between an iPhone (connected to router Foo via wifi) and a
Mac that's 1. Ethernet-wired to the same router Foo, and 2. has no wifi
support.

I'm not sure if (Intel-era) Macs without wireless cards/chipsets exist outside
of Hackintoshes, but they're pretty common as Hackintoshes.

~~~
jitl
Well you’re using a product built with specific hardware in mind with _totally
different_ , unsupported hardware. Apple doesn’t sell any devices without
WiFi.

------
josephernest
Here is how it looks like:
[https://i.imgur.com/KqcRwXY.gif](https://i.imgur.com/KqcRwXY.gif)

i.e. "upload with phone, get the file on computer"

~~~
wozniacki
I don't know if this is a known thing but my problem is in the reverse -
getting things from my computer to the phone.

Things like screenshots, gifs, webms etc from my computer to any phone
anywhere, without first uploading to imgur or Google Drive / Dropbox / some
other Live File-sharing service.

Know of a simple tool that does that?

~~~
anschwa
This would take care of that use case as well. It's a webapp that saves only a
single file that can only be downloaded once. The idea is that the URL is only
known to you. Pretty neat idea for personal file sharing.

------
gmemstr
Looks like a neat little project.

Quick question; why not split the PHP file into index.html and upload.php (or
whatever)? I get that simplicity is key ("This one file does everything!"),
but you could use that to build a couple more features (maybe some sort of PIN
protection). Just throwing some ideas out there, cool utility nonetheless.

Edit: And by splitting the file you could allow other people to build little
frontends like native apps or browser extensions.

------
mirimir
This is very cool! But you need to have a device with a reachable public IP
address. For those that don't, Micah Lee's
[https://onionshare.org/](https://onionshare.org/) is a decent option. But
routinely, I just GnuPG encrypt stuff, and use
[https://file.io/](https://file.io/).

~~~
wozniacki
Is there a solution that doesn't require you to type out the tedious URL
[http://asxmi4q6i7pajg2b.onion/egg-cain](http://asxmi4q6i7pajg2b.onion/egg-
cain) [1] for example, on your computer or your phone (when doing the reverse
-- computer to phone) ?

Sometimes its not even a file but a block of text that you want quickly
transferred from your computer to your phone or vice-versa that shouldnt
require the use of a third party service.

I'm stunned to learn that there's really no such tool that lets you push URLs
/ Links / Text / GIFs / Screenshots between devices that you own & have on
you.

There's QPush which has a Chrome extension and an app but really nothing else
close to what I describe. [2]

[1] Onionshare - How to Use

[https://github.com/micahflee/onionshare/wiki](https://github.com/micahflee/onionshare/wiki)

[2] QPush

[http://qpush.me/en/](http://qpush.me/en/)

~~~
yorwba
For block-of-text transfer between computer and phone I use qrencode [1] to
encode text on my computer as a QR code, Barcode Scanner [2] on my Android
phone to read the text or generate a QR code from text on the phone, and QtQR
[3] to scan a code on the phone screen using my laptop webcam.

The QR code detection in QtQR is a bit uncomfortable (you need to press a key
to confirm, while holding the phone into the camera) and requires me to set my
phone screen to maximum brightness, but otherwise it works quite well. It
doesn't really solve the problem for large files like images, but I have
successfully used it with long HN comments I started on my phone but wanted to
finish on my laptop.

[1] [https://fukuchi.org/works/qrencode/](https://fukuchi.org/works/qrencode/)
There's a Debian package you can just apt-get install

[2]
[https://f-droid.org/packages/com.google.zxing.client.android...](https://f-droid.org/packages/com.google.zxing.client.android/)

[3] [https://launchpad.net/qr-tools](https://launchpad.net/qr-tools)

------
d--b
I may be not using the latest and greatest, but email works pretty well for
me... if I need more than 10mb, I use wetransfer. Sure it goes through the
internet, but yes I don't want to think more than 1second about how to do
this.

~~~
josephernest
Yes but then, you have to think about deleting it once it's downloaded (or
you'll have a growing email box), or ask WeTransfer to delete the files... See
[https://github.com/josephernest/Yopp/blob/master/README.md#m...](https://github.com/josephernest/Yopp/blob/master/README.md#minimalist-
ux)

~~~
ehllo
Wetransfer delete the file after 7 Days for a free account and after 4 weeks
with a pro account.

[https://wetransfer.zendesk.com/hc/en-
us/articles/202603916-H...](https://wetransfer.zendesk.com/hc/en-
us/articles/202603916-How-long-are-uploads-available-to-download-)

~~~
josephernest
With Yopp, we use 7 atomic actions to perform the task (see
[https://github.com/josephernest/Yopp/blob/master/README.md#m...](https://github.com/josephernest/Yopp/blob/master/README.md#minimalist-
ux)).

I tried with WeTransfer and we have 10 taps/clicks + 16 alphanumeric
characters to type on keyboard:

    
    
        Open browser on phone [1 tap], Open wetransfer page [1 tap if in bookmarks], "Take me to free" [1 tap], "I agree" [1 tap],   
        "Add your files" [1 tap], Choose the file [1 action], "..." round icon [1 tap], "Send as link" [1 tap], "Transfer" [1 tap].   
        Open browser on computer [1 double click], write URL [at least 16 alphanumeric keystrokes], e.g. we.tl/aqNXmKTjFO

------
msravi
termux + woof

woof -i <ip_address> -p <port> <filename>

termux:
[https://play.google.com/store/apps/details?id=com.termux&hl=...](https://play.google.com/store/apps/details?id=com.termux&hl=en)

woof: [http://www.home.unix-ag.org/simon/woof.html](http://www.home.unix-
ag.org/simon/woof.html)

Edit:

1\. Allows directory upload/download (tar/gzip/bzip2 compressed)

2\. Local file server (doesn't go over the internet)

3\. Allows upload form (-U option)

4\. Allows file to be served <count> number of times (-c option)

~~~
josephernest
The key thing with Yopp is that it only requires 7 actions:
[https://github.com/josephernest/Yopp#minimalist-
ux](https://github.com/josephernest/Yopp#minimalist-ux).

------
stewbrew
"Have you ever spent more than 1 second wondering"

They should add:

\- Run a static file server but huh, I don't have a full blown web server
and/or php installed on my work station.

Seriously, I think syncthing provides a rather good solution for this problem.
You have to install it on every machine though.

~~~
WaxProlix
Their premise is x <-> y.

Saying "I can run `python -m SimpleHTTPServer`" doesn't help- it's not the
problem they seem to be solving. Or am I wrong?

~~~
stewbrew
From what I gather, it's a php page. You upload 1??? file or download that
file - for that you have to know the URL. So it's rather x<->anyone who knows
the URL.

------
hungryfoolish
sharedrop.io works great for devices on the same wifi network.

There is also pushbullet - I generally take screenshots and like to transfer
to desktop. I can 'share' a screenshot I took using pushbullet and it will
appear in a new browser tab in my desktop, and then I can save it.

------
mustak_im
I recently wrote [https://justa.ml](https://justa.ml)

Was looking for something ready-to-use and simple (without login or giving too
much details) for the situations when AirDrop or PushBullet <3 is not an
option.

Hastily written code code is available at
[https://github.com/mustakimali/JustA.ML](https://github.com/mustakimali/JustA.ML)
Learned a thing or two about end-to-end encryption while working on that.

------
panda88888
This is cool.

 _put on old man’s hat_

I remember in the good old days of flip phones, I just use Bluetooth OBEX to
locally transfer the file(s) to another Bluetooth enabled device. It’s a bit
slow but otherwise works fine. It was simple too—just select the picture, hit
send via Bluetooth, select the receiving Bluetooth device, and hit Send. All
these file transfer over the cloud using google/Dropbox/amazon/etc for local
devices feel like Rube Goldberg to me...

 _done ranting_

------
jpl56
How do you transfer a bunch on pictures rather than just one ? I just go in
the gallery, select the pictures and share them with Box. Would be the same
with Dropbox, can't you keep the connection active on both sides? (no need to
type the password)

------
mkj
Is there a way a web app can add itself to the Android ACTION_SEND intent
list? That would make it simpler.

~~~
josephernest
Please ping me if you find a solution for this (please post on
[https://github.com/josephernest/Yopp/issues](https://github.com/josephernest/Yopp/issues)),
I'm highly interested!

------
andreyazimov
AirDrop not work on my side. I have iOS 10 and OSX El Capitan. Maybe this is a
reason but I do not want really to update it.

Instead of Airdrop I'm using Telegram messager and share files to myself. It's
quick and I'm always have access to them in the cloud.

~~~
gnicholas
You're not alone. I have High Sierra and iOS 11 and still find it to be
finicky. Of course, it was worse with prior OSes, but even now I find it takes
a long time for devices to "find" each other when transferring from iOS to
MacOS, or vice-versa. I seriously end up using Dropbox sometimes because
Airdrop won't work.

------
josephernest
The real key idea of this tool is to _require 7 actions only_ :
[https://github.com/josephernest/Yopp#minimalist-
ux](https://github.com/josephernest/Yopp#minimalist-ux).

------
freedomben
Very nice idea. Since I'm a newb at PHP, I would prefer it to be in a language
I can hack in, but this is a clever way to solve one of the most annoying
problems in the world :-)

(I totally do the Google Drive thing right now)

~~~
josephernest
If you're a newbie at PHP, it could be fun to read the code: there's < 50
lines of PHP code, and that's it :)

------
keypress
Shame the server needs to be there. Would be good if you could do some auto
negotiation between two browsers.

Partner 'still' has failed to liberate photos from smartphone.

------
jdc
Also Dukto:
[http://www.msec.it/blog/?page_id=11](http://www.msec.it/blog/?page_id=11)

------
egfx
You can do something similar with
[https://www.qkast.com](https://www.qkast.com) and web content.

------
pjtr
Alternatively: [https://send.firefox.com/](https://send.firefox.com/)

~~~
josephernest
Yes but not really. Imagine it is uploaded on phone. The URL is
[https://send.firefox.com/share/bec9e0497c](https://send.firefox.com/share/bec9e0497c).
Will you spend 30 seconds writing this URL in the URL bar of your computer
browser? (oh no, I made a typo in the URL, let's start again...).

Once again, the idea with Yopp is _7 atomic actions and no more_ :
[https://github.com/josephernest/Yopp#minimalist-
ux](https://github.com/josephernest/Yopp#minimalist-ux)

~~~
ac29
>Will you spend 30 seconds writing this URL in the URL bar of your computer
browser? (oh no, I made a typo in the URL, let's start again...)

Firefox lets you send a tab/link to another device (if you use Firefox sync).
No typing necessary.

>Yopp is 7 atomic actions and no more

I like the UX well enough, but calling it just 7 actions completely ignores
that you need to have an internet facing webserver with PHP, configured. Many
of us here could arrange that pretty easily, but it greatly adds to complexity
versus using an existing web-service.

~~~
josephernest
Oh that's interesting, I didn't know that about Firefox sync. How does it
work? You connect, once for all (with a login/pwd?) 2 browsers (e.g. phone
Firefox and computer Firefox)?

Then you go to send.firefox.com, on phone, and you upload a file. And then how
do I get the tab with the right URL on the PC? I guess I open Firefox, and
then how can I see "tabs opened on my phone"? (Would you have a screenshot?)

~~~
1wd
Yes, you set up Sync once on each device, with a password. You can configure
what you want to sync (bookmarks, tabs, preferences, ...). I only sync
bookmarks, those just appear automatically. I never tried syncing tabs. I see
now there is a "Sync now" command in the old Alt-menu, and a "Synced Tabs"
window in the new hamburger-menu, but I never used those.

Screenshots: [https://imgur.com/a/QkhNQ](https://imgur.com/a/QkhNQ)

[https://www.mozilla.org/en-
US/firefox/features/sync/](https://www.mozilla.org/en-
US/firefox/features/sync/)

------
spking
Also [https://sendcatch.com](https://sendcatch.com)

------
ashnehete
The beauty of this lies in how simple it is. I love it!

------
mwj
Ummm Google Drive?

------
tonylemesmer
Airdroid

~~~
josephernest
If you count everything (opening Airdroid app on phone, choosing the file,
opening airdroid on PC, etc.), how many actions (including _every_ click /
tap) does it require? See [https://github.com/josephernest/Yopp#minimalist-
ux](https://github.com/josephernest/Yopp#minimalist-ux).

~~~
tonylemesmer
You're not wrong but I don't have to run a server to use Airdroid.

