22

Normally I would not complain about this, but given that two badges are based on "visiting the site" each "day" it is silly for the "day" to be based on UTC clock for all users.

I can speculate about the reason for this limitation, but I will refrain from that.

I know I am not the only one who has brought this up as an issue, but if badges are based on it, at least do the right thing and use local time.

EDIT Someone suggested that changing a user timezone creates a problem.

All times stored in the database are UTC. If Jeff and co just do two passes for whatever logic is used for checking the badges (one for UTC - like the way it exists now, and one for local time I think that would be far more preferable. )

5
  • what are the reasons for the close votes?
    – tim
    Feb 21, 2010 at 16:21
  • Duplicate - meta.stackexchange.com/questions/1359/…
    – ChrisF Mod
    Feb 22, 2010 at 12:34
  • OK, thanks - no one bothered to provide that prior to you. It would have been nice.
    – tim
    Feb 22, 2010 at 15:06
  • 1
    Actually, that is NOT a duplicate. Mine is specifically about how use of UTC affects two of the badges and is not about displaying the local/UTC time.
    – tim
    Feb 22, 2010 at 15:08
  • Also duplicate of meta.stackexchange.com/questions/13435/… Jul 20, 2010 at 10:17

5 Answers 5

22

I presume then that you suggest a configuration option be added, so that each user could specify his particular timezone.

What would happen to the calculation of badge progress if one changed his timezone? Say I am 99 days into achieving the Fanatic badge, and I changed my timezone from UTC-5 to UTC+5, thereby making the 100th day arrive? What if I changed my timezone in the other direction?

Would everyone's reputation cap therefore also be switching to using local days? Could I artificially raise my rep cap if I switched timezones?

I can speculate about the reason for this limitation, but I will refrain from that.

There's no need to speculate; the reason is quite clear. The contrived edge examples above show that there are other considerations that come into play when one allows customizing timezones per user, therefore:

It's simply much easier if everything is on one standardized calendar.

12
  • 14
    This is software - it should work correctly. The actual visit times are all in UTC, so jeff and co. can choose whatever they want. It is still better than the way it works now. I was trying to be polite about the speculation. I have a feeling it is just laziness... Many sites I know allow users to set their timezone. It is not that difficult... Your examples really aren't compelling.
    – tim
    Feb 21, 2010 at 6:08
  • 3
    @tim Currently it works correctly. And currently not many people have a problem with it. If you would like to create a StackOverflow with timezone-correct calculations, be my guest. Feb 21, 2010 at 6:59
  • 3
    @tim You will also note that many other sites don't do actual time-sensitive calculations via the User's Timezone. Feb 21, 2010 at 7:01
  • 1
    +1 I can see how some time zones could be disadvantaged against others in regards to the daily cap and the badges, but timezone sensitivity would bring only confusion into what is a clear, straightforward system right now.
    – Pekka
    Feb 21, 2010 at 12:29
  • 9
    @Chacha102 a "day" not being equal to my "day" is not straightforward. It does not work correctly. My day should not be defined by UTC. I never suggested that "time sensitive calculations: (what the hell does that mean anyway) be done in local time. It is VERY simple to do the check by offsets for a user's local time. I have worked in financial data industry and on US Navy ship software - both have a bit more important time calculations - and they both need to work with local as well as UTC. It isn't that hard to do.
    – tim
    Feb 21, 2010 at 16:20
  • 12
    Since this issue is still being brought up, I'll mention that the Enthusiast/Fanatic badges could be implemented as "no more than 24 hours between consecutive visits for a period of 30*24 (or 100*24) hours." That's completely timezone-independent; the calculation could be done in UTC, and people would be free to change their display time zone as they like. (I don't mind the current system though)
    – David Z
    Jun 30, 2010 at 4:25
  • Summary of @Chacha102's position: It's wrong, but I don't have a problem with it. Besides, nobody else does it right. Also, it's really, really hard to fix.
    – Chris B.
    Jun 30, 2010 at 15:58
  • @tim: did you implement timezone support in web apps?
    – gbn
    Aug 15, 2010 at 17:38
  • 2
    @gbn - no we did it for trading systems and ships that physically move across time zones. I can't imagine "time" being harder to do for web sites and users who define their own static time zones.
    – tim
    Feb 5, 2012 at 17:19
  • 1
    @DavidZaslavsky: With your suggestion, if I visit briefly at 10:00 one day and 11:00 the next day, that's a 25-hour gap, breaking the streak. In the current system, those count as visits on two consecutive days. Feb 5, 2012 at 19:57
  • 1
    @Keith: good point, you're right. I think the issue is that generalizing the day-based badges to be timezone-independent can be done in multiple ways. What I was proposing there is a way to generalize them so that you would have to satisfy the daily visit requirement in all time zones (including some nonexistent ones). But that would make the badges harder to get. Alternatively, you could make it so that a person would only have to satisfy the daily visit requirement in any time zone, which I think would be something like 2 visits every 48 hours.
    – David Z
    Feb 5, 2012 at 20:16
  • "Contrived Edge" - Let me understand correctly: You think time zones shouldn't be changed because of an entirely negligible possibility for abuse? Did you actually consider that a 24 hour +/- "advantage" in a streak of 99 days only accounts for 1% of the user's actual effort toward the Fanatic badge?
    – user110857
    Dec 5, 2013 at 0:34
10

I ran foul of this at the beginning of the year. I thought I'd go for the "Enthusiast" badge (30 consecutive days). So I used the site (SO) for 30 consecutive days in January and didn't get the badge. I figured maybe I'd inadvertently slipped a day so I went for another month or two but no luck.

I never checked my "consecutive days" stat which I didn't know about. In the end I figured that the day transition was happening in the middle of the day based on some random time-zone on the far side of the world and I would need to make sure I used the site at the same time each day in order to qualify for this badge. Too hard!

I see now the day-transition was happening at lunch-time (UTC midnight). Oh well.

1
  • Yep, I had 70+ consecutive days that I lost because I didn't keep track of which side of UTC midnight I had visited on. I wasn't even sure it was UTC, as I didn't find that documented anywhere. So I'd like a better solution.
    – Old Pro
    May 5, 2013 at 22:43
5

So I guess I see both sides of this issue. UTC calculations are simple and make a bright line rule, but at the same time a day-change in the middle of my-day is also odd. The world is full of oddity, but that doesn't mean we can't explain the oddity.

It took a few resets of my consecutive day count before I realized what was happening. It then took 4 different searches of the meta site to confirm my assumption that days are calculated based on UTC.

So, why not:

  • change the field label from "consecutive days" to "consecutive UTC days?" and/or
  • add a note to the calendar that folds out when i click on consecutive days? and/or
  • modify the description of the enthusiast & fanatic badges to note the UTC nature?

It will clear up confusion that is apparent in the vibrant comments in this post and other closed posts. Also, who care about & aim for these badges can at least learn how the badges are calculated.

3
  • 3
    "change the field label from "consecutive days" to "consecutive UTC days?" and/or" All dates and times are UTC on this site. To specifically point it out here would warrant specifically pointing it out everywhere. Feb 5, 2012 at 17:12
  • 1
    I'm not trying to start a flame war at all. It's just clear that there is confusion over this issue based on the number of questions/comments. To say that all dates are UTC misses some points. For example as I'm writing this my above post is labeled "answered 31 minutes ago". Is that UTC? Well, sort of. Also knowing that oldest / newest posts are ordered in terms of age is all I usually need to know. The only time, at least that I am aware of, that the UTC cutoff actually matters is in consecutive days. Are you arguing for this description to be added to the FAQ?
    – EBarr
    Feb 5, 2012 at 17:22
  • @EBarr: If you mouse over it, the tooltip is UTC :)
    – hammar
    Feb 6, 2012 at 3:38
