Revitalizing the Discourse Hub


(Jeff Atwood) #1

The original basic idea of the Discourse Hub

have a reserved @username across all Discourse instances, so when someone sees @username on any Discourse forum, they’ll know it is (probably) you!

… seems like kind of a bad idea in retrospect. Why?

Well, if you run your own Discourse, and your name is @david, you probably want to be called @david, even if some other David reserved the name in Feburary 2013 here on meta. It is your community, after all, who are we to tell you that you can’t use your own name on your Discourse?

This becomes much, much worse if you’re paying us for hosting. Now you have to pay us a monthly fee for your Discourse and you can’t be @david on your own damn Discourse that you are paying us for?

So. Yeah.

But you know what would be useful? If, when you joined a new Discourse forum you’ve never seen before, all your common settings…

  • profile avatar (if custom)
  • profile background
  • long non-unique name
  • short unique @username
  • About Me
  • user preferences

… were loaded automagically into your new profile right after you registered there?

Now that’s something I think the Discourse Hub can and should do.

How would the settings get to the hub? There’d need to be a “publish” button on every Discourse profile that would talk to the hub, and when pressed, transmit all those settings up to the hub, keyed on your email address.

So the next time you log in to another Discourse forum with that email address, your settings would already be there waiting for you!

I’m sure there are other things to discuss here like:

  • should some settings be private? which settings can go to the hub?
  • does it make sense to key off the email?
  • what if you don’t want these settings to automatically populate? (I guess you’d just never push the Publish User Settings to Discourse Hub button?)


Gravatar on Steroids

Which I think was always one of the original design intents of Discourse Hub, but we never quite got that far, or maybe we got distracted by this relatively useless idea of username uniqueness. Personally I blame the Venture Capitalists.

Federation features
ActivityPub Implementation for Discourse
Discourse central hub questions
Where to get discourse_org_access_key?
Pushing preferences to the Hub
Global notification, like Disqus
Update Avatar on page
Federation support for Discourse
Issues which could be possible
Facebook Groups - Zuck is coming for us
Big Picture Features Poll
Import profile from other communities
What would it take to replace Facebook with Discourse?
Unique user names in Discourse Hub
A more social Discourse layout
Nickname collision
(Benjamin Kampmann) #2

Good that you are revitalizing the discussion and I totally agree with your point about “unique usernames”. I am part of three different forums and have other nicks on all of them for good reasons, if they were forcing me to use a unified nick this would be rather painful. I actually think one of discourse strength is the decentralisation caused by allowing everyone to run their own instance.

I am currently thinking whether I want to share many of my settings throughout these forums either. Yes, the profile picture is the same but background picture and whether especially notification settings are different on purpose. Different discourse, different community, different lightyear :wink: .

However, I do see the benefit of allowing an easy pull-my-settings-setup feature. Which could be a key point for people to join other communities, too. I am just a little concerned about keying it to the email-address. How would you make sure the recipient is trusted to receive the data? With Gravatar this is of little matter as this is only public profile-data. Which is fine for anyone with access to your email to grab. But for settings and potentially private information I am not sure that is a good idea.

Though I was thinking, it would be pretty damn sweet if discourse itself would offer OAuth-Provider functionality to allow others to authenticate against it. Essentially allowing that any discourse instance could act as a authentication provider like Twitter or Facebook. The admin could then white-list instances they consider trustworthy ( being on it per default of course). Through the OAuth-Channel, a user would create the trusted channel between the two entities (both discourse instances in this case) to sync data in a federated fashion without even requiring a central hub instance nor the email-addresses to match up (which would also fail for me).

Though I’d ship the plugin per default with activated allowing for easy login and syncing against at least that instance.

A little off-topic, but becoming an OAuth-Provider would also allow better usage/extension through external bots interaction as “people” on the platform or offer other OAuth-enabled apps/features to authenticate against a discourse instance. That’d be amazing.

(Jeff Atwood) #3

Almost everything on your profile is public anyway. And what part of your “consider topics new when:” setting choice is a privacy concern, exactly?

I have no interest at all in this, having done it at Stack Exchange before. Giant pain in the ass, very little benefit.

(Erlend Sogge Heggen) #4

That’s what I’m thinking too. I don’t see myself wanting the same notification settings all that often. Doesn’t feel like it’s worth the overhead. Additional outgoing requests is also always a concern. I’ve been burned many times before with WordPress’ Jetpack.

I see the most value in accumulated stats, more akin to StackExchange. Here’s the coolest use case scenario for me:

  • Fellow user checks out my profile on
  • Because I’ve opted in to Discourse Hub, this user can see that I’ve got a “Global Account” of some sort.
  • Through this global account, this user can know at a glance what other Discourse communities I’m part of, and where I’ve been the most active, like for instance.

Heck, this could even grow into an open standard for forums. Let me show people all the Vanilla and VBulletin forums they can find me on as well!

(Tim Post) #5

Going by email? I like it. I used Google to sign up for the Ubuntu Discourse, I made a regular account here, and I think I used Twitter somewhere else. This would mean that authentication provider miscreants like me would just have our settings no matter what, provided that whatever service we used was tied to a common email, correct?

If someone is so morbidly curious about how I read things on the Internet that they wanted to find my email, MD5 it, then go look at my settings … I say my God that’s creepy but I don’t really care.

I doubt that my settings from site to site would vary much, but I could imagine wanting to be able to override certain things on certain sites. I’m sure that would be provided for, as well as some means of opting out of the whole thing.

(Larry Salibra) #6

