Keynote at halfstackconf 2017 discussing the falsehood of the idea that in order to survive the automation evolution everybody needs to learn how to code. Machines can code, too.
People don’t always upgrade
like we’d love them to. This
means we need support old,
terrible ideas.
The legacy problem:
Browsers have to favour the
end user and protect them
from programmer mistakes.
Lazy developers see that as a
carte blanche.
The protect the user problem:
If how we do things isn’t as
appreciated as how fast it is
done, we find ways to
automate our work.
The development appreciation gap:
Writing Perl/CGI (1997 edition)
1. Get a client request
2. Go to Matt’s Script Archive
3. Download something
4. Change things until it resembles
what the client wants and stops
breaking with a 500 (chmod 777
if in doubt)
5. Invoice, hide under rock
We talk on dedicated
channels to those “in the
know”.
Fixing code…
1. Create an available version of your code
(codepen, gist, jsbin, jsfiddle…)
2. Go to Stackoverflow and post your problem
3. Abandon all hope of getting a straight answer
4. Get well versed in filtering out feedback on
various levels of dysfunctional human
communication
5. Find the answer in the maelstrom of “just use $x”
or “well, actually…”
Fixing code (pro edition)
1. Go to Stackoverflow
2. Describe your coding problem with an
obviously wrong solution and call it a best
practice
3. Get popcorn
4. Follow the moshpit of ideas and biases
5. Find the one good solution that crops up
Our users* have much more
capable devices with higher
computation power than in
the past.
A changed world:
* The affluent and local ones our investors and our sales and marketing departments care about.
The technologies we have at
our disposal are complex and
have higher computation
demands.
A changed world:
We now have a larger
distance between code
creation and execution, with
optimisation steps in between.
Rolling with the punches:
The business demands on our
creations are about fast
delivery and constant
innovation. This demands re-
use and automation.
Rolling with the punches:
With increased complexity
and demand, any software
product will sooner or later
use pre-built components.
The natural software evolution:
More tools and processes
to strip the overhead
before shipping to the end
user.
The digital hoarding solution:
This flows over into the
design space. Style
guides, pattern libraries.
airbnb.design/sketching-interfaces
We built an initial prototype using about a
dozen hand-drawn components as training
data, open source machine learning
algorithms, and a small amount of
intermediary code to render components
from our design system into the browser.
“
We built an initial prototype using about a dozen hand-drawn
components as training data, open source machine learning
algorithms, and a small amount of intermediary code to render
components from our design system into the browser. We were
pleasantly surprised with the result:
airbnb.design/sketching-interfaces
We built an initial prototype using about a
dozen hand-drawn components as training
data, open source machine learning
algorithms, and a small amount of
intermediary code to render components
from our design system into the browser.
“
airbnb.design/sketching-interfaces