Create a default wallet when user refuses to do so
Needs RevisionPublic

Authored by McPain on Sep 3 2018, 1:09 PM.

Details

Reviewers
ngraham
Group Reviewers
Frameworks
Summary

This patch allows creating a default wallet with empty password when user explicitly refuses to create one (tons of KWallet dialogs looks annoying)

Also, KWallet will notify user once the wallet was created.

Diff Detail

Repository
R311 KWallet
Lint
Lint Skipped
Unit
Unit Tests Skipped
McPain created this revision.Sep 3 2018, 1:09 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptSep 3 2018, 1:09 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
McPain requested review of this revision.Sep 3 2018, 1:09 PM
McPain added a reviewer: Frameworks.
abetts added a subscriber: abetts.Sep 3 2018, 2:32 PM
ngraham requested changes to this revision.Sep 4 2018, 3:23 AM
ngraham added a subscriber: ngraham.

This strikes me as likely to cause intense frustration. Consider the following dramatized dialogue between a user and the computer:

User: "Neat, I just set up this KDE plasma thing. Let's start seeing what cool stuff it can do!"
Computer: "Hey hey hey first what kind of KWallet do you want to create? Technical jargon thingy 1, or technical jargon thingy 2? Huh? Huh? What'll it be O noble user!?"
User: "Okay, I have no idea, let me cancel out of this stupid thing..."
Computer: "Don't worry I created a thing anyway and chose technical jargon thingy 1 for you!"

Speaking personally, this sort of experience would make me want to put my fist through the screen.

It might be worth stepping back and asking more higher-level questions like:
"Why are users cancelling the wizard? Is it too technically intimidating?"
"Should we even have a wizard at all? Maybe should we create a wallet automatically by default and let advanced users change its settings or delete it if they don't like it?"

This revision now requires changes to proceed.Sep 4 2018, 3:23 AM
McPain added a comment.EditedSep 4 2018, 7:33 AM

This strikes me as likely to cause intense frustration. Consider the following dramatized dialogue between a user and the computer:

User: "Neat, I just set up this KDE plasma thing. Let's start seeing what cool stuff it can do!"
Computer: "Hey hey hey first what kind of KWallet do you want to create? Technical jargon thingy 1, or technical jargon thingy 2? Huh? Huh? What'll it be O noble user!?"
User: "Okay, I have no idea, let me cancel out of this stupid thing..."
Computer: "Don't worry I created a thing anyway and chose technical jargon thingy 1 for you!"

Speaking personally, this sort of experience would make me want to put my fist through the screen.

It might be worth stepping back and asking more higher-level questions like:
"Why are users cancelling the wizard? Is it too technically intimidating?"
"Should we even have a wizard at all? Maybe should we create a wallet automatically by default and let advanced users change its settings or delete it if they don't like it?"

What could you say about stuff that doesn't work without wallet but stubborn user always _refuses_ to create one?

Also, I didn't found a way how to change wallet cipher (Blowfish -> GPG or vice versa), it seems in order to do this I have to create a new wallet, import all records from the old one and remove it

abetts added a comment.Sep 4 2018, 2:32 PM

This strikes me as likely to cause intense frustration. Consider the following dramatized dialogue between a user and the computer:

User: "Neat, I just set up this KDE plasma thing. Let's start seeing what cool stuff it can do!"
Computer: "Hey hey hey first what kind of KWallet do you want to create? Technical jargon thingy 1, or technical jargon thingy 2? Huh? Huh? What'll it be O noble user!?"
User: "Okay, I have no idea, let me cancel out of this stupid thing..."
Computer: "Don't worry I created a thing anyway and chose technical jargon thingy 1 for you!"

Speaking personally, this sort of experience would make me want to put my fist through the screen.

It might be worth stepping back and asking more higher-level questions like:
"Why are users cancelling the wizard? Is it too technically intimidating?"
"Should we even have a wizard at all? Maybe should we create a wallet automatically by default and let advanced users change its settings or delete it if they don't like it?"

I can see this argument as very valuable. I have also been a little startled by setting this up when you first start using Plasma or create your first password. I have not seen this in other systems. I know also we care for security and transparency. Maybe we should reconsider the wizard and use a more automated approach. Thoughts?

What could you say about stuff that doesn't work without wallet but stubborn user always _refuses_ to create one?

I would say that the computer should conform to the user's desires, not the other way around. :) Stuff that doesn't work with KWallet should be fixed. But the point would be moot if we create a default wallet in a more user-friendly manner...

I can see this argument as very valuable. I have also been a little startled by setting this up when you first start using Plasma or create your first password. I have not seen this in other systems. I know also we care for security and transparency. Maybe we should reconsider the wizard and use a more automated approach. Thoughts?

I would favor automatically creating a default wallet with the user's current password using a "good enough" cipher that we can hopefully all agree on. This would probably require changes to user-manager, or whatever it is that receives the string used for a new account's password. At the moment when a new user account is created, it would not only create the new user account, but it would also create a wallet using the same password.

McPain added a comment.Sep 5 2018, 7:02 AM

Stuff that doesn't work with KWallet should be fixed. But the point would be moot if we create a default wallet in a more user-friendly manner...

I never told that there are stuff that doesn't work with KWallet
I'm saying about stuff that doesn't work _without_ KWallet :)

I would favor automatically creating a default wallet with the user's current password using a "good enough" cipher that we can hopefully all agree on. This would probably require changes to user-manager, or whatever it is that receives the string used for a new account's password. At the moment when a new user account is created, it would not only create the new user account, but it would also create a wallet using the same password.

What if we create a user in AD? (Active Directory or something similar, not local user)

bruns added a subscriber: bruns.Sep 5 2018, 2:46 PM

I can see this argument as very valuable. I have also been a little startled by setting this up when you first start using Plasma or create your first password. I have not seen this in other systems. I know also we care for security and transparency. Maybe we should reconsider the wizard and use a more automated approach. Thoughts?

I would favor automatically creating a default wallet with the user's current password using a "good enough" cipher that we can hopefully all agree on. This would probably require changes to user-manager, or whatever it is that receives the string used for a new account's password. At the moment when a new user account is created, it would not only create the new user account, but it would also create a wallet using the same password.

Can't we use pam_kwallet to receive the password and automatically create the wallet when the user logs in for the first time?

Of course, some caveats apply, passwordless login, smart cards, trivial password ...

Can't we use pam_kwallet to receive the password and automatically create the wallet when the user logs in for the first time?

Of course, some caveats apply, passwordless login, smart cards, trivial password ...

If that's technically feasible, that would work too. However keep in mind that some distros like openSUSE deliberately do not ship with pam_kwallet (see https://bugzilla.suse.com/show_bug.cgi?id=1034347).

Ultimately I don't have strong opinions on implementation, but I do think we should come up with some way to avoid presenting the user with a surprise wizard full of nerdy options.