If you need to push a button, how many people will do it?

Seems like the there are two sets of info: general identity info: bio, avatar, background image, long name, username, website, etc. and discourse specific settings.

We’ve already got gravatar for avatar. So, if we’re going to ask users to push a button to publish, what about pulling identity info from someplace else that’s not discourse specific? Like the Namecoin blockchain (ie. OneName)

For those that didn’t see it, there was a thread about OneName:

The thread sort of petered out once @ryanshea hit the new user post limit. But most of the discussion about how to proof who owns which OneName isn’t important if it’s just being a used as a source of identity details.

And a basic ruby OneName ruby library:

It would be a great for discourse to help build an identity ecosystem that’s decentralized, distributed and not tied to one company. And it would be something that would be useful beyond just discourse instances.

It would be nice to be able to update my identity info in one place instead of having to do it across dozens of sites and apps!

Centralized or decentralized, this sounds like the right direction for this feature!

No, it’s already public on their user profiles.

(Jeff Atwood) #7

We technically have that already, but it’s of questionable value.

We could use a much stronger hash than MD5 for sure. And a salt!

How many people will be a member of more than one Discourse site? Maybe in the far future 10 years from now, a lot! But I doubt that will be common for many years to come… so it’s fine for the “Publish” button to be a power user thing for a while.

OneName is interesting, but I need to understand it first. It doesn’t pass the “explain it to me like I’m four years old” test at the moment. (Do not describe it in this topic.)

(Lee_Ars) #8

When I hit that for my account, I see the gravatar that I’m not using, rather than my custom avatar. (Not a huge big deal, but also not correct.)

(Erlend Sogge Heggen) #9

Oh, neat. First off though, I know you’ve been involved with a bunch of other forums ( for instance), so how come those don’t show up? Oh, they’re not part of the Hub beta I guess.

Second, and more importantly, it’ll never be of much value as long as it’s in a hidden profile like that, and not shown on your forum profile here on Meta.

(Craig Oda) #10

First, I appreciate this opportunity to give feedback from a user’s perspective direct to the head of the company.

In my personal use, I would like a central console to see all the posts and unread messages from all the Discourse communities that I am a part of. This could be something like Google Mail where I switch between personal and company emails, but can stay in the same browser tab. Right now, I need to type in the URL for different communities, thus I don’t see the updates from some communities as often as I would like. This would be an even bigger need if I were to get clients that used Discourse and had to monitor multiple forums. Currently, I am in three Discourse forums that I want to monitor. One of the forums is not hosted by Discourse.

The second thing I want from a central Discourse Hub is to customize my account. There are two aspects of this:

  1. sharing settings similar to how I can share my settings across multiple chrome browsers with my Google account
  2. sharing add-ins across my Discourse communities.

The concept of a user being able to add a plug-in or extension just for themselves is new. In a browser, this exists. One of the features that I would want a user plugin for is the editor syntax highlighting. In particular, I would want to add a plugin that automatically added in line numbers.

As a user, I would also like to add in a plugin dictionary for Japanese to English language conversion.

I am also interested in tracking user threads instead of just by topic. The reason is that I think some people have more thought-provoking ideas than others. For these people, I would be interested in what they had to say across many different forums. I would like to bookmark people across multiple forums.


@codinghorror, the links on that page are wrong: they repeat the scheme, e.g., http://https//

I’ve read a couple of things on the Hub, but is it active? How to use it?

(Jeff Atwood) #12

Definitely not active. We may eventually come back to this but I doubt we will in 2015.


Just for the record, when you do, you probably jump on the federation starship. :smile:

(AstonJ) #14

Personally I think you should just ditch the idea altogether.

Whether it is your intention or not, through this, you obtain email addresses of every member on every discourse forum out there (unless the admin opts out). Although we have no reason to distrust you, should Discourse change hands in future the new owners could use the info to start competing sites.

Opting out doesn’t fully protect those installs either - it poses a threat to all forums in all niches; even if you have the largest forum in your niche, users of a few hundred other forums in your niche joined together could well prove difficult to compete against.

Sorry to be so negative about this issue - but it is the only thing I have actually disliked about Discourse.

(Jeff Atwood) #15

No – you would only obtain hashes of the emails, not the actual email.

Remember, this is more like Gravatar on steroids. We could choose a stronger hash like scrypt.

(AstonJ) #16

That’s good Jeff.

The remaining worry would be the potential for change in future. If you think about it from a buyer’s perspective, they would almost certainly want to exploit it - simply because there is so much value in large numbers of users.

That’s why I suggest ditching it or adding a clause that if the company changes hands it can not be used to harvest users or for any other purpose than to hold common details (so no promos, mailers, etc).

(Anton) #17

I would always prefer to use different avatar, background and “about me” section for every profile on every discourse I actively take part in. Besides that, for other discourse instances where I just “need to log in to post a reply”, I’d like to keep as little info as possible about me. Would be unhappy if all my info was migrated silently from another discourse instance.

(AstonJ) #18

As there are no options to turn it off in the admin control panel I don’t think the hub is part of Discourse right now.

(Anton) #19

When I act as a discourse user and not as an admin, it makes no sense for me if admin can turn or or off this feature.

So if there is such a feature, I’d like to be given a chance to opt-out and not import any of my data from the hub.

(caue rego) #20

What’s preventing the Hub from happening? Or, rather, what could turn it into a priority?

I doubt any of the customers would need to request this as a feature.

On the other hand, maybe implementing something like this is for the gravatar team to be worrying about… :derp: