Having an independent clock means turning off caching, which is a big deal when you're serving millions of page requests.
Not to mention having to deal with timezone issues, daylight saving, latency, etc. This stuff is hard.
Edit: I just checked the headers that are sent along with any request to bbc.co.uk, and the response already includes the current datetime. So basically they don't even need to implement a time server anymore, but just do an Ajax request to document.location, and read the Date header on the result, to get the accurate time. They can just upscale their servers a bit to handle the extra requests (or implement an empty-response URL). Why would this take 100 days again?
Edit2: Sample code here: https://news.ycombinator.com/item?id=5825319
For example, whenever there's a major news story they see traffic spikes that would make you weep.
Internally on the other hand, where the stakes aren't so high, they make heavy use of rails, node, go and all that cool stuff. They know what they're doing.
Check out this list of some of their machines, from part of their monitoring system which is for some reason left open: http://support.bbc.co.uk/support/rrd
Here's is some data about their peering: http://support.bbc.co.uk/support/peering/
Yeah that's right. Peering.
EDIT: you're right that they could probably implement this quite easily, but the point is they can't just throw up an agile solution at the scale of the BBC, even if it seems safe.
You obviously thought through the integration with monitoring, scaling and multiple redundancy systems so in the event of traffic spike or disaster it'll keep working without manual intervention.
That's not even touching the business logic complexity of issues like DST or leap seconds where you have to be able to arbitrarily change the clock forward or backward.
Didn't it say "time in the UK"?
I'd like to see how they're going to implement that without relying on the user's time settings in some way.
Sure, they could get the system timezone offset, but that's not really any more safe than using the system clock.
GeoIP lookup? Surely location services won't fly because of the scary browser message.
Any other ideas?
Well, in that case it's a piece of piss to implement as claudius says below.
Its a pity it "has to be" a symbolic fake looking virtual clock.
A webcam snapshot updated every minute or a live video feed of the actual real world big ben clock would look cooler and be infinitely more impressive and "British" (British being the first word of BBC)
Yes its not HTML5/CSS3/JS/AJAX but the tech infrastructure to cache semi-live real world pix like this would also be technologically cool, so don't worry about it.
Now... go reimplement Big Ben (just kidding)
(Edited to add, also you're also outsourcing your problem with this strategy... Time on Big Ben is wrong, who cares its not your problem, tell the Queen or whoever is in charge of Big Ben, its no longer a web developer problem)
> The corporation also added that it would take around '100 staffing days to make the changes involved in switching to an independent clock'.
strikes me as at least slightly odd. Shouldn’t such a change be implementable by sending a ‘starting time’ with the initial request and then count using JS?
I’m one of these why-does-your-field-even-have-its-own-journal-guys, but this doesn’t look particularly difficult to me.
1) How much drift is ok? Do you need to keep sending updates?
2) These pages should be heavily cached, which means the time you get will be out by potentially several minutes (or you've got to have a very short term cache for just the clock).
3) Load time. If the request takes 1s but you need to be accurate to the second then do you need to try and measure the initial request time and determine the likely delays?
4) Managing all the timezones. If the clock must show the local time then you can't just send server time back, we've got to send different things for different regions. How accurate does that have to be? Will Geo-IP be enough?
Changes of the size 2-4 will require new code, load testing, QA, code reviews. Plus you've got to take people from projects / push back timescales, which need to be weighed and approved (what deadlines are coming up? What change freezes?).
For example, I imagine a lot of people aren't sure if/when the clocks change (daylights saving time). They check on the BBC, see that their computer time is "accurate" and assume the clocks haven't changed.
As another example, I often google "time" to check to see if my clock is accurate. If that just echoed back my local time I would feel like that was a breach of trust
It would be reasonable to expect someone to go to the BBC homepage and see what the current time is after the daylight savings switch, and wrong to find the time was incorrect due to their PC not being configured correctly.
At least I think that's what it means...
Problem exists between computer and chair. Some people need to get a life.