Scenario
Reading
Bob is a software engineer working at Google in Mountain View, CA. His social network includes the people he met in college, who are now spread out throughout the entire US, and also his coworkers and other acquaitances at work. After Google+ was released to the world, almost all of his coworkers began using the site for social networking in response to encouragement from within the company. Bob's other friends outside of Google are for the most part, still on Facebook, not wanting to manage two social networks simultaneously. To complicate matters further, several of Bob's friends try to maintain a presence on multiple social networks, often posting the same material on both Facebook and Google+, and sometimes also including Twitter and their blogs. Consuming all the information they produce the conventional way requires context-shifting between multiple tabs in the browser, and often noticing the same material duplicated over multiple sites. Bob has set up a Hubbub account and connected it with his sources of information beforehand, and uses it several times a day to read the material posted by his friends. Currently he's at home, and he wants to check up on his friends to relax after a hard day's debugging.
The Hubbub reader greatly simplifies Bob's life by detecting identical content posted on multiple sites and showing him only one copy of the data. To read the information, Bob has to:
NOTE: This list isn't complete yet, we should take a futher look at it.
- Reads the top item in the list of data displayed.
- Moves through the list, reading each item in turn.
- If desired, uses the controls to like/+1/retweet/etc the read item. The backend communicates with the sources' APIs to send the requests through.
Filtering
While reading the items on his feed, Bob is bothered yet again by a problem that has ben annoying him for a while now. Now that he has started using Hubbub, he thinks he'll be able to fix it.
Bob really enjoys programming, and one of his hobbies is to work on side projects which he uploads to the Web using source code repository sites like Google Code and Github. He shares this interest with many of his colleagues, and they often like to discuss ideas. A common action among this group is to post your latest project on Google+ for comments and shares, and Bob tries to keep up with these postings so his friends will spread the word about his projects in return. Unfortunately, some of the people in this group also post content that Bob is not interested in. For instance, his coworker Bill also uses his Google+ account to publish a stream-of-consciousness narrative of the misadventures he has with his 3-month-old child. Even worse, these posts are +1'ed en masse by other parents who have Bill in their circles, often bringing them up higher in the Google+ news feed in comparison to the posts about Bill's side projects. Telling Google+ to show less of Bill isn't a good solution since it also suppresses the side project posts. Bob uses Hubbub's filtering feature on his colleagues to prioritize posts about side projects over those about less essential life details. He does this through the following steps:
- Notes a pattern in the posts that need to be filtered (here, the projects posts have links to websites, while the life details posts don't)
- Inputs the filter into the system, and Hubbub immediately applies it to the listed items so Bob can preview the results.
- Realizing that "contains a link", while better than no filter, still lets some noninteresting posts through, Bob updates the filter to allow only posts linking to the source code hosting websites that his friends use.
- Reads the newly filtered content, and concludes that it is a valid filter that expresses what he wants.
- Saves the filter.
- In the future, Bob applies the filter whenever he wants to look through the latest side projects that his friends have made.
Saving Information
The next day at work, Bob browses through his information feeds through Hubbub while his code is compiling, trying to kill time while not looking for anything in particular. He finds an article describing a new, shiny library to solve a problem in his favorite programming language. Bob has been using this programming language for one of his side projects, and this library might come in handy! He's at work, maintaining a codebase in his least favorite programming language which has just produced two screenfuls of compile errors, so he doesn't have time to read the article in detail now. He wants to archive it and refer to it later when he goes home. Bob takes the following actions:
- Clicks on the save button corresponding to the item in the feed.
- Categorizes the article with other materials relevant to side projects
- Later, when at home, views his saved items and retrieves the article.