A faster BBC News front page
wildlyinaccurate.com
wildlyinaccurate.com
There is a small improvement to the banner on the new front page (/news/0), which is that it's about 4 pixels shorter, and it's now grey instead of black which I think is much less abrasive.
It's intensely irritating, since it's never breaking and these days with the way the world is it is also worrying.
For me Breaking News should be things like terroist attacks, massive flooding not "Back Off Contestant Falls Over".
It's also handy for the comment sections on newspapers, sections of news sites you are never gonna click/read (in my case sport) and comments on youtube.
Maybe you could resolve the conflict by including a "don't show any more breaking news" button and then taking the data back to Editorial.
Or analyzing the clickstream to see who is being shown breaking news that they already saw, or they're actually reading at the time.
I suspect an optional button would not be very popular, so the data wouldn't achieve the aim you want.
Doesn't contradict what you said I just thought it was interesting that chrome doesn't just look for the most basic types of pop-ups.
This could be really useful for onboarding people, once onboard they could set up alerts for topics or tick 'follow this story' if for instance they read about someone being brought to trial and they wanted to know the sentencing or even what crimes get committed five years hence once the culprit is out of jail.
Things in the news and the weather could then be pushed/pulled from an app.
As well as topics for 'breaking news' there could also be a colour coded level so if you don't really care about some unknown unknowns getting droned out of existence in far-off-istan (in a 'yellow' terror threat incident) then you don't get an alert for it. Meanwhile, if you are British and some idiot kills people outside parliament then that one pops up as 'breaking news' with no hesitation.
Tsunami alerts are probably handy as 'breaking news', it would be annoying to die in some massive flood due to having turned off the 'breaking news' wholesale just because you had no interest in the French election or 'Frexit'.
I think that they need to just be a bit more imaginative with the feature so that it works for all stakeholders, the editorial department, the reads and everyone in between, up to and including No. 10.
You're doing God's work and a national service that is IMHO worthy of a knighthood, the BBC front page is one of those rare places where a few little engineering cogs can really make a huge difference. Keep up the good fight! Thanks from all of us -- the UK, still missing the old news.bbc 5ish years later :)
And if I ever have the privilege of your CV gracing my inbox, I'd do everything to ensure we got to work together. Thanks again!
The best solution I've come up with is immediately reloading the page in the hope that there's a cookie to stop the "Breaking News" showing again.
I'll just add, really like the new update. The new page feels much better (and the old one is really good already).
But —this is a big "but"— I wouldn't expect this to happen soon. Changes take a long time at the BBC :)
Please, BBC, I really dislike the breaking news banner and I'd love the option to turn it off.
* 14KB site https://www.webpagetest.org/result/170424_EP_VE7/
* 443KB bbc https://www.webpagetest.org/result/170424_RQ_VK2/
* 3652KB the verge, of course https://www.webpagetest.org/result/170424_44_WCC/
But I applaud BBC's effort, I hope to see lighter and faster web even though we move to Fiber and 4G.
Maybe I should just read more news.
Not much point complaining in this particular thread though. As the article says, 'We are essentially hamstrung by the “white BBC bar” at the top of the page.'
~ curl -I https://www.bbc.co.uk/news/0
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
Date: Mon, 24 Apr 2017 09:33:49 GMT
Location: http://www.bbc.co.uk/news/0
Connection: Keep-Alive
Content-Length: 0
What annoys me most about this is that there is a valid GlobalSign SSL certificate there and the server can clearly handle TLS handshakes. It's just deliberately being used to make the user's experience less secure.I realise this is being worked on and somewhat tangenital to this post, but the BBC's rollout of HTTPS has been shockingly poor and incredibly slow comapred to other news organisations. What's the point of serving account.bbc.co.uk securely if all links to sign in can be MitM'd? The parts that can be accessed with HTTPS don't seem to use HSTS either.
Is this a problem for e.g. account.bbc.com though? I can't see how that can impact bbc.com/bbc.co.uk if the header is set on the subdomain only.
I remember it used to be that e.g. news was accessed via news.bbc.co.uk but this seems to have been changed more recently to be accessible at /news. As you note, this makes HSTS a no-go because of all the other products on the same domain need to support HTTPS. This makes me wonder why this change was made in the first place. It would also seemingly mean that (without e.g. https://w3c.github.io/webappsec-suborigins/) an XSS in one product means an XSS everywhere.
I'm sympathetic re. the SSL configurations you need to deal with and it's reassuring that this is being worked on.
A few years ago a decision was made that the BBC site should be all under www.bbc.co.uk, I believe this was mostly for marketing purposes, but also to simplify our internal routing for the site. news.bbc.co.uk was previously separate as News had it's own infrastructure separate from other parts of the BBC, but that's been rationalised now (leaking subdomains for technical reasons was something we frown upon).
I miss when the major constraint on page load time was the server-side rendering time...
I doubt that a decade-old CPU/OS and a decade old browser were rendering any page (even without JS) at that kind of speed.
Unfortunately, for legacy reasons, the geolocation lookup and subsequent redirect happen in the browser. It might be possible for us to issue the redirect from the edge soon, since most non-UK users now come via Fastly which does some geolocation.
In the mean time, you can prevent the redirect by ensuring you go to bbc.com or bbc.co.uk, depending on whether you are in the UK or not.
That said, there is performance and then there is perceived performance. Why introduce an arbitrary fade-in animation on the images (aka a delay)? Just show them as soon as they are available from the lazy-loader. This makes it feel slower for me.
Hi there! Do you want to help build a fast and accessible web experience used by over 300 million people around the world each month? We're hiring people for all sorts of roles. Head on over to http://careerssearch.bbc.co.uk/ (search for "News") to find out more!
Any tips for a more direct path towards website optimization jobs?
EDIT: This is what I get: http://imgur.com/a/Cg9sD
And the new one is even worse (though it's a work-in-progress)
Our "no JS" fallback styles are not done in a very nice way at the moment: they rely on the browser reading noscript tags. We never did any testing with NoScript or similar add-ons, and I remember hearing somewhere that those sort of add-ons don't always evaluate noscript tags.
- Chrome Version 57.0.2987.133 (64-bit)
- No-Script Live 0.2.4 http://mybrowseraddon.com/noscript-lite.html
- Privacy Badger 2017.4.19.1
FWIW Privacy Badger isn't blocking anything, I think this is all from script blocking. I notice that low-res images get sent by default, which suggests that the design conflates 'no script' with 'mobile'? That's not true at least in my case.
Here's my browser log. https://gist.github.com/afandian/b97fc7bb9f5e15f924acb770322...
We use a technique called cutting the mustard to determine whether a browser is modern (read: >=IE9). This allows us to write one set of CSS that should work in pretty much any web browser (we call this the "core" experience), and another set that uses modern-ish CSS (the "enhanced" experience). One of the major drawbacks to this technique is that the technique relies on JS — it is literally just modernBrowser = ('addEventListener' in window && 'querySelector' in document && 'localStorage' in window).
So when you browse the BBC News website with JS disabled, you are getting a page that has been styled to work on a Nokia E65, BlackBerry OS4, IE8, and everything in between. Unfortunately right now we don't have a way to give you the enhanced version of the page without JS. In the future it might be possible for us cut the mustard at the server (or the CDN edge) based on User-Agent but that isn't something I can see happening in the foreseeable.
Thanks for engaging with questions.
Could also be javascript-powered lazy loading. Load the low res using HTML then swap out high-res when the user scrolls it into view
Why would you send a low resolution copy of the image first? Probably because you assume someone is on a low-bandwidth connection.
- Chrome Version 58.0.3029.81 beta (64-bit) - uMatrix 1.0.0 - uBlock Origin 1.12.1 - Privacy Badger 2017.4.19.1
Firefox 53.0 (64-bit). uBlock origin, HTTPS Everywhere, Decentraleyes, and Javascript Toggle.
Edit: And even with JS, images remain low resolution (or invisible) until you stop middle-button scrolling which makes for scanning through articles very painful.
Also waiting 30 seconds for a video ad to see 10 seconds of content is kinda stupid.
Good to see major public resources taking the lead (gov.uk being another) on reducing cruft. Most likely out of necessity, but it wouldn't hurt to start a trend :)
I wish engineers would actually be able to take responsibility for the whole, and dismiss marketing tags based on technical grounds.
that'll be the easy bit, of course, the hard bit will be influencing people to part with the £silly amount of money it'd likely cost vs. off the shelf alternatives
I'm assuming you are happy to receive feedback?
Does the cookie statement have to be so large? On first load it takes up ~ 3/4 of my usable screen space on an iPhone 5S in safari? It also feels unusual to be at the top of the page as opposed to hovering over some space at the bottom of the page.
Also on iOS lots of unnecessary line spacing (to the right of images) occurs when listing headlines.. image heigh, font size and line spacing could be worked to look better.
Congratulation on achieving the performance gains however :)
My apologies in advance for my ignorance, as I have so far read about React, but not actually used it. Isn't the main advantage of React the virtual DOM it sets up and its reconciliation algorithm with the DOM? How can this be applied without using on the client side? Wouldn't all the responsive aspects be lost, requiring a round trip to the server for each event?
Thanks in advance.
That means it would just be a different way to use templates on the server side.
https://redbot.org/?uri=http%3A%2F%2Fwww.bbc.com%2F
https://www.webpagetest.org/result/170424_79_P0Q/1/details/#...
If you're not seeing transfer encoding, is it possible that you're behind some sort of proxy – network or local antivirus – which is stripping it?
Today is the first time I've seen gzip actually happen though! If only all my other problems were so easily solved by whining!
But still: sending, compressing, uncompressing stuff that definitely adds no value and would be trivial to statically omit almost all of is still a downside...
It's not a bad thing to do but I'd be surprised if they didn't have higher priorities for their engineering staff. If you look at the trace I linked before, note that even if you could eliminate all of the time to generate the page the most you could save is less than 100ms on page which uses multiple seconds of CPU time to render. Look at the video – the page doesn't even render for almost 5 seconds in a low-end browser:
https://www.webpagetest.org/video/compare.php?tests=170424_7...
Chrome is faster but still over 3 seconds:
https://www.webpagetest.org/video/compare.php?tests=170424_N...
If you were in charge of that project, would you commit your limited developer time to something cannot possibly produce a human perceptible benefit or instead have them work on removing a borderline-uncomfortable delay?
I entirely see your point, but disagree that it's not worth doing any of it, given an almost certain quick small win + saving CPU time and bandwidth and a bit of planet while we're at it!
Again, think about the complexity of what's generating that content. Do you really think they have a single index.html template floating around rather than the system described pulling blocks of content in from various sources, all of which need to be updated in various places? You could build a system to collapse whitespace runs after the content is generated but now you need to develop that and test it to make sure it doesn't trigger on something where the whitespace actually matters … and suddenly you're taking time away from changes which actually benefit people.
> given an almost certain quick small win + saving CPU time and bandwidth and a bit of planet while we're at it!
How much CPU time do you think you're talking about, anyway? Here's what doing this in a naive manner which will break things looks like:
cadams@jupiter:~ $ gzip -9 < bbc.html | wc -c
32259
cadams@jupiter:~ $ curl -s http://www.bbc.com | perl -pe 's/\s+/ /gs' | gzip -9 | wc -c
30859
So we're talking an extremely small amount of CPU time and one packet saved. That's might seem useful until you look at this in context of a page which loads a couple MB of content and uses multiple seconds of CPU time:https://www.webpagetest.org/result/170424_NT_W4S/
Image compression, enabling gzip on the remaining resources which lack it, etc. are all going to save more data on individual files and have the nice property of not breaking anything else.
Anyhow we can agree to disagree but many of my clients over the years have been very happy with 5% resource savings, although 5x is nicer when available... B^>
(And yes I'm fudging CPU and bandwidth, but with a compressor involved and the CPU often being a bottleneck on lower-end devices for example, I think that simplification can be justified.)
Also, did you read the part about we have collaborated with over 60 other developers and testers from all around the BBC to build this page? That's actually the best part — News websites are pretty simple; you just display headlines, summaries, and images in various formats. So part of this project was building the lego blocks that we're going to use to rebuild not just the rest of the BBC News site, but also parts of BBC Sport and potentially other BBC products too! So yeah, costly for one page. Hopefully very cost-efficient in the long-term.
Normal life does not count in the BBC :)
I never understood that. Surely, since you're already paid for you could just report the news and not bother with clickbait since you're not getting paid for the clicks?
Every news outlet's landing page is a UX disaster, that only meets the needs of the organisations ego, and not the needs of an actual user.
> A collection of guides & opinions about programming and the state of the web, from a developer at BBC News.
It's a username. Your equivalent would be bhaavan,com