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

Move vs Copy are both disruptive - can it work like other apps? #26

Closed
jasonbayton opened this issue Jun 15, 2016 · 55 comments
Closed

Move vs Copy are both disruptive - can it work like other apps? #26

jasonbayton opened this issue Jun 15, 2016 · 55 comments

Comments

@jasonbayton
Copy link
Member

Actual behaviour

When uploading, the options provided are to either move the file from it's location to the NC directory or make a copy of it.

For the former and especially in the case of photos traditionally kept in DCIM this leads to fragmentation of files in other places on the filesystem (and therefore harder to manage)

For the latter, copying doubles storage usage per file, with many photos taken the disk usage can get into the gigabytes before the day is over.

Expected behaviour

Like other apps, uploading shouldn't disrupt the location of files nor duplicate everything on storage.
Perhaps investigating and replicating the functionality of dropbox, onedrive or Google photos would be a good place to start.

Steps to reproduce

  1. Tap to upload
  2. Choose whether to move or copy
  3. Instantly regret either decision

Context: https://help.nextcloud.com/t/android-copy-vs-move-on-upload-there-has-to-be-a-better-way/631

@AndyScherzinger
Copy link
Member

Don't be so negative @jasonbayton 😉

As per my understanding the feature is is the extension of the instant upload as already been/being implemented by @tobiasKaminsky on the respective feature branch https://github.com/nextcloud/android/tree/extendInstantUpload

@tobiasKaminsky pleases correct me if I am wrong.

@tobiasKaminsky
Copy link
Member

@AndyScherzinger as far as I understand this is when uploading from within the app and therefore is independent of instant upload.

@jasonbayton what about a third option "just upload"? Then the file will stay on original position and will not be duplicated?

@jasonbayton
Copy link
Member Author

Instant upload has the same options, though they're set once in settings rather than per upload.

I'd say "just upload" is how the other apps do it, so absolutely yes please!

@tobiasKaminsky
Copy link
Member

@jancborchardt any idea how to add a third option?

  • move file
  • copy file
  • just upload

screenshot_20160615-191444

@jasonbayton
Copy link
Member Author

Wouldn't a just upload option render the copy obsolete? I don't see the use case as it feels more like a workaround than solution (where solution is just upload).

The move could then be considered "upload and delete from source" insomuch as I guess clearing down data in the app will also remove the moved copy (speculating, I don't know if that happens)

@jancborchardt
Copy link
Member

But isn’t »just upload« the same as »copy file«? Seems just like a wording difference. That’s how it has been since the beginning, till we introduced the »move file« option.

@jasonbayton
Copy link
Member Author

No, because copy creates a duplicate on storage, turning 512mb of photos into a gig.

Dropbox, box, one drive, Gphotos don't cause this and they »just upload«

@jancborchardt
Copy link
Member

Soo, what does »just upload« mean? It uploads it to the server but doesn’t copy it to the nextcloud data folder on Android? That’s actually what I assumed »copy« does. We shouldn’t introduce a third setting because that will just increase the confusion.

@jasonbayton
Copy link
Member Author

jasonbayton commented Jun 17, 2016

Soo, what does »just upload« mean? It uploads it to the server but doesn’t copy it to the nextcloud data folder on Android?

Yep! That's the functionality needed, then ideally the two options could be:

  • Upload
  • Upload & Delete

Rather than copy/move.

From my perspective there's no place for a "copy" option, as that benefits no one.

@tobiasKaminsky
Copy link
Member

As I wrote this back in the old days...
For example we have a picture vacation.jpg in dcim:
Move: JPG is now in nextcloud folder only, still accessible in gallery with new path, accessible within nextcloud app
copy: duplicate file, directly accessible within nextcloud app
"just upload": new option: jpg remains in dcim, not accessible within an nextcloud app -> if you want to open the image you would have to download it from server

The part in bold is the reason why I thought that this is not useful...
But I am open for any enhancement.

Personally I use it like this: all images are uploaded (and moved) and therefore no file fragmentation.

@jasonbayton
Copy link
Member Author

If you've uploaded it, why would you need to reopen it from the NC client? It'll already be available in the gallery for sharing elsewhere and a cached thumbnail should be enough to see the file is backed up.

There is definitely fragmentation as you're then managing photos both in DCIM and nextcloud if accessing via USB or looking for the photo to upload elsewhere via the files application.

Copy definitely doesn't do anything useful for sure, only filling up storage space unnecessarily.

@jasonbayton
Copy link
Member Author

jasonbayton commented Jun 19, 2016

I've just opened the app this evening and noticed the options in camera upload have changed:

screenshot 2016-06-19 at 23 18 57

This looks spot on!

However still the same for normal uploads:

screenshot 2016-06-20 at 11 53 15

@tobiasKaminsky
Copy link
Member

There was no change recently...

@jasonbayton
Copy link
Member Author

No you're right, I just realised I have an old version of the owncloud app on my phone where I last saw the copy vs move and confused myself.

So the instant upload area was fixed at some point, but the standard uploads remain to be changed.

@tobiasKaminsky
Copy link
Member

So...What is the conclusion?

  • just upload
  • upload & move to nextcloud folder? / upload & delete? / move / ...?

@AndyScherzinger @jancborchardt

@jasonbayton
Copy link
Member Author

Presumably upload & move would be the same as upload & delete right? Ultimately if you removed the app everything you moved would be in a NC folder that could easily be cleared out without much thought anyway. I just can't fathom any reason why move would be necessary.

I'd vote for the options being "upload" and "upload & delete original"

Where upload leaves the data where it sits and upload & delete actually removes the file, not just moves it to an nc folder.

That would put it well in line with what other apps have done in the past and gives the end user two choices; do I back it up and keep a copy on the SD card, or upload it and free up the redundant space.

@tobiasKaminsky
Copy link
Member

The problem with your idea is that if you upload it and keep the original file on the source directory you have to remember that you have uploaded it before you delete it.
But as this only affect the manual upload of a file I would be fine with this approach.
@jancborchardt @AndyScherzinger @przybylski

@jasonbayton
Copy link
Member Author

jasonbayton commented Jun 21, 2016

That's no different to other apps, which I think users as a demographic are familiar with. Thumbnails or filenames in the NC app will quickly show what is and isn't uploaded 👍

@tobiasKaminsky
Copy link
Member

@jancborchardt @AndyScherzinger @przybylski do we want to go with the new idea?

@AndyScherzinger
Copy link
Member

AndyScherzinger commented Jul 3, 2016

What is the new idea exactly as in a complete description of all upload variants.

I am totally pro upload-only-co-copy-no-move option, since this would be what I would like to use on my phone since that provides a simple backup mechanism. I am unsure about the other options as in which make most sense and which one could or should be discarded.

@tobiasKaminsky
Copy link
Member

  • just upload (only upload file to server, but keep original file in place)
  • upload & delete -> upload to server and delete original file

@AndyScherzinger
Copy link
Member

Imho, yes. :)

