Progressive enhancement and the things that are here to stay, with Jeremy Keith
Jeremy is the founder of ClearLeft - a passionate group of UX and digital strategists based in the UK - where Jeremy now heads research and development. He is the author of a number of books on web development, including his latest book, Resilient Web Design, has been seen on stages like An Event Apart and South By South West, and is also the creator of the world’s first Science Hack Day.
Time Stamped Show Notes
1:00 – Jeremy plays in a band in Brighton called Salter Cane. He also enjoys traditional Irish music and goes to Irish music sessions with his mandolin in tow.
1:42 – What excites Jeremy most about development is when he can accomplish something that makes somebody’s life easier and improves their day.
3:11 – Jeremy discusses the difficulties of the contradicting goals among the various parties involved in a web project; namely business, designer, developer, and user goals.
3:37 – Jeremy uses the example of an e-commerce site to demonstrate how tricky it can be to balance competing goals. For example, if the designer only cared about the user’s experience, everything in the store would be free! However, this is obviously not in line with the business goals.
6:22 – At the time, only a few other companies were focusing on user experience. Adaptive Path in America was one of them.
8:38 – Jeremy thinks design sprints work well. Clearleft blocks out a few days for a group of people to be fully committed to solving a single, defined problem.
9:21 – Clearleft uses roughly the same sprint structure as the five-day model advocated by Jake Knapp and Daniel Burka of Google.
10:56 – Jeremy likes the intensity of a sprint as long as it’s followed by a break. He advises against doing design sprints back to back.
11:16 – Clearleft works with two different development mindsets: a production mindset, and a quality mindset. The production mindest is for transient products like prototypes, whereas the quality mindest is used when creating production-ready code.
12:54 – Don’t get attached to prototypes and never evolve them into the finished product. Throw the prototype away once it has answered the question, “will it work?” From there, build the product from scratch using the quality mindset.
17:38 – It’s easier to write code than it is to convince someone to change their mind. “Computers easy; humans hard.”
18:16 – Jeremy admits to being an awful procrastinator. However, he says it sometimes works in his favour as he often comes across useful content for his blog whilst “goofing off on the internet”.
19:53 – Jeremy has an “inbox zero,” but only because people know not to email him and because he archives his mails!
20:12 – Jeremy mentions Jessica Hische’s term, “procrastiworking”. Jessica believes that, “the work you do while you procrastinate is probably the work you should be doing for the rest of your life”.
21:01 – Jeremy gets frustrated by the sheer number of development tools available. Whereas before you could just open up the text editor, save some html and CSS and build something that works, now you have to set up a build chain, NPM, Webpack, Grunt, Gulp, Unicorn etc.
21:58 – Tools are supposed to help you work faster. If you find yourself spending more time on the tool than actually doing the work, then it’s not really a tool at all.
22:26 – In a talk by Anna Shipman, she suggests thinking of your servers as cattle as opposed to pets. Jeremy likes this advice. Don’t get too attached to your servers or to your tools.
23:03 – Frank Chimero says that working in the web over the past two decades doesn’t feel like twenty years. Instead, it feels like five years done four times over because of how often devs have had to overhaul their way of working.
23:47 – Although tools and approaches in the industry are often transient, Jeremy is convinced that progressive enhancement is here to stay. Persistent principles like this are what get him excited about development.
24:55 – Jeremy is excited about service workers and how they lead to faster sites, offline capabilities, and in turn, an improved user experience.
31:48 – Progressive enhancement starts with the lowest common denominator – the simplest technology to accomplish what the user needs to do. Jeremy says that the trick is not mess it up as you layer elements on top.
35:01 – Although progressive enhancement focuses on technology rather than the user, the result is often a much improved user experience.
35:38 – Best advice about programming
Jeremy agrees with Hemingway’s advice: “write drunk, edit sober,” as well as Anne Lamott’sconcept of the “shitty first draft”. When writing, get everything out of your head first, then go back and edit later.
36:49 – Habits for writing better code
Feed your brain effectively and you’ll produce better work.
Although Jeremy believes that “produce more than you consume” is great advice in general, he says it depends on the type of material you expose yourself to.
38:51 – Book
The “A Book Apart” series. Jeremy thinks it’s terrific.
In 2017, Jeremy didn’t read any two fiction, or any two non-fiction books back-to-back. He believes fiction gives you a kind of empathy that non-fiction doesn’t.
“A Dao of Web Design” by John Allsopp. Although it was published in 2000, the ideas in it are still relevant.
41:05 – Inspiring devs
Harry Roberts, Sarah Soueidan, Sarah Drasner, Jen Simmons, and Rachel Andrew – not only for the great work they’re doing, but for the fact that they’re sharing it too. To Jeremy, this is what’s great about the spirit of the web.
Alice Boyd-Leslie, Zara Syversen, Amber Wilson, and Cassie Evans for the amazing work they do at CodeBar in Brighton. CodeBar is a great initiative for introducing a more diverse range of people into the world of building for the web.
44:07 – How to learn to code from scratch
CodePen, Glitch, GitHub, John Duckett and Shay Howe’s books, CodeBar: Being in the same physical space as somebody sitting down with someone who’s going to show you this stuff is going to help you.
46:32 – How to work smart
Share what you know.