Hot topics this quarter/month/week/today

It would be great to have a the ability to have a 'Hot topic / Popular topic/ filter on the front page in addition to the existing Top Topics filter.

What
Right now there are only two ways to discover content on a Discourse Forum:

  • Where there has been activity recently
  • Topics created within X timeframe that are popular

we need a 3rd potential way to organize the topic list

  • Topics that were most popular within X timeframe

Why

Top topics is great, but what about topics created over, say a week ago, but are the ‘hottest’ topics of the week? They don’t show up in the top views and since the ‘latest’ view changes 10x a day they don’t get a prominent spot there.

On our site, we have a lot of once-a-week visitors and we would love to have a default view on the homepage on ‘Hot topics this week’ so people can follow where the most activity has been going on this week (views, likes, comments, clicking on links, etc).

Imagine you visit meta.discourse.com on a weekly or bi-weekly basis - the last few weeks, the “Discourse Feature Voting” topic has been one of the most active topics on this forum. However, it will not show up if i click top posts this week. I might even miss it on the"Latest" view if i am lucky and visit on a time when other topics just received comments.

Perhaps, but without regular activity, any site is long term dead anyway. This is something you want to encourage, rather than zombie-raising older topics.

It seems like an awfully subtle distinction on activity time vs. creation time, particularly when the vast majority of topics are active after creation time and then rapidly trail off over time.

And, a much easier fix is to simply broaden the time window.

We want the default landing page sorting criteria to show “popular topics” the past week rather than topics with recent activity. However, a lot of valuable activity is happening in threads that have been created over a week ago, but continue to be highly active. So we want a view that allows us to surface what topics were most popular the past week - and not necessarily created the past week.

As I said, it’s quite unusual to have continually active topics long after the creation date. And the topics that exhibit this tendency may have other characteristics, such as being chat-like or GTKY (getting to know you).

So it’s a big change, first of all, and second, we’d be optimizing for what I consider to be an unusual, corner case that would not help the majority of sites.

Just unlikely to happen in the near term.

Besides, anything active will get bounced to /latest – why don’t you just make that the default if that’s what you want? And that’s why it is the default, in Discourse…

1개의 좋아요

A lot of the topics i see in /top/quarterly on Discourse are still highly active :wink:

The reason for having a /popular view as a default landing page is because we want to serve our new users the best/most popular content first and let the regulars navigate to /latest themselves.

That’s fine, but this hybrid view does not exist, and would be difficult to build. It is not on our roadmap in any form at the moment.

  • the existing default homepage of /latest works for 95% of sites
  • /top is only a click away
  • new and long-absent users are sent to /top by default so they can see the “best” stuff on arrival as a new (never been here before) or long-absent (I haven’t been here in ages) user.

You can set /top to be the homepage. You simply make it the first item in the menu, and there is a defaul top time period setting that you can set to weekly, monthly, quarterly, and it will be reflected on the homepage instead of the default yearly.

Yes, but top has date cutoffs, based on the date of topic creation, and he wants it to be based on date of activity exclusively.

1개의 좋아요

Yeah :slight_smile: we will go for Top for now, just wanted to call it out
Thanks!

1개의 좋아요

상당한 말씀이지만, 이런 기능에서 이점을 얻는 사이트의 상당한 범주가 있습니다. 바로 협업 사이트입니다. 아마도 귀하께서도 관심을 가질 만한 범주일 것입니다.

시간이 지남에 따라 무언가를 함께 구축하는 작업(소프트웨어, 조직, 운동 등)에 참여하고 있다면, 아이디어가 처음 제시된 시점과 실제로 완료된 시점 사이에 상당한 격차가 있는 경우가 많습니다.

Discourse와 같은 도구를 협업 플랫폼으로 사용하는 목적 중 하나는 토론을 매번 처음부터 다시 시작하는 것이 아니라, 긴 시간의 격차에도 불구하고 토론의 연속성을 촉진하는 것입니다.

협업이라는 시장 세그먼트의 좋은 점은 유료 고객과 자연스럽게 연결되어 있다는 점입니다 :smiley:

이것이 큰 변경 사항이라고 생각하신다는 점이 의아합니다. 상위 토픽 모델의 코드를 보면, compute_top_score_for 메서드만 수정하면 되는 것으로 보입니다. 현재 다음과 같은 줄

if period == :all
   // Get all the topics without filtering by topic.created
.....
// Build the query
DB.exec(sql, from: start_of(period))

은 다음과 같은 형태로 바뀌게 될 것입니다.

created_period = SiteSetting.top_topics_created_period
created_period = period if created_period == ''

if created_period == :all
   // Get all the topics without filtering by topic.created
.....
// Build the query
DB.exec(sql, from: start_of(created_period))

그 외에도 조금 더 해야 할 일이 있을 것은 분명하지만, 알고리즘 계산 전체를 다시 해야 한다고 생각하신 것 같아 말씀드립니다.