Cheer up, I like what you are doing with wedge and your thoughts on giving up are not worth contemplating.
They certainly are. It's because of people like you that I have spent the past 3 days avoiding this forum, with pretty much all desire to contribute removed.
Also if my idiot level questions annoy or take away from the discussion please remove or ignore them. It won't bother me at all.
Asking questions is great, because it pushes me to explain why something is or is not so, which means everyone benefits through a better understanding (and it can often cause me to look at an issue differently, which is also a good thing)
I won't remove posts or prevent people from expressing an opinion. Where it gets frustrating is not because people don't understand, but where people think they do and keep perpetuating incorrect information and won't be corrected.
Anyway.
In other words, effectively a short-term "cookie" held on the server but as a database record? That actually might be far more accurate than the current system in which case I'm in favour.
Um. Same thing as what's there currently.
I see that people are getting a bit confused.
What is a guest?A guest is a user who is not signed in.
What's the difference between a user who is signed in and who isn't?The type of cookie they have going back and forth, and a number set in a couple of places.
Wait, what?All users, guests and members, transmit session information back and forth. The session identifies that the current page is being requested as part of a series of requests that a given 'unique user' is making. This session may be passed via URL, or more commonly passed back and forth by cookie.
Guests get one type of cookie, the PHPSESSID cookie. Members get another type of cookie, WedgeCookieXXX. Both cookies principally carry the session id back to the forum.
By counting the number of active sessions, we can tell how many users are online. Specifically, we check how many sessions are members, and which of those members are unique (e.g. one member having two sessions is counted once), and then we check how many guest sessions there are.
There is where it starts to be a problem: the number of guest sessions is only tenuously connected to the number of actual people browsing the forum at any one time. Search engines inflate that number, as do previews, certain kinds of pre-fetch/web performance optimisation plugins, and other things.
Now, sessions are stored and tracked in two different database tables. The exact structure of these does not matter for this purpose, other than the fact that we have a session identifier being passed back and forth to attempt to uniquely identify how many users there are.
OK, I understand, so what exactly are you proposing?I'm suggesting to stop tracking sessions for guests at all. Everyone else who fixated on certain things missed the point.
Not tracking sessions for guests has a lot of consequences.
There are some quick things that sum it up:
* Performance grows, by a non trivial amount. Bandwidth is also saved both ways on every page for guests.
* We get SEO benefits by never having to deal with PHPSESSID cookies again. This also has consequences for the EU cookie law, of course.
There are some huge things that may or may not be a problem.
* We lose the ability to see how many 'guests' or 'search engines' are online right now. This means we lose the ability to display this not-particular-accurate number to users, or to show it historically. For users who don't have much activity, this is actually probably a boost, not a problem, because it's often better to say nothing than to show a figure of how quiet things are (certainly one forum I have been associated with recently has this exact problem)
It does also discourage people who want to fake the number to show it to people.
* We lose the ability to see what guests (and search engines) are doing right now. I'm not convinced this is a particularly useful piece of information, seeing what different things people are looking at - because it's only what people are looking at right now. It's just a snapshot of the last x minutes, not a rolling figure, nor a historical study. It's like trying to analyse traffic patterns on a motorway from a single photo: it gives you an idea at that precise moment in time, but that may be completely wrong, or it may be completely spot-on, though more likely wrong.
Now, before we got bogged down in splitting hairs over untrackably small quantities of resource, the requests are logged on any competent host (or turned off if it is not desired) - that log is processable via awstats or other analytics packages. Those who feel very strongly about it will use Google Analytics or similar anyway, and those who don't almost certainly won't care either way.
All in all, in my view, tracking what guests are doing right now is an unnecessary duplication of work, at the wrong level.
For those of you who do actively chase that stat, or actively peruse Who's Online, what is it you're looking for? What is it you're hoping to achieve, exactly, by studying Who's Online for guests? (I want to know what you hope to get out of it, and whether you actually get that information. Are there any alternatives to that information?)
Note that this, if implemented, would also play into the 'number of people currently viewing a topic' or 'viewing a board', since this is something that is pretty much all or nothing to implement.