guardian/frontend — pull request #1619 by indeox (2013-09-17 14:45:10+00:00)
Title: Liveblog updating

This pull request turned out to be much bigger than expected, as a few basic supporting features needed to be implemented first.

The main changes are:

**1. SVG countdown timer for autoupdate**
![countdown](https://f.cloud.github.com/assets/518943/1157373/fbbd85f4-1f9f-11e3-9a4b-21ef301d824c.png)
![football-autoupdate](https://f.cloud.github.com/assets/518943/1157376/180a98d2-1fa0-11e3-906e-908e146572c8.png)
![autoupdate-pause](https://f.cloud.github.com/assets/518943/1157775/a80df904-1fa7-11e3-80e5-19e341463ba8.png)

**2. Unread blocks counter in inactive tabs**
![unread](https://f.cloud.github.com/assets/518943/1157381/2e4ae89a-1fa0-11e3-9813-c35ea6025e23.png)

**3. Inserted items will now be highlighted for a brief period upon insertion, giving better feedback on what's just come in. If the user is on a different tab, this highlight will happen as soon as they re-open the tab.**

**4. Liveblog refreshes every 30s on desktop (60s on mobile)**

## New common APIs
### Pagevisibility API
**detect.initPageVisibility()** will now fire *modules:detect:pagevisibility:visible* or *modules:detect:pagevisibility:hidden* on the mediator if a page changes status

**detect.pageVisible()** returns current page status