Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

combine stream an friend list #45

Open
jancborchardt opened this issue Aug 29, 2012 · 16 comments
Open

combine stream an friend list #45

jancborchardt opened this issue Aug 29, 2012 · 16 comments

Comments

@jancborchardt
Copy link
Contributor

I’m thinking about combining the stream view with the friends list, putting them on the right. Friends would be sorted by activity and relevance (#6). Clicking on a friend would open their profile with posts (#24).

This would integrate the friends much better, not only having it as a separate page to »manage«, but rather as part of the app to interact with.

Let me know what you think.

@tobbeanderberg
Copy link

I like it! As soon as we have profile information for users, this makes perfect sense.

I guess we would still need the tab for mobile devices where the screen is so narrow?

@johlrogge
Copy link

I like combining them. I would prefer that my friends were ordered by name. I don't really get why ordering by activity would be a good thing? What am I missing?

I would see the point though if scoring my friends of friends according to some relevance like how many of my friends have that friend in their list of friends...

@brolund
Copy link
Contributor

brolund commented Aug 29, 2012

There is this other thing we could put there as well, which is a stream of activity (like the one on the right in facebook that disappears when you narrow the screen). On there we place everything that friends do (like commenting on friends you don't have, or adding friends etc).

Maybe we could put the friends on one side, and the all activity stream on the other. When the screen narrows, first the activity stream disappears (its not that important), and then the friends listing becomes its own tab/menu item.

@jancborchardt
Copy link
Contributor Author

@tobbeanderberg yes, for mobile devices, a tab is still needed for »Stream« and »Friends«.

@johlrogge: Let me rephrase – not order by activity, but by relevance directly to you. This can be calculated for example factoring in number of comments on each other’s posts and number of friends in common (in the future, number of private messages, links clicked from their updates). Everyone has a core of 3–7 friends they interact most with or who are relevant to them the most. After them, the rest of the contacts can still be sorted alphabetically.
Alphabetical order is a cop-out solution to the problem of showing people their friends. My best friends don’t all have names which start with A.

@brolund: We should start bit by bit. The stream of activity is more something Facebook uses to keep you on the platform, rather than something to help you communicate with friends. Instead, every user in the user list could have a small second line with the last action he did »commented on …«, »posted …«.

@johlrogge
Copy link

@jancborchardt Let me put it this way: What is the friends list for? I use it to see who I am connected to and if my friends have a profile I may use it to find information. Alphabetical sort order is the element of least surprise. That is how addressbooks have worked for centuries and it is pretty close to how I see friends. If my friends are not sorted alphabetically I will probably just think it is weird and unintuitive.
To pick up a core 3-7 is fine but I think there should be a very clear divider:

The friends you interact with the most

....
....
....

Everyone else

....
....
....
....
....

For the select X friends another alternative is to manually add them to favorites. The fuzzy logic can be used to suggest favorites, not decide for me who they are.

I sort of like when I'm in control and I understand what happens. Few things are more annoying than fuzzy logic that doesn't do what I want with no option to what I want. (of course there is a thin line between being in control and be forced to muck around with stuff you think should just work)... In general I much prefer the least surprising thing and let the system be "helpful" with things like "you might like", "if you add X as a favorite you will have quick access/be notified of posts" etc but not make decisions for me.

So while it might be a cop-out solution it is what I expect :)

@brolund
Copy link
Contributor

brolund commented Aug 31, 2012

I think we should limit the complexity load on both us and the users. Alphabetical sorting is easy to understand, and easy to implement. After that, we can refine things one at a time.

@jancborchardt
Copy link
Contributor Author

@brolund alphabetical sorting just reduces the complexity load on the programmers, but not on the users. Common IM clients (and Facebook) all sort contacts by relevance, that is frequency of communication, relation, etc.

@brolund
Copy link
Contributor

brolund commented Oct 6, 2012

Well, personally, I strongly dislike the "alternative" sorting of my friends on FB. In my IM clients I group people manually, otherwise it doesn't make sense.

What is the user complexity load of finding people in an alphabetically sorted list?

@brolund
Copy link
Contributor

brolund commented Oct 6, 2012

And I'm not saying there shouldn't be other sorting orders, but I think

  1. The sorting condition should be clear
  2. A-Z(Ö) should be an option
  3. All sortings should be options

@jancborchardt
Copy link
Contributor Author

Even the basic form of sorting in IM clients isn’t alphabetical – that is sorting people who are available first, and then people who are offline. After your ~7 most talked to people, it can be alphabetical, but these few people whom you talk to often you want on speed dial. Scrolling through an alphabetical list, trying to find them every time, when they should be at the top of the list because you communicate so often with them. That’s the complexity.

A-Z made sense on paper, in telephone books, when there was no dynamic means of sorting and personalizing.

@brolund
Copy link
Contributor

brolund commented Oct 6, 2012

We've added a list of friends on the status page. I think that one should be showing the latest activity on top (since it is an activity page).

@johlrogge
Copy link

I think it is important to think about what the use-case is. It is too simplistic to say that A-Z is just easy for the programmer or tar A-Z is always more logical.

If I want to go through my own contacts (like on the friends page) I am likely interested in finding a particular contact for some reason. On this page A-Z works well for me, anything else would not really make sense. Of course I wouldn't mind to be able to find which one of my friends is most active etc but if I can choose only one A-Z it is.

On the other hand, when I look at friends of friends, it is probably because I want to see if we have some friends in common so it would make sense to sort them by something like number of common friends.

On the "wazzup page" it makes sens like Daniel said to sort the friends in order of last activity since it is complementary information to the feed.

There are probably many other logical ways to sort friends like, most active, most active and close, most estimated relevance etc but I agree with Daniel that it is important that it is clear what the order is since some of the latter ones can be hard to figure out.

To have a pick of the "top 7" according to some criteria is also a good idea as long as the criteria is known and as long as it is clear that it is a top pick.

If we have a way to know that a friend is online then it does indeed make sense to bring bring more attention to them (if there is some more direct way of communication available).

But in the future, if we want some more esoteric sort-order I will want to have some motivation, a clear gain and purpose of that sort order. Not just A-Z is not cool, nobody does that anymore. There needs to be some use-case of obvious value that motivates leaving the "path of least surprise" for the end-user. It simply doesn't make sense to discuss sortorder without context (for me anyway).

@jancborchardt
Copy link
Contributor Author

There should only be one friends list. Last activity and friends list should be combined. Keep it simple first.

No manually picking the top 7, just put people which are more relevant up top. The software needs to be intelligent in some way. It’s not esoteric but natural. A-Z is for machines. Sort by activity and A-Z is not mutually exclusive: It can be the most interacted with contacts first, and then after interaction is less, just use A-Z. It’s not that hard, we just have to dabble with the parameters. Just giving users options for it is a just offloading it to them.

Don’t give your users shit work.

@brolund
Copy link
Contributor

brolund commented Oct 6, 2012

So, what should the algorithm look like?

@johlrogge
Copy link

Noone said "manually picking" top 7 :)

Now, what exactly does "most relevant" mean? It's only natural if we get it right. That is why I want to know the context.

What is the purpose of the friends list? What do we expect users to do with it? If we don't know that then it is really hard to pick the most natural ordering to support the expected behavior.

I agree that it is optimal that the application just "does the right thing". The other side of the scale is that we do something that is not helpful to the user without an option to go for something well known. A-Z is probably right there in the middle between those two. It is not optimal and it doesn't completely suck either.

@jancborchardt
Copy link
Contributor Author

What we discussed in #6 (sorting friends). I don’t know what the algorithm will exactly look like yet, but that’s a matter of experimenting with different variables and multipliers until it feels right. We’re certainly not going to get it right on the first try.

Currently, mainly we use the app so it’s a good time to experiment. We currently dogfood, do user tests with ourselves. At this stage it doesn’t make sense to not try things out, neither to think about what »the user« might need. We’ll figure that out while using, and incrementally improve.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants