Nobody wants to be presented with a signup form when trying out a new web service. Even though in recent years many websites have trimmed down their signup forms to make them easier to complete, I think we can do better.
A typical signup form these days consists of asking for your email address and creating a password. Some will also request you create a username, or ask for your real name.
People will probably fill out your signup form on your website if it doesn't look too daunting, but mobile apps are a whole different story. With mobile apps, people expect to be able to use your app immediately after downloading it. Adding a signup form will do nothing but make people frustrated. It is important to think about whether you actually need their email address or phone number in order for them to at least start using your app.
Incrementally collect information from your users as it becomes necessary to provide a feature.
Example: geoloqi.com
Download the app and press "use anonymously", you're taken to your map
You can leave yourself a Geonote, and we can deliver the message since we have your push token for the device
When you press "Share Location," you have multiple options:
Send via SMS or Email
The app opens the phone's system SMS composer, and your phone sends the SMS. We never need to know your phone number to do so.
Send via Twitter or Facebook
In order to post to your Twitter account, we need to connect your Geoloqi account to Twitter. At this point, we prompt you to log in to your Twitter account which then tells Geoloqi who you are. Similarly to Twitter, posting to Facebook requires you to grant Geoloqi permission to your Facebook account.
At this point, we have now named your previously anonymous user account in Geoloqi, tied to your Twitter or Facebook account. This is a relatively seamless way of "registering," since you knew exactly why you had to authenticate at that point.
Soft Create: GraphThis.me
Similar to the idea of "soft signup" is the idea of "soft create." Send an email to "weight@graphthis.me" where the subject line is your weight, and a graph will immediately be created for you. Replace "weight" with other values to create new graphs.
GraphThis doesn't require signing up beforehand in order to use the service, since you'll be inputting data from your email address anyway. If you want to expand your input options, such as being able to send a tweet or a DM, then you can connect your Twitter account.
GraphThis doesn't require that the tag "weight" be set up before starting to graph the values. It could have required you to set up the graph name before hand, but that would have increased the barrier to create new graphs.
Conclusion
Make it as easy as possible for people to start using your service. Think about whether you actually need more than a unique identifier for a user in order to get them started playing around. Collect new information from your users only as it becomes necessary to provide a new service to them.