Getting even just an email address from someone is very valuable. Why turn anyone away by requiring all this other stuff? Why not have the person simply enter an email address and then send a password via email or something? That's a 5 second sign-up process. Then you can have the user fill out the rest of the info during some sort of "getting started" process. Let the user fill in this info on his own interest in using the application (within the actual application.) Filling out a sign-up form is not interesting. It's more like a leap of faith that the application will be interesting enough for me when I get into it that it will reward me for the effort of going through the sign-up process.
Do you really have such a high volume of sign-ups that you have to do beta invites? I wonder if there is a better way to handle these things. Perhaps you could have a system where the feature gets auto-enabled as needed? My problem with beta invites is that for most services, by the time I receive the invite, I have forgotten what the invite was for and I ignore the email.
ETA: Look how scrumy.com does their process of getting a user from using the app to sign-up. Maybe not perfect, but far better than most I have seen.
We're working on all of these things. I'll check out scrumy.com as well. Thanks for the tip.
I personally dislike it, but probably stump can give a better insight on why he chose this workflow.