Ability to Follow and Friend other users

pr-welcome

(Jay Pfaffman) #105

If it works acceptably, then it shouldn’t be too hard to make a plugin that automatically created the username_friends group for each user.


(Just another Discourse user) #106

Although many of the hosted sites, including my own, have a limited set of plug-ins which is why I’d prefer something built into Discourse.


#107

I am thinking of hiring a dev for this feature with an expected completion by Jan. Wondering if anyone is interested in collaborating for specs + funding?

I am also thinking of customizing a side bar for easily accessible links like profile, subscribed categories/topics/users, etc. Could bundle the two plugins together if there is enough interest.


[Paid] Watch User plugin
(Angus McLeod) #108

@p16 and @wishspinner are sponsoring the development of a Follow feature, which I’ll be building. We’ve worked on an initial spec which we’d like some feedback on, particularly given this has a #pr-welcome tag. We’ll initially develop this as a standalone plugin.

  • Users can toggle the following of other users from the other user’s user profile or user card

  • Following another user will be similar in structure to following a category, perhaps initially with only one notification level akin to “Watching First post”.

  • When a user a user is following performs a notifiable activity, the followers get:

    • An in-app notification
    • An email, according to the user’s email settings
    • A push notification, according to the user’s push notification settings
  • There is a new tab in a users profile (“Following”?) potentially listing:

    • The users a user is following
    • The users following that user
    • The activity of the users a user is following
  • New profile statistics (listed on the profile and user card), potentially toggled with a site setting:

    • Number of users following a user
    • Number of users that user is following

Note the current absence of a new topic list in the “Discovery” section of Discourse. @p16 and @wishspinner, this is something for you guys to consider, i.e. it might be preferable to have a new list (e.g. see the screenshot here), playing a similar role to a ‘feed’ on a social media platform, rather than a notification for every post, or a feed tucked away in the profile.

Any feedback on the above is welcome!


(Boyned//Kampfkarren) #109

I disagree with showing who/how many people are following someone. It sounds like this would quickly become a contest to get the most followers instead of as an actual productive feature.


(Jeff Atwood) #110

It’s super unlikely we would ever accept this as anything other than a plugin.


(Angus McLeod) #111

Fair. We’re thinking the ability to see how many followers a person has as being toggled by a site setting.


(Boyned//Kampfkarren) #112

Sounds fine. My team is currently wanting to create a follower plugin ourselves which will be open source!


(Angus McLeod) #113

You’re welcome to join in the sponsorship of this plugin with @p16 and @wishspinner to further distribute the costs. Interested?


#114

@angus & @wishspinner: here are a few mockups for the plugin:

Assuming the main page is based on the (social view) Topic List Previews plugin:

The notifications menu would look like this for the user:

the view when switching to notifications from users you follow:

A user page, which defaults to the Activity page (instead of the Summary/Stats view), and displays posts in the social view as well (the social layout is optional of course - I am just imagining this on my end). Ability to follow and message a user on top as well.

What do you think?


(Boyned//Kampfkarren) #115

I’m interested, but I have a lot of projects on my hands right now. If they’re already working on it, I’d rather let them go ahead.


(DiscourseMetrics.com) #116

This looks very promising :slight_smile:

Would be useful if …

  • Users get a notification when they get a new follower. Psychologically it could give a little boost and motivation to continue posting good content.
  • A feed of activity by the users you follow. A new menu item could added to the navigation above the topic list on the front page. So in addition to “Latest/New/Unread” and so on there could be one called “Following”. I don’t think this should show a topic list, but a list of posts, similar to the way posts are shown on the user activity page today (/user/activity)

#117

I think that would be really good to have - maybe even with a nice blue dot icon or something to make it look a bit different to the other notifications. It would also be nice to have a couple of badge scripts to award badges for getting followers or following people.

I think, at least initially, we should keep it simple and restrict it to topics only. Maybe in V2 we could test posts and how they look and feel. I’m neutral about a following tab, as long as topics from people you follow come up in all general tabs (Latest/Top/New/Whatever).


(DiscourseMetrics.com) #118

I see your point, but If I’m following someone it’s mainly because I want to read what they post. If there’s a list of topics I would have to go into the first topic, then back, then into the next topic and so on. Where would the links in the topic lists even point? To the the newest post by the user I’m following? What if there are posts by multiple users I follow in the same topic? It could be a bit confusing. I think that seeing all posts by followed users in an activity feed would make it more likely that users would follow others, because they get more value from doing it. :slight_smile:

Also, if you follow a lot of people your inbox would flood with notifications of their new posts. Perhaps there could be levels of following someone, like there are for topics (Watching/Tracking), so you only get notifications about the ones you want to follow more closely.


#119

That is reasonable - however, the notifications menu would get overwhelming to a user, especially if there are a couple of power users that are being followed. The way a lot of apps do it is they club similar actions (eg. A and B liked X post, or A, B and C replied to X’s post, etc.). We don’t have a lot of real estate and need to figure out an efficient way to place all this information in a small menu. One way could be to test out only actions (liking/following) and posting new topics. We could then figure out a way to insert other actions including posts, replies, etc. in the next version. I think we need to get a bare bones version out fast so we can test it out first…


(Angus McLeod) #120

Ok, I’ve gotten a few more expressions of interest to sponsor this. If anyone else is interested, let me know asap as I’m going to start on this soon. @p16 @wishspinner I’ve sent you a seperate PM regarding sponsorship.

@p16 Thanks for the designs :+1:

Theming and topic list display will be seperate from the follow plugin functionality

@p16 We’ll need to disaggregate a few things you’ve got going on in your design. The ‘social’ style feed with a latest / top toggle will be possible when using the Follow Plugin in conjunction with the Topic List Previews plugin and a theme, rather than being bundled into the Follow plugin. Clearly separating out these different pieces, makes the plugin more usable across different cases and styles. Does that make sense?

Feed of those you’re following (Discovery rather than Profile)

As @DiscourseMetrics and @P16 have hashed out above, it would be best to have a feed of topics from those you’re following as a “Discovery” topic list, rather than in a profile tab (as in the original spec).

As to the question of whether it should be a standard topic list or a stream of posts, it will definitely be easier to have a standard list in v0.1, so I agree with @P16 that this is the way to go initially. Coincidentally, I’m actually working on a “post list” structure that pulls posts from different topics into a single feed for a different job, but integrating this into either topic list previews or the follow plugin will be further down the track.

Notifications

The addition of notifications about activity of those you’re following may indeed overwhelm the single notifications feed. I think this might be something we should test out first using the existing notifications feed. We can split the feed if necessary in v0.2. Is that ok with you @p16?

Specification

So the updated spec is:

  • Profile

    • “Follow” toggle in the user’s profile and user card.

    • New profile tab (“Following”) listing:

      • Users you’re following
      • Users following you
    • New profile statistics (listed on the profile and user card), toggled by a site setting:

      • Number of users you’re following
      • Number of users following you
    • New setting to direct users to Activity rather than Summary when routing to a user profile.

  • Topic List. If you follow other users you see a topic list with the latest activity of users you are following. This topic list will have all the same functionality as other Discourse topic lists.

  • Notifications. Notifications for activity of users you follow are similar in structure to following a category:

    • Initially with only one notification level akin to “Watching First post”.

    • When a user you’re following performs a notifiable activity you get:

      • An in-app notification
      • An email, according to the user’s email settings
      • A push notification, according to the user’s push notification settings

(Angus McLeod) #121

Just a note that the sponsorship for a plugin implementing this feature has firmed up (with 3 sponsors, @wishspinner, @p16 and @Genyus) and I’m going to start building it Monday next week, so if anyone else is interested in adding to this spec / wants to sponsor / has anything else to add, now’s your chance.

edit: the spec is now finalised and sponsorship closed for this version. Work starts on Monday!