1

The skewed calendar actually helps me. If I'm going to be busy all day one day, I can hit the site the evening before and the morning afterwards.

1
  • 3
    your "benefit" is dependent on geography.
    – tim
    Feb 5, 2012 at 17:21
1

I'm not convinced there's a real issue. If you are visiting the site regularly, you will be hitting the site in about the same interval of the UTC day. I've done things working across timezone boundaries, and as long as you are not trying to leave more than 24 hours between visits, you'll be OK.

7
  • 2
    Weekends are totally different time cycles for me... I really don't care much about the badges - just that if one is using a carrot to try to force behavior, it should be done in a logical manner. All the excuses I hear are basically that it is "hard to do it for local time".
    – tim
    Feb 21, 2010 at 16:17
  • 3
    What about people who always hit the site around 11am, and that's the cutoff for their timezone? Half of the time they visit before the cutoff, half the time they visit after, and they'll never earn the badge?
    – Chris B.
    Jun 30, 2010 at 16:00
  • 1
    @Chris: Trobriand Islanders? No, that's a bit too far west...people in the mid-Pacific region, which has some pretty exotic time zones...OK, then I suppose for those people there would be a hit-or-miss problem. I don't know whether "you should be working at 11 am" counts as an answer; probably not. My suspicion is that were I in roughly that position, or in a suitably time-adjusted variant of that, then I'd adjust when I visited the sites to make sure I did hit them reliably. It's roughly what I do anyway, though my 'time of visit' is after 5 pm (US/Pacific) which is very convenient. Jul 1, 2010 at 0:56
  • 3
    You really think it's better to tell your users to change their habits, than to fix the code so it works correctly no matter where they live?
    – Chris B.
    Jul 1, 2010 at 1:31
  • 2
    @Chris: the trouble is working out when to change the day for the user. Some people work night shifts; it may be inconvenient for them to change the 'day' at their 02:00, even though for many people it is convenient. Any choice is wrong for someone. Even when it seems obvious that it should be right. Jul 2, 2010 at 3:04
  • 4
    @Jonathan: The point isn't to get it right for 100% of people, but to get it right for as many as possible. Measuring from midnight to midnight in the local user's time is certainly better than measuring from midnight to midnight London time, for most people.
    – Chris B.
    Jul 2, 2010 at 13:05
  • 1
    This comment is ignorant. I can visit the site in the morning today, and in the afternoon tomorrow, and loose "consecutive" status - quite a suprise! Jun 1, 2014 at 8:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .