How many views are counted per IP?

Are known bots (google, etc) handled specially, or are they just normal anonymous views?

3 Likes

Also, given this explanation, the column should really be named “Viewers” (or maybe “Readers”) since that’s what it’s really trying to show. Saying “Views” and only counting viewers as is being done is very confusing.

4 Likes

Not yet, I do want to improve this just don’t even know what a “good” views algorithm is. Is trivial considered “good”.

I think we need to take this discussion a bit full circle, how would your idea views thing work?

The advantage of “trivial” is that it is probably really transparent and obvious. Now that I understand what the current view number means, it makes sense. But it still seems weird to see many topics with more posts than views. Maybe certain types of forums are more susceptible to this than others.

I think the concept of allowing the view counter to increment for a user after 8 hours makes sense. As mentioned, the current method seems to under value logged in views. If I go to a particular conversation every day, I’m showing a fair amount of interest in it compared to going once and then ignoring it. Even if I’m not saying anything, I’m reading and paying attention to it (maybe posting Likes, too).

The trivial method would seem to be open to abuse, probably including DDoS.

2 Likes

8 hour method has a big advantage as well, you cut down on storage drastically, cause all you need to store in topic views is user_id, date, topic_id … you can do away with ip and a slew of anonymous records. It also assists with import.

I do support changing this.

2 Likes

Do you really want to get rid of anonymous views? I figured that maybe you keep whatever you id with…userid/IP plus a date and a view counter. When you get a view after 8 hours (or whatever), the view counter increments and you update the date to now().

I guess maybe that turns a COUNT() into a SUM(), but I haven’t studied the schema or anything…still, might result in lower DB I/O for performance than a count.

2 Likes

No, not at all, just avoid storing this info, we can use redis to ensure we only do 1 insert per IP per 8 hours. Without needing to store the IP.

There is also Redis new data structure: the HyperLogLog - <antirez> if we want to approximate “unique views”

I really like the idea of calling it ‘readers’, because views just doesn’t accurately portray what it represents.

Also, I like the idea because it shows DC is innovating, reimagining forum software.

The question is, is ‘Readers’ more useful than ‘Views’? I think yes, and that it’s worth tracking both, but showing Readers to users. (More on why I think it’s worth tracking straight views as well when I post the mock-ups I promised in another thread.)

2 Likes

Yes, either rename the existing column or change the way views are counted.

Showing the “Viewers” has its merits, but personally I think the information isn’t useful enough on the topic level. It would be more interesting to see who read each post, but that raises lots of privacy concerns…

So, I’d go with a better algorithm for counting views. The 8 hours solution sounds good to me, seems to be better for performance and doesn’t discriminate between logged-in and anonymous users.

That’s a good question. Views from known bots shouldn’t be counted.

Personally, it seems like wasted computational power to try to filter out views from bots with very little benefit.

Additionally, I would say the time limit for counting a new view from either a logged in user or an IP address should reset as soon as there’s a new post in the topic.

Just wondering. Will the algorithm for counting views be changed in the near future?
I think the longer this stays the way it is now, the harder it gets to change it.

Changing the way views are counted seems like a “breaking change” to me, since you can’t compare old view counts to new ones anymore. Or is there enough data available to recalculate the old view counts if necessary?

I read this thread with great interest because I have found that on my forum, “views” is being interpreted by observers as “Page Views” and on that basis, the forum looks considerably quieter than it actually is. That misperception has a detrimental knock-on effect, when trying to bring in new visitors - Not much going on here, look at the (page) views.

thanks to @michaeld we now have “Readers” instead of “Views” sitting a lot more comfortably in the column heading, mouseover text and thread summary.

With no chance of confusion with page views now, I hope new visitors will also pick up on the number of readers using the site and perceive us better. Whether my feeling translates into an improved level of input or flow of traffic? I will report back when there is a better chance to see a pattern.

1 Like

Reader carries a bunch of baggage though, one could expect “readers” to mean people who read the topic, which is not what views means, they could have simply visited and shut down the browser.

In that case “Visitors” might be a better fit.

@mcwumbly We are caught in a cage of words. True synonyms are hard to come by :frowning:

@sam

If you want to reflect discourse, isn’t there a case for not counting that sort of milli-second frivolous visitor?

What about people who read 4 out of 100 posts? this is real murky ground

1 Like

This should still be the plan.

2 Likes

I checked the topic_view_item.rb, and it looks like it’s still one view per IP ever? Personally, I don’t mind, as long as I correctly understand what a “view” means, so that I don’t misread/misanalyze the stats.