At An Event Apart in Seattle WA, Jeremey Keith discussed the inherent assumptions and principles behind the evolution of technology. Here's my notes from his talk: Evaluating Technology
- Via DNA code, we get every lifeform on planet Earth. Everything shares the same codebase. Looking at the diversity of life, you see some commonalities between life forms: specialization, ubiquity, cooperation.
- Natural selection is a slow process but tool selection moves faster. Technology gives us a leg up on the slow process of evolution.
- Technology surfaces similar trends. Pencils are specialized, ubiquitous (they are everywhere), cooperation (a pencil is made by groups/trade of skills). This is generally the way with technology, you can't do it alone. It requires us to work together.
- Human being makes a technology, and that technology augments the human. In the 20th century, though, we added software: a middle layer between the hardware and the human.
- These days, the software is becoming more important and hardware almost begins to fade into the background.
- At the root of the World Wide Web, was a need to allow people to collaborate across lots of different types of hardware.
- Industrialization to electricity to computers to internet to Web. All of these things were probably inevitable but their specific shape was not. Smartphones were likely to emerge but the iPhone was a specific invention/form created by specific people.
- Creating a technology is easy, getting people to use it is the hard part.
- People are allergic to change -Grace Hopper. You can try to fight it or work with it -don't try to change people's behavior but try to build on top of it.
- The Wold Wide Web was built on top of DNS (URLS), HTML (SGML), etc. This allowed people to start using it more easily.
- HTML requires you to build on top of what came before them. This is part of the design principles for HTML. Your goals influence your principles, which impact the patterns you use.
- How well does a technology work? Instead think about how a technology fails. Service workers, for example, fail exceptionally well -they only work as an enhancement. Web components, on the other hand, can fail badly or fallback gracefully depending on how you use them.
- The extensible Web exposes the building blocks (low-level APIs) of the Web to developers so they can create new services.
- Naming things is powerful: the extensive web, ajax, responsive Web apps, and now progressive Web apps. Most of these terms just bundle existing technologies together with a new label. PWAs are just https, service worker, and a manifest file.
- Who benefits from technologies? Developers or users? Service workers benefit users more than developers (lot of work to set up). Some tools sit on your "computer" (version control, pre-processors, build tools, etc.) these are inward-focused tools. Find what you like and use it. Other tools are outward-facing; they directly impact the end user. Tools like jQuery, bootstrap, etc. need to be downloaded; there's a cost for users.
- The fallacy of assumed competency: deciding to use something because someone else is. Often happens when people copy what other companies are doing. "Not invented here" is the other fallacy. You need to balance these.
- All computers are abstraction, all the way down.
- All software have assumptions. Find a technology that matches with your philosophy, this will allow you to work better. Otherwise, you'll butt heads.
- Maybe technology has a will, a desire. When mankind moved form being a hunter/gatherer to farming, people could not picture what was on the other side of that event horizon. We may be on the edge of a third one with the information age.
- No technology has ever gone extinct. Everyone is still used somewhere in the World by someone. Things may be inevitable, but we have the power to control the direction those technologies go. Ask questions: how well does it fail? Who benefits? What are the assumptions?
- Technology is a history of the people who made it. It's not "here's the future, take it." It's "here's the future make it."