@jasonbayton
Copy link
Member Author

I concur! If that means anything :)

Will the instant upload options change to match?

@AndyScherzinger
Copy link
Member

Of course it does @jasonbayton
The instant upload options would then change according to the two @tobiasKaminsky described, yes.

@tobiasKaminsky
Copy link
Member

Uhh?
I thought we are just talking about manually uploading files to nextcloud.
InstantUpload is a different thing. And at least for me I need this behaviour: move file to nextcloud folder. Reason: I want to make sure that the images are really really uploaded to server and to delete them if I do not have any space left.

So: for upload I agree that this is for backup (just upload, no delete) or moving (upload & delete) but the in case of instant upload I think we still need move to nextcloud.

@AndyScherzinger
Copy link
Member

Totally fine with me, my point is that "just upload, no copy or move" should be available for upload and instant upload.

@Bugsbane
Copy link
Member

I've read most of this thread, although I'll admit not every word. Originally the "move/copy" feature was largely introduced stemming from an issue I filed on the ownCloud app. It was closed because adding the move/copy option seemed to fulfil the need that caused me to post the issue. However, on actually using the move/copy feature, I discovered that it doesn't cover what I needed it to do, which is closer to what "just copy" sounds like it would (although I prefer "upload"/"upload & delete").

In short, what I wanted before, and what I came online to request today, is n option that will use instant upload to upload all my photos to Nextcloud and delete them from my phone as soon as they're successfully uploaded. I have a large amount of bandwidth and very little storage, so I only want to store my photos on Nextcloud, while both move and copy leave copies taking up my storage.

Really, the option to move the image to the apps folder so it still takes up storage, but isn't seen in the DCIM folder is useless to me, and I really don't see who they would be useful for. Originally I thought "move" meant move the image off my phone and over to ownCloud (now Nextcloud) which is why the previous ticket was closed.

ANyway, I guess what I'm requesting, is the same as what I think Jason is... an option (on both manual and Instant upload) to shift the file from the phone to the server (presumably by copying it there and deleting from the phone after successfully uploading).

@tobiasKaminsky
Copy link
Member

tobiasKaminsky commented Jul 26, 2016

So to get up to it again ;-)

I understand from all posts that

  • the duplicating the file is useless.
  • just upload is needed
  • for backup: uploading & deleting from phone is wanted

For me the use case "upload & move to nextcloud app folder" is still valid, especially for images:

  • I take a photo
  • it gets uploaded and moved to nextcloud folder
  • it is still in gallery app visible, so I need not use nextcloud app to show it
  • if space is short I am 100% certain that it is uploaded and I can safely delete the file from within the nextcloud app.

So I would suggest this changes for instant upload:

Original file will be...

  • deleted
  • moved to nextcloud folder
  • remain in place

For uploading file from within our app (+ in FAB) and sharing a file from another app to nextcloud app:

  • move to nextcloud folder
  • only upload
  • upload & delete from source

cc @PanicDriven (read about your suggestion in owncloud)

@AndyScherzinger @przybylski @jancborchardt

