Inaccurate realtime post/comment count January 15, 2010 9:37 AM   Subscribe

How is my "last visit" determined?

I stay logged into Metafilter all day and frequently reload the various colored sections to check for updates. At the top of each front page is a count telling me "X links and X comments have been posted since your last visit." But the number is always wrong. Likewise, the "(X new)" after the comments link for every post is also out of date. If this old MeTa is (still?) accurate and applies to both counts, that explains why the numbers are wrong... but can something be changed to make them, you know, useful?

Categorized as a bug because that seems to be what this is, even if I am also asking for a pony to fix the bug.
posted by The Winsome Parker Lewis to Bugs at 9:37 AM (29 comments total)

We have no accurate way of determining your "last visit" so the system makes a best guess. If you leave the site, shut down your browser, and reopen it again after an hour or so the numbers aren't too bad. If you have the site open all day in the same browser, the numbers are worse.

We've looked into a number of ways to do actual read counts for every comment you've seen or not seen. Every potential system either stores too much data for the number of users we have or has its own inaccuracies with "read" vs. "not read" vs. "viewed".

The best solution right now is a client side Greasemonkey script. Storing the exact comments you've read is a perfect job for your PC, because you're just one person. Storing which comments you've read vs. haven't doesn't scale as well to 10,000+ and we don't have giant server farms like Google.

We leave our current system in place even though it's inaccurate, because it at least gives some indication in some circumstances of recent activity.
posted by pb (staff) at 9:43 AM on January 15, 2010 [2 favorites]


Here is a more recent thread about new comment counts with some more info.
posted by pb (staff) at 9:45 AM on January 15, 2010


And here's Plutor's script: MetaFilter Scroll Tag.
posted by pb (staff) at 9:47 AM on January 15, 2010


How is my "last visit" determined?

Ask your doctor.
posted by blue_beetle at 10:08 AM on January 15, 2010 [1 favorite]


pb: Thanks for the info. I'm not too keen on installing Greasemonkey on my work computer, and I removed it from my home machine after a trial run because when combined with my multitudinous other plugins it slowed Firefox to a halt. But those are my own problems. :-) A way to track this with cookies (like user prefs are done) someday would be a nice compromise.

blue_beetle: Groan.
posted by The Winsome Parker Lewis at 10:17 AM on January 15, 2010


A way to track this with cookies...

I hear ya, but with the number of cookies we already set the data going back and forth for each pageview is near its comfortable limit. Even just setting a cookie that stores each thread ID and last available comment ID on every pageview would get out of hand pretty quickly.
posted by pb (staff) at 10:24 AM on January 15, 2010


Pony: Can we have giant server farms?
posted by Brandon Blatcher at 10:32 AM on January 15, 2010 [4 favorites]


Maybe there are ways we can tweak our current system so it's more accurate. I don't think I've ever laid out exactly how we determine last visit time, so here is more detail for the record:

First, you need to know a little about the idea of sessions. User sessions are managed by ColdFusion, and they're a way for MeFi to uniquely identify you for a block of time on the site as you move from page to page. Here's more info about sessions from the CF 8 documentation:
This logical view of a session begins with the first connection to an application by a client and ends after that client's last connection. However, because of the stateless nature of the web, it is not always possible to define a precise point at which a session ends. A session should end when the user finishes using an application. In most cases, however, a web application has no way of knowing if a user has finished or is just lingering over a page.

Therefore, sessions always terminate after a time-out period of inactivity. If the user does not access a page of the application within this time-out period, ColdFusion interprets this as the end of the session and clears any variables associated with that session.
We use ColdFusion sessions at MetaFilter solely for tracking last visit, and we have the time-out period set to 15 minutes. So after 15 minutes of inactivity, the server will kill your session and everything associated with it.

With that in mind, here's how we determine last visit. When you visit the front page of any of the subsites, we run this:

1. Is a last visit time set for this session?
2. If no, get the last visit time stored in the database for this user.
3. Set the last visit time for this session.
4. Set the database last visit time to the current time for this user.

After this, all new comment counts are based on the current session's last visit time for that subsite. Each subsite has its own last visit time in the session and in the database.
posted by pb (staff) at 10:38 AM on January 15, 2010 [2 favorites]


This is not so much a suggestion as a possibility to discuss: what about a button to manually reset the "last visit" date stamp for your account, rather than the server having to guess?
posted by FishBike at 10:38 AM on January 15, 2010


A magic dragon types it in.
posted by anniecat at 10:50 AM on January 15, 2010 [2 favorites]


Manually setting your list visit time might improve accuracy a little, but I'm not sure how it would work into the flow of using the site. Resetting would be useful when you have the conscious thought, "I am done reading MetaFilter now and want to be notified of new comments added from this point on." I'm not sure how much people would remember to reset, and I'm not sure it's functionally much different from simply not using the site for 15 minutes—beyond a more accurate time for your next session.
posted by pb (staff) at 10:54 AM on January 15, 2010


Yeah, I was thinking more of an "ok, I'm all caught up on the new stuff that interests me, let's reset the counters of new stuff to 0 now, and not reset 'em again until the next time I feel like I've gone through it all" sort of process1.

Which I guess is not really a "since your last visit" kind of reference point any more, but rather a "since you last reset the counter of new stuff" reference point. Kind of like marking all the unread stuff in my RSS feed as read after making a conscious decision not to read it. Then I only see the new stuff from that point forward, until I either read it, or mark everything read again.

What I find with the "since your last visit" functionality is that it's not obvious how to reset it when I want to, and it resets itself even when I don't want it to. But that may be just me, which is why I didn't want to even call it a suggestion. I'm curious to know if other people would find slightly different functionality there more useful.

