Friday, January 26, 2007

Managing Visibility

I'd like to float an idea about how we might change how the user manages visibility. As things stand right now, if the user is broadcasting their location at all, they're able to choose from a list of groups to whom their location will be visible. I'm not sure groups are the right way to manage things - it would seem that the set of people that I want to broadcast location updates to is so small that the task of grouping them is pointless. It's true the cluster is not meant to be some small close knit social network as loopt is - it's an aggregator for all of your social networking. I have over 700 facebook friends and even though I only know 0.5% of them, cluster allows me to interface with all of them. However, as far as location sharing goes, the set of people that I want to give my location to will always be small (I would guess around 15 or so people). So, if N is as little as 15 (or even 20), is grouping more of a pain than it's worth?

Grouping does have its benefits, though. The user could very quickly check "Friends" or "Family" from the list and instantly change their visibility status for several people all at once. What I'm proposing has this same property, but allows the user a little bit more flexibility at the same time. I'm proposing "Visibility Profiles". A profile is just a list of every one of your contacts, with a "Yes" marked for each one that can see your location, and a "No" marked for all those that can't. The user can make a profile, and then save it with a label. For example, I might make a profile called "Out drinking...", which basically shows everyone I know personally where I'm at, but perhaps hides my location from my boss or maybe my parents. Maybe I'm out getting coffee with an ex-girlfriend and I don't want my girlfriend to know: I could make a profile that includes everyone but her.

Here's a rough mock up of what I'm talking about. First, on the main screen it would involve adding a section that shows your visibility:


The user could then action on that section, and would go to another screen that might look something like this:



Here, the user could choose from any their pre-existing profiles. (Note: Change the "Recent Profiles" text to just read "Profiles" - it would list them all). Or, they could choose to make a custom "On-the-go" profile. If they create a custom profile, they could choose to inherit the setup from any of their existing profiles. Or, they could use "Select All" or "Select None" followed by a few individual people selections to quickly build profiles where all but a few people could see their location, or just a few people could see their location.

In the above example, I've created a custom / "On-the-go" profile and I want everyone but Carolyn's Mom and my Dad to know where I'm at. I could then save that profile under any label I wish and use it again later.

The profiles idea is also meant to take into account that, when deciding whether to disclose location to someone, you're influenced by a combination of, one, your relationship to the person, and two, the activity you're currently engaged in. If users had this feature, I would expect to see a lot of profile labels correspond directly to activities or some grouping of activities.

4 comments:

Carolyn said...

Fred! This is awesome!

First of all, for anyone who cares, my mom is one of Fred Potter's contacts. She certainly wouldn't mind knowing that he was out drinking. But since Fred feels the need to hide...

I really like Fred's ideas here. He's taking a very deliberate stab at solving a problematic area of the UI that we haven't focused on yet. This profile stuff is a long way towards how I've seen "groups" (as we've been calling them up until now) working. Fred has formalized it and we'll definitely include this in the next iteration. Nice job!

I think it's a little dangerous to assume that people will only want a small percentage of their contacts to see where they are. Assigning a number like '15' or '20' as an anticipated maximum might result in problematic UI down the road. Yes, we should be careful not to overload the user, but if you can imagine a person wanting to be visible to 20 people, moving to 50 or a couple hundred is not a far reach. However, I don't think any of the points in this post are in danger of making a gross assumption about user behavior.

The thing I really like about profiles is that we have a chance to make some movement toward meeting our "interfacing with your ENTIRE social network" goal here. We could allow users to include other things in their profiles aside from people settings, such as changing their facebook status, chat away message, or even triggering profile changes through the calendar.

Oh, and can we call them something else besides profiles? "Profile" is an overloaded term in social networking.

chris.gov said...

this makes sense to me-- when planning a social event, most people think of an activity/location, AND people.

i'm not clear on a few things; does your visibility profile/filter work with the grouping(Family, Friends, etc) that already exist? Or does it trump it? Or does it replace it entirely?

Bringing up the notion of having 700 network friends-- thats a lot of people to select/unselect for a visibility profile. It would make sense also to incorporate things like Networks in facebook- if you're talking about 700 facebook friends I assume that your facebook friends in the 'Washington' or 'Seattle' network are the ones you would want to select first(and filter out the others for this profile), then go through 'Fred's Dad', 'Carolyn's Mom' etc. This may not be something that needs to be addressed in the prototype, but maybe further along down the road.

Fred said...

It doesn't need to replace groups, but it would work at a higher level - you might still be able to select a group within your visibility profile. Groups would be useful for us in other areas of the app (e.g. scheduling, group messaging) so maybe they shouldn't go away.

I've also wondered how we're going to handle hundreds of contacts. I would kind of like us to have a way a flagging facebook contacts as "real friends", or friends you're willing to share your location with. If so, that pool of people ought to be small enough that scrolling won't be *so* much of an issue.

Carolyn said...

I have always felt that facebook does not have the "networks" problem solved yet. Their networks are static and you have to rely on the self-identification of others to determine how YOUR UI classifies your friends. I haven't put a lot of thought into what the solution is, but I think you should still be allowed to put people where you want them. We just need to find the right way to do it. I do think that these profiles are a step in the right direction - though I agree there is still a scalability problem to address here.