Standards, Declarative Code, and Tape Decks, with John Allsopp
- 23 - John Allsopp Larry Botha 31:17
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.
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.
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
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
- Amazon Web Services Machine Learning API
- Watson AI API
- Google Cloud Platform AI API
- Web Directions
- Dijkstra’s books on software engineering
- “Design Patterns: Elements of Reusable Object-Oriented Software,” by The Gang of Four
- “Designing with Web Standards” by Jeffrey Zeldman
- Tim Ferris
- The 80/20 Pareto Principle
- Twitter: @johnallsopp