Server: Share menu cleanup – we caught a case of feature-itis 🀧

Created on 1 Nov 2018  Β·  29Comments  Β·  Source: nextcloud/server

Done

  • [ ] Android
  • [ ] iOS
  • [ ] Desktop
  • [ ] Web UI

Looking at the share link menu: https://github.com/nextcloud/server/pull/11844#issuecomment-434817031

We are again shoveling stuff into places during a cycle and at the end things look crowded. Right now the menu items are (yes in this order, should be done through my commit):

Current state

  • πŸ“‹ Copy link (outside of menu cause most important)

●●●

  • ✏ Allow editing
  • πŸ™ˆ Hide download
  • πŸ”’ Password protect
  • ⏱ Set expiration date
  • 🏷 Edit link label (only necessary as soon as multiple links exist, if at all)
  • πŸ—’ Note to recipient
  • πŸ—‘οΈ Delete share link
  • βž• Add another link (separated via border-top cause it has nothing to do with the current link)

Yes those are 9 options just for a link. Strange, right?


Evaluation

Now let’s look at the importance of these entries. Correct me if I’m wrong:

  • πŸ“‹ Copy link (outside of menu cause most important)

●●●

  • ✏ Allow editing: Important toggle!
  • πŸ™ˆ Hide download: Complete custom edgecase
  • πŸ”’ Password protect: We had it for long, but is it used often?
  • ⏱ Set expiration date: Same here: We had it for long, but is it used often?
  • 🏷 Edit link label: This has got to be most useless thing of them all. See below for more info
  • πŸ—’ Note to recipient: Custom thing, is it used?
  • πŸ—‘οΈ Delete share link: Pretty essential of course
  • βž• Add another link: Useful for people who want multiple links, but not essential.

Improvement

So basically we could make it a 2-step popover with:

  • πŸ“‹ Copy link (outside of menu cause most important)

●●●

  • ✏ View / Edit / Upload only: Show as toggle buttons in one row with icons.
  • βš™οΈ Additional settings: Expands on click to reveal all these additional things
  • πŸ—‘οΈ Delete share link: Pretty essential of course
  • βž• Add another link: Useful for people who want multiple links, but not essential.

For the user share menu:

  • πŸ“‹ Can edit (outside of menu cause most important)

●●●

  • πŸŽ‰ Can reshare
  • βš™οΈ Additional settings: Expands on click to reveal all these additional things

    • Can create (only for folder shares)

    • Can change (only for folder shares)

    • Can delete (only for folder shares)

    • Set expiration date

    • Note to recipient

  • πŸ—‘οΈ Unshare: Pretty essential of course

Now that’s a cleanup! 🧹

And people who really need the advanced stuff can reach it quickly. Also:

  • Any settings where the defaults were changed (like a password set) would be shown directly in the list already
  • Any settings which are enforced by the admin (like expiration date) would also be shown directly in the list

Addition on link "label"

Special section on the link label/name editing: We need to understand that manually naming links is just really unnecessary work no person should need to do.

We need to have sensible automatic link naming like for example:

  • Share link (read only)
  • Share link (editable)
  • Share link (editable, expires in 5 days)
  • Share link (editable, password-protected)

Because there are only so many setups you can have for the link. We already have a share note too, we could simply display the first sentence of that in a second row, if it’s there? That would already give a lot of context.

What do you think @nextcloud/designers @nextcloud/sharing

1. to develop πŸ’» desktop πŸ€–πŸ mobile design enhancement sharing regression technical debt

Most helpful comment

As discussed recently with @karlitschek and @jospoortvliet there are several use-cases where apps like Collabora or OnlyOffice could provide additional sharing permissions.

