nextcloud / android

📱 Nextcloud Android app
https://play.google.com/store/apps/details?id=com.nextcloud.client
GNU General Public License v2.0
4.18k stars 1.75k forks source link

Allow me to select a file and upload it, in a discoverable way: from the menu. #12513

Open tomFlowee opened 7 months ago

tomFlowee commented 7 months ago

Is your feature request related to a problem? Please describe.

The case is that for instance I download something in telegram or export a backup from some app on my phone . I then have to struggle to get the file off of my phone to somewhere I can use it on my desktop.

Describe the solution you'd like

I want to be able to open the app, see my local filesystem and select a file to upload to my attached nextcloud.

Describe alternatives you've considered

The only option I found is to monitor an entire directory (like your DCIM folder) which seems to be the only way for me to upload stuff and it doesn't fit the one-off way of doing things.

nicofrand commented 7 months ago

Hi,

From your local files browser you can just share the file with the Nextcloud app, that will then allow you to upload it to the directory you want.

tomFlowee commented 7 months ago

Thanks @nicofrand, I didn't find that feature yet.

But this enhancement request is about the app itself, being able to discover this in the app itself would be quite lovely.

Solar-Simon commented 7 months ago

Describe the solution you'd like

I want to be able to open the app, see my local filesystem and select a file to upload to my attached nextcloud.

In my understanding, exactly this is possible.

  1. Open Nextcloud App
  2. click "+"
  3. click "Upload File"
  4. choose file from local filesystem
tomFlowee commented 7 months ago

Thanks @Solar-Simon, in the 2 years I've used this app I also never discovered that.

What's wrong with making one of the two core features (upload and download) of the app being in the menu?

I expect ALL core features to be in the menu. Regardless if they are also available in context buttons.

Solar-Simon commented 7 months ago

In my understanding the menu is there to display different sortings or categories. It is not there to perform a specific action.

For my workflow the "+" is good. Navigate to your desired folder, click "+", ready.

Perfect

tomFlowee commented 7 months ago

the menu is the top left hamburger button that shows a lot of different things, including the settings button. I think an 'upload' would make a lot of sense there.

Not arguing that the "+" should go away, you can have multiple entry points for the same feature without issues.

I frankly never noticed that plus button. It's not exactly standard Android design.

The point of having it in the menu is to allow people that structurally search for a feature to find it. Because even my structural search limited itself to the menu and the buttons on the screens you can open from the menu.

joshtrichards commented 7 months ago

I frankly never noticed that plus button. It's not exactly standard Android design.

It kind of is. It's exactly how Google Drive, Google Docs, and Gmail do it, for example. And it's also consistent with how Nextcloud Notes, as an in ecosystem example, does things.

And it's where the M3 spec says an application should put its primary action: https://m3.material.io/components/floating-action-button/guidelines

Which is not to say that the Android's OS preferred UI styles haven't changed at various points in history. :-)

tomFlowee commented 7 months ago

And it's where the M3 spec says an application should put its primary action

Kinda. Your point is sound. But it doesn't go against my point. Specifically, what the linked guidelines state is that you should put the screens primary action there. Yes, I don't think it implies you should avoid having it elsewhere. What the 'nextcloud app' does is ONLY put it there, which does not follow from the guidelines.

The guidelines state:

Use a FAB for the most important action on a screen.

This for sure reads like it is an additional, quick access, way to access that most important action. The "normal" way is not supposed to be removed. I don't have any google apps on my Android, so someone may check, is the FAB in google drive the only way to access the features supplied by said FAB? Or are they also reachable in another way? Probably via a menu.

My enhancement suggestion for nextcloud is that for uploading the feature should still be available outside of this 'FAB'. Probably via the menu's.

AndyScherzinger commented 7 months ago

is the FAB in google drive the only way to access the features supplied by said FAB? Or are they also reachable in another way? Probably via a menu.

Yes it is

My enhancement suggestion for nextcloud is that for uploading the feature should still be available outside of this 'FAB'. Probably via the menu's.

No, because the menu on the left is for navigation, not for actions. Hence it helps you navigate to other places within the app, not to trigger an upload/download/deletion/or-else.

This is not meant in a harsh way but as referred to the M3 spec by @joshtrichards - That is how we implemented it and how any other cloud file storage app implements it. The M3 spec defines how to use certain elements, not how to not use it. So "M3 doesn't explicitly forbid it" is not an argument for implementing it. And to answer to the headline of the issue: The FAB is the material design way to provide access to the primary actions and hence is the most discoverable way from a platform point of view. Even if you don't use google apps, take for example K9, an email client - same thing -> FAB

tomFlowee commented 7 months ago

So "M3 doesn't explicitly forbid it" is not an argument

I'm pretty sure you read me wrong. Please take a moment longer on this.

M3 indeed states that you should present your most important action on that screen there.

You seem to have read it as meaning you are not allowed to present those actions elsewhere, which is absolutely not what it is saying. Most apps would be in violation of that guideline in that case. You can open a new chat in whatsapp from the contacts list, for instance.

So you read me wrong if you think I stated that the guidelines don't explicitly forbid it. That is indeed a non-nonsensical argument :-)

The point is that the FAB design is not a counter argument against having the same feature actually available via another means.

This is not uncommon at all. Check other apps, don't trust my word on it. But a quick search on "how to open a chat in whatsapp" gives you plenty of ways that don't actually require you to use the FAB. For instance: https://www.androidauthority.com/how-to-use-whatsapp-1097088/ has a nice screenshot that shows it can be done from the bottom tabbar too.

No, because the menu on the left is for navigation, not for actions.

Pressing 'upload' in the FAB opens a new page, this is called navigation on Android. Identical to opening the Settings screen from the menu. Both navigate to a new page.

As such, the menu is an ideal place to add a second entry point to the 'upload' screen. For really near zero (coding) cost.

That is how we implemented it and how any other cloud file storage app implements it. T

I understand the argument, I would like to point out that the normal user doesn't have more than one cloud storage application they use. If you like nextcloud, chances are pretty good you stay far away from google drive. Makes sense, no? So there is no risk of inconsistencies there.

Next to that, the point is discoverability. Making it easier to find the feature you already ship. To re-iterate, nobody has suggested that adding it in the FAB is wrong or should be removed. Far from it. People migrating from google drive will like it. However, people unfamiliar with that product will likely not find the feature. The FAB is not used by most of the Android apps, it is easy to miss.

hence is the most discoverable way from a platform point of view.

There is no reason to make it even better by having a second place where this feature can be found. Do you see any conflict with the topic of this issue?

Again, this doesn't mean the FAB should stop providing the feature!

tomFlowee commented 7 months ago

Missed that one..

Even if you don't use google apps, take for example K9, an email client - same thing -> FAB

open any email in K9, use hamburger menu (top right) and hit "compose".

Same functionality as the FAB.

AndyScherzinger commented 7 months ago

Looping in @nextcloud/designers

Sorry for having misread you. Also there might then be a misunderstanding.

To me the Hamburger menu is the top left (3 horizontal lines) which opens general navigation. To me the top right is the toolbar's overflow menu (3 dot icon) and yes, there I agree an action can be placed same as present in the FAB and that is perfectly in line and specified by Material Design 👍

szaimen commented 7 months ago

In my opinion, I find the Plus button good enough and I would not add an additional option to the hamburger menu. However we could possibly make the plus button more descriptive, like e.g. this? (made a fast mockup) image