John Allsopp
Standards, Declarative Code, and Tape Decks, with John Allsopp
John has been building for the web since the early 90’s. With his timeless article, The Dao of Web Design, his book, Developing with Web Standards, and as co-founder of the Web Directions conference series, John has made a massive impact on the lives of designers and developers the world over.
Time Stamped Show Notes
0:51 – John came to the web from a computer science and software engineering background.
1:14 – In the early nineties, John developed a hypertext knowledge system. Whilst considering his options on how best to distribute the software, he realised that the internet would be a great fit. No publisher required, and no tiny royalties!
1:43 – At the beginning, John thought the web was a fad.
2:08 – The web was officially launched in 1991 but received a lot of criticism at the time. Users complained that links were one-directional, and that there was no centralised hub to see the links between documents. In fact, a paper proposed by Tim Berners-Lee (the man considered to be the inventor of the web) was rejected!
2:58 – What people initially saw as weaknesses of the web, actually turned out to be its strengths. One “weakness” was the fact that everything was freely available to everybody; even people who are not software engineers or programmers.
3:31 – Once John realised the power of the web, he started to develop courses, and CSS tools, training, and materials. In more recent years, his efforts have been focused on organising conferences where he helps “amplify the voices and ideas of other people”.
4:54 – John is interested in the way humans interact with computers and how this will evolve over time. He wants to see the current paradigm of “personal computing” broken down and become less text and screen-based.
7:43 – The idea of a computer as a bunch of apps with various features will change; our interactions will become much more contextual and unique to our individual conditions. Computing will become more and more a part of our everyday life. John gives two examples – cochlear implants, and technology that can predict the onset of a psychological episode.
8:55 – John believes that if you can programme in JavaScript and can use a web API, you can start tapping into the AI API’s of Amazon Web Services, Watson, or the Google Cloud Platform.
11:53 – “Debugging is a black art.”
12:57 – John tells the story of a single missing character in Fortran code and how it lead to an unmanned space shuttle exploding!
13:47 – When deciding what to put where on his daily todo list, John considers the task’s importance, as well as the times of day during which he is most productive. He finds that todo lists give him a sense of accomplishment and progression.
14:55 – “People who show gratitude tend to be happy.” John encourages his kids to reflect on one thing each day for which they are thankful.
16:08 – When making the transition from developing software to running events, John had to begin a completely new learning process.
19:19 – John is interested in using his expertise to gain better insight into the wants and needs of his customers so that he can tailor the Web Directions service to better suit them.
20:22 – John started programming using BASIC on a “pre-PC style” computer. It relied on a tape deck with audio cassettes in order to write programs.
20:57 – John came from a very traditional, imperative, object-orientated approach to programming. Only when the web came around was he exposed to the declarative approach.
21:29 – John found the idea of declaring what you want to happen, rather than how you want it to happen, revelatory.
21:57 – John thinks CSS is greatly undervalued. Whereas experienced React developers are in high demand, skilled CSS developers seem to struggle to find good positions.
22:29 – John believes Javascript developers would benefit from trying to understand the declarative approach of CSS and HTML.
Quickfire Questions
23:45 – Best advice about programming
“You ain’t gonna need it” (YAGNI). If you don’t need it, don’t build it.
24:15 – Habits for writing better code
A strange mixture of OCD and ADHD allows John to both drill down on the details and get them right, as well as make the disparate connections necessary for writing good software.
25:15 – Book
“Designing with Web Standards” by Jeffrey Zeldman
26:19 – Inspiring devs
Jason Miller, the creator of Preact. Not only is he developing interesting technology, but he is also great at articulating his thoughts on the web platform as a whole.
27:33 – How to learn to code from scratch
Pick a real-world problem and learn new technologies as you solve it.
29:42 – How to work smart
Implement the 80/20 rule. Determine what requires only 20% effort, but yields 80% of the results.
Tools, Tips, and Books Mentioned
“A Dao of Web Design,” by John Allsopp
“Developing with Web Standards,” by John Allsopp
The Web Directions conference series
Dijkstra’s books on software engineering
“Design Patterns: Elements of Reusable Object-Oriented Software,” by The Gang of Four
Axel Rauschmayer’s books on JavaScript
Kyle Simpson’s books on JavaScript
“Designing with Web Standards” by Jeffrey Zeldman
Contact John
Twitter: @johnallsopp