4,383 karma · joined January 2, 2010
boomerang has been using PageVisibility for as long as the API has existed, and also handles the prerender case for when browsers did support it. The source is open if you'd like to see how we do it: https://github.com/soasta/boomerang
Update: looks like no applicable deprecations
It will back off to an earlier window size. It won't just jump to 1 packet. As of 2010, the default initial window size is 10 packets across OSen, so it's unlikely to ever get to 1 packet unless you're on a really lossy network.
It covers repeating events, historical accuracy, ranges, events that are fixed in localtime but variable in UTC, and more.
TL;DR: Always store UTC datetime + TimeZone, sometimes you need to store a little more information.
We had a long discussion during which I told him that I'd always wanted to program computers, but didn't think it made sense to get a degree doing something I could learn in my bedroom. Physics, on the other hand, was fascinating, and could only be truly learnt and appreciated from people who'd devoted their lives to it.
20 years later, I think those years of training in physics have made me a better developer, and taught me to better see patterns in data. To prefer "good enough for the task at hand and elegant enough to be proud of" over "perfect" (which is what many of my math friends ended up seeking).
While I've never had to make such a choice, I can tell you that my personal attitude towards what I would and wouldn't do changed the day this restriction was removed.
Source: I'm a former member of Yahoo's Paranoid team.
Also, if you're in the US, you can get most of these frozen in any medium sized Indian store.