We can log in with google or facebook. Android users should have google account already linked, ios users could create one. If someone doesn't want to use google, he can log in with facebook. Is the standard username (email) and password pair really needed?
If someone doesn't want to use google, he can log in with facebook
What if they don't want to log in with either? You've already answered your own question. A separate user/pass should be allowed because some users don't trust services with access to other accounts. A service should honor that for whatever reason that user has because that's a good experience. Logging in with a third party account should be seen as added benefit or enhancement.
It should not be mandatory because it blocks users that don't have Facebook, google, twitter, or whatever other third party you think the user should have to have to be able to log in.
Additionally, I see other issues with even using third party login to begin with which some of your users might have.
- What if the third party is deprecated? How will I reconnect with my account in the context of your application
- What if I lose access to the third party account?
- What if I don't trust your application with the permissions signing in with the third party would entail?
- What if I just don't have or don't want these third party accounts?
If you only gave me the option to log in with a Friendster third party log in, I'd be pretty irked and opt not to use your service.
Some users won't want to give a second app access to their Facebook or Google information.
Some apps only require Facebook login (for example) to ensure the identity of the user. This is because it is important for the service the app offers. In those cases having verified users gives a better user experience for the rest of users, so it is beneficial in the long term. The app might also use some of the content from the social networks, or even the service (or some of the services) it offers depends on those.
If it's not your case and there is not really much benefit to your community/app-service from limiting the login to Social networks, give the possibility to sign up with a simple email.
I think it can be depend on how the users register to your site, if your sign up processes using facebook or google (direct login using it) absolutely you don't need the username/password anymore.
But if the registration is a form that must be filled with username, password,confirm password ETC, Then you must give an extra input field for these.
My last project, I did an A/B testing to see the heatmap of the page, which is similiar case with yours, and what I get is still many users like to input this things rather than give a shot with facebook/google account.
Short answer: Username and password are old school, use public keys.
Long answer: The best solution for the user would be an easy and good implementation of public key authentication. No application should depend on third party services, if not necessary. What about users without an X account? What about users in countries blocking X?