@AndyScherzinger
Copy link
Member

Great summary and sound right to me!

@tobiasKaminsky
Copy link
Member

To show three options I would like to use a spinner: https://developer.android.com/guide/topics/ui/controls/spinner.html
Any better idea? :)

@tobiasKaminsky
Copy link
Member

The chosen setting will be remembered

@tobiasKaminsky
Copy link
Member

PR: #178
everything in it as discussed, except when sharing a file to our app it remains only as copy with no option to move.
This is because a file could be shared from e.g. whatsapp and this file could not be deleted...

@PanicDriven
Copy link

@tobiasKaminsky Thank you, this looks amazing!

I'm fine without a delete option when sharing to the app.

@tobiasKaminsky
Copy link
Member

You can test it in the latest beta: https://github.com/nextcloud/android/tree/beta/apks

Regarding the move/delete option while sharing: I guess we can check if the file is writeable/deletable and only then show the option.

@tobiasKaminsky
Copy link
Member

Regarding the move/delete option while sharing: I guess we can check if the file is writeable/deletable and only then show the option.

Strange: even when I share a file with es file explorer the file is not writeable/deletable.
So this approach does not work.
--> It must stay the way it is now in beta.

@jasonbayton
Copy link
Member Author

OK feedback:

Since we're changing things (yay!) can I ask for a few capital letters on these options? Little things I know, but makes a difference to me.

Default seems to be move over copy or just upload, on "first run" of the new selection interface should it maybe show a "Choose how to handle this file" type option?

Is there any way of making it look more like a selection menu? It seems rather tight into the cancel/upload buttons. I almost feel it could be disregarded but perhaps that's just me.

For the share from other app, no options are given. As copy is the only option available then I'd agree with it staying as-is. Does upload-only work here? Would it make sense to make that the default over duplicating files again?

@tobiasKaminsky
Copy link
Member

Thanks for your feedback @jasonbayton
The current status is more or less a proof of concept, so yeah design wise it is ugly as hell :/
This is something for @jancborchardt @AndyScherzinger

Open question:

  • better wording
  • which is default for very first upload
  • better visibility of selection menu

Share from other app: it is not copying but only uploading it, so no duplicating.

@jasonbayton
Copy link
Member Author

OK well for PoC giant 👍

Let's see what the others say 😎

@AndyScherzinger
Copy link
Member

Design wise Jan is the guru. The spinner seems right UI element wise.
Else we would need to have symbols representing these. Tricky and probably for a later version would be a spinner within the button but that is a tough task to get done since it is custom.

The default and initial value should imho be upload only.

@tobiasKaminsky
Copy link
Member

tobiasKaminsky commented Aug 2, 2016

So default on first start is "upload only", after that it is the last chosen value.
Will be in beta tomorrow.

@AndyScherzinger
Copy link
Member

Awesome! 👍

@PanicDriven
Copy link

I've installed the beta and it looks good. But when trying to upload & delete or even to just upload nothing happens. I understand this is a very early beta but I just wanted to make sure I wasn't the only one experiencing it.

@jasonbayton
Copy link
Member Author

It isn't just you

@tobiasKaminsky
Copy link
Member

Strange, this happens when you manually upload? Is the source file on an external sd card? I have tried it with an internal storage and it worked.

@PanicDriven
Copy link

I'm using a OnePlus two (no micro SD). Not rooted or a custom ROM completely stock.

Here's what's happening: https://saveitfor.me/index.php/s/dSpGC2adLDui50C

@jasonbayton
Copy link
Member Author

The latest RC1 for 1.3.0 uploads fine, and uploads & deletes fine. That's awesome.

Now in the absence of @jancborchardt's input for over a month, I'd like to propose these simple style changes on the app wording "as is" (if the design changes later, no big deal):

  • Leave file in source directory
  • Move file to Nextcloud folder
  • Delete file from source directory

I've omitted "Upload" from those options because there's a giant blue button with "Upload" written on it. Though perhaps an "Upload options:" header would be useful, and provide more structure to that little area now the obvious radio buttons have been replaced.

image

Could also put this to community feedback on the help site?

@AndyScherzinger
Copy link
Member

AndyScherzinger commented Sep 7, 2016

Uuuuh 🎉 Love the proposed change @jasonbayton - not a native speaker, so I am unsure if it should be

  • Leave file in source directory
  • or
  • Keep file in source directory

Keep feels better to me, but that might be a personal thing and as I said I am not a native speaker so I might be completely wrong...

@jasonbayton
Copy link
Member Author

Either say the same really, so whatever feels right to you :)

@AndyScherzinger
Copy link
Member

...changes will be part of the next RC 😃

@jasonbayton
Copy link
Member Author

OK so without realising I've referred to source as directory but Nextcloud as folder and I have no idea why. For consistency it probably makes sense to have them all as either folder or directory.

For the next PR you do 👍

@AndyScherzinger
Copy link
Member

AndyScherzinger commented Sep 7, 2016

fixed the wording on the development branch, so will be fine for the next RC :)

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

6 participants