Sunday, July 17, 2011

How Google+ should be improved

With the news that Google+ would be updated this weekend, I came up with a wish list of improvements. I also wrote a piece about how Circles needs to be changed to improve the signal:noise in streams. If you're not on Google+, and/or don't care about Google+, this will be completely boring to you.

My Google+ Wish List

Circles (see also below)
- Ability to toggle circles in the stream (view more than one, but not all, at a time)
- Ability to set a default for which circles are visible on login
- Ability to reorder circles in the sidebar (drag and drop)
- An unread count for circles in the sidebar

- Keyboard shortcuts: mute post, +1 post, something to allow j/k through comments, +1 a comment.
- Users to +1 a post or comment instead of commenting "I agree"
- Search my stream or public posts, with filters like "last 24 hours," "posted by," "in this circle," etc.
- When resharing, an option to create a new comment thread or add comments to the original post
- When resharing, If not starting a new comment thread, only show the post once, and bump it up when reshared or commented on by someone in your circles
- Allow non-G+-users to comment on posts (they have access to) using O-auth or FB login or something like that
- Google Reader integration, and better than how it's done with Buzz. Maybe make Reader look like (inside!) G+, where folders are like circles and reader items look like posts. In any case, I should be able to share a Reader item with circles.
- In short term, allow posting from Twitter, Tumblr, etc.
- Allow users to hide posts from Twitter, Tumblr, etc.
- Allow users to hide certain post types (check-ins, videos, photos, etc.) from certain people (no photos from that person!)

- Ability to +1 comments
- Easier way to view the stream from certain circles (setting a default with toggle circles would help here)

Bigger ticket items
- Calendar integration to allow event invitations/sharing (though I would need to be able to block/hide these just like photos from that person)
- Blogger integration into profiles
- A stream algorithm that learns from my comment and +1 activity so I don't have to block/hide certain types of post from certain people
- Open standards so I can follow someone on Facebook or Twitter or LinkedIn or any other social network that might arise without them having to join Google+

Circles work well for privacy, but not for spam.
I want to control who is allowed to see my posts (privacy), but not who must see my posts. Conversely, I don’t want anyone to be able to force posts on me that I don’t want to see. (That’s spam.)

This is especially important as Google+ starts allowing businesses to join. It’s one thing to add a business to my circles because I’m interested in their products, but there’s also the likelihood that a friend will re-share business posts that I don’t want to see. There should be some way of filtering those out, without removing my friend from my circles, and without prohibiting business posts from being re-shared.

I can choose how private a post is (family only; friends only; one friend only; public, etc.). But there are plenty of posts I don’t mind sharing with the public, but that I think not everyone in my circles wants to see. If I knew they were able to sort or filter posts so they only see the ones they want, I’d feel more comfortable posting them publicly.

Some people have suggested public or opt-in circles to solve this (I create a circle and allow anyone, or anyone on a certain list, to opt-in), and some people have started creating these circles manually. (“I’m making a circle for sharing photos of my kid. Let me know if you want to be in this circle.”) But I think it could be smoother, with less effort for everyone involved. To do this, certain improvements need to be made.

1. Separate streams from circles (conceptually).
Streams are for reading, circles are for posting. When you join Google+, the first thing you do is sort your contacts into circles. But on what basis do you sort them? The default circles are Family, Friends, Acquaintances, and Following. This is fine for posting because it assumes some differences in privacy, but it doesn’t necessarily make sense for reading.

I’m a dynamic person and I have several interests. But I don’t need separate streams for my interests. I also don’t need separate streams for my posting circles. Instead, I want my reading separated into important and not important, like my Gmail inbox. I want to see all posts by the important people, and just some posts by the less-important people. My reading streams should reflect that. (I’ll get to how in a minute.)

2. Create a priority/magic algorithm.
Google has priority inbox for Gmail and sort by magic for Reader. I want a priority/magic algorithm for Google+ streams. [Recent evaluations of the Facebook filter have brought up issues, but I think if implemented correctly, it would work. This depends on users being aware of the filter, being able to turn the filter on and off, and knowing what sort of information goes into the filter.]

An easy start would be to use Sparks. Sparks is nice and all, but it can be put to better use than just a news/web search. An algorithm should be able to use the topics I enter into Sparks to figure out which posts are of the most interest to me.

For example, I entered [west coast swing]. That’s pretty specific, but it’s possible that someone will post a video of some west coast swing dancers using their names but not the term [west coast swing]. Using an algorithm like Watson’s (from Jeopardy) that identifies related words, Google should be able to figure out that the post is related to my interest.

A more sophisticated algorithm would use my activity (sharing, mute, +1 on posts, commenting, +1 on comments) to figure out what posts are important to me. Positive interactions (all but mute) should be cross-referenced for what they have in common, and for how they differ from negative interactions (mute): keywords, locations, people, link sources, media type.

The algorithm should learn that I prefer cats to dogs, that I don’t care when people check-in to locations outside my state (unless it’s my boyfriend), that I care about status updates from some people, but not others, that I don’t like animated GIFs from anyone, that I like baby photos but not dog photos from my cousin, and I don’t like any photos from my co-worker, but I do like her links about public health.

The result of this algorithm would be to “score” each post I receive based on how interesting it is to me, and sort unread posts by that score. A +1 would literally increase a post’s score. (I don’t think a -1 button would be useful here because people might use it as a “dislike” on an item they still want to read, for example a status update, “I got fired today.”)

Currently, the default stream shows all posts from everyone in your circles, in chronological order. I think the default stream should still include posts from everyone, but they should be sorted by priority/importance, based on the above algorithm. This was described by Florian Rohrweck.

3. Usability improvements.
We need a few small changes to make this work well.

Unread items count for each circle.
This is pretty self-explanatory. The list of circles in your left sidebar would include an unread count, like the labels in Gmail. In settings somewhere, you should be able to hide the unread count on a per-circle basis. (For the high-volume circles, I wouldn’t expect to be able to keep up, and some people may not like this.)

Separate read from unread items.
When I view a stream, I should be able to scroll or j/k through posts to mark them as read. There should be a keyboard shortcut to keep a post unread. The screen should also show a bar or a line to separate new posts from read posts (ones that showed up the last time I viewed the stream). Buzz mobile did this well.

Keyboard shortcut for mute, +1 post, scroll through comments, and +1 comments.
I need to be able to give Google data on what’s important to me, and it needs to be easy. We can scroll through posts using j/k, but we also need to be able to mute and +1 posts with a single keystroke. That drop-down box is way too much effort. I would also like to use a keystroke to open/expand comments, scroll through them, and +1 them.

Profile tab for +1 activity on posts and comments.
Google keeps everything, right? The +1 tab in our profiles only shows websites/pages we’ve +1’d. I’d also like it to keep track of the posts and comments I +1. These lists should of course follow the same privacy settings as everything else. (I.e., anyone can see that I +1’d a public post, but only those who can see a private original post can see that I +1’d it.) But more than that, it serves as data for your algorithm. There could be an option for each action to “Don’t use this information in my filter,” in case it misinterprets your action.

4. Allow sorting options by stream.
Each stream should have its own settings that optimize reading.

For each reading stream, choose:
  • Sort by chronological vs. sort by magic [the algorithm]
  • Show unread count vs. hide unread count
  • Show all posts vs. show only posts related to my Sparks
  • Show public posts vs. hide public posts

  • Family and Friends: sort by chronological, show unread count, show all posts, show public posts. This way, I don’t miss a thing.
  • Acquaintances: sort by magic, show unread count, show all posts, show public posts. Here, I can see everything, but I see the most important things first.
  • Following: sort by magic, hide unread count, show only posts related to my Sparks, show public posts. This will act as kind of a news stream for my Sparks.

One more:
  • Co-workers: sort by chronological, show unread count, show all posts, hide public posts. I’ll get posts shared specifically with me from my co-workers, but I won’t get their public posts. This way, I’ll only get work-related posts from them here, but I’ll get all their work-related posts.

As you can see, these settings can work with the default circles, but the options allow the organizational geeks among us to fine-tune our circles and settings. By default, a user should be able to use the same circles for reading and posting. But if we wanted to be more strict about reading streams vs. posting circles, there are two more options we’d need...

Toggle “Show circle in sidebar” and drag and drop ordering of circles in sidebar.
These options would let us create and show only our reading circles in the sidebar, without the tricks of using symbols to separate reading circles from posting circles.

To solve the signal:noise problem on Google+, I propose using a transparent, optional (on a per-circle basis), Google-derived algorithm based on stated topics of interest and explicit actions (+1, mute, etc.) to prioritize posts for reading. The goal is to allow users to designate which people are filtered (I only receive some posts) and which are not (I receive everything), and to do it so that it’s simple and understandable to the user.

No comments:

Post a Comment