Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I'm very close to releasing an app I've been working on, and the server I integrate with allows me to register users. So I was wondering if I should require users to register with the app before they use it. The app wouldn't "need" the registration for any of the features (although I have some ideas about future updates where the user's data could be saved to their account in the cloud), but it would still be nice to have a list of registered users.

One reason I think I should require users to register is because when the app launches for the first time, the user must accept my privacy policy and terms of use; so if I made a registration screen, it might be an easier and more straightforward, rather than bombarding the user with the thick legal language.

But I'm afraid requiring the user to register will cost me some users. I once downloaded an app, and it wanted me to register, but I was lazy never did. Is that a legitimate fear with requiring registration?


Edit: To clearify, if I was to require registration, what info should I collect: name, email, password? other? And we wouldn't be spamming them with emails at all. We also have a very strong privacy policy and would store all data securely.

share|improve this question
The edit doesn't help me understand. Why a password? If the user is not getting anything in return, there is nothing to protect. The email would have to confirmed to be useful, so there will be at least one email. – mhoran_psprep Feb 29 '12 at 4:21
I dont know. I don't have to require a password. I just thought its a little too pointless unless its name/password. Andif I did take emails, I wouldn't confirm them, simply because I don't plan on using that list of emails ever. – Andrew Feb 29 '12 at 4:41
Also, in the future, I might need the user to register to user certain features, like data syncing between devices and backup of data to the cloud, but as of now, there would be no specific advantage thing in return for signing up. – Andrew Feb 29 '12 at 4:43
why a user should use your app? how is that better of opening excel and type down all information? – mkk Feb 29 '12 at 8:43
you seem to be approaching this completely backward, what data do you need from your users? This will tell you what you need to ask for. Registration is only necessary if you are providing a service of some kind. – jk. Feb 29 '12 at 10:00
up vote 2 down vote accepted

well for myself i would prefer an app where i don't have to register , simply cause just like you I am lazy to fill in the registration form for a new app that i am not sure if i will really use or not

well i can give you better options

  • did you concider making registration optional until you really require it after your app updates and allow user to save their data in the cloud ?

  • what about letting the user use their cerdintial from other services ( google login, facebook login, open ID)

  • in case of android phones i think you can get to know phones main google account and keep it as user registered to your app

share|improve this answer

Imagine you live in a small town and you have two supermarkets.

  • The first one is across the street. You go there, you buy what you need, you pay for it, and you can leave with the products you've bought.

  • The second one is outside the city. You have to use your car to go to it, then you have to find a free parking spot (the parking being small, you have sometimes to wait for ten minutes or more for other customers to leave), then you have to travel by foot for five minutes, since the parking is not at the same place as the supermarket.

    When entering in the supermarket, you have to register, which consists in providing lots of personal information about you, your bank account number, the age of your daughters, the list of things you're interested in, an address where advertisement will be sent (yes, it's mandatory), etc. Once registered, you wait for two days for your customer card to be ready, and then you can enter inside the supermarket.

    Also, when paying for your products, they make a phone call to your bank to verify that your card is still valid. If they can't contact your bank, you have to wait until tomorrow.

    Finally, each time you leave, you have to fill a questionnaire with your feedback about the supermarket. The questionnaire is ten pages long and all points are mandatory.

Which one of those markets do you choose?

The rule is: don't force the users to do things neither they, nor you need. If you provide a service to an end user, you must ensure the fastest possible access to this service (from UX point of view), with the fewest steps needed in order to use it:

  • If something can be done in one click of a mouse, don't force the person to do two clicks.

  • Don't force a person to fill 100+ fields in a form when you actually need only ten.

  • Don't force a person to spend two hours searching documentation when he needs to use a feature of your product he didn't use before.

  • etc.

Registration is a two way thing: when I register on Amazon, they have my e-mail account, and I can buy products on their website. Without registration, I can still see the products, but can't buy anything. When I register on Stack Exchange, I provide my identity to Stack Exchange, but in response, they provide me the ability to edit other people posts, comment, etc. As a guest, I can still see all the information and even post questions or answers. Through registration, I provide value to them, but I know perfectly well what I receive from them.

Forcing users to register just "because we can" is always bad. The users may want to ask two questions:

  • Is there something so valuable on your website that it worth my time I'll spent registering?

  • How do I know it's really so valuable?

On Amazon or Stack Exchange, those questions are easy to answer. For example, on SE, I know precisely that it's a valuable, high-quality series of websites, plenty of competent and smart people, just by reading the questions and answers I have access to as a guest. On Amazon, I know precisely that once I register, I will be able to buy this specific product I'm looking on right now as a guest.

There is nothing worse as starting a relation with a potential customer by "register first, then we will show you how useful we are for you". Show your product. Let us touch it, test it, see if it really matches our expectations. Let us ensure you provide value competitors cannot provide.

Last but not least: many customers need to know why are you asking them to do something:

  • If I know that a website costs money to a person, and the only way to keep the website is to show ads to the users, I will be more inclined to not block those ads compared to a situation when I paid for a service a large amount of money, and I'm still forced to see the annoying ads.

  • If I know you need registration because your application cannot work without identifying the users or because it allows you to gather statistics for BI, improving the service in the future, I would register. If I have no idea why you're asking me to provide my e-mail address, the first idea that comes to mind is that you're just intending to spam me.

share|improve this answer

It depends on your use cases. I think a great model is the StackExchange sites - you can get value without registering, but you get even more if you do. Also, registering is easier because with OpenID integration, you don't have any more credentials to remember.

share|improve this answer

But I'm afraid requiring the user to register will cost me some users.

Yup. There's no doubt about that.

I once downloaded an app, and it wanted me to register, but I was lazy never did.

That's one reason to not want to register.

Another reason is that people have no way of knowing what you'll do with any personal information they provide you. For instance, everyone knows that each time you give out your email address, you risk increasing the amount of unwanted email in your inbox. And much worse things than that can happen.

Is that a legitimate fear with requiring registration?


Your edits don't change anything:

To clearify, if I was to require registration, what info should I collect: name, email, password? other?

My vote would be for none of the above ... unless it was an entirely optional registration. Even then, you should never collect passwords. NEVER.

And we wouldn't be spamming them with emails at all. We also have a very strong privacy policy and would store all data securely.

That's what you say. But why what reason has the user got to believe you / your company? And what happens when your company is take over or liquidated by some other entity that has a different view on privacy issues?

share|improve this answer
thanks for that answer. that helps. check out my edit and let me know if that changes anything – Andrew Feb 29 '12 at 3:46

From your explanation you seem to have two options:

  1. Have no registration and display your privacy policy every time the app starts
  2. Don't display the privacy policy to registered users, unregistered users have to accept it.

You seem to be afraid of loosing users because a) they don't like to repeatedly accept the same legal terms over and over again; or b) they don't like to register. Why not offer them the choice? Make the registration voluntary, but offer them a better user experience (no 'nag screen') for it.

That way you will not drive away the ones who don't like to register, nor those who don't like the nag screen.

share|improve this answer

All of these answers are great, but they're preoccupied with policies and technicalities.

Yes, absolutely! you should require users to register. Why? First off, you want those email addresses. Without those emails, someone can use your app, forget about it, and you have no way of contacting them again if you added a new feature that would entice them to come back. It would be a serious mistake if you did not get their email addresses.

You say it would detract potential people. Yes, you would. But you'd mostly detract people who are probably not your core users.. just people who casually want to see what it's about, not people who are really motivated and interested in what you have to offer. Trust me, if someone really really wants what you offer, they'll register. Most sites require registration these days: stack exchange, quora, gmail, faceboook, pinterest. It's common practice - don't worry

If you worry about it being a hassle, implement Facebook Connect at the very least.

share|improve this answer

It is better to avoid user registration because Registration costs some users as you think. when it is mandatory rather than directly taking user to user registration page ,take to a intermediate page where you explain why registration is required and regarding what information to collect ,

collect as minimum information as possible.

Better if you provide login through third party like facebook,gmail or openID like stackexchange.but one problem exists with third party logins it(gmail,facebook) may not open in office networks.

We also have a very strong privacy policy and would store all data securely.

you can communicate the same to user to create some confidence in him.

user registration decreases usability of your application.

you might want to perform usability testing on your application.

share|improve this answer

Several points are raised by your question:

  • Why does your application need a privacy policy? Do you collect user's data?

  • What is your benefit of collecting name and email through registration? Isn't it enough to keep a copy of the invoices? or a count of downloads?

  • Many countries requires that you declare to the authorities any file that contains personal data. Do you plan to go through that process?

As others have mentioned, a registration process is a hassle for the users. I think this is a hassle for you as well.

share|improve this answer

If you just want to keep track of whether or not they've accepted the license agreement, you can use a permanent cookie (or unique app id plus server side variable) to track whether or not they have accepted your agreement.

Of course, it won't help with multiple browsers, but depending on your user base and how your app works and is used, it may not matter.

Requiring registration for something that does not otherwise need user personal information is just going to drive down adoption.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.