Sign in with
Sign up | Sign in
Your question

New post indicator (replaced by new s/w)

Tags:
  • Site Bug Reports
  • Favorites
  • Tom's Hardware
Last response: in Forum Feedback
Share
November 22, 2005 6:50:01 PM

I typically leave one window open for surfing thru the boards here looking for new posts. I use favorites to quickly navigate to each of the boards I frequent. Within the past 1-days I've stopped getting the indication for new posts when I hit the boards - even if I haven't seen the posts.

Update: I haven't been refreshing the pages - just tried it and got the new post indicator. :?

More about : post indicator replaced

November 22, 2005 7:08:32 PM

Hi Rugger,

You have to refresh the page to get new posts indicator :?
Related resources
November 22, 2005 7:17:44 PM

I can picture you today with untucked shirts, sleeves rolled up and a few more wrinkles and grey sprouts. :wink:
November 22, 2005 7:30:52 PM

Hello Steve.

Sometimes it's working and sometimes not...argh!sd
November 22, 2005 7:32:33 PM

Here's how it works, FYI

As long as you have an active session (lasting an hour), it will show you all the new posts. If the session expires, and you go back in, it will show you the new posts since last session. So if you let the session lapse, and 2 minutes after lapse you go in, you should see very few new posts.
November 22, 2005 10:48:26 PM

I hate to start referencing the old board. But. Before, you had to view a particular page in a thread before it showed the posts in it as read.
Maybe I'm not understanding you , are you saying that the posts you see or don't see are somehow depended upon Length of time you were signed in? [/You lost me]
November 22, 2005 10:54:12 PM

When you are signed in, you can view posts and their status chagnes from ornage to white (once you view them). When you logout or session expires, and then you log back in later, you will see orange status only for posts since last time you were there.

So if you logged out at 2 pm, and log back in at 4 pm, orange status applies to those messages posted AFTER 2 pm.
November 23, 2005 9:04:51 AM

Quote:
I hate to start referencing the old board. But. Before, you had to view a particular page in a thread before it showed the posts in it as read.


I only been in the Other once or twice in the last few days and see No new post in hardware or games.
November 23, 2005 12:17:36 PM

Quote:
When you are signed in, you can view posts and their status changes from orange to white (once you view them). When you logout or session expires, and then you log back in later, you will see orange status only for posts since last time you were there.

So if you logged out at 2 pm, and log back in at 4 pm, orange status applies to those messages posted AFTER 2 pm.


OK, my question is........... even if I don't read a post will it will change to white if I stay logged in for >1 hour????? This could explain some of the weird stuff happening with the new/read post markers.

Orange status should only change to white if I have viewed the post or at least no more than the page the post is on! [/still lost]
November 23, 2005 12:33:33 PM

Me too...still having issues with seeing new posts as orange. I've been logging out and I see some as new when I log back in, but it's annoying that if I stay logged in at a compter, that I end up losing the new post indicator. :evil: 
November 23, 2005 12:35:51 PM

I'm confused. All I want is for it to show as a new/unread post until I either read it or choose to mark all as read.
November 23, 2005 12:43:58 PM

As an example: I checked the forum from my home PC this morning, but only the community section. No logging in or out, cookie was good.

I then get to work and go to the hardware section and everything is marked as read despite me not having even been in there and there being a bunch of new posts. I didn't log in here either, cookie was good.

Now you're telling me that I only have an hour to get to all the unread posts?
November 23, 2005 12:57:41 PM

Quote:
When you are signed in, you can view posts and their status chagnes from ornage to white (once you view them). When you logout or session expires, and then you log back in later, you will see orange status only for posts since last time you were there.

So if you logged out at 2 pm, and log back in at 4 pm, orange status applies to those messages posted AFTER 2 pm.


That doesn't seem to be the case with me either. I logged out last night and then in at 9:15-30is am ... no red status lights in Hardware and Community were lit. I did the same with a testing dummie acct that had not been used for at least 2 days, no color anywhere. Only after I had loggged in with this main Moderator acct are new post status lights changing to red after posts are made (after my log in this am). :?
November 23, 2005 1:30:54 PM

Quote:
I'm confused. All I want is for it to show as a new/unread post until I either read it or choose to mark all as read.
Here here! I second that notion! I third it! I infinity it! Why in the world is the forum set up to do anything but the most logical and obvious thing?
November 23, 2005 2:26:24 PM

Except for a occassional new post in the Hardware section, I have no new red indicator status lights ... even when I see that new post have been made. I haven't logged out, so I should be getting updated color, right?
November 23, 2005 3:30:31 PM