OnlyOffice (https://api.onlyoffice.com/editors/config/document/permissions):

  • Can fill forms
  • Can review
  • Can comment
  • Can print (would be covered by hide download)
  • Can download (would be covered by hide download)
  • Can edit (would be covered by regular permissions)

Collabora has quite fine granular options to set (DisableCopy, DisableExport, HidePrintOption, HideSaveOption, HideExportOption, UserCanWrite) but I think we do fine by just using our current hide download/read/write permissions for those. However in the future there also might be options similar to the ones in OnlyOffice.

Edit: It should be possible for apps to limit the availability of permissions like https://api.onlyoffice.com/editors/faq/sharing

Additional options that might be possible for link shares:

  • Watermark file (only makes sense for hide download links, as otherwise you can always just download the regular file), so I think it's fine to not expose this as an additional permission

My proposal would be to allow apps adding custom permission flags that can either be true or false and then would be added to the additional settings

:gear: Additional settings: Expands on click to reveal all these additional things

@jancborchardt @nextcloud/designers What do you think about that from a design perspective?

I've also did some quick mockups to make the menu restructuring a bit clearer:
image

Additional permissions would then pile up under the Can delete, only if the shared mime type would support them of course.

All 29 comments

GitMate.io thinks possibly related issues are https://github.com/nextcloud/server/pull/10230 (Feature/shares overview), https://github.com/nextcloud/server/pull/10467 (Reword share comment feature), https://github.com/nextcloud/server/issues/10750 ([Feature Request] Search in link-shared directories), https://github.com/nextcloud/server/issues/2836 (Error while link sharing), and https://github.com/nextcloud/server/pull/11898 (Feature/read only public share).

I just came here to the issue tracker to complain about this, but I'm glad to see you already recognize the craziness here! Most importantly, as you already said, the link to copy should not be hidden in the overflow menu. I just had a user ask why share link wasn't working, because it's not intuitive to have to click extra times to hunt for the link you're trying to create.

Also I have a couple complaints about the expiration date. Most importantly, After opening the date picker and then clicking the left arrow to go back one month, the share link menu disappears and you lose context of what was happening, also making me unsure if the date I'm going to pick will actually save. The other small issue is the date format: I live in the US and we do dates backwards, month-day-year. This should ideally be a regional setting, or something, and I need this to show month-day-year instead of day-month-year because right now I set November 8, 2018 but it looks to us like August 11, 2018 if I didn't know any better.

Another comment: Do we need an option in the menu to "Delete Share Link" when we can simply uncheck the "Enable" box to make it go away? Why are there two different ways of doing the same thing?

@linucksrox on 15 copy is no longer in the menu. And there is no checkbox anymore.

@rullzer Ok, that makes more sense. I'll wait to see how things look after the next major upgrade.

I just came here to the issue tracker to complain about this, but I'm glad to see you already recognize the craziness here!

@linucksrox Hahaha! Thank you, that made me smile! :)

Also I have a couple complaints about the expiration date. Most importantly, After opening the date picker and then clicking the left arrow to go back one month, the share link menu disappears and you lose context of what was happening, also making me unsure if the date I'm going to pick will actually save. The other small issue is the date format: I live in the US and we do dates backwards, month-day-year. This should ideally be a regional setting, or something, and I need this to show month-day-year instead of day-month-year because right now I set November 8, 2018 but it looks to us like August 11, 2018 if I didn't know any better.

@linucksrox Could you open separate issues for each of these pieces of feedback? Thanks a lot! :)

No problemo πŸ™‚

While I am generally agree of not adding more and more options over here I'd vote for keep the existing ones where they are... My 2 cents about some options:

πŸ”’ Password protect: We had it for long, but is it used often?

I can think of many scenarios where this option makes sense and I am using it very often. Sometimes you only manually share a sharing-link (without sharebymail, talk, ...) and want to separately give out a password to another user. This should always be possible! Not everybody is using/familiar with Talk or has Share by Mail enabled.

⏱ Set expiration date: Same here: We had it for long, but is it used often?

I can see much use-cases for this. It is a low-barrier "retention"-functionality.

πŸ—’ Note to recipient: Custom thing, is it used?

Especially when using sharebymail this thing makes a lot of sense, since you do not need to open a mail-client after sharing to send some instructions next to the file :)

Special section on the link label/name editing: We need to understand that manually naming links is just really unnecessary work no person should need to do.

Well ... I think that naming links is better than those generic ones you suggest, since:

  • Sometimes you want to create multiple "read-only" share links for different groups/people - only then you will be able to separately revoke them πŸ—‘
  • You will otherwise need a PostIt on your screen to remember which link was given out to people ... awesome UX πŸ—’

Since all those options are already hidden behind the three-dots I do not see any reason for hiding them again behind another popup-window or something... We want to keep the interface streamlined and easy by providing as much and easy possibilities to share with different people with different requirements. The most important toggles "Edit" and "Remove" are not sinking that much in the crowd that I see any need for action over here ...

Another thing to keep in mind.

The admin can enforce a expire date, if this is hidden behind another link "additional settings" it is really hard to discover that the share I just created will expire in X days. Same for passwords.

Between a sub-menu and a long list, there might simply be smarter ways of dealing with the items.

  • Can we not do 'rename link' inline so it doesn't need a menu item at all? Simply show a little pen icon on hover to the top-right of the existing link share name...
  • The delete doesn't need an item either, you just delete by de-selecting the link share (perhaps show a trash icon on hover).
  • The add-link doesn't need to be in each menu... that is a totally weird location. Show another empty 'shared link' item on top, unchecked. As soon as you check it, another appears on top and you can configure the one you created.

With four items left, the menu doesn't look so bad:

βž• Add another link

Name (edit 🏷 on mouse-over)- πŸ“‹ Copy link πŸ—‘οΈ(delete on hover)
●●●

  • ✏ Allow editing
  • πŸ™ˆ Hide download
  • πŸ”’ Password protect
  • ⏱ Set expiration date
  • πŸ—’ Note to recipient

When we moved all items in the ... menu I already thought we were hiding a LITTLE too much...

@jospoortvliet there is no checkbox anymore ;) but I fully agree on moving the β€œadd link” out of the menu. And making all the options inline is really bad and does not solve issues.

With inline editing & a new link on top, you keep the menu at least a little shorter:
screenshot_20181106_104806

I don't think it is too bad...

@jospoortvliet this is not gonna work on mobile unfortunately. ;) We had the "Delete share" and "Edit" outside of the menu previously but that just clutters the default view then.

The admin can enforce a expire date, if this is hidden behind another link "additional settings" it is really hard to discover that the share I just created will expire in X days. Same for passwords.

@schiessle good point. I just added

And any settings where the defaults were changed (like a password set) would be shown directly in the list already.

Same for settings which are enforced, they could be shown directly in the list.

We just discussed this with @schiessle @tobiasKaminsky @skjnldsv and me, and we adjusted the top post a bit to include the result.

Also cc @tobiasKaminsky @AndyScherzinger @marinofaggiana for mobile and @camilasan @rullzer for desktop. :)

@schiessle @skjnldsv once this is done on web/server, please inform us here, so that we can include it into the clients.

I do think it is weird to have to go into the menu of an existing link to add another one. I repeat my suggestion to have a 'create new link' as simply a new entry always on top (or bottom)... Then you have a less cluttered menu and easier way to find that - an important setting.

WRT the 'edit' icon for the name of the share link, why is that difficult on mobile?

I do think it is weird to have to go into the menu of an existing link to add another one.

Discussing this placement is a bit of a separate issue I think. We did discuss having it outside the menu, but then the default case of only having one link leads to 2 entries about links in the list, which is confusing.

WRT the 'edit' icon for the name of the share link, why is that difficult on mobile?

It's difficult in any case. Again, we have to carefully decide what to show inside _and_ outside the menu. Outside there's already copying the link (wjich is the most important action) and the menu button itself. That's enough, and even then the next most important thing wouldn't be renaming but e.g. edit/read-only.

@jancborchardt What is the status of this one? Anything small we can still improve here for 16 or should we move it to 17?

This was part of the Nextcloud 17 discussion – let’s do it. :)

Another improvement @jospoortvliet suggested (and that I’m now OK with :D) is to move the :heavy_plus_sign: Add share link outside of that menu so it’s easier to create multiple links.

As discussed recently with @karlitschek and @jospoortvliet there are several use-cases where apps like Collabora or OnlyOffice could provide additional sharing permissions.

OnlyOffice (https://api.onlyoffice.com/editors/config/document/permissions):

  • Can fill forms
  • Can review
  • Can comment
  • Can print (would be covered by hide download)
  • Can download (would be covered by hide download)
  • Can edit (would be covered by regular permissions)

Collabora has quite fine granular options to set (DisableCopy, DisableExport, HidePrintOption, HideSaveOption, HideExportOption, UserCanWrite) but I think we do fine by just using our current hide download/read/write permissions for those. However in the future there also might be options similar to the ones in OnlyOffice.

Edit: It should be possible for apps to limit the availability of permissions like https://api.onlyoffice.com/editors/faq/sharing

Additional options that might be possible for link shares:

  • Watermark file (only makes sense for hide download links, as otherwise you can always just download the regular file), so I think it's fine to not expose this as an additional permission

My proposal would be to allow apps adding custom permission flags that can either be true or false and then would be added to the additional settings

:gear: Additional settings: Expands on click to reveal all these additional things

@jancborchardt @nextcloud/designers What do you think about that from a design perspective?

I've also did some quick mockups to make the menu restructuring a bit clearer:
image

Additional permissions would then pile up under the Can delete, only if the shared mime type would support them of course.

Perfect @juliushaertl, that’s exactly as described :) :+1:

Agreed. The additional setting entry is a good idea to hide the complexity

Awesome!
We'll do the change right after #15719 ! Should be fairly easy!

Looks good, though the light gray background may conflict with the hover/focus behavior of the menu items. Maybe we should find another way to separate the expanded additional settings.

Looks good, though the light gray background may conflict with the hover/focus behavior of the menu items. Maybe we should find another way to separate the expanded additional settings.

I agree, that was mainly to somehow indicate that the section has unfolded. @jenniferpiperek maybe you have a good idea here as well, since you came up with the nice hover/focus state improvements?

I think the improvements are nice. Here are my 5 cents though:

  • πŸ™ˆ Hide download

OK, so if we remove this, were does the "drop-file/folder" function go? I use it a lot myself, and we use it at work to.

Perfect for obvious reasons, such as you want a person to be able to upload directly to you but not see the files already in that folder.

  • πŸ”’ Password protect

Also needed IMHO. Adds extra functionality, and you may not want to force it as admin, but only use it for some extra sensitive links.

  • ⏱ Set expiration date

Same thing as for πŸ”’ Password protect.

@enoch85 all of this will be in "Additional settings".

Then I'm not worried any more. :) Nice change! :+1:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

georgehrke picture georgehrke  Β·  3Comments

MorrisJobke picture MorrisJobke  Β·  3Comments

georgehrke picture georgehrke  Β·  3Comments

mfechner picture mfechner  Β·  3Comments

williambargent picture williambargent  Β·  3Comments