Hi all, Chris Moschini here, Web Developer at Brass Nine Design, the company that maintains Diana’s website. I came across some comments on some of the blog postings here wondering about the timing of blog posts, the map, etc, and how close to real-time they are. As Diana gets closer to shore I bet a lot of people are hoping to hear the moment she hits land, so I wanted to talk a little about how the site works.
How we’ve gotten blog posts to the site has varied year to year, but this year Diana has a team on the boats following Diana, blogging directly to the site via a satellite net connection, and a simple little tool we put together that lets you tie position to a blog post. So when you’re reading a blog post, you’re usually reading it as it happens. Occasionally that connection can get flaky though, or posts can take time to write – then you will see a little delay. The team does also sleep from time to time.
I should also mention we mark the time of posting in EDT – Eastern time – because that’s where Diana’s swimming. So, you’ll have to adjust a little if you’re on the west coast. For example if you read that an event occurred at 2am and you’re in California, subtract 3 hours to get 11pm your time.
For Diana’s position, we’re actually using 2 satellite GPS trackers, that ping the site directly every 10 minutes or so. This gives us her location in 5-10 minute intervals, depending on how the timing on the 2 trackers is skewing. The position you see on the homepage is not only a direct feed of those trackers, it also keeps updating while the page is open – so that point on the map will actually move without hitting refresh.
Typically when Diana attempts to cross the Caribbean, millions of visits pour onto the site. That can make real-time updates a real challenge – in fact her old site would just collapse under the load. To cope with all the traffic, the site has a few layers around it to protect it. First, you have the data on the site itself – if we let everyone just get direct access to that, we’d be in the same position as the old site. Around that we have what’s called a cache, which does nothing but serve requests as quickly as possible with a copy of the data it keeps on hand. Some parts of the site are set to 1 minute, most to 10 minutes. Around that we have one more layer called a CDN, a global network of servers we rent time on that keeps another copy – a copy of a copy – also set to between 1 and 10 minutes. So, when you visit the homepage and see Diana’s location, you’re seeing a copy stored on a server near you, which is a copy of the cache back at the site, which is itself a temporary copy of the actual real-time data.
The short version being: There has to be a small delay for visitors around the world to get access to the site. But, the ~10 minute delay of all those layers means everyone gets near real-time data on a courageous swimmer out there in the Atlantic ocean. Pretty cool.