Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pairdrop #269

Closed
ueen opened this issue Mar 12, 2023 · 25 comments
Closed

Pairdrop #269

ueen opened this issue Mar 12, 2023 · 25 comments
Labels

Comments

@ueen
Copy link
Contributor

ueen commented Mar 12, 2023

Describe the feature

Hey, just fixing my Addon and Snapdrop never works (offline), i was just wondering, would you consider supporting pairdrop?
Its incompatible as of right know and i`m unsure how much work it would be (think not to much but still some), or if it would make sense to fork and do a seperat Pairdrop App/Addon, just wanted to coordinate so i can use the app and my addon in unity :D

Pairdrop seems promising with new features and a semingly engaged maintainer and uptime in the last week...

Interested in what you think :)

Maybe @schlagmichdoch can weigh in if they would want that

Describe alternatives you've considered

RobinLinus said the server cost where high especially with my addon which is running in background, so i dont want to just shift that issue to pairdrop thats why i'm also interested in @schlagmichdoch opinion (maybe the heartbeat ping could be modified for the addon so the strain on the server is reduced, what do you think?)

Additional context

https://github.com/schlagmichdoch/PairDrop

https://pairdrop.net/

@ueen ueen added the feature request New feature or request label Mar 12, 2023
@ueen
Copy link
Contributor Author

ueen commented Mar 12, 2023

Yea i updated the snapdrop client js in the add-on but as far as I tried the background service with pairdrop doesn't seem to work because the snapdrop js client is modified in the background service. So to support pairdrop it would just be adding the pairdrop client js to the add-on.

About bandwidth this was said
SnapDrop/snapdrop#580 (comment)
But if that's no issue for you that's great!

I think the main question then is @fm-sys is it better to do a separate app/addon or incorporate compatibility in one project, I m not entirely sure.

@fm-sys
Copy link
Owner

fm-sys commented Mar 13, 2023

@schlagmichdoch

I have many bad reviews cause snapdrop.net is so unstable.

According to the Google play console, Snapdrop for Android currently has 500k active installations, probably <1% of it is using the app in peak times. I'm thinking about moving the default URL to a different instance, especially as RobinLinus doesn't seem to have much spare time for maintenance and I never wanted to crash his servers by causing too much load. (I cannot say how much load is actually caused by my app)

Would it be ok for you to use pairdrop as the default instance and could your severs handle the load? However I don't want to cause high additional costs for you...

However, we need to find a way to stay compatible with classic snapdrop instances

@schlagmichdoch
Copy link
Contributor

The node.js server should probably also be changed to enable more load: https://blog.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/

@fm-sys
Copy link
Owner

fm-sys commented Mar 13, 2023

What do you think? Is this completely irrational or more or less realistic?

Leaving out the turn server would dramatically reduce load for sure.

You had mentioned 2MB/8h, so I assume that load caused by this app will be significantly less than 1 MB/day (without turn Server). OTOH we have to calculate with some bandwidth for loading the html files etc, so 1 MB/user/day might be realistic.

Maybe it's a little confusing for your users if they need to use pairdrop.net if the app is called Snapdrop for Android.

I'm thinking of a small instalation wizard offering to select between snapdrop.net, pairdrop and a custom URL. IMHO this should be understandable for users...

@ueen
Copy link
Contributor Author

ueen commented Mar 13, 2023

Maybe just rename to “Snapdrop / Pairdrop“ in the playstore (the "for Android" seems redundant there anyway :)

@schlagmichdoch
Copy link
Contributor

Thanks @fm-sys and @ueen ! Snapdrop for Android (master) and PairDrop v1.5.0 seem to be compatible with each other 🎉

I have added Snapdrop for Android and Snapdrop for Firefox to the Third-Party list in the FAQ: https://github.com/schlagmichdoch/PairDrop/blob/master/docs/faq.md#frequently-asked-questions

@ueen
Copy link
Contributor Author

ueen commented Mar 14, 2023

Awesome, thanks for the fast resolution!
The add-on background service doesn't work as of now but I will look into it and maybe create a separate issue @ pairdrop repo :)

@ueen ueen closed this as completed Mar 14, 2023
@fm-sys
Copy link
Owner

fm-sys commented Mar 15, 2023

Sneak Preview:

I've started developing a new onboarding experience...

device-2023-03-15-010348.mp4

@fm-sys fm-sys reopened this Mar 15, 2023
@ueen
Copy link
Contributor Author

ueen commented Mar 15, 2023

Great looks really nice :)

@fm-sys
Copy link
Owner

fm-sys commented Mar 15, 2023

Onboarding experience would be ready from my side. I would appreciate if you could take a closer look (e.g. typos, string improvement ideas, etc.)

device-2023-03-15-105439.mp4

@ueen
Copy link
Contributor Author

ueen commented Mar 15, 2023

Hmm don't love the long onboarding, is the permission really necessary, it worked without before? The tutorial page is nice but imho the snapdrop design is/should be intuitive enough, maybe add it to the main views top bar with a ?-icon instead?

@ueen
Copy link
Contributor Author

ueen commented Mar 15, 2023

Another idea: show the url in the top bar (instead of "snapdrop for android" so it will be easier too enter the same address on other devices :)

@fm-sys
Copy link
Owner

fm-sys commented Mar 15, 2023

Hmm don't love the long onboarding, is the permission really necessary, it worked without before?

In the video I denied the permission first. That's why it is shown two times.

We need to ask for storage permission prior to Android 10. This page will be skipped on Android 10 and above. (that's the same way as it was implemented before, only UI is different)

The tutorial page is nice but imho the snapdrop design is/should be intuitive enough,

From time to time users ask "why there is no IOS app" or "would be perfect if Windows is supported as well". Currently it's not recognizable that snapdrop actually is a web-based application. I tried to make this clear inside the last onbording screen, but probably the hint is still to small.

What about showing an image of a browser URL bar on the last screen?

Another idea: show the url in the top bar (instead of "snapdrop for android" so it will be easier too enter the same address on other devices :)

Branding is important as well 😂

But we could show the URL e.g. as actionbar subtitle

@ueen
Copy link
Contributor Author

ueen commented Mar 15, 2023

Yea I get wanting to explain beforehand, but thing is: no one reads onboard tutorial (90% will just skip it), that's why a question icon in top bar would be great, the user has a question in their mind, and then there is a motivation to actually read the tutorial page.
That's why I would suggest not showing in onboard at all.

About branding, its a free project, nobody needs to be impressed, it just needs to function nicely, having said that, action subtitle might just work too :)

PS: consider renaming the playstore application to "Snapdrop / Pairdrop"? The "for Android" seems rather redundant in the play store

@schlagmichdoch
Copy link
Contributor

schlagmichdoch commented Mar 15, 2023

I actually like the onboarding and the animation on startup. I'm with @ueen though that the how-to should better be shown after tapping a question icon in the top bar.

I would change parts of the text to make clear that it's a frontend for a webservice:


Choose a server -> Select an instance


This app needs to connect to a server for
establishing connection between devices.
Your files will Stay private all the time.

Note: You have to choose the same server
for all devices.

->

This app is an optimized client for the web apps Snapdrop and PairDrop.
Choose one of the following instances or specify a custom url to connect to.

You have to choose the same instance on all devices.

(recommended) A more advanced
Snapdrop version. Comes With cool
extra features and more reliable servers.

->

(recommended) 
Pairing feature, internet transfer and focus on stability.

The how-to for transferring is not needed IMHO.

Branding is important as well 😂

How about setting the App name in the about menu instead of "https://snapdrop.net/"?
Then you could keep the main frame cleaner.

But we could show the URL e.g. as actionbar subtitle

I like this idea!

consider renaming the playstore application to "Snapdrop / Pairdrop"

It's "PairDrop" :)

@ueen
Copy link
Contributor Author

ueen commented Mar 15, 2023

I wouldn't use "instance" that's too technical for the average user, even server might be to much. Users are familiar with websites and (URL) addresses so that language should be used (while being accurate in the description).

@schlagmichdoch
Copy link
Contributor

True. I would go with "server address" then. That's what nextcloud is using.
https://github.com/nextcloud/android

@fm-sys
Copy link
Owner

fm-sys commented Mar 15, 2023

having said that, action subtitle might just work too :)

grafik

@fm-sys
Copy link
Owner

fm-sys commented Mar 15, 2023

consider renaming the playstore application to "Snapdrop / Pairdrop"

Need to think about it. Would require to redo all feature graphics etc. Actually I would like to avoid that effort...

@ueen
Copy link
Contributor Author

ueen commented Mar 15, 2023

Need to think about it. Would require to redo all feature graphics etc. Actually I would like to avoid that effort...

Yea that would be annoying, but I think the app itself doesn't need to be too much of a brand, the brand (if you could even call it that) is snapdrop or pairdrop, so that's what users will search for and with that should be able to find the app easily, its a strongly practical approach, I know 😇

Thanks for the great work, really looking forward to using the new version 😃

@fm-sys
Copy link
Owner

fm-sys commented Mar 15, 2023

I'll stay with the last onboarding screen, however, I changed the screenshot to make the browser feature more recognizable... Don't worry, you'll see it only once ;)

Just did another update. This one fits even better IMHO
grafik grafik

@fm-sys
Copy link
Owner

fm-sys commented Mar 15, 2023

Currently I'm not hosting pairdrop.net on a VPS and there is a bandwidth limit that will be reached if the current monthly userbase increases by 400%.

@schlagmichdoch I plan to release a new version of Snapdrop for Android soon. I plan to use a scheduled rollout and only target a small amount of users for now. If nothing serious occurs, I'll raise the percentage over time. Please give me the go if you're ready, or tell me whether you want to make some adaptions at the server backend first.

@LisaJackson24-2
Copy link

Currently I'm not hosting pairdrop.net on a VPS and there is a bandwidth limit that will be reached if the current monthly userbase increases by 400%.

@schlagmichdoch I plan to release a new version of Snapdrop for Android soon. I plan to use a scheduled rollout and only target a small amount of users for now. If nothing serious occurs, I'll raise the percentage over time. Please give me the go if you're ready, or tell me whether you want to make some adaptions at the server backend first.

Please do not combine Snapdrop and PairDrop into one app. If you want it so badly, just split them.

PairDrop is the dumbest piece of crap I've ever seen. The devices either do not connect, or the transfer of a file of several megabytes takes forever.

@fm-sys
Copy link
Owner

fm-sys commented Mar 16, 2023

PairDrop is the dumbest piece of crap I've ever seen.

This might be your personal opinion, please try to stay polite anyway. FYI: You will still be able to select Snapdrop, PairDrop or a custom URL. This selection gets persisted, so you won't see PairDrop again if you don't like to.

@schlagmichdoch
Copy link
Contributor

schlagmichdoch commented Mar 16, 2023

Please give me the go if you're ready

I’ll need some days to set everything up to be ready if the user base increases and for the turn server but I guess you could start releasing the new version whenever you’re ready as everything works fine.

snapdrop or pairdrop, so that's what users will search for and with that should be able to find the app easily

Probably tagging would be enough for now. Users also find it in the faq so I guess that’s not a problem for now.

@LisaJackson24-2 if you have any problem with PairDrop please create an issue on its repository. It is a fork of Snapdrop and the underlying connection code has not changed a lot so speed and connection stability should be the same. The thing that has changed though is that devices are only shown if the connection is successfully established. With Snapdrop many people had the problem that devices were shown but the actual p2p connection failed so no transfer was possible. If you have suggestions on how to improve the connection or the UI you are welcome to create a request.

@fm-sys
Copy link
Owner

fm-sys commented Mar 19, 2023

I’ll need some days to set everything up to be ready if the user base increases and for the turn server but I guess you could start releasing the new version whenever you’re ready as everything works fine.

Ok, started roll out to 20% of our users. I'll plan to raise it to 100% starting next week... Then it will take some more weeks until the update is actually installed on all devices.

@deafmute1
Copy link

@fm-sys Given that pairdrop allows connections between paired devices across different networks, the "Please verify you are connected with a WiFi network" pop up is now redundant in some cases, because pairdrop can still work with a paired device if my phone is on cellular. This pop up should either be disabled for pairdrop, or there should be at least an option to disable it in the settings.

@fm-sys
Copy link
Owner

fm-sys commented Mar 28, 2023

Let's close here as the new version should be available to all users meanwhile. Everything else should go into dedicated follow up issues IMHO...

@deafmute1 Good catch, I've opened #288 for it

@fm-sys fm-sys closed this as completed Mar 28, 2023
@fm-sys
Copy link
Owner

fm-sys commented May 25, 2023

@schlagmichdoch

Finally I followed some of your suggestions. The main activity title "Snapdrop for Android" is gone meanwhile and the app is called "Snapdrop & Pairdrop" in the playstore. It turned out that more users dare to use Pairdrop if it's explicitly mentioned in the app name.

However I have following problem: How should we name the launcher icon? Any ideas for a Snapdrop / PairDrop independ name?

Cause "Snapdrop" doesn't fit anymore if we actually recommend PairDrop as server address...

Screenshot_20230525_170207_com huawei android launcher

@schlagmichdoch
Copy link
Contributor

Finally I followed some of your suggestions. The main activity title "Snapdrop for Android" is gone meanwhile and the app is called "Snapdrop & Pairdrop" in the playstore. It turned out that more users dare to use Pairdrop if it's explicitly mentioned in the app name.

I believe the description is a big part too but the changes you mention sound good! 👍

How should we name the launcher icon? Any ideas for a Snapdrop / PairDrop independ name?

Not sure. Is there a maximum lenght that is recommended? Otherwise your could go with Snapdrop & PairDrop

I have one hacky Idea:
You could just use Drop as the launcher name and change the launcher icon depended on the server selection:
PairDropHacky

See here and here.

But I guess that would look cheap on some devices with different system fonts.

Nevertheless, just "Drop" would maybe be sufficient too :)

You could also go all in with PairDrop but that would simply reverse the problem. 😉

@fm-sys
Copy link
Owner

fm-sys commented May 25, 2023

You could just use Drop as the launcher name and change the launcher icon depended on the server selection

In the docs they state Supports only iOS (with version > 10.3).

So won't work for Android devices unfortunately, and would look weird anyway.

Is there a maximum lenght that is recommended? Otherwise your could go with Snapdrop & PairDrop

Not sure but launchers will truncate the name if it's too long.

I'll probably just wait some more time. Let's see how things will evolve.

Repository owner deleted a comment from schlagmichdoch Feb 17, 2024
Repository owner deleted a comment from schlagmichdoch Feb 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants