
Dear Developer, the Web Isn't About You - colinprince
https://www.sonniesedge.co.uk/talks/dear-developer
======
yorwba
Previous discussion (8 months ago, 88 comments):
[https://news.ycombinator.com/item?id=16773398](https://news.ycombinator.com/item?id=16773398)

~~~
SilasX
That doesn't seem like a good reason for it to be marked as [dupe]...

~~~
yellowapple
Indeed. Is there some other more active discussion somewhere?

------
d357r0y3r
> But the cultural focus is on developer happiness, on developer fun and
> ramping up of code-related skillsets. "How does this benefit users?" has
> suddenly gone missing from our vocabulary.

No, it hasn't. It's still 100% about how to benefit users for most teams. That
is quite literally the only thing that matters and everything else is a means
to an end.

I'm not going to deny the fact that there are some shoddy websites out there.
There are some sites that are using the latest and greatest JS stuff when
really, they should just be using HTML and CSS. Fine.

The majority of the work that gets talked about here, by software and tech
startups, _will not be effectively built using HTML /CSS or server-side
rendering_. Since we're on the topic of users, users have come to expect a
certain level of interactivity. They expect that if you right click on a row,
you get a drop-down menu and you can delete it. They expect that you can do
inline editing of an item without being redirected elsewhere. They expect that
you can create a new thing on the page without reloading and redirecting.

Let's forget about that part, though. Most software features are, at the end
of the day, experimental. We don't know exactly what is going to be a hit and
what isn't. If new tools allow us to iterate at 2x or 5x or 10x the rate of
old tools, this is a net positive for users.

No one would denigrate a carpenter for using an electric screwdriver over a
manual one. No one would complain that the carpenter only cares about their
"carpenter experience". At the end of the day, the "user" wants their cabinets
finished.

~~~
taeric
I can't agree. Most sites I see nowadays are not in any way more effective for
their deep use of frameworks. Best example of the craziness here is the
blogging stuff Google has that loads the content after the page load. Why?

React is amusing, as it makes it look like you have to have a complex
JavaScript framework to have hot loading. But you don't. Never have. Will you
need a fancy tool that knows JavaScript well? Yes. Do you need to be writing
to that tool, or with it?

So, nobody would mock a carpenter for using power tools. They would question
one that only worked with a 3d printer. Even though that would certainly let
them iterate faster.

~~~
honkycat
People use react because:

1\. It is designed to be testable. It makes testing the components much easier
than testing jQuery soup. 2\. It has an opinionated way for developing
javascript applications 3\. Will validate input types passed to controllers
4\. Has nicer syntax than jQuery soup

~~~
ergothus
> jQuery soup

I'm not sure if you're blaming the tool or not, but at least for 3rd parties,
I want to clarify: jQuery doesn't mandate "soup" \- In fact, devs learned over
time that the best approach development with jQuery was the same as without -
have application state tracked as variable(s), have routines to translate the
current state into the the DOM. That's the unidirectional flow that React
likes, and both vanilla JS and jQuery can run with it.

But jQuery makes it EASY to use your DOM as state storage, which works well at
first and quickly grows nastily complex. Meanwhile, React makes it EASY to
update the DOM from state without performing unnecessary re-renderings.

So jQuery doesn't mandate, or even encourage "soup", but there's nothing
guiding you away from it. React, OTOH, makes the path of least resistance be
towards this particular best practice.

To your points as to why people use React, I don't think those are bad points,
but those aren't my primary points. React best practices mimic the best
practices of coding in general: Small, single-purpose components with minimal
coupling. This allows me to bring in experience from outside React, and allows
me to apply React experience outside of React.

~~~
mpweiher
> application state tracked as variable(s),

Model.

> have routines to translate the current state into the the DOM

Views. Triggered by #changed notifications.

> That's the unidirectional flow that React likes,

Aka MVC.

------
lostgame
The '30% of rural Americans still not on broadband' point is, understatedly,
one of the most important points of the article by far.

It is so, so easy, to be living and working in big cities like Toronto (me),
SF (a bunch of you), NY, Chicago, et cetera, and truly forget the context of
the absolutely _awful_ experience a lot of people have online outside of these
urban epicentres.

I remember living on a farm in rural Illinois (Marengo), and the best internet
we could get at the time was satellite. Which (or, worse, dial-up) is the only
option for a lot of Americans, apparently.

Satellite internet, in particular, causes these poorly-optimized web sites
with hundreds of tiny JS files and images to take forever to load on this type
of connection, because Satellite internet works by pinging the satellite for
every connection, meaning downloading a large file can be fast, but opening
Facebook can take up to 3-4 minutes. (My ex-partner who still lives on that
farm confirmed this for me today.)

The author, then, brings up the next, most important point: 'Your website had
better be amazing for it to justify that length of download time.'

For those making the audacious claim here that this isn't considering the
dev's time put into it, I'd argue immediately back that the devs need to be
considering the actual users.

People living in the country aren't 'edge cases'. They're usually extremely
hardworking people who simply don't have access to the luxury of broadband
like we do. Just because we don't necessarily see these people, or travel to
other countries with shitty connections, doesn't mean they don't exist,
doesn't mean they're not actually a potentially significant number of people,
and doesn't mean we should not be arsed to trim 1MB-2MB off our bloated image-
and-video-wieldy sites, or even that it would necessarily take a lot of time
in most instances.

I agree. The web isn't about us. It's about who uses it.

~~~
_zskd
Do we actually care about these users? Are they going to buy the products we
advertise on our websites? Are they going to subscribe to our platform?

No. So why should we optimize for people who do not matter to our bottom like?

~~~
falcolas
> Are they going to buy the products we advertise on our websites?

Why wouldn't they? Physical location aside, they're not any different than you
or I. They have purchasing power like everyone else.

> Are they going to subscribe to our platform?

Why wouldn't they? Because they can't load your page? Doesn't sound like their
problem.

> No. So why should we optimize for people who do not matter to our bottom
> like?

Why don't they matter to your bottom line? Because you present them with tools
and platforms they can't use, so they _can 't_ contribute to your bottom line?
A self-fulfilling prophecy if there ever was one.

------
chiefalchemist
> We’re back to building sites that are not for everyone - huge, bloated
> sites, running fragile imperative code on the users local device. We have
> started to explicitly say "I think you should have this level of tech,
> processing power, and bandwidth before I think you're eligible to use my
> site".

This isn't in and of itself the problem, per se. Sometimes a more powerful and
robust UI / UX / application is necessary. The problem is when said "solution"
is applied to __every__ need. The problem is, when screwdrivers are being used
to pund nails.

Much "like publish of perish" there's no (ego) glory in saying "Yeah. It's
relatively lo-tech but that's the solution that best fit the business need."
Rare is praise and/or hiring based on good analysis, appropriate tools and
smart solutions. Nah. Size is all that matters. How people who can't do what
you do it more important than doing the right thing(s).

~~~
reaperducer
_We have started to explicitly say "I think you should have this level of
tech, processing power, and bandwidth before I think you're eligible to use my
site"._

I actually worked with a pair of developers who believed this wholeheartedly.
It seemed to be part of some kind of design philosophy they picked up where it
was the responsibility of developers to build complex web sites and apps in
order to "further" technology and encourage people to upgrade for the good
of... something. I'm not sure.

They picked some baseline iPhone level (two generations removed from what was
current, IIRC) and decided that anyone who wasn't "smart" enough to own that
model, or better, shouldn't be allowed to use the product.

Then when they were ready to deploy, it turned out that the product only
worked on _their_ phones, which happened to be the latest/greatest available
at the time. So they built in a bunch of kludges and trimmed features to make
it load on an older phone, and that was "good enough."

Not surprisingly, the company went out of business.

~~~
lostgame
I have seen this...so many times.

I've been an iOS developer since the App Store became a thing 8 or whatever
years ago, and the amount of people I've seen willing to only test
applications on devices only 1-2 generations behind, if that, is shocking.

What's more offensive, shocking, and actually confusing is that, yes,
management is usually the one saying this kind of thing.

The reason that confuses me, is that you'd think, I mean, if _I_ was in a
management position at a mobile-related startup, one of the first things I'd
do is have someone on my team do some market research to provide statistics on
the current state of iOS device and version usage, and buy a freaking
_heapload_ of test devices, in all the different resolutions and variants.

Dismissing your users because they're not 'smart' enough to have a newer model
is, as mentioned in the article, essentially blaming these people for the
circumstances in their lives that leave them unable to, or is simply insulting
their intelligence.

I still use an iPhone 6S. Why? I need a headphone jack. I run an independent
music label and _rely_ on GarageBand on a multiple-a-day basis. Bluetooth
audio's latency is too awful to be usable when playing instruments or
mixing/EQ'ing tracks, and furthermore, I'm not about to replace my $300
studio-quality headphones for some shitty bluetooth alternative, _or_ drag
some tiny dongle around I'll need to adapt the headphones.

Does this make me 'not smart'? I think the exact opposite. I couldn't _use_ a
new iPhone the way I have for the previous 6-8 generations before it.

There are _dozens_ of reasons why people prefer to keep older models of
devices. My 2011 MacBook Pro is still my daily Logic Pro driver, and I even
still do a bunch of iOS development on it, because, _gasp_ , I was able to
open it up and upgrade the RAM to 16GB, remove the original hard drive, put in
a 512GB SSD, remove the optical drive, and replace it with a 2TB HDD...which,
if I'd bought a 2017/2018 and felt like the 8 or 16GB that came with it wasn't
enough, I might as well throw out the window for all it's upgradeability.

Then let's talk about software - most of the people I know actively avoid
software updates on their devices because they either don't know if it will
hurt their device, or they simply _actively like it the way it is already_ ,
and don't want to be forced into whatever changes the devs and managers felt
like this time around.

People like what works for them. And they don't like change.

tl;dr - Highly intelligent people have highly intelligent reasons to stick
with their older devices and software. Hipster managers who think they're 'too
cool' to see this piss me right off.

~~~
scarface74
Saying you use a 6S as if you’re using old slow technology is a bit of a
stretch. The 6S from 2015 is actually faster than most modern Android phones
in single core performance - including the Samsung Galaxy s9

~~~
lostgame
I'm not saying a 6S is 'old technology'. My point is, it's the newest that is
available/usable to me, and my path to an upgrade to 'new technology' is non-
existent.

I am saying, that the impression OP gave me is they were literally throwing it
on the CEO's iPhone X, they felt like it worked there, and didn't bother to
even go a couple generations back.

This wouldn't be the first time I've actually seen this kind of business-
destroying, frankly elitist behaviour that does not benefit business.

------
hawski
Ha! That's in line with an idea I'm considering - a modern HTML-only browser.
A bit like one of those terminal browsers, but with nice proportional fonts,
images and other basic things. Customizable entirely up to likings of a user.
A user agent, not a webdev agent. It could also support Gopher protocol. CSS
got out of control, so sorry no more position:fixed bars that are more and
more in fashion.

Ech. But first I need to get back to work on a search engine that would _not_
index ad serving pages with possible option of filtering out JS serving pages.

~~~
51lver
Build it on links. It supports advanced terminal functionality like graphics
already.

------
lostctown
Here's the real problem. The JS tools got really powerful and the majority of
users now experience faster dev cycles and richer features. Now users cannot
go back. If we started serving smaller sites with less js people would
complain about all the little features they liked that don't exist anymore.

A developer now has a choice: use the big framework where you can satisfy
those now entitled users or give up some success and make a tiny site with
limited use of js. I'm all for the free web but I know which choice I would
make when running a for-profit company.

~~~
UweSchmidt
Has anyone tried? Gone back to a simpler interface, fewer "little features"? I
think I would like that, and others would, too.

~~~
asdff
HN seems to be doing fine

------
ChrisSD
I think it's true that many sites are over engineered for what they are. Does
a site that's primarily for reading articles really need to be an SPA? Why
can't your sign in fallback to being a simple form? Etc.

Then again it can actually be pretty easy to over engineer nowadays. Once you
have your node/npm environment set up with webpack and all the rest you can
quickly iterate a new site based on an earlier project. And if you hear of
something new and cool it's only an npm command and a few hooks away.

~~~
komali2
What I've been thinking about ever since I learned about web brutalism is -
how can I make simple, HTML focused websites, static? That is to say, not
requiring a backend I build to generate the necessary HTML and serve it as a
document to a given url?

So index.html is easy, but is there a way to make it such that I can go to my
website/articles/my-happy-day, and have that page be generated, rather than a
separate handwritten my-happy-day.html file?

I typically "deploy" simple shit by uploading it directly to my bluehost
filesystem, or Amazon s3. The only thing I can think of is a precompile thing,
and then uploading the build.

~~~
UweSchmidt
I'm sure you know about static site generators like
[https://jekyllrb.com/](https://jekyllrb.com/). Are those what you have in
mind?

~~~
komali2
I have heard of them but I've yet to try them. I guess I'm trying to figure
out if there's some way to basically duplicate the idea of an SPA (using
client-side templating or whatever) without all the overhead. I think you're
right, that static site generators fill that gap, or perhaps just server-side
rendering with very little JavaScript on the frontend.

------
NikolaeVarius
I'm mildly annoyed that images won't load properly with JS disabled due to
lazy-load.js not running.

~~~
lostgame
You'd think she would've thought of that on such a post. :P

EDIT: Isn't there also a way to pre-cache images with just CSS? o.o

------
nickdandakis
This article makes the assumption that every decision you make as a web
developer is unaffected by co-workers.

I'm all for progressive enhancement. However, if the expectation is a web
_application_ that has a certain level of interactivity designed for, with a
real world deadline, and a targeted demographic of "people with supercomputers
in their pockets", I can guarantee you'll make some compromises.

Bringing up Springer Nature and the BBC as examples of the Web Built Right™ is
short-sighted when they are web _sites_ that serve static content. Of course
you should send HTML from the server that represents the entire content of the
page, apply some CSS, and sprinkle in JS. And of course, there are a lot of
developers out there that would reach for the latest trending JS library +
framework combo to pull it off, and they'll implement it poorly.

There's very little point in bashing "npm install exciting-tech", when I can
npm install gatsby-cli, and do everything the article is crying out for in a
"modern" stack. Oh, also, the BBC example? They use Node, and React, and
server-side render React[0]. You can bet they're npm installing exciting-tech.

However, the web is not just static sites anymore. People expect a lot more
functionality, you work with people that design and promise a lot more
interactivity, and there's a lot more people coding without enough experience
to reach for the tech that is the most efficient solution to a problem.

I don't think a condescending article like this is beneficial for our
community. Maybe we should try educating (nicely?) on how to pick the right
tech for the problem[1]. Maybe we should ditch "user" for "person" (or
"surfers" lol), when talking about the consumers of our output. And finally,
maybe we should have more empathy of the people that work with our trade and
work together towards a better internet.

[0]
[http://www.bbc.co.uk/blogs/internet/entries/47a96d23-ae04-44...](http://www.bbc.co.uk/blogs/internet/entries/47a96d23-ae04-444e-808f-678e6809765d)

[1] [http://mcfunley.com/choose-boring-technology](http://mcfunley.com/choose-
boring-technology)

~~~
TeMPOraL
I think the observation necessary for appreciating this article is that most
sites that are built as SPAs these days aren't really web apps, they're still
web pages. They're more similar to BBC and Springer Nature than to Google
Sheets or LucidCharts. That's a property of the problem they're trying to
solve. Building a web app where a web page would do shows total lack of
interest about providing value to the user.

------
lioeters
While it's a bit long and I don't agree with everything, the article raises
important reminders for web development with empathy and accessibility. This
part felt especially relevant:

"[Progressive enhancement] won't work with something like React though, and I
don’t cry about that. This is a distinct robust design pattern, which we feel
is durable and doesn't lock us into a _limited-life framework that will get
replaced by something else in a year or two_." (emphasis mine)

I imagine this last line gets some people reacting emotionally. I've spent the
last few years in React-land (in addition to a soon-to-be-legacy stack slowly
transitioning), and benefited much from the paradigm shift. It has moved the
web (and web dev) forward in many ways, especially conceptually. At the same
time, I can't deny that it will eventually get replaced, just like the rise
and fall of jQuery. That means we must keep in mind not to be locked-in, to
emphasize the core concepts which will outlive any framework du jour.

Progressive enhancement is certainly doable with server-rendered React, but it
does seem like the recent trends have favored developer experience at the cost
of user experience.

------
PaulHoule
(1) That's a clickbait headline

(2) I think "management" deserves some criticism here too. I think the average
developer doesn't want to stick 15 different third-party trackers in a page,
but they don't get much empathy when they bring it up with the "business"
people.

------
CM30
This is something I've wanted to mention for ages. A lot of modern web
development seems to be about what's 'fun' for the developers rather than what
works best for the company or user, and you can see it in the framework/tech
obsession present in many companies and organisations. A lot of the time they
don't need all React/Angular/Vue/Docker/Serverless/blockchain/whatever, they
just need a simple CRUD system that lets them input content and have it shown
to the user in plain HTML/CSS. But that's not 'fun', it doesn't get them
respect on Twitter or at conferences (or on Hacker News) and makes it hard to
hire programmers for, so hey, let's overengineer everything and pretend our
blog is freaking Google.

Still, over engineering sites and products because you want work to be 'fun'
isn't exactly exclusive to web developers. Quite a few game designers have
similar issues in that field, and I suspect there's a bit of a clash in ideals
between creators and audiences overall. It's rare you find a creator of any
kind who just wants to do the same thing over and over and works solely for
the money, and that's the cause behind all these issues.

------
lostgame
This is a great article, even though the irony of the layout seeming to waste
a lot of space/have a lot of whitespace/doesn't look/feel right on my mobile
isn't lost on me, the content makes up for it. :)

------
gedy
And this server-side website takes 20 seconds to load. Imagine every
interaction with a web app taking this long.

At this point the web is documents and also an application platform.
Conflating the two causes trouble - sure, simple documents don't need JS, but
non-trivial webapps really benefit from dynamic UIs/data vs old-school form
post interactions.

~~~
mnw21cam
And if you disable Javascript, all the images are _really_ blurry. This can't
be for page loading speed, as they are all small images that would be not more
than a few kB.

------
androidgirl
I really like this article but I struggle with implementing it now.

I've learned a lot of React recently for creating sites. I test all pages that
can be static with javscript disabled, (I use gatsby or next for html ssr),
but some parts can't be static, or worse there's still the "webpack inlines
from hell" problem.

I would LOVE to replace my javascript powered pages with a templating
language, and offer feature parity. But using a template language like Jinja2
for building component-based sites just doesn't work as well, unless I'm
missing some magical secret sauce.

This is mostly for B2B web applications. I work on a lot of analytics
dashboards that are pretty data dense. Even with react though, my sites never
go over 400kb on load.

Okay, essentially my question is: what templating language/server framework
can replace react, jsx, and graphql for webapps? I really want something like
that.

~~~
yorwba
I'm not sure I understand your requirements, but couldn't you just use JSX as
your templating language and render React server-side?
[https://stackoverflow.com/questions/25777931/server-
renderin...](https://stackoverflow.com/questions/25777931/server-rendering-
react-js-on-a-static-website)

------
Konnstann
I generally agree with the author's statements, but the analogies to cars and
doorknobs to me were just inaccurate. There are a number of reasons why you
want round doorknobs instead of levers, one of which is security, as levered
doorknobs are trivial to turn from the outside of the door.

Secondly, just because everyone has access to every website on the internet
does not mean you need to build your website for everyone. If someone says
their website is targeted at a specific group, they build it for that specific
group. You wouldn't tell a formula 1 engineer to raise the suspension on the
car he's building so it can clear speedbumps in the parking lot.

Again, The core concepts of the article are common-sense, but the tone and
specifics don't resonate with me.

~~~
SilasX
>I generally agree with the author's statements, but the analogies to cars and
doorknobs to me were just inaccurate. There are a number of reasons why you
want round doorknobs instead of levers, one of which is security, as levered
doorknobs are trivial to turn from the outside of the door.

Wait, what? I can't find anything about door levers having this kind of
security risk. This kind of sounds like voodoo security where "worse UI =
better security, because fewer thieves know how to use it".

>Secondly, just because everyone has access to every website on the internet
does not mean you need to build your website for everyone. If someone says
their website is targeted at a specific group, they build it for that specific
group. You wouldn't tell a formula 1 engineer to raise the suspension on the
car he's building so it can clear speedbumps in the parking lot.

Sure, but most sites aren't narrowly targeting people who can see and who have
the latest hardware as part of their core reason-for-existence. News sites
certainly aren't, and yet their mobile and screenreader experience is cancer.

~~~
Konnstann
>Wait, what? I can't find anything about door levers having this kind of
security risk.

I specifically remember this talk:
[https://www.youtube.com/watch?v=rnmcRTnTNC8](https://www.youtube.com/watch?v=rnmcRTnTNC8)

at around 18 minutes in he shows one of his employees(?) use a long bit of
wire to pull the lever and open the door in a matter of seconds.

~~~
SilasX
He shows the _result_ of it, yes, but it's not that easy to have a wire go
through a small hole and reach up to grip something and pull. Most outside
apartment gates operate on that assumption.

~~~
Konnstann
There are a handful of videos where other pen-testers show the process from
start to finish, and the space needed to get the wire through is not as much
as you think.

~~~
SilasX
Getting the wire through isn't the problem, it's controlling it afterward. Not
surprisingly, the 90 minute video you linked didn't find time to show that
part.

------
arkades
The last time this went up, someone made a comment about disabilities being
relatively rare. I wanted to add a point here:

In the United States in 2015, 11 percent of noninstitutionalized adults
reported having a disability (National Council on Disability (NCD). The
Current State of Health Care for People with Disabilities).

Disability in mobility and in cognition were most frequently reported (5
percent). Data from the 2009 to 2012 National Health Interview Survey found
that 11.6 percent of United States adults 18 to 64 years of age reported a
disability (defined as serious difficulty with hearing, vision, cognitive
ability, or mobility [walking or climbing stairs]).(MMWR Morb Mortal Wkly Rep.
2014 May;63(18):407-13.)

That makes disability more than 5x more common than being a natural blonde.

------
guscost
This whole conversation baffles me. The web is a sloppily-evolved designed-by-
committee sofa-bed, nobody will ever feel completely happy with it, and it
shouldn't be any other way.

Most of the time I work on "web applications", where the difficult part is
managing the _necessary_ complexity of the domain model and the user
interfaces. JS and framework-happy architecture isn't perfect (not even
close), but adding constraints like "the application must weigh less than a
megabyte" or "the application must provide basic functions (?!) without
JavaScript" turns what can be a fairly serious project into a clown-car
pileup.

There's a faction of web people who want web applications to compete feature-
for-feature with native apps. I'm closer to that camp for historical reasons,
but I also understand that compromise on application features is completely
worth it if the benefit is an (even partially) "open" platform for
applications to build on.

But then there's this other faction of HTML purists who see the "true" web as
necessarily document-based, declared with markup, typeset with CSS, and
compatible with absolutely every computer system of the past 30 years. This
makes perfect sense if you work for a magazine and see the web as a platform
for open (and often static) content, and I'm sure some of them do understand
the difficulty and the value of compromise, but I _never_ hear that.

So now it's 2018, the "beat native apps" camp and the "documents for all" camp
talk past each other through the years and nothing really changes. Maybe some
people are in _both_ camps and suffering from cognitive dissonance, who knows.

But there are good reasons why web applications don't do what Photoshop does,
and good reasons why Photoshop doesn't even try to provide copy-and-pasteable
URLs for every unique application state. There are good reasons why "serious"
declarative application frameworks (like XAML) are a terrifying mess, and good
reasons why building a CMS from scratch in C++ would be insane.

------
falcolas
This starts off a bit get-of-my-lawn, but is a fantastic article with some
very important points. Do yourself the favor of finishing it.

------
amelius
Regarding the invention of the internet, they should have mentioned:

[https://en.wikipedia.org/wiki/Minitel](https://en.wikipedia.org/wiki/Minitel)

------
throwaway_98554
Dear old lady shouting at clouds,

The web is not about me. But the websites I create are not for everyone. They
are for my users.

My users are professionals, on desktop, with a mouse and keyboard.

Knowing who are my users allows me to do better design. I make the best
experience for THEM. Not for you, nor for all your friends using different
hardware.

It doesn't mean I don't care about loading time or how things are displayed on
the screen. It means I do so knowing in which environments it will happen. And
yes, it might means you will be excluded.

~~~
saagarjha
As the article mentions, what you’re really saying here is that “my website is
not for poor people, or disabled people, or even people who are trying to kill
some time before their bus arrives”. Is discriminating against these people ok
with you?

~~~
lostgame
>> My users are professionals, on desktop, with a mouse and keyboard.

>> Knowing who are my users allows me to do better design.

>> I do so knowing in which environments it will happen. And yes, it might
means you will be excluded.

Obviously the poster here is more than okay with this. They're explicitly
stating it will happen, and it's part of the plan.

The problem is when it's not part of the plan.

Imagine the author is writing an internal web tool for a corporate enterprise
environment.

Imagine all of those computers and devices are standardized, and the software
will only run on these devices on an intranet.

The previous poster's point is valid here. We know the users, the users are
professionals, we know who they are, and we know what environments we'll be
deploying in.

Therefore, of course, beyond accessibility, of course the poster wouldn't care
about people trying to kill time before the bus.

~~~
IggleSniggle
Exactly this. I would even hazard that the majority of developers are working
on things for intranets in a narrow corporate context where, if it can run on
non-standard gear, that’s an added liability with no significant business
benefit. Businesses are only moving away from their decade old Flash and “IE
only” web apps because the marginal security risk combined with maintenance
burden has begun to outweigh the costs of new development.

------
vinceguidry
The end result of this line of thinking is software guilds. Professionals
being more accountable to their guild than to their boss. And the guild
deciding who can and can't be a programmer.

It gets worse. In order to deliver on those promises, the guild now has to
decide what framework to use, which UI elements are worthwhile. We're
politicizing our jobs, and the only way to solve political problems is with
government. Enter the web programming guild.

~~~
brianjcohen
The flip side of this is: currently, most engineering fields require you to
have some kind of professional certification (eg. a PE) from an industry
"guild", eg. the ASCE. Software engineers don't really have a functional
equivalent. We demand that professional engineers build our bridges, but we'll
pretty much let anyone build our software. At some point, changing that may be
the responsible thing to do.

~~~
vinceguidry
I'll be the first one to get my guild card, but I really hope we think this
thing through.

------
techopoly
Why do developers always get blamed for the state of everything? Developers
love creating efficient, optimized solutions. Developer happiness is rooted in
a feeling of fulfillment that comes from creating a good product.

There are many parties involved in designing the web, and developers aren't
typically viewed as the subject-matter experts on how the UI of the web should
work -- just on how to implement what's already been decided.

~~~
lexicality
Do they? I know several developers that love crafting incredibly intricate and
clever solutions that show off how good they are at functional
programming/algorithm design etc.

One place I worked at had an API with an "unfixable" 120ms delay on every
request that persisted until someone ripped out the beautiful ORM system and
replaced it with 3 SQL queries.

~~~
techopoly
You're absolutely right, many developers seem only to want to pigeon-hole a
particular use case into the newest framework or technology they want to
learn. I guess it depends on the developer.

------
crimsonalucard
>It is this flirty declarative nature makes HTML so incredibly robust. Just
look at this video. It shows me pulling chunks out of the Amazon homepage as I
browse it, while the page continues to run.

This is actually really really bad. HTML renderers should have been designed
to immediately fail when incorrect. This allows developers to more easily
write correct and robust code rather than making the browser be robust. If the
web were designed this way, you'd have a world where only correct html is
written.

Also its not like we are not engineering a war machine here. Machines like the
warthog are designed to keep functioning when components are destroyed. This
is not necessary for html as we are not sending our html into a war zone.
Sections of your html are not actively being removed/destroyed by users.

The author later compares html to javascript. Seriously. Javascript is a whole
different ballgame. Javascript is bad because there are many hidden states of
failure that aren't apparent. In HTML there are only two states, failure or
success. If HTML failed as soon as it's incorrect, you will know immediately.
Nothing is hidden. In javascript, incorrect logic can lay buried until a
specific use case is hit.

That being said, he mentions stuff about the pyramid model for the web which
is fine. I can agree with having javascript as the tip of that pyramid.

~~~
lostgame
>> If the web were designed this way, you'd have a world where only correct
html is written.

You'd also potentially be looking at a web that is far more unstable and
crash-prone if you essentially treated a browser like a compiler or the like.

~~~
crimsonalucard
The creator of the html page will typically look at the website before he
publishes it, so unlikely that someone will publish incorrect html code. It's
not like html has branching logic so there's no hidden crashes, everything is
explicit similar to the safety you get with type checking.

javascript is actually bad for the same reasons. It tries to correct your
mistakes by doing type coercion making a null + 1 + 'blah'= "null1blah"

------
purple_ducks
> Despite what Tim Berners-Lee claims, the Web wasn't a single invention 1.
> Yes, we know that one man says that he invented it (grudging thanks to Tim),
> but he did so on the back of a thousand other technologies

He got that right.. Wish the media would do the same

------
potatoman2
"orangefuckface@whitehouse.gov" \- that's really not necessary now is it?

------
revskill
Most of projects are shitty. Because devs are failed at reusing abstractions,
which lead to increasing complexity as project grows. Reusing abstraction into
useful libraries is what devs should do, not features implementation.

------
EastSmith
Dear writer, I am forwarding this to my product lead, and going back to Jira.

------
kobrad
Excellent talk, and we need more of this. Look at downloading and image
instead of installing something on a raspberry pi. Next thing I expect is
needing docker to install a calculator.

------
phponpcp
Sheesh the format of this article is dreadful.

------
rocky1138
Clickbait title, but I'll support anything that encourages empathy toward
users.

------
JohnFen
Hear, hear!

------
PavlovsCat
from
[http://slashdot.org/comments.pl?sid=5025417&cid=46736661](http://slashdot.org/comments.pl?sid=5025417&cid=46736661)

> The internet was our garden. And a beautiful garden it was. Sure, some fed
> agency created it, but let's face it, they used a fraction of the lot and we
> didn't really care for their supersecret bases they had littered about.
> There was so much empty space in between! And that lot we cultivated. We
> built a few nice trees and in their shadows we relaxed, we planted beautiful
> roses and yes, a few fruits and vegetables because, hey, it's always better
> if you grow it yourself. And ... heh, well, yeah, we had a few corners here
> or there where we grew that "special weed", ya know, but nobody really gave
> a shit, it was just us.

> We were pretty good gardeners. Well, you pretty much had to be in those
> days, if you didn't know your way 'round with rake and shovel, you didn't
> really get much out of it. Still, we were quite happy with it. So happy
> actually that we thought we should share that. I mean, there's so many
> people out there who don't even know just how great the garden is! And we
> invited them in. They looked around and, well, most of them didn't quite
> "get" it. Sure, it was nice, here or there, well, if you're into botany,
> that is, but it's kinda hard to get around and find your way through the
> jungle, and using a machete wherever you go, phew, hard work! But a few of
> them stayed. They didn't quite know what they do, but we handed them a few
> saplings and some seed and some actually managed to learn a thing or two
> about gardening. Sure, of course a few smartasses tried to steal our stuff,
> but we usually didn't have much of a problem to whack them with our shovel
> and get our stuff back. And, heh, yeah, we, too, went into each other's
> yards and played some pranks on each other, painted their roses black and
> the like, but it was all in good fun! And hey, they sure liked our ... ya
> know, "special stuff". They still had no idea how to grow it, but they were
> quite willing to help us share everything with everyone, as long as they got
> their share, too. And, well, why not, pass the blunt!

> That was about when the corporations noticed that, hey, where did all the
> people go? They took a look at the garden and they went batshit crazy. I
> mean, sure, we knew that it's great, but we never saw anyone go so insane
> about it. They saw it as the next big thing to make money with, and we
> laughed. Money? With this? Dude, you can't make money out of a system based
> on freedom and sharing! Everything in here is free. Yeah, in _both_ ways.

> True. You can't make money in such a system. Unless of course you change the
> rules. And changing the rules, they could.

> I can't help but think that this must be how the natives of the US felt
> after they were "discovered". Because we had to face that there are suddenly
> areas in what we considered OUR garden where we couldn't go anymore. Worse,
> something that was the staple of our culture, going to a guy who did
> something great and asking him for a sapling of his wonderful tree. Became
> anathema. Instead of you SHOULD imitate and build on top of mine, the new
> creed was you MUST NOT. This rule, of course, did only surface after they
> themselves took from our gardens what they could possible rake together
> quickly. You might understand our utter disbelief and of course outrage when
> we noticed that turnabout is not fair game.

> Well, we have had our share of trolls and nuisances before. Long before we
> already had to deal with people who trampled through our gardens or were a
> general pest. Our solution was simple, we took our superior gardening skills
> and whacked them from here to next week with our shovels 'til they either
> learned to play nice or left for good. This didn't work out so well this
> time. No, not because they had the better gardeners. But they didn't need
> to. They had a much more powerful weapon in their arsenal: The law. First,
> they ensured that the laws would benefit them, and then they used it against
> us. And despite how despicable it may be, we have to admit that it is quite
> efficient to have others take care of your battles, especially when you know
> that you cannot win a conventional war.

> And now we're sitting here in what's left of our once beautiful garden. The
> once mighty jungle has been tamed and civilized, what used to be interesting
> and a land for explorers is now divided into lots that you may buy instead
> of simply use. You can get there easier now... well, if you prefer using
> long winding roads to a direct route, but the long winding roads are
> necessary so you pass by all the billboards that block your view to what's
> really interesting. Of course you may not step anywhere, only where you're
> allowed to, and don't even think about taking anything, rest assured it's
> for sale, not free.

> So we're sitting here now, at the edge of something we once knew as
> beautiful and free. We're looking at it and we wonder what we did wrong.
> Where did we fail? And I can only come up with one solution for when we try
> something like this again: Don't invite the masses in. Keep it to yourself.
> It's the only way how you can really keep it. And the only way you can do
> without a camo net over your herb garden.

------
bobajeff
Seeing the responses to this post just further adds to my conviction that the
web is dead.

You can't rely on websites being futureproof or adaptable to different
situations.

You can't rely on content being accessable to everyone. Nor can you count on
content being available forever anymore.

Sites are blocked or throttled by ISPs and governments. Sites are expected to
censore they're content. Even search results are being censored.

You can't trust in even the most basic assumption of privacy or anonymity.
Everything you do is being tracked and sold.

So many social networks require your phone number. So many sites need you to
login or need your email.

It's all one big get rich quick market.

------
enlyth
Very negative and condescending article in my view. Why would you spend time
and money optimizing for a tiny percentage of users? Also they always
underestimate the amount of power you gain by using frameworks like React and
the amount of features and interactivity required when building modern web
applications.

I'm not going to spend weeks hand coding some progressive enhancement in
vanilla JS so some angry blogger can view my stuff in a console based browser
with no JS.

It's like these people think that developer time is an infinite resource. Old
woman yells at cloud indeed.

~~~
maze-le
>> Why would you spend time and money optimizing for a tiny percentage of
users?

I also didn't like the tone of the article. And some arguments were pretty far
fetched if you ask me. But this is actually a very valid point. Its not very
hard to optimize websites for accessibility -- but its almost never a hard
requirement except for government websites.

Oh and, one thing I found particularly interesting about this site:

\-------

90 requests

442.57 KB / 444.68 KB transferred

Finish: 4.43 s

~~~
jmull
Well, the page really loads in three requests, minus the images. It lazy-loads
the images and player afterward (and drops them into the page without
reflowing). It looks like the the images come in document order, too, so the
visible part of the page is fully ready to view, images, included, before all
the images load.

Something is a little screwy with the page though -- the main HTML page, which
is 27K, takes two seconds. Some infrastructure somewhere could be
running/configured better.

------
joshstrange
> people turning off JS (Yes people do this. Yes it's totally valid, and their
> right as a user).

Fine, and they can go somewhere else. I'm sorry but I'm not about to consider
this TINY percentage of users the same way I don't consider the TINY
percentage of people accessing sites I work on from horribly outdated
browsers.

The next sentence applies to web APPS, not blogs/news sites/etc.

People that say websites should gracefully fallback to non-JS web app when a
user accesses the website with JS disabled are crazy. FULL STOP. PERIOD. You
either end up dumbing down the entire experience for everyone OR maintaining 2
websites. Neither of which is financially sound for the vast majority of
companies/developers given the percentage of people who don't use JS.

~~~
eponeponepon
A similarly tiny percentage of your users are blind. Another tiny percentage
are dyslexic. How many different tiny percentages can you justifiably invite
to "go somewhere else"?

~~~
d357r0y3r
For a business, at least in the United States, this is basically a financial
projection problem. Unlike brick and mortar stores, there is no requirement to
make web content accessible to handicapped people.

~~~
rchaud
Why does their need to be a requirement? Making a website accessible to
individuals using screen readers is the right thing to do; it shouldn't need
to be mandated.

~~~
d357r0y3r
I'm not saying there does need to be a requirement.

Businesses are not charity. If it doesn't make financial sense to make their
website accessible, then they won't unless they're forced to. I'm making no
value judgments, this is simply the reality on the ground.

~~~
dotcode
> Businesses are not charity […] I'm making no value judgements

… except that you appear to adjudge a negative financial value to
accessibility compliance, when in fact the opposite is true.

