Are there any guidelines or set of best practices on how to implement the initial data entry after the user has logged in for the first time? For example, I'm thinking of a web application for maintaining food recipes, which requires a lot of user data to actually become useful.
I've seen that the trend among the popular web applications is to display empty pages with a dimmed screenshot on the background picturing how the page will look like once it's filled with data.
Example 1 (FreshBooks):
Another approach I've seen being used is to design a special flow which guides user to insert the data after they've logged in for the first time.
Example 2 (Facebook):
Have you come across any books, articles, posts or any other resources dealing with this topic?
How do you deal with this in your applications?
UPDATE: I added some screenshots to better describe the issue. I also found an article from 37signals that describes the problem I'm trying to solve and actually offers some solutions: The Blank Slate.