1: I think a 13-sided star symbol is used on flowcharts to represent one of these

posted by FishBike at 11:06 AM on January 15, 2010 [1 favorite]


There is a thermometer in the seat of your chair. When the seat temperature falls below a certain level, a signal notifies MetaFilter that you have "left." Unfortunately, it's a bit sensitive, and flatulence can cause burps in the system.
posted by Eideteker at 11:19 AM on January 15, 2010 [1 favorite]


Kind of like marking all the unread stuff in my RSS feed as read...

I think that's an important point to consider. Do we want MeFi to be more like an RSS reader? I personally find the total tracking method of Google Reader kind of stressful, like it's my job to unbold things and if I fall behind I feel bad about it. That could be my personal quirk, but I kind of like the lazy system here despite its inaccuracies because I get a general sense of where activity is happening rather than total thread awareness. And I have tools like Recent Activity for those threads where I do want to be on top of everything.
posted by pb (staff) at 11:30 AM on January 15, 2010 [6 favorites]


MetaFilter's face-recognition technology is not exactly state-of-the-art, Parker, so if another user is wearing a similar godawful shirt, for example, it kicks into "Whatever" mode, and they might pass for you, or you for them.

I kid. It's a very nice shirt. In fact, I'm wearing a shirt like that in my 1960 yearbook photo.
posted by weapons-grade pandemonium at 11:46 AM on January 15, 2010


Would resetting the last visit time when you hit the Recent Activity page make sense? It seems like loading that page would be an indicator of "catching up" for those who use it, and it's not like the front pages in that you stay on it.
posted by smackfu at 11:56 AM on January 15, 2010


I personally find the total tracking method of Google Reader kind of stressful, like it's my job to unbold things and if I fall behind I feel bad about it.

This is what the "Mark all as read" button is for.
posted by Electric Dragon at 12:07 PM on January 15, 2010


Pony: Can we have giant server farms?

Double Pony: Redundant giant server farms?
posted by blue_beetle at 12:30 PM on January 15, 2010


weapons-grade pandemonium - that isn't really Parker's shirt. It's his.
posted by pinky at 12:32 PM on January 15, 2010 [1 favorite]


I think that's an important point to consider. Do we want MeFi to be more like an RSS reader?

Well, *I* do, but I'm weird, so it might be best to assume most people do not.

I personally find the total tracking method of Google Reader kind of stressful, like it's my job to unbold things and if I fall behind I feel bad about it.

I hear you. I guess one of the nice side effects about the relative impracticality of tracking item-by-item read/unread status is that what I'm thinking of has only an "unbold everything" button and no other method of unbolding, so to speak. So I'm just guessing it would have less of that I AM TRACKING EVERYTHING YOU READ YOU ARE FALLING BEHIND LOOK AT ALL THESE BOLD ITEMS YOU ARE A BAD PERSON sort of feeling to it.
posted by FishBike at 12:45 PM on January 15, 2010


Double Pony: Redundant giant server farms?

The old farmer climbs slowly up into the saddle of his pony for a better view, his face is weather beaten and brown from a lifetime of hard work in the fields. He takes a deep breath and pulls out his pipe.

He turn to you and explains, "Now, you see that oak out yonder? That's where my land ends and the Howie's begins. They're good people, we've been working the same land since all this was new" he gestures absently at the landscape. He seems tired, and takes a deep pull off the stem of his pipe. "I've watched that family take a little plot of land and turn it into something to be really proud of. His servers are some of the biggest and most delicious ever to grace the county fair." There is no trace of envy, he's proud of his neighbor's successes.

You notice that the land the other direction has a similarity to it and remark such.

"Oh that? Yeah, that was a little weird when they broke that ground. I understand wanting to expand your property, but making both land shares look just exactly the same? I guess I'm getting on in years, but it feels a little odd this 'Redundant farming'. Still, smart folk, so I'm not going to judge."

And with that he gently heels his horse, nods a farewell to you, and starts off to finish his days labors.
posted by quin at 1:37 PM on January 15, 2010 [1 favorite]


When the mods determine that this should be your last visit, they send a handful of ninjas to make sure you never visit again.
posted by qvantamon at 1:49 PM on January 15, 2010


.
posted by Mister_A at 2:15 PM on January 15, 2010


The Winsome Parker Lewis: “How is my "last visit" determined?”

Well, my experience is that first your lawyer has to argue convincingly before the sentencing judge that Metafilter is an important and essential part of your inner life and therefore of your dignity as a human being. Then, if you talk to the court clerk, you can set down a time before the execution when one of the prison computers will be available.
posted by koeselitz at 2:32 PM on January 15, 2010


Invisible pixies that follow you and wisper things to you only your dreams can hear.


BURN IT ALL
posted by The Whelk at 2:48 PM on January 15, 2010 [1 favorite]


Pony: Can we have a session exchange where we have MeFites come over to our houses for musical jam sessions?

It worked out great when the discussion about the site's use of cookies lead to a cookie exchange.
posted by mccarty.tim at 9:56 AM on January 16, 2010 [1 favorite]


"How is my "last visit" determined? "

You'll need to ask the grim reaper for the answer to this.
posted by HuronBob at 11:58 AM on January 16, 2010 [1 favorite]


on another note..

WTF!! your parents named you Parker???

have you forgiven them?
posted by HuronBob at 12:00 PM on January 16, 2010


Yes, yes I have. It sure beats Xander or Claudius.
posted by The Winsome Parker Lewis at 2:01 PM on January 16, 2010


« Older 6:54 Double Vision in the Green   |   MetaFilter book club: Cloud Atlas Newer »

You are not logged in, either login or create an account to post comments