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ā¦
A lot of the topics i see in /top/quarterly on Discourse are still highly active
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.
Fair enough, but there is a significant category of sites that you probably care about that do benefit from something like this: collaboration sites.
If youāre engaged in building something together over time (software, an organisation, a movement) then there is often a huge gap between when an idea is first floated and when it is actually completed.
Part of the point of using something like Discourse as a collaboration platform is actually to facilitate the continuity of discussion over long gaps, rather than constantly restarting discussions from scratch.
The nice thing about collaboration as a market sector is that it is naturally linked to paying customers
Iām puzzled you think itās a big change. Look at the code of the top topics model it would seem to involve only touching the compute_top_score_for method. The line that is currently
if period == :all
// Get all the topics without filtering by topic.created
.....
// Build the query
DB.exec(sql, from: start_of(period))
would become something like
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))
Iām sure there would be a bit more too it than that, but it seemed like you thought the whole algorithm computation would need redoing.