
The Website Obesity Crisis (2015) - juliangoldsmith
http://idlewords.com/talks/website_obesity.htm
======
charles-salvia
Ads are definitely a huge problem, but it seems they are at least equally,
perhaps even _less_ of a contributor to bloat than the tons of off-the-shelf
Javascript frameworks/libraries major websites throw in to perform analytics,
or to implement stock features like user-comments, login, social-media stuff,
etc.

I mean, just looking at the network resources for a fresh download of
www.cnn.com, I see:

livefyre_base.js, 167KB - apparently some kind of user-comment library

cdn.optimizely.com/js/131788053.js, 93.2K - some library for user
tracking/analytics or something,

controltag.js, 72K - something from a company called "Krux DMP" that seems to
be yet more user analytics and tracking,

sdk.js, 61.9K - something from gigya.com, apparently some kind of login and
user-preferences framework

jsmd.js, 87.5K - another analytics framework

... and various others.

I see a "pubads_impl_113.js" from doubleclick.net, which is obviously for ads,
but if cnn.com is typical, then it seems that off-the-shelf Javascript
frameworks for user analytics and other stock features like logins/social-
media crap, etc., are just as big a factor in contributing to bloat as display
ads.

~~~
lmkg
Optimizely is A/B testing. It's not strictly analytics (in that it's not a
Google Analytics replacement), but it re-implements some of that functionality
for audience targeting.

Krux is an ad tracking service.

jsmd.js appears to be the homebrew analytics system of one of the media
partners.

The actual web analytics being run on CNN is Adobe Analytics, which is
actually fairly compact. The real problem is that _every ad_ also includes its
_own analytics framework_. Each of them often includes multiple frameworks,
each of which tracks something different. E.g. one for demographic targeting,
one for tracking across multiple ad networks, one to see if the user scrolled
far enough to see the ad, and one to see if the ad loaded before the user
closed the page or navigated away. It's a goddamn mess.

------
exelius
Agree 100%.

Advertising is a zero sum game. If an advertiser's budget is $5, they will
spend $5. They will spend $5 on as many dumb ads as they can get, and they
will spend that $5 using very targeted means if available.

There's a tremendous amount of effort expended in the ad industry with very
little real effect than to direct ad dollars through that platform and maybe
provide a temporary lift to response rates.

But honestly, it's all garbage. The more prevalent advertising is, the more
people ignore it. Especially targeted ads. Hell, the targeting algorithms
aren't even all that good - even in 2017. I bought an electric razor the other
day, and I have been getting ads for electric razors ever since. Why? I
already bought one. I won't need another for at least a year. These algorithms
are stupid and likely don't boost anything.

Anyway, once a new generation of ad buyers comes on board, expect the bubble
to pop. The fundamentals are garbage.

~~~
jasonkostempski
Even if you hadn't bought one yet, would you ever choose a specific product
based on an ad? I wouldn't. Best thing an ad can do to me is remind me I need
something in a category, then I'll go around internet comparing products and
grab the one that looks best, especially with a product like an electric
razor. Companies should be investing in making good products so that when
someone remembers they need something, their product will have the most
positive reviews and most reasonable price.

~~~
RodericDay
I hate advertising. However, I think a glib dismissal like this one underrates
the power of ads a lot, and for me it's important to not underestimate my
adversary.

Sure, when I research virtually anything for myself, down to soy sauce or
toothbrushes, I will literally go and seek out reviews and do some legwork.

The real question is what happens when you are in a pinch. You're driving to
your brother's house for dinner, and recall that you forgot to buy a toy for
your nephew's birthday. Precisely there you'll be nabbed by a tendency to go
for the "can't go wrong" choice, and the perception of the can't go wrong
choice will have probably been created by advertising.

So, don't sell it short. I agree with virtually everything; it's a worthless
arms race and we'd be better off with companies focusing on quality. Just
don't fall into the trap of thinking everyone can just use willpower to fight
it. It requires more, as legislation banning cigarette advertising has shown.

~~~
douche
If it's a nephew, and they are old enough to not asphyxiate themselves, then
the obvious answer is always Lego. Little boys fucking love Legos.

~~~
anewday
Lego is great. But don't forget that this is also an idea that is shaped by
advertising: why is Lego not for girls? Why do girls need pink blocks with
figures that wear make up? Why this genderification?

~~~
nojvek
Lego is essentially a monopoly built on branding. Same as Coca-Cola.
Advertising shapes slowly, one ad at a time

------
mwfj
I first realized Javascript/Frontend/client developers were a danger to
society about 10 years ago.

We were trying to figure out why some particular, quite globally popular web
site did not work when transcoded in our Opera Mini transcoder.

The page itself looked perfectly static, no fancy effects or anything. Turns
out the site had decided to re-implement the "click a link" feature entirely
in javascript, down to the "create a click listener for entire document, then
create a click router based on X, Y, width, height coordinates" level. We
patched it somehow, had a laugh about the stupidity, but the sour feeling of
insanity got stuck with me. It did not provide any feature beyond what a
simple 'a' tag would have done.

It was just so absurd. We spent some time to try to figure out if there was a
legitimate reason for it but we couldn't find any.

~~~
pavement
What you've described is basically a heat map data collection script, or part
of one.

The script will capture the (x,y) coordinates and cache a running log of where
events occurred. It's proxying the events and then forwarding them, so it can
get inbetween the event and the outcome, and record the event's details with
greater precision.

Since JavaScript events are asynchronous, one part of the heatmap recorder may
have been decoupled and not directly connected to the rest of its sibling
scripts in a very obvious way.

But anyway, to get to the point, these heatmap apparatuses do spew useless
data, user by user, and can hog system resources in non-obvious ways, but in
aggregate, across thousands or millions of users, develop a picture of how
many users clicked directly on a button, in proximity to a button, and which
button, out of a selection of buttons, was clicked in whichever order.

After deploying something like this, the raw (x,y) coordinate data is then
collected, and used to generate an image. The image consists of they watthe
webpage appeared to the user, and then a semi-transparent false-color overlay
is placed as a layer over the appearance of the web page, and the (x,y)
coordinates color the pixels red/hot for many clicks, and blue/cold for fewer
clicks, like a topographical map.

See the results of similar scripts here:

[https://duckduckgo.com?q=!googleimages+web+page+click+heatma...](https://duckduckgo.com?q=!googleimages+web+page+click+heatmap)

Similar heatmaps are generated in more controlled environments, with eye
motion tracking tests, where the user consents to sit in a room, in front of a
computer, with a camera attached, and use a redesigned website or app, while
the system records the specifics of their behavior, capturing not only clicks,
but where they were looking, and how their eyes moved toward the elements that
received clicks.

Testing processes like these can be really expensive to perform.

This is usually done to gather evidence of an effective design layout, among
competing designs in an A/B test.

If you only noticed part of the script that proxies the click events, it may
be that someone left part of an A/B test harness behind, by mistake, or that
part of the harness was left out by mistake. These sorts of scripts definitely
take the collected click coordinates, and forward them to the server,
otherwise it's not possible to assemble the individual events into a heatmap.

~~~
johansch
Hi,

thanks for the description. I'm pretty sure that what we witnessed at that
time wasn't something like this though. We spent quite some time picking apart
the javascript.

------
frogfuzion
This is a repost. I'm guessing due to the blowup of the electron post.

There is no right answer. A huge fat bloated website can be successful (see
BuzzFeed for the general population), or a lightweight text based
informational website can be successful (see hacker news for you guys).

Same thing for the electron debate. A bloated web app ported to desktop could
just be as successful as a native app and vice versa.

The problem is that it just sucks. The choices we have to make suck and
everything sucks right now.

Development is now "pop." This is why websites are fat and web development is
going to the desktop.

~~~
exelius
It was never about the code.

It was always about the products.

~~~
frogfuzion
Agreed and up-voted. I think that is what I was trying to say in my rant. I
guess as a developer though it's hard to come to terms with the fact that you
are creating crap.

I went through the same thing when I was a musician so it stings doubly.

~~~
exelius
The media fetishized a "techno-genius" that never really existed. Design and
development are two very different skills, and it's rare to find a person who
is good at both.

But all things equal, a good product person can make do with shitty
developers. Good developers can never overcome shitty product design. If you
want to design apps, go to school for design.

~~~
knieveltech
Craigslist finds your argument unpersuasive.

~~~
flukus
Craigslist is great design. I'll take that over what "UX experts" come up with
any day.

~~~
cableshaft
Craigslist seems overwhelming and like bad design when you first encounter it,
but start using it for awhile and being able to go exactly where you need to
go with one click and know exactly where on the page it will be located,
without scrolling, and have your mouse ready to click it, is actually really
nice.

~~~
ashark
Craigslist only seems like bad design if you've been programmed to use
successful application of current design trends as a shortcut to figuring out
whether a site is abandoned, under-funded, or incompetently-executed. Which we
all have, and that signal often works so it's not _useless_. With some "badly
designed" (several design trends out-of-date) sites that signal's incorrect,
though.

For most sites I really miss the blocky header+sidebar-nav+footer-fallback-nav
trend of 2006-2012. Fast, efficient, predictable. Current design trends are
_much_ worse to use for most purposes. But, of course, if I see a site still
using the former design, I assume bad things about it until proven otherwise (
_at least_ until I see a recent date associated with something) and I'm not
inclined to trust them with any money.

------
dmitrygr
Wonderfully put, especially this sad tidbit:

I tried to capture a movie of myself scrolling through the Verge Apple watch
review, but failed. The graphics card on my late-model Apple laptop could
literally not cope with the load.

~~~
gerdesj
I have just run down that page in Chrome on a i7 with four cores/eight threads
and gobs of RAM. All of the threads jumped to 65-90% constantly, according to
the Plasma widget on my desktop which is currently showing low single digits.
If I had unplugged the charger I'd be draining the battery at the same rate as
the watch timeline graphic but in real-time.

------
Terr_
My strategy has been to disable all javascript by default, and whitelist
specific sites. So far I'm pleased with the result, especially how fast most
of the random HN/Reddit links load.

~~~
gerdesj
Every now (when I break X through a badly chosen compiler flag or whatever)
and then I use Lynx. It takes me right back to WAIS n Gopher before this
newfangled www thing appeared 8)

I used to telnet a VAX, then a X25 PAD, then to the outer reaches of JANET
then to NIST (I think). Then I got to fire up Gopher. _sigh_ (not) the good
old days. I can't even remember why - probably to download fractal porn or
something equally bloody pointless. I spent three months staffing a helpdesk
with no users in a rather well funded organisation in '91 ...

~~~
Neliquat
That sounds like my old msu connection...

------
pdelbarba
It's funny to think that Moore's has meant that applications just get less
efficient but there is no such concept for internet speeds.

In reality, it seems that people have just settled on a response time that's
acceptable and devs try to stay within that window in most cases.

~~~
Analemma_
> In reality, it seems that people have just settled on a response time that's
> acceptable and devs try to stay within that window in most cases.

More specifically, every time CPUs or browsers get better, publishers look at
their metrics and go "Oh! PLT at 95th percentile is down! Great, now we can
add more trackers while still hitting our perf target!" and so the gain is
immediately gobbled up -- we're in a Red Queen Race and websites will never
get faster. I cannot wait for the adtech ecosystem to collapse, what a
godawful waste of resources this is.

~~~
Terr_
I agree with your sentiment, and I think it's just one facet of a broader
issue with how advertising/marketing is rampant. For example, you can pay to
see a movie in a theater, and _still_ get shown ads.

~~~
rybosome
Some airlines do it, too. It makes me absolutely furious, but there have been
many occasions when, just sitting in my seat _TRYING TO SLEEP_ , the screens
will all flip on an ad with audio simultaneously. It's insane that these
aren't even the airline fluff pieces about themselves, but actual, literal
advertisements.

