Should the user nickname be case-insensitive? That is, are "Username", "username", and "USERNAME" all the same account?
I think probably yes.
I also think that "user-name", "user.name" and "user_name" should be the same account, too.
The "canonical" version should be all-lowercased, no punctuation. So "username".
I do not completely agree. Making a name case-sensitive can lead to problems (but so can case-insensitivity). But non-alphanumeric characters like . - and _ should be meaningful; that would allow a much larger choice for short usernames.
There is also the problem of compatibility with other systems: many social spaces do have case sensitivity and other characters that are meaningful - it would be helpful to allow people to use the same nickname across systems, without causing conflict with others' nicknames.
If pump.io is to be what "people" expect from a social system, then case-sensitivity in nicknames and meaningful 'special' characters in nicknames is quite likely one of those things. Did you research this?
Case-insensitive, but case-preserving. User's selected case and punctuation should be displayed.
+1 to case insensitive, but maybe case preserving.
I've already seen several people thinking their accounts don't work because, after initial registration, some days later they didn't remember that they used capital letter for the first character.
They probably write it like that for presentation purposes (even though there's a "visible name" later), but assume it will work in lowercase.
I've found that I have to warn people about this, which I think shouldn't be needed.
+1 Case-insensitive, but case-preserving.
Case-sensitivity can also lead to types of phishing attacks.
(I also think that it should be punctuation-preserving, but punctuation-insensitive.)