I'm currently working on a social music-based application that, among other things, allows users to recommend music to their friends. In trying to pare down the system to be as simple and straightforward as possible, I got into thinking about whether or not a formal friend request/accept/ignore system is really required.
Normally with this approach, if the user wanted to recommend music to someone, (assuming they are not already friends with that person), they would have to search for the user, then send them a friend request, and then wait for that user to accept the request before being able to recommend anything, a la Facebook.
However, does this add an unnecessary level of complexity? For something like Facebook that deals with a lot of personal data, it makes sense that not anyone can see it. But for something like this- I was considering instead letting a user recommend music to any other user of the system (the way it's setup pretty well prevents mass spam recommendations), and then if the receiving user does not know that person or want to receive anything from them, give them the option to block future incoming messages.
I'm basically concerned that, because the app's usefulness relies entirely on a user having friends on the system, that getting rid of having to send/accept friend requests might encourage faster/more adoption, since it's one less step in the path to being able to interact with other users in the system.
So basically the gist of the question (or maybe poll) is- for an application like this, is the formal friends model really necessary? Obviously there's not a concrete answer, but I'd appreciate any opinions for or against it.