I've heard that airplane fuel is becoming prohibitively expensive and consumer
demand for flights is relatively elastic, so this (and all the other ways they
behave miserly) are attempts to remain solvent without drastically raising
prices. I feel somewhat sympathetic to that argument (if it's actually true),
but it seems like that should be a signal for technology to step in and
innovate around the problem rather than attempting to blunder through with
more advertisements.

~~~
arkx
> I've heard that airplane fuel is becoming prohibitively expensive

Why not verify what you've heard? Kerosene prices have actually fallen
dramatically from just a few years ago.

[https://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=E...](https://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=EER_EPJK_PF4_RGC_DPG&f=D)

~~~
pdelbarba
Yea, current JetA prices are pretty low in the grand scheme of things. They're
also not likely to go up significantly in the next 5-10 years

------
discreditable
Reminds me of another article in which the author shows the average web page
is larger than a Doom install image: [https://mobiforge.com/research-
analysis/the-web-is-doom](https://mobiforge.com/research-analysis/the-web-is-
doom)

HN discussion:
[https://news.ycombinator.com/item?id=11548816](https://news.ycombinator.com/item?id=11548816)

------
gavinpc
They will slim down after net neutrality is over. But they'll still be user-
hostile.

Ads are about tracking. The fact that you might see the ad is what we call
"langiappe" where I come from.

If everyone disabled third-party cookies right now, networks would not be able
to easily aggregate browsing profiles. And everything else --- the things you
actually care about --- would still work.

Of course, then attention would just turn to the ISP's, who can now sell that
information directly.

~~~
adventured
> They will slim down after net neutrality is over.

Net neutrality - in regards to any actual implementation - existed for about
five minutes. The supposed benefits were to be long term. The short term
impact was next to nothing.

------
michael_bluth
This article is a great summary explanation for why I love the Hacker News
interface.

~~~
norea-armozel
Same. It's rare to find a site that I can use when I read my data limit on
T-Mobile that doesn't turn into a mess. If only I could just tell Safari to
turn off all JS and image loading at will.

------
tinus_hn
This is part of a larger phenomenon in IT where resources are plentiful so
they are wasted. A small part of it is due to high resolution displays which
cause an increase in the size of required bitmaps and some of it comes with 64
bit computing, but a lot of it is due to a general lack of care.

Perhaps the browser needs to implement a limit so a page just can't use an
infinite amount of memory, CPU time and bandwidth. Or perhaps we should decide
that 10 pieces of javascript is enough and any attempts to load more will just
fail. The web designers will complain but they'll manage.

------
lucideer
Worth noting this webpage is ~1MB itself. However it does have a _lot_ of
images - I'm not entirely sure why it has all of those images, but the size is
not a surprise given that.

~~~
jff
And that's sort of the point, in my mind: the page is about a megabyte, while
something comparable on the modern sites he's talking about would be many
times larger. As you say, it's a megabyte because there's a megabyte of
content, not a megabyte of Javascript and trackers and "From Around The Web"

Back when I was on 28.8K dialup, I'd typically figure I could fetch a megabyte
a minute. Because the site is just plain old HTML, even over a terrible
connection you'll be able to start reading pretty much immediately, and the
images will pop in as you go. It's a good user experience.

~~~
theandrewbailey
28.8kbps = 3.6KB/s = 216KB/minute

I know what you mean, but I remember waiting about 10 minutes for a megabyte
on a 14.4k connection, and about 5 minutes on 56k. Because the phone wires
were crap, the modem never synced faster than about 35k.

------
cousin_it
This seems like another example of bad stuff happening for game-theoretic
reasons, so individual action won't help, the only solution is regulation. Ban
tracking for a start. It's similar to banning outdoor billboard ads, which
many places have done with good results.

~~~
toomanybeersies
How does the USA ban tracking on a website hosted in Germany?

~~~
cousin_it
There will always be edge cases, but law enforcement on the internet is
surprisingly possible. Look up the EU cookie law and GDPR.

------
gerdesj
There are few websites these days that don't get the cores a fizzing and your
laptop gradually doing your thighs to a medium rare, without an ad blocker.

The article had me giggling to the point of having to explain myself to wifey.

------
trumbitta2
It's all smiles and sunshine, until you choose 13px as the font-size for this
post.

It's right then, that it happens. You made a good point about lightweight,
text-driven web, but didn't care to use a saner 16px for the font-size.

And so you instantly become a stereotype in my eyes. The old guy shaking his
fists at modern hipster web.

See this for an example of a lightweight site with a good design and
readability: [http://www.zeldman.com/](http://www.zeldman.com/)

~~~
moron4hire
The meaning of "13px" on a website is completely up to you. All CSS units are
relative.

------
thatwebdude
Yeah, but that page is ugly.

~~~
kome
It looks great to me.

~~~
thatwebdude
Yeah, well, that's just like your opinion, man.

~~~
kome
Indeed.

------
gwu78
"This is a screenshot from an article on NPR discussing the rising use of ad
blockers. It is 12 megabytes in size..."

Hmmm. When I save this page from my browser it's 116k.

"... in a stock web browser."

Ah-ha. Perhaps the web browser I am using is not "stock".

If so, I can still read the article without a "stock" browser, so not sure
what is behind this "stock" idea.

I am assuming reading the article is the goal?

Could it be the "stock" browser, whatever that is, is the root cause/enabler
of the "web page obesity crisis"?

"Unfortunately complexity has become a bit of a bragging point."

Does that include "stock" web browsers?

~~~
gwu78
FYI the browser I use does not download resources automatically. This way I
just get the page with the content: the text of the article. That is all I
want.

To _read_ articles, which are just text, I access the web in VGA textmode with
a text-only browser. I never see any ads.

There is no such thing as "load time" with this "UX". All pages load fast.

I do DNS lookups in bulk and store IPs before doing any HTTP requests, so I
take time consumed by DNS out of the equation. I do not store IPs of ad
servers, Facebook domains serving hidden beacon images and other nonsense. I
never access these resources.

If I want to look at images or watch videos, I download them and use other
programs running on other computers with graphics to view them. Those
computers have no gateway to the internet.

For someone who likes to read, it all works very well. But if I was forced to
use a "stock" browser of some organization's choosing (Google, MS, Apple,
Mozilla, etc.), then perhaps I would have a very different "user experience"
\- heaps of ads. I suspect this is because those organizations place
advertisers before users. If the ad sales business were to dry up it would be
a disaster for some of those organizations.

Fortunately, I do not need those browsers to read the news.

~~~
alexbecker
Thanks for clarifying--I assumed that you were using a standard browser, and
were confused why the size of the file the browser downloads when you use
"Save As" was less than Maciej reported.

Is your browser publicly available? Did you create it yourself--and if so,
what did you use?

