I have been using Google plus for a few weeks now and it seems to have a fairly good design combining the functions of a "reciprocal friends" network like Facebook with a "one-way followers" network like Twitter.
I have seen a number of comments that circles aren't focused enough -- you want to be able to follow people because of your shared interest, not because of all of their interests.
Here's a solution that fits within the design of Google+:
- In addition to following people, users follow sparks (this is already implemented).
- If two different users use the same phrase to create a spark, they are following the same spark.
- When you select a Spark, a "Share What's New..." box appears at the top of the feed. It works just like a normal share (you can select circles to share with, attach links, etc.) but you are advised to only share things relevant to the spark.
- Anything shared in a Spark will also appear as a post in your stream to your followers see it. The post contains a clickable link to the spark.
- When you are viewing a spark, you can choose to show or hide the posts/shares that other people have submitted in this spark. This setting persists until you change it, and you can set it differently for each spark you follow.