Steve,

I don't mean to be a party pooper but the way the system is setup now does not work. It's really frustrating.

1. If I close the window, let alone log off, switch computers, etc, everything resets and shows as being read.
2. My own posts show up as new posts.
4. Did you say the session resets after 1 hour?

The way we need it is for our own posts to not show up as new posts and for any new post to stay as a new post until we either read the post or set the posts as read with the link at the top of the page.

Now on top of that it might be nice to be able to click on the "View posts since last visit" link to find new posts since we closed the window or logged off, but that's a different thing altogether.
November 23, 2005 3:35:36 PM

I can get some new lights when I change from Community to Hardware ... but only 1 or 2 ... and the time "since my last visit" resets when I switch categories ... even if I never logged off (I haven't logged off since near 9:30am). :( 
November 23, 2005 3:37:23 PM

It looks like the last vist time is getting messed up, and that is why you are seeing all these problems with status turning white :cry:  :roll:

I am working on it today, so please stay posted.

steve
November 23, 2005 3:41:53 PM

Quote:
It looks like the last vist time is getting messed up, and that is why you are seeing all these problems with status turning white :cry:  :roll:

I am working on it today, so please stay posted.

steve


After I read your post (without loggin out), when I went back to the Community main page, the times since my last visit changed from 12:28pm to 12:35pm ... :?:
November 23, 2005 3:47:42 PM

That is the problem. It is supposed to show the last time you logged off (or your session expired). Somehow it got messed up (I am looking into it).
November 23, 2005 3:54:30 PM

Quote:
That is the problem. It is supposed to show the last time you logged off (or your session expired). Somehow it got messed up (I am looking into it).


Yep ... after this post, the "time" changed again from 12:35pm to 12:42pm :!:
November 23, 2005 3:54:32 PM

Quote:
It looks like the last vist time is getting messed up, and that is why you are seeing all these problems with status turning white :cry:  :roll:

I am working on it today, so please stay posted.

steve
Steve, while I appreciate all of the hard work you do, and I hope that this bugfix goes well, I still can't help but feel that basing the read/unread flags on the last vist time is very much the wrong way to go. (Especially with a timeout flag involved. It should never time out. That's what logging out is for.)

Oh, I suppose on the one hand it's the only real way to help the folks who use multiple PCs until all of the cookie data can be stored server-side.

But on the other hand, it's clearly a bad hack to everyone else.

And I'd be willing to bet that a survey would show that the number of people accessing from multiple systems is less than the number of people accessing from a single system.

Personally, I'd rather scrap the whole thing and go back to cookies being the whole shebang until this can be done right on the server side. This goofy half-way thing is just no good IMHO, even without the bugs.

I'd put this under the category of "Conflicting User Requirements" and do a customer survey or something.
November 23, 2005 4:00:01 PM

NO! BAD IDEA, BAD IDEA!
November 23, 2005 4:17:18 PM

The way it should be done is this:

Database server side stores all new posts since you last logged out of the forum (Logout being either a manual log out or a session time out (which for this to work session time out needs to be reduced to like 3 minutes of inactivity to keep information more accurate)) - That information is then used to correctly mark threads as read/unread from ANY PC as you log back on.

Local Cookie data should be used for keeping track of new posts in a session - For example, I read a thread (Cookie data stores visit time (to the second)). Then as I return to the thread index of a sub forum the last visit of each thread should be checked to the last post time. If there has been a new post since my last visit (note I haven't logged out / session timed out) orange light should be shown.


The reason for needing session cookie data is that the forum database cannot be expected to track all visit times of all threads for every user.

I hope I made myself clear - It's hard to explain :?
November 23, 2005 4:27:51 PM

slvr,

I thought about this some more... the idea of only relying on cookies for what is read/not read, or even saving that to a db is a good one. There is only one problem with that scneario. One can only save a finite number of cookies (4k is max. cookie size on FireF).. so you cannot cookie everything you have read before.. things drop off. The same with saving things to a db.. you just cannot save everything you have read, too much processing.

So the designers of forums came up with this (I think) brillliant compromise to show posts since last visit. That dramatically reduces the things that have to be tracked and makes it managable. They figured that if you did not view something on your last visit, it was not too important, and on the next visit it will be white. I am heavy user of some forums, and I have never seen this as being a major problem.

There is a perception problem here, since the last visit time has been messed up. But if/when that is fixed, I think most people will find it a reasonable compromise.

You are a s/w enginner, you see a better solution?

steve
November 23, 2005 4:31:41 PM

Ned,

Your points are correct, but there is a 'cheat' that works:

Quote:
Database server side stores all new posts since you last logged out of the forum


don't need to do that at all. You simply mark everything since last visit red, that is how the s/w works (unless last visit time is messed up, and that is what I am fixing right now).
November 23, 2005 4:46:13 PM

Quote:
Database server side stores all new posts since you last logged out of the forum (Logout being either a manual log out or a session time out (which for this to work session time out needs to be reduced to like 3 minutes of inactivity to keep information more accurate)) - That information is then used to correctly mark threads as read/unread from ANY PC as you log back on.
Wow! Bad idea! Bad idea!

What you're saying here is that any time you leave the forum you've just marked all unread posts as read. This is very very bad as these posts haven't been read yet.

Quote:
Local Cookie data should be used for keeping track of new posts in a session - For example, I read a thread (Cookie data stores visit time (to the second)). Then as I return to the thread index of a sub forum the last visit of each thread should be checked to the last post time. If there has been a new post since my last visit (note I haven't logged out / session timed out) orange light should be shown.
This is especially useless if you have a three minute timeout as you suggest above. :o 

Quote:
The reason for needing session cookie data is that the forum database cannot be expected to track all visit times of all threads for every user.
Cannot be expected to? Why not? That's the only way you're ever going to get this right without cookies.

And you shouldn't be storing a time stamp. That'd be a waste of space. It should be as simple as each thread has an associated list of user visits stored in a user visit table. Each user visit is really just a pair of integers. The first integer is the user_id key, the second is that user's last viewed message number for that thread. (I suppose you could also store the thread_id in the table and just let SQL queries of the table find the right items instead of linking from the thread table to the visit table.) The coding from that point should be pretty obvious, I'd think.

Each time a read/unread state is to be determined the thread_id and user_id keys are used to query the last message number for that thread. All posts on or before that number are read. All posts after are unread. And from a higher view, any thread with unread posts is marked as unread.

I don't even use SQL much at all and I could code that one in my sleep. It's very simple, and the database only has to store data when it's being used. (As opposed to each thread always having a message number for each user, or worse, each post having a list of users that have viewed that particular post.)

Quote:
I hope I made myself clear - It's hard to explain :?
And I hope that I've made it clear that any time-based mechanism is counterintuitive and annoying because it'll always be marking non-viewed posts as read when they should be unread just because something timed out and started a new session. If you get rid of the timeout and work purely on actually logging out, that might almost be bearable ... as users like me would then just never log out.
November 23, 2005 4:56:52 PM

Quote:
And you shouldn't be storing a time stamp. That'd be a waste of space. It should be as simple as each thread has an associated list of user visits. Each user visit is really just a pair of integers. The first integer is the user_id key, the second is that user's last viewed message number for that thread. The coding from that point should be pretty obvious, I'd think.


Good idea but does not work. Why, because there are options like 'mark all topics read' which is impossible to write to 10k threads (some forums have that many). Also you sometimes say 'mark all forums read' (let's not even go there). Also we show status lights at forum level (very top level) impossible to query the entire topics tables just to show red/white.

IMHO people who designed forums (phpbb, etc.) probably went thru these scenarios, and looked at the compromises, and the one they designed is the best one.... anything you don't look at in your current session (and you have an hour to fiddle around in the current session), you really don't care much about, and is marked read. Perfect, no, good cheat, yes. :D 
November 23, 2005 5:09:02 PM

Quote:
One can only save a finite number of cookies (4k is max. cookie size on FireF).. so you cannot cookie everything you have read before.. things drop off.
While I agree, having to occasionally wipe my cookies is still a heck of a lot better than a timeout. Obviously, server-side is really the best solution.

Quote:
The same with saving things to a db.. you just cannot save everything you have read, too much processing.
I disagree there. That's what databases are designed for, is to store and query for data. If the database can't do it efficiently then it's the wrong database engine to use for the scenario.

Quote:
So the designers of forums came up with this (I think) brillliant compromise to show posts since last visit.
You think it's brilliant. I hate it. I detest it. If there were no timeout involved, it might not be so bad then. But the timeouts make the whole thing generally useless.

Plus, there's still the one basic precept that a time-based system like that will always be counter-intuitive to: that a message is 'unread' until it is actually 'read'. It's both very bad English and logic to call a thread 'read' when the user hasn't even so much as seen in.

Quote:
That dramatically reduces the things that have to be tracked and makes it managable.
Oh, I don't doubt that. Storing one timestamp for every user is a very small amount of space to take up in the database. However it has it's serious detractions from usability.

Quote:
They figured that if you did not view something on your last visit, it was not too important
Which, again, is a horrible line of reasoning. How do they know it wasn't important to me? Maybe I only had five minutes to check one highly essential thread. Maybe I got hit by a power surge. Maybe this is a huge freaking forum with tons and tons of sections and even if I spent every waking minute here I wouldn't have the time to go through them all. And again, this is especially nasty with timeouts added to the logouts.

Quote:
I am heavy user of some forums, and I have never seen this as being a major problem.
I see it as a major annoyance, especially as ToF didn't have this problem.

Quote:
There is a perception problem here, since the last visit time has been messed up. But if/when that is fixed, I think most people will find it a reasonable compromise.
I think, in general, you've got us by the balls. Either we put up with it or we leave. That however is not 'reasonable compromise'.

Quote:
You are a s/w enginner, you see a better solution?
Yep. Store it on the server side. I just listed how I'd do it in an above post. This is exactly what SQL is written to do. If it were a flat file system or something awful then I'd see the reason to cut corners. But this is a database. Databases are designed to store and retrieve data, and though it might accumulate to an amount worthy of note, it's still hardly an overflow of data. Worst case scenario, use a versioning tool like CVS to tag before and after the implementation and if it turns out to incite a serious lag (which it shouldn't unless you've got some seriously bad hardware) then wind back to the old code. It should be pretty easy to implement unless you've got some really weird code to deal with.
November 23, 2005 5:20:42 PM

slvr, for the reasons I stated in my previous post, it cannot be saved to threads (IMHO 8) ).

read/unread is really not the correct terminology (my bad). It is officially "new posts" --if you mouse hover over orange indicators it says 'new posts'.

There is really no other solution. If the info is saved to user's record in db (vs. threads//threads won't work for prev. reasons), then the LIFETIME activity has to be saved/retrieved. Our servers would not be able to handle that... in fact the user table is only refreshed today very minute and not on every access (to save disk access).

Imagine having 100 users online, and on every access we have to pull in 10-20-30k worth of user info and save it right back... someone selling a cray supercomputer around here :roll:
November 23, 2005 5:21:18 PM

Just to test, I logged out at:
Quote:
You last visited on Wed Nov 23, 2005 12:54 pm (a few minutes behind)


And just logged back in:
Quote:
You last visited on Wed Nov 23, 2005 2:15 pm (accurate as to log in)


Everything was white ... there must have been some new posts over that hour or so. Just a test.
November 23, 2005 5:23:36 PM

It is not fixed. I am in this big debate with slvr and ned :D 

Ok, guys.. I am timing out. I will fix the forumz to the way phpbb works (and all phpbb forums run that way). Then we can have this offline discussion about doing it another way, if we can figure out a better mousetrap :wink:
November 23, 2005 5:30:51 PM

Quote:
Good idea but does not work. Why, because there are options like 'mark all topics read' which is impossible to write to 10k threads (some forums have that many). Also you sometimes say 'mark all forums read' (let's not even go there).
Why is this impossible? Combine it with a time stamp for the last time that the user marked all as read. You'd need time stamps for each section, and a global function that iterates through all sections, but that's hardly an impossible complexity to overcome. It only adds a small extra logic step into the determination of (un)read status and a very small amount of extra storage space per user.

Quote:
Also we show status lights at forum level (very top level) impossible to query the entire topics tables just to show red/white.
This one gets trickier, I admit. But it is hardly insurmountable. I could write a query to do that fairly quickly. If a section_id is added to the view table (so now it's a table of section_id, thread_id, user_id, last_message_num) then a query on section_id and user_id would quickly bring up all that user's views in that section. Search interatively from newest thread in that section for a thread_id match in the view. Filter out any threads in a section with a timestamp past the user's 'clear all' timestamp for that section. Any thread_id not in the list of the user's viewed thread_ids means the thread is unread and you can break out at that point. Any matches means that you have to actually compare the view's last message_id against the thread's last message_id, again, breaking out if there's something new. And as a precaution against a very long search in case everything actually is read, you could probably also limit the search to only the threads in the fiviewable page for that section.

There might be a bug in that logic, but if there is, I can't imagine that bug being worse than the over-simplified timestamp scene we have right now.

Quote:
IMHO people who designed forums (phpbb, etc.) probably went thru these scenarios, and looked at the compromises, and the one they designed is the best one.... anything you don't look at in your current session (and you have an hour to fiddle around in the current session), you really don't care much about, and is marked read. Perfect, no, good cheat, yes. :D 
IMHO one person's compramises don't/shouldn't apply to all scenarios, especially when a real solution doesn't look all that complicated to me. Maybe a day to threes worth of work (and testing) and a little extra processing time to overcome a cheat that's annoying as all heck.
November 23, 2005 6:26:23 PM

Everytime I read a post, my "your last visit" time is reset? :( 
November 23, 2005 6:28:33 PM

Quote:
Everytime I read a post, my "your last visit" time is reset? :( 


Quick question, Jake. As this seems to be an intermittent problem (I cannot reliably replicate) what browser are you using, and also any cookie blockers (e.g. ZoneAlarm Pro)?
November 23, 2005 6:38:37 PM

Quote:
Everytime I read a post, my "your last visit" time is reset? :( 


Quick question, Jake. As this seems to be an intermittent problem (I cannot reliably replicate) what browser are you using, and also any cookie blockers (e.g. ZoneAlarm Pro)?

Firefox and Zone Alarm Pro - but cookie control is set to off, but both internet and trusted zones are set to high ... here's a screen shot:

November 23, 2005 6:41:11 PM

Quote:
As this seems to be an intermittent problem (I cannot reliably replicate)


This may seem intermittent ... but it's been chronic/always since the forum problems yesterday.
November 23, 2005 6:50:55 PM

The image did not make it. Can you post it again.
November 23, 2005 7:00:43 PM

Can you pls test without zonealarm, and tell me how it goes... first thing in debugging is eliminate any variables. I just turned off my ZA Pro as well.

image is good.
November 23, 2005 7:03:37 PM

Never mind.. I see the problem without ZA as well.
November 23, 2005 7:04:50 PM

Quote:
Can you pls test without zonealarm, and tell me how it goes... first thing in debugging is eliminate any variables. I just turned off my ZA Pro as well.

image is good.


Sure ... make a couple of test posts somewhere ...

btw, the " You last visited on ..." issue is still the same, ie. everytime I read or write a post, the time is adjusted to my current time!!!

Now, please do some test posts ... I have ZA off.
November 23, 2005 7:06:14 PM

Quote:
btw, the " You last visited on ..." issue is still the same, ie. everytime I read or write a post, the time is adjusted to my current time!!!


Same re-adjust time for the above post too.
November 23, 2005 8:45:58 PM

Quote:
Then we can have this offline discussion about doing it another way


Oh,... cheers :?
November 23, 2005 9:02:03 PM

Quote:
Wow! Bad idea! Bad idea!

What you're saying here is that any time you leave the forum you've just marked all unread posts as read. This is very very bad as these posts haven't been read yet.


Ok, oversight on my part.

To solve this the database would need to delete the reference to a new post if you view it. That way, if you don't view the post the post reference is still kept and when you later log on to check the forum the correct information can be shown.

Quote:
This is especially useless if you have a three minute timeout as you suggest above. Surprised

The idea of the 3 min time out is to reduce the delay from where local cookie data is keeping track of things to when the server DB is. 15Mins time out currently is a long time to not be keeping track of anything - 3mins isn't.
November 25, 2005 10:58:19 AM

Any chance of getting these "new post indicators" issues resolved?

Edit: An explaination. When I booted my machine after being shut down and logged off for 12 hrs or so, every main Category page was white (nothing). Went to hardware, main pg was white, but a few sub-forums (CPU's, GPU's, etc) showed new post by red color - while nothing was indicated on the main page. Only new post after I logged in this am began showing color - and I tried to view using this acct and a dummy acct.
November 25, 2005 2:59:29 PM

To the best of my judgement, the problem has been fixed. I logged in this morning, and my last visit is shown as 11 PM of yersterday which is right. Everything posted after that date is orange, which is how it should work.

Jake, I cannot replicate what you are saying... works fine for me. When reporting on this bug, always check the last visit time, and report that too. Everything posted since last visit time should be orange.

There may be a better solution in the horizon as suggested by slvr and others. The currenet solutions how phpbb works today, and does not require extensive code change.
November 25, 2005 3:22:50 PM

Funny ... not even this post reply of yours was colored. And I was logged off for an hour.
November 25, 2005 3:24:34 PM

Jake, PLEASE (!!) tell me your last visit time next time you post about this 8O
      • 1 / 2
      • 2
      • Newest
!