Make post links more visible with new right gutter timeline

I just deployed v0.0 of this feature.

First 5 links are expanded by default, the rest require an extra click.

https://github.com/discourse/discourse/commit/6d10812b269e4ca51dcebba27fe9ced6a7cbf7d1

I will continue refining this tomorrow. In particular I want to strip out all outgoing links that appear exactly the same way in the post. That way completely redundant links will be removed.

So, for example if a link to “my awesome topic” exists and “my awesome topic” is the name of the topic, it will be stripped.

Me linking to:

Would not result in a link at the bottom (like it does now)

However, if I linked to this which is partially unresolved, it would show up.

Ordering wise I am considering giving priority to incoming over outgoing, which is the reverse of what we are doing now.

3 Likes

Here’s what we should do

  • if all links are outgoing, suppress altogether

  • if a mixture of incoming and outgoing links, less than 5 total, show all

  • if a mixture of incoming and outgoing links, more than 5 total, show up to 5 incoming, the rest are behind “show more”

3 Likes

Can’t we just exclude all outgoing links, period? I think a secret if-this-then-that rule here will just cause confusion.

Looking at the latest iteration (which I understand is a WIP):

I’d like this to be the final result:

I really don’t think we need a complicated set of rules here. There is a HUGE difference between incoming and outgoing. Incoming links will never be discovered unless we call them out. Outgoing links are an extra callout for content that’s already present.

No callout for outgoing links means:

  • We incentivise writers to properly format their posts and make links visible.
  • We avoid any potential “is this an incoming or outgoing link?” confusion
  • We don’t repeat ourselves
  • Incoming links will get more attention, because those links will show up much more rarely.

And for the record, this is also how GitHub does it. Outgoing links get no special treatment.

If anything, I’d just add an extra highlight of some kind to internal links, like so:

4 Likes

Let’s try this :alembic:

https://github.com/discourse/discourse/commit/ec7443b021935e964c355197bbbf441f81e516d0

4 Likes

I find that without the border at the top the post actions get lost, and that is a huge usability loss

1 Like

This is a serious stretch. Considering the original right justified one did not “get lost” how does left justifying it suddenly make it become “OMG it’s completely lost!”

Anyway, the best outcome is to not do this at all, the more I read, the more I think we should never show outgoing links below – that way it will be much less frequent and therefore more interesting when we do show incoming links.

2 Likes

I totally support only showing incoming links, there are just so many advantages

  • no information duplication
  • no confusing feature to explain to users (right arrow vs left arrow)
  • no complicated logic about when to show and when to hide outgoing links (that also needs to be explained)
7 Likes

I totally agree.

In addition, because hiding a single link behind a “Show more” doesn’t really save space, I’d prefer showing all incoming links if there are at most 5, or 4 and “Show more” link (which will therefore reveal at least two more).

Can we sort the incoming links by the popularity of the linking topic / post?

3 Likes

Yeah 4+2 or 5 seems like a fine refinement.

Stuff is ordered on click count, which I think is correct, the more people click on something the more relevant it is (though long term in the super gold plated version we can look at ageing clicks)

3 Likes

I am thinking we should even suppress the arrow since it is incoming only now. Arrow feels a bit meaningless in that context…

3 Likes

@codinghorror - all in favor of removing the arrow for me, as I know what they are. However, I worry what new users will see/understand. “Hmm, so there are 4 links below this topic, I wonder why they are here?”. There needs to be some context, as we have clearly determined in this discussion that “Incoming links will never be discovered unless we call them out.”, so there is no context for new users as to the fact that the 4 links below the post are incoming links.

7 Likes

I like the idea of there being context, but it might become another artifact that new users would ignore after learning it. Pre timeline, all incoming links appeared in the gutter sans context (even had both incoming and outgoing links indistinguishable) and they’re pretty self-explanatory.

I think if anything, I’d prefer a “what these links are” to a section in the new users guide over a context on every post that I’d ignore after a while. Less might be more in this case.

It seems like the arrows are pointing the wrong way to me now that the link text is left-aligned… It looks like its pointing “out” from the post rather than “in” to it.

Seems like it should be:

-> here's an incoming link
2 Likes

I don’t think we will ever reach consensus on the arrow direction, simplest thing to do is to strip it

4 Likes

I don’t think there’s any non-ambiguous icon. “These topics link here” is probably the best you can do.

You are absolutely correct, thanks for pointing that out.

1 Like

puts on his bikeshedding hat :man_with_gua_pi_mao:

Well, in left-to-right cultures, like this one, left is “before” and right is “after” so a forward, outward link should go to the right, in my opinion. Outward links go “forward”, incoming links go “back”.

I agree with @sam though since we are basically only showing incoming links now, it would be easier to strip it altogether, but I would like to live with it a while and see how it feels.

4 Likes

Why not?
The ⇦ made perfectly sense when shown in the right gutter since it pointed to the post.
But when I see it below the post it looks like an outgoing link.
⇨ on the other hand means incoming link for me.

Showing the links without an icon below the post will be confusing. There’s no context unless we have the room for text like “These topics link here”.

I don’t disagree, but to uninitiated eyes the logic works both ways:

⇨ = Link from outside is pointing in here

⇦ = This link is from the outside

I’m also very much in favour of some kind of icon there, as I think it’s important to break away from the post body. What about fa-external-link-square?

7 Likes

to me that says - link in another site, not the current discourse.

1 Like