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

download to phone #1192

Closed
schnello opened this issue Jul 14, 2017 · 36 comments
Closed

download to phone #1192

schnello opened this issue Jul 14, 2017 · 36 comments

Comments

@schnello
Copy link

schnello commented Jul 14, 2017

Actual behaviour

A simple action is at the moment not possible.
The app "bitcoinwallet" need the backup under the path /download
So i want so save the backupfile from my nextcloud... to my phone.

Expected behaviour

A menu option: save file to phone location.

@tobiasKaminsky
Copy link
Member

Our app is currently meant to be like a sync (although it is currently no automatic 2way sync) between device and folder, same like on desktop pcs.
This is the reason why all "synced"/downloaded files are stored in the local nextcloud folder.

As of permission problems, if our app would try to store the files all over the device, this would also hardly work.
So the only option for now is to manually copy/move the file.

@schnello
Copy link
Author

schnello commented Jul 19, 2017

Hello.

Thank you for the information.
So i understand it right. The App Permission "Speicher" is not enough to store a file at the SD Card?
But no matter, i found a "work arround". I used the browser client. With the browser i can donwload a file to the standard location.

Br,
Christian

@tobiasKaminsky
Copy link
Member

Downloading to sdcard would be possible with this permission.
But if there would be a "save to" option then user maybe try to save the file to any folder and this may lead then to permission problems.

You can still use the app: download the app and then copy the file with a file explorer to download folder.

@schnello
Copy link
Author

schnello commented Jul 19, 2017

If you do not know exactly where Nextcloud stores files... you need some time to found it :). The folder structure under Android is terrible. (for all apps)

"Save to Download" (i guess this is a standard folder for many apps) could also improve the workflow.

@tobiasKaminsky
Copy link
Member

hmm, still unsure.
@nextcloud/android what do you think?

@comradekingu
Copy link
Contributor

comradekingu commented Jul 19, 2017

"Backup bitcoinwallet to local device storage download folder" ?

@schnello
Copy link
Author

schnello commented Jul 20, 2017

Sorry. I do not fully understand the question. @comradekingu
Bitcoin Wallet was only a example.

The point is:
If the user needs a file local at the phone... its not so easy to found it in the default nextcloud path. Personally, I always need 3 attempts to find it. Too many folders in root where you can search.

So a option "Save file to Download" or "Save file to sdcard" should help and should improve this workflow if the user needs the file local (to continue working with other apps.).

Christian

@tobiasKaminsky
Copy link
Member

I guess the "android" way would be to send this email to the app OR use "open with", e.g.
sending an image to k9 for appending it as email attachement
or
open file with gallery app

@schnello
Copy link
Author

schnello commented Jul 20, 2017

Yes if the app is available as "receiver" or connected with the file extention this would the "normal" way.
The question: Do I have the same options when I choose "open with"?

Let me show you practical example:
On my Nextcloud i have store a jpg file "background.jpg". I want use this file as background on my phone. Should be easy :)

Phone Samsung S8 (latest image), latest Nextcloud APP (beta):
o a klick on the image: open the image but no menu
o long press to the image file: open with =>
Gallery => open the files but no menu
Google Fotos => Menu is available > Help and Feedback
HP Print Service ==> Will not bring me to goal

o long press to the image file: send => shows only options to share the file... WA, Hangouts, K9, etc etc

Okey i choose now "Make file offline available"... use my file explorer... after searching ..move the file to the cam folder... open the gallery app... and now i can set this pic as background.

But much easier is:
I open the browser, open my nextcloud , use "download file", open the galery app and set this pic as background.

@tobiasKaminsky
Copy link
Member

Okey i choose now "Make file offline available"... use my file explorer... after searching ..move the file to the cam folder... open the gallery app... and now i can set this pic as background.

"make file offline available" is not necessary. Right after downloading the file it is available on storage. "make file offline available" is to keep it synced.

I want use this file as background on my phone.

This will be available in next version directly. You can try the dev version if you want
https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md#dev-release

@schnello
Copy link
Author

schnello commented Aug 3, 2017

Looks like the feature is not needed. Closed

@bahbarnett
Copy link

A few things.

  1. People need to do things, you can't think of. Trying to second guess the user (Why would they do that?! That's silly!) is a sure way to ensure that you're not going to please the user.

EG, Don't expect you know what the user needs. You don't.

  1. With Nextcloud, people tend to be syncing over a variety of devices. With Linux, for example, I have a davfs2 share mounted to Nextcloud. I can move files in and out of that share with ease. Yet with Android?

Nope. This app prevents this simple act, something users have been doing for decades, and seemingly on purpose.

  1. When using this app, it is indeed true I can long press/click, select a file, and then 'send/share'. Yay! Now I can copy a file to my SD card.

What happens when I have 75 files? Hmm. I can't do that! I select the folder.. and, no way to do this. I go into the folder and select all files? This option doesn't exist. In fact, I can't do many things with more than one file for some odd reason... the menu is severely truncated.

Now, let's say I want to do a very, very, very, very simple thing -- like sync my Nextcloud folder, and then copy some files to a OTG USB device or my on-board sdcard.. and give it to a friend.

How can one do this easily? Without endlessly searching my filesystem for where the files are hidden?

Should I select the files one at a time, all 75 of them, and 'send/share'?

I see a lot of "but the user should be doing this." Or, "we don't want them to this". Yet, something as simple as all of this, of copying 75 files onto a USB stick?

Is an act of pain with the Android Nextcloud app.

Why?

@archont00
Copy link

Same here, always wanted to use Nextcloud to easily get a file from and to Android phone.
Nextcloud accepts the "share to" from other apps, so the former is no problem.
The latter still is - I used to use Llamalab's Automate 'share to SD card', but that one stopped working (no write permission no matter what I do).

So sending via email is still the easiest way, although not really safe.

@tobiasKaminsky
Copy link
Member

@nextcloud/android what do you think?

@archont00 what exactly would you expect if there is a "download to phone" button:

  • simply download it do /sdcard/download
  • open up a folder chooser where to save the file

@archont00
Copy link

If possible, a folder chooser would be better.

(Not sure how Android deals with $DOWNLOAD folder path - localisation, various Android versions, etc. It would be unfortunate if it forces absolute path name and creates the folder, if not existing.)

@bahbarnett
Copy link

bahbarnett commented Mar 27, 2019 via email

@AndyScherzinger
Copy link
Member

AndyScherzinger commented Mar 28, 2019

If possible, a folder chooser would be better.

That is something that could be considere in the (farer) future maybe but complicates the use of the feature

(Not sure how Android deals with $DOWNLOAD folder path - localisation, various Android versions, etc. It would be unfortunate if it forces absolute path name and creates the folder, if not existing.)

Android's API offers this folder info and there is no localisation whatsoever since this is simply the underlying filesystem so this folder is always named the same no matter the language of the UI on top of it.
So a simple "download to standard Android Download-folder if present" would be the solution with the smallest effort necessary to implement such a thing in general.

Other than that I am not fully convinced I would like to have such a feature. While I understand the use case here I also expect other users (not involved in this discussion) might then expect these files to be kept in sync too (which isn't possible or shouldn't be tried to do) so they will brag about it, raise issues etc. etc. which is something we than need to deal with (as in spending time on it) which you won't have to deal with. But sure we can give it a try. "Any destination" should be the far future if at all since it is rather complicated (checking write access etc. etc.).

@schnello
Copy link
Author

Other than that I am not fully convinced I would like to have such a feature. While I understand the use >case here I also expect other users (not involved in this discussion) might then expect these files to be >kept in sync too (which isn't possible or shouldn't be tried to do) so they will brag about it, raise issues >etc. etc. which is something we than need to deal with (as in spending time on it) which you won't have to >deal with

Hmm i understand but...
On my PC i can download files via the WEB UI
On my phone i can download files via the WEB UI
Are there really users they are creating tickets because this content is not synced?

@AndyScherzinger
Copy link
Member

Are there really users they are creating tickets because this content is not synced?

No because you can't donwload to "..." via the app at the moment. Like I said I am not against implementing such a feature, I just wanted to make everyone aware that users may have further expectations regarding this feature if it is actually in place.

@schnello just having played around with the browser on my phone would you then be fine with a "save to downloads" option?

@nextcloud/designers what do you think in general about this feature?

Also cc @tobiasKaminsky again for further feedback

@schnello
Copy link
Author

@AndyScherzinger

would you then be fine with a "save to downloads" option?

From my point of view: completely sufficient

@archont00
Copy link

For me, the 'save to downloads' would be fine, too.

@jancborchardt
Copy link
Member

Design-wise I would be fine with a "Save to downloads" element in the share sheet. But not another action in the actions dropdown, as that is yet another thing for an edge-case and would also confuse people. Does that work?


The app "bitcoinwallet" need the backup under the path /download

@schnello I would also say that’s a limitation of that app? If you could set a manual path there, it could be set to the Nextcloud folder and then it would automatically be synced, which would be pretty sweet.

@schnello
Copy link
Author

@jancborchardt
I can also place a symlink... but is it 0815 user friendly? Instruct an "normal" user to find the nextcloud path... have fun. :)

@jancborchardt
Copy link
Member

@schnello well, ideally that app would offer Nextcloud sync, or a proper interface to just "Sync with Nextcloud" which automatically picks the path. :) The goal should be 0 fiddling instead of just fiddling somewhere else. :D

@schnello
Copy link
Author

Actually, I see it as sufficient if i find the files in a simple place.

@bahbarnett
Copy link

bahbarnett commented Apr 18, 2019 via email

@jmue
Copy link
Contributor

jmue commented Apr 18, 2019

I just would like to add my comments here. I'm fine to have a 'save to downloads' or 'save as ...' entry here. Maybe i misunderstood something, but - any third party app must not have permission to read/write on nextcloud file basis in android (even with storage permission). Reading and writing to nextcloud must ever be done via intent or content providers. Any other case would untermine androids sandbox concept. Think of your slogan 'Protecting your data'.
If an app wants to regulary write backups to nextcloud, this app is free to implement a Storage Access Framework client and requesting persist permissions. Even so for reading files.

@danrneal
Copy link

danrneal commented Jan 1, 2021

As a comment, in Google Drive when I select a file and click "Download", it downloads the file to Internal Storage > Download

This allows me to download a file (such as an audiobook) and use it with another app (put it in my audiobook file on my phone). Without the ability to download the file to the phone, I use the browser instead of the phone. I know saving to phone in the app puts the file somewhere, but I can never find it and it's easier to just open it in the browser.....

@tobiasKaminsky
Copy link
Member

That is not the Android way of dealing with files, but a common Desktop approach.
On Android if you download a media file, it is registered in internal media library, so if you open your media app,e.g. vlc, then you see all media files from entire phone.

Sure, we can add "download to device", but then user download it, modify it and wonder why the changed content is not updated…

@schnello
Copy link
Author

but then user download it, modify it and wonder why the changed content is not updated…

Add a big popup... "Content will not synced". ;)

@AndyScherzinger
Copy link
Member

@tobiasKaminsky see Jan's comment #1192 (comment)

Design-wise I would be fine with a "Save to downloads" element in the share sheet. But not another action in the actions dropdown, as that is yet another thing for an edge-case and would also confuse people. Does that work?

So it can be implemented while it isn't a high priority for you/me, so rather a "contributions welcome" issue

@danrneal
Copy link

That is not the Android way of dealing with files

I would push back on this statement a bit. This is exactly how Google Drive deals with files in their mobile app and I would think Google would be the authority on "the Android way of dealing with files"

@comradekingu
Copy link
Contributor

How can you download something from a prompt if it isn't a file?
If what is getting the file can also be a tablet, isn't "device" better?
If you are doing it on the device you are getting it to, isn't that a download (as opposed to an upload).

How about just a download icon, and then a setting that allows asking every time where exactly the user wants it to go?
The "media type" process on Android for downloads is presenting them in notifications, and then automagically opening them in whatever fits once clicked? If you try to do something that isn't allowed, you get asked to grant the permission to do so.

As for logic for always/re-upload this if not changed upstream in the meantime, isn't that a different question?

Seems OK with those sane defaults, and toggling a download and upload button to do more things (or doing it some other way), then presenting the prompt if it is unintuitively destructive.

Then there is: Oh, but there is no secondary logic like marking files/doubleclicking/hamburger menus that work, or capable users on the Android end, etc. etc.

@danrneal
Copy link

danrneal commented Jan 13, 2021

I mean I think Google Drive does a pretty good job here of having sane options.

"Make available offline" and "Download" is a workflow most people are used to.

Webp net-resizeimage

@archont00
Copy link

How about at least a standard Send to...? The user can install some other app to catch the file and store a copy of it where ever he wants. (e.g. "Save To Phone"). Or send the file as an attachment via own email app, chatting app, etc.

It is not user friendly to

  1. download the file within Nextcloud to have it available in local storage and
  2. open some android file manager, look up the file within nextcloud user data storage and Send it to the target app.

P.S. There is an Open with in Nextcloud App already, but that does not work for this purpose.

@AlvaroBrey
Copy link
Member

This was implemented in #10443 and has been available for a while

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants