Earlier quoted context omitted.
All you really need is an email. Asking for first name and last name too, even if it's optional, will probably discourage some people when they see the form.
If they're discouraged because I'm asking their names, than it's fine. There is nothing I can do about that.
I'm not suggesting that's the right or wrong approach, but you should ask yourself the following questions every time you ask the user to do anything, especially so when asking for their personal information:
- Do I really need this? Does the app break if I don't get it? Does the quality of the app diminish? Is there some measurable way in which this impacts me negatively?
- Can I rely on this? Can it be verified? If a user enters his name as "Pinocchio Dandelion", can I say that it isn't? At this point, if it IS incorrect, refer back to question #1.
By my estimation, generally, if you're asking for names, and it matters, you should probably also be asking for credit card information, or some other way to vet that data. If you aren't expecting to bill them, you probably don't need to ask for it.
Of course, you might have something in the app that does need it that we can't see from the outside, but most commonly in these scenarios is that people think they need the information and really don't, which means that you might have captured an even larger percentage of users in the signup funnel.
In regards to signups, you really really really want to make it as frictionless as possible. Once you have their email address, you almost certainly have a more 'committed' user than someone who hasn't filled out the form at all. If first and last names are nice for you to have (but not strictly necessary), then you can ask for them later, after you have their email address.
Once you have the email address though, that gives you the ability to try and lure them in further. Patio11 (as usual) has more detailed information on this topic, so I'll refer you to his posts as to why having an email address is a really good thing, but suffice it to say, it is.