Skip to content
This repository has been archived by the owner on Jun 19, 2023. It is now read-only.

Multiple users and forced log off #640

Closed
charm73 opened this issue May 4, 2016 · 48 comments · Fixed by #669
Closed

Multiple users and forced log off #640

charm73 opened this issue May 4, 2016 · 48 comments · Fixed by #669

Comments

@charm73
Copy link

charm73 commented May 4, 2016

--> I work for a small school district and we are currently testing owncloud as a way for students to access their network drives from any device. We have a large number of shared ipads in the schools and were hoping to use the app there but I am a unable to find a way to have them log out of the app.

Ideally, it would log them out after a certain # of minutes or when the device locks. Even an easy to find log out button would be useful. I can't figure out how to log mine out all all without going into settings.

@StatLaw
Copy link

StatLaw commented May 5, 2016

Agreed. The owncloud app isn't designed for shared devices, but there doesn't appear to be anything particularly special about it. Theoretically you could use any webdav app with an owncloud server, so shop around for one that fits your use case.

@rperezb
Copy link

rperezb commented May 5, 2016

@charm73 @StatLaw it's possible to log out the app, for that you just have to:

  • Access to settings view
  • Swipe over the account you want to log out
  • Then the option delete is shown

We do agree that this is not very intuitive and we are discussing other ux approach for this feature

ideas are welcome!

cc @owncloud/designers @MTRichards

@rperezb rperezb added the Design label May 6, 2016
@jancborchardt
Copy link
Member

@charm73 @StatLaw would a »Remove account« button work for you? (When going to settings and tapping on the relevant account, where the connection info is also shown.)

@rperezb
Copy link

rperezb commented May 6, 2016

@jancborchardt I was looking forward to a more intuitive way to get to a log off.

Changing the wording makes sense too, plus it's part of the parity goal, this is already done on Android

@StatLaw
Copy link

StatLaw commented May 6, 2016

I think it would be better to add a setting to choose whether the app should work like it does now for a single user per device, or if it should presume a multi-user environment. I have devices that are used by one person exclusively, and it would be pretty annoying if one had to constantly re-login. For devices that are used by multiple people, it would make sense to presume that a user logs out a short while after the device is locked. That's the behaviour I'd prefer over the explicit button logout approach for those devices, so that one doesn't have to depend so much on user actions for data integrity.

@charm73
Copy link
Author

charm73 commented May 6, 2016

@rperezb Really? I can't get my Android to log out at all but i'm more worried about iOS devices since that is what we are using in the schools

@StatLaw That would be a great solution. Maybe 2 separate apps if it would make development quicker. And I agree that depending on the end user to remember to log out will inevitably end in destructive behavior. They are teenagers after all.

@StatLaw
Copy link

StatLaw commented May 6, 2016

It shouldn't need two separate apps. In the first case, don't expire the login and automatically log in with previous (stored) user details whenever the app is opened. In the second case, expire the login before the app turns off, shortly after device lock, and forget user passwords.

@jancborchardt
Copy link
Member

@rperezb the easier way is a 3-dot menu on the right of the account list for each account. Containing »Change credentials« and »Remove account«. And tapping on an account will set it to the active one.

We could even then have a »Log out« function here in that menu to satisfy the use-case of @charm73 and @StatLaw – would that work for you? Wjen tapping on a logged out account, one would be prompted for the password again, but the other credentials are preserved.

@charm73
Copy link
Author

charm73 commented May 6, 2016

@jancborchardt Ideally, I think the auto-logout if device is locked for a small amount of time, like 5 minutes, would be the ideal solution so it isn't a user having to remember to go back into an app that they aren't physically working in to log out

@javiergonzper
Copy link
Contributor

@charm73 the problem it is that on iOS you can not launch events when the device it is locked or after X minutes. The only solution that we could implement it is when the app die (after 3 minutes it is stopped by iOS) or it is killed by the user delete the accounts.
We could control it with an option on "Settings" something like "School mode" or "Auto Logout".

@rperezb
Copy link

rperezb commented May 9, 2016

@charm73 on Android is possible to log out, the process is quite similar to the iOS app,

  • Access to settings view
  • Long press on the account you want to log out
  • Then the options remove account / change password are shown

@rperezb
Copy link

rperezb commented May 9, 2016

About the automatic log out after x time, I don't see it, I´d rather the user to log out whenever he wants
@MTRichards your input?

@jancborchardt what about having a section "active account" under the setttings view where we may include the "close session" as well as other features such as the clear local cache #301

@MTRichards
Copy link

The challenge is to create a single app that needs no additional configuration, and still works in all of the scenarios, and is not more confusing. Logout is definitely needed, but the timed logout starts to get difficult to configure, and addresses a smaller use case.

To be honest, this is the first shared mobile device use case I have heard of, which is great to see, but opens a new set of thoughts.

Anyway, on this specifically I would think we need the logout button anyway, and timed logout comes after we sort the UX for logout, clear cache and other things.

@StatLaw
Copy link

StatLaw commented May 9, 2016

The default settings for the app could have it work just like it does today.

If you make a proper logout function, I'm not sure why timed logout would be so much more difficult to implement. Shared devices are likely to become increasingly common (not everyone can afford to have every kind of device for every user) so it's a use case worth covering well.

Just one more thing : unless I'm missing something, logout currently equates to forgetting how to log in to an owncloud server. That is, logout is accomplished by deleting an account. Where the server URL is perhaps non-trivial or long or expected to be used by non-experts, it is a real drag to have to type it in every time a new sign-on is required. Better would be a design that permits users to disconnect but retains the server connection information (perhaps including last username logged in, but not the password). I think a lot of people would find this useful even on individual devices because they'd have a reasonable way to not depend solely on device access control for data integrity.

@javiergonzper
Copy link
Contributor

javiergonzper commented May 10, 2016

@StatLaw did you see this? http://9to5mac.com/2016/01/11/ios-9-3-adds-multi-user-support-for-ipads-in-schools-new-classroom-app-more/

Maybe it is the perfect solution for your problem. If the sandbox and keychain of every app it is different by account.

About what @MTRichards said:
img_0068 2

Yesterday I started the development I was mainly working on the UI. Now the disconnect button is more visible. Maybe we can include it on the next sprint.

@rperezb
Copy link

rperezb commented May 10, 2016

yes, this is the first iteration.
Let's improve the UX and check whether it works, if not.. let's iterate again

PLAN DO CHECK ACT

@StatLaw
Copy link

StatLaw commented May 10, 2016

Brilliant! Thanks a bunch for the info and for working on this.

@MTRichards
Copy link

@jancborchardt as discussed this morning. Would love a mockup.

@jancborchardt
Copy link
Member

This is what I’m thinking:
owncloud-accounts-menu
And as described above, tapping the account itself will change it to the active one and open the files list. Tapping the 3-dot-menu will show a menu with the choices: »Edit credentials«, »Clear cache«, »Disconnect from server« and »Delete connection«. Might be easiest as a modal? Or what do you think?

@rperezb
Copy link

rperezb commented May 11, 2016

@StatLaw @charm73 @enoch85 @mnutt @tushevorg @Keetveter @dfjdejulio and other owncloud usrs, your input is appreciated
The goal is to make more user friendly the disconned feature
thx

@nasli nasli added the Settings label May 11, 2016
@charm73
Copy link
Author

charm73 commented May 11, 2016

@rperezb @MTRichards @jancborchardt
Thanks for all the speedy input on this. I still think the ideal situation for our usage would be an option for auto-logout.

@nasli nasli added this to the 3.5.0-current milestone May 12, 2016
@Steve8291
Copy link

Looks fantastic! Can't wait to have these features.

@enoch85
Copy link
Member

enoch85 commented May 12, 2016

I think @jancborchardt suggestion is a winner.

@nasli
Copy link
Contributor

nasli commented May 12, 2016

Sure @enoch85 ! We are working on it ;)

@MTRichards
Copy link

Good point. Is there a better place to put the clear cache and other buttons?

@jesmrec
Copy link
Contributor

jesmrec commented May 17, 2016

A possible solution would be: Showing the user account as usually instead of Disconnect from this server, and hidding the Add new account button.

@Jon-Schneider
Copy link
Contributor

I'm kind of late here, but rather than use three dots I would use the standard iOS disclosure indicator, which is a feature of UITableViewCell.

@nasli
Copy link
Contributor

nasli commented May 19, 2016

@Jon-Schneider, that could make sense and match same approach that already has "Recommend to a Friend" in the same view

@nasli
Copy link
Contributor

nasli commented May 20, 2016

@Jon-Schneider We use the event of tap in the row to select active account, we would need to use DetailDisclosureButton instead of the disclosureIndicator and now looks like
detaildisclosurebutton. We consider better UX use the three dot button

@CorneeldH
Copy link

Hi all,

Short intro: I'm working at SURFdrive, we have 16.000 users running on our ownCloud brand. We would like to use the multi-account since several of our users have multiple accounts, but have decided against it on iOS due to the current UI in this regard. So the work on this aspect is appreciated!

I really like the mockup of @jancborchardt and I agree with @nasli in preference of the 'three dot button'.

Regarding wording, instead of the technical terms 'Disconnect from Server' and 'Delete Connection', I would prefer better known terms like 'Forget Account' (deleting all information about account from device) and 'Logout' (remember username and server address, just let user re-enter password).

@nasli
Copy link
Contributor

nasli commented May 23, 2016

@CorneelDragon, for the moment will be added new option called "Log out". This feature will remove all the information from the device

@rperezb
Copy link

rperezb commented May 24, 2016

@CorneelDragon thanks for your feedback! Nice to know that the current implementation works for you
About the wording, wouldn't it be better to use the same as on Android: "remove account"
https://github.com/owncloud/android/blob/master/res/values/strings.xml#L111
owncloud/android#1440

@CorneeldH
Copy link

@rperezb Actually, I got the idea from Forget Account from the Android-thread, comment by @davivel:

Back with the wording: "remove account" sounds OK in English, but in Spanish probably the translation will be exactly the same as for "delete account". I guess this may happen in other languages too.

What about "Forget account"?

"Forget" is not unknown for the users; may be found, for instance, in the Wifi options, in "Forget network" to remove saved network configurations.

This happens in Dutch too. In addition, with a data storage-service I think we should be extra careful with words as Delete / Remove.

@davivel
Copy link
Contributor

davivel commented May 24, 2016

Thanks for the credit, @CorneelDragon. As you can see in that thread, the decision taken was different.

@CorneeldH
Copy link

I saw this indeed, @davivel and I respectfully disagree with that decision ;) Based on the my argument here that a data-storage service should refrain from using the words as 'Delete' and 'Remove' if other options are available.

@nasli
Copy link
Contributor

nasli commented May 24, 2016

Agree with @CorneelDragon, I prefer to use "Log out".

@jesmrec
Copy link
Contributor

jesmrec commented May 24, 2016

I think that "Log out" and "Remove/Forget account" are different things.

Review please this comment above:

#640 (comment)

  • Log out: The account remains in device and only password is forgotten.
  • Remove/Forget account: The whole account is forgotten

@rperezb
Copy link

rperezb commented May 24, 2016

@MTRichards your input is appreciated!

@nasli
Copy link
Contributor

nasli commented May 24, 2016

View in progress. The menu appears after tap over three dots button.
logoutaccount

@MTRichards
Copy link

I understand intuitively "logout" and "forget account". To me, the menu would be:
»Edit credentials«, »Clear cache«, »Logout« and »Forget account«

Disconnect from server leaves some ambiguity, I prefer Logout.
Delete connection assumes I think about the account like a connection with the server, and more than that is being removed.

Of course we have to figure out what happens when multi account is off, but I think the modal menu will still be there.

Three dots work for me, since it is something used all over the place in the at this time.

@jesmrec
Copy link
Contributor

jesmrec commented May 24, 2016

I would add an '@' between user and server:

"test@https://demo..." instead of "test https://demo..."

@CorneeldH
Copy link

In the mockup of @nasli, i miss the 'Forget Account' option, which is also in my view something different than 'Logout'. If they could both be in it, it would be ideal to me.

@rperezb
Copy link

rperezb commented May 24, 2016

@CorneelDragon this option is not implemented, ftm, we only have one option which is to "log out" / "remove/forget account" --> pending to be defined its name

@MTRichards
Copy link

Going with "Remove account" for consistency at this time, with Android and the Desktop client - which all use remove at this time.

@CorneeldH
Copy link

While I do hope that if in the future the Android app is also updated (with a 'log-out'-option and an Android-equivalent of the 'three dots') 'remove' will be changed into 'forget' at last, I'm more than happy for now. Thanks for the improvements :)

@charm73
Copy link
Author

charm73 commented May 26, 2016

You guys are great, thanks for working on this so quickly.

So have we completely dropped the idea of the "autologout" or "timeout" feature?

@rperezb
Copy link

rperezb commented May 26, 2016

@CorneelDragon great to know that ftm this works

About the three dots on Android, please open a ticket on the Android repo, it'd great if you reference this issue

I encourage you guy to open a comment on owncloud/core#24684 suggesting the autologout

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

Successfully merging a pull request may close this issue.