Anything from stone tools to microchips seams to have to be covered by a definition of technology, and there are weird edge cases. Gene editing might have too much to do with biology and nature. Money seams to have too much to do with law and administration. Yet both gene editing and money seem rather technological. Engineering processes are clearly related to technology but they’re a lot more like rituals in that they have so much to do with defining roles and interfaces between people.
For the purposes of my writing, I will consider technology in the following way: technology bridges some physical phenomenon and a human purpose. Properties of materials, manufacturing techniques, simple machines, etc., if any of these are used toward human ends we may consider them technologies. This is likely an overly broad definition. But I think that’s okay because this simple conceptualization leads to some valuable insights about technology which may be extensible to other domains.
The Tree of Dependencies
Any technology is a combination of components. A component may be a technology in turn or perhaps a natural substance or phenomenon. The components of any given technology are its direct dependencies. The technology itself is a certain combination of those components which will have a certain complexity. The formulation as a combination of dependencies is much like an algebraïc expression relating variables or symbols.
We can recursively map out the combinations of dependencies for any technology. This yields a structure called a tech tree. People who play videogames are familiar with this concept. There is a similar “skill tree” concept. In games these tend not to be strict trees but rather directed acyclic graphs or DAGs. In real life, the tech tree is very difficult to idealize as a DAG. But we’re doing it anyway.
Each node in the structure corresponds to a formulation of a technology which describes how its components go together. A node has incoming links for any dependencies it has and outgoing links to technologies that depend directly on it. A terminal node corresponds to a terminal technology which fulfills some human purpose directly, like an app, product, or a device. Other nodes are only means to a terminal node. Examples include software libraries, parts for assembly, or chemical ingredients. Following dependencies all the way back leads us to the primitives of the tech tree.
If we imagine doing this for all technology, fundamental technological primitives might be related to wilderness survival or resemble neolithic tools whilst advanced technologies would include rocket engines and photolithography all organized into an enormous general tech tree. Depending on our reasons for considering the tech tree we can restrict our definition of technology by considering a particular set of primitives or perhaps a limited set of use-cases. Doing so yields a subtree which may be more interesting to us. For instance we may be interested in telecom and really don’t need much from plastics and composite materials.
Conversely you may be able to extend the concept of technology to cover other domains not ordinarily classigied as technology such as evolutionary biology or Earth systems.
Dynamics of Technological Formulation
Any node in the tech tree is a formulation of a technology which combines its dependencies. This combination can be trivially simple. For instance by simply grouping a set of dependencies together. An example might be grouping specific fork, spoon, and knife designs to create a set of utensils. A more complex formulation could be an elaborate system design with CAD files and procedures. Any technological formulation has a certain degree of irreduceable complexity. Much like an algebraïc expression that can only be simplified so much.
A formulation may include redundancies and elaborations for all sorts of reasons. Communicating to different parties of varying technical profficiency and interests, explaining a complex system at different levels of resolution to aid comprehension, allowing for flexibility in the design so it can be reused for variant technologies, maintaining backward compatibility with legacy technologies, future-proofing, compatibility with computing formats or editing tools etc.
Integrated vs Explicit Formulation
A node may be reduceably formulated. This means that you could take the formulation and replace it with formulations of sub-components and an appropriate high level design which organizes those components. We can evaluate nodes along an axis from modularity to integration. A technology is more integrated when it contains more in its formulation such that it is more reduceable. It is more modular if the tree structure is made explicit and nodes are less reduceable. A high level of integration in technological formulations is associated with high levels of redundancy in the tech tree. An example of this would be monolithic software applications. Instead of using a package manager and dynamic linking to share functionality, the apps reimplement redundant infrastructure and features.
Minimal Implementation of Functionality
There is another level at which technologies may be simplified. For instance a particular functionality might be achieved in an unnecessarily involved manner. This often occurs when industry standards compound on eachother simply because it’s the way things are done. For instance a particular network stack may be used or a particular application framework. But the end result would be a simpler more straightforward technology if it was simply implemented from the ground up so-to-speak. Sometimes this is refered to as “first principles” design. I don’t like the name because it ignores the philosophical challenge of identifying what “first principles” actually are. In terms of the tech tree this looks like the creation of a shortcut from lower level technologies to the desired functionality as needless aspects of the implementation are removed. In terms of our algebra metaphor, you can think of this as simplifying the expression.
Technological Progress
While it may be difficult to judge which technological developments constitute a net “improvement” because… well what does that even really mean — we know developments in technology in terms of the tech tree take on three forms.
The first is to discover new primitives to make use of. In the most general tech tree this has to do with discovering new physics. But you can create new primitives from the point of view of an electronics subtree by creating a new sensor, or in software you might come up with a new programming language.
The second is when an alternative means of achieving a particular functionality is found, i.e. an alternative path from primitives to the given terminal node. This may happen for different reasons. Probably the most common reason is to make something cheaper.
Lastly, you can grow the tree out toward new use-cases and functionalities that were previously unattained.
Technological Economy
A supplychain can be thought of as fulfilling the technological requirements of a particular design starting at the level of natural resource up to components and final assembly. Since we’re only thinking about tech we’ll ignore the transport, logistics, warehousing, and distribution aspects of supplychains.
In many domains standardized parts or methods allow for a whole breadth of use-cases to make use of the same “design vocabulary”. There are technologies that could not exist if it weren’t for the economies of scale provided by the common design language they share with other tech. For instance many niche applications may use the same versatile microcontroller even though any one of them may not use all its features. The micro can be mass produced and all the applications benefit from the production run. Otherwise, each company would have to individually make custom silicon and invest the overhead.
Inherent Technological Worth
Looking at technology as a dependency tree allows us to construct a metric of inherent technological worth. The depth of a particular technology in the tree, assuming the formulations have been fully reduced, indicates the inherent intricacy of that technology.
Technologies that have more dependencies can be thought of as more “liquid” in that a larger portion of the economy depends on them, which implies that a larger portion of the economy finds it valuable. Hence the concept of liquidity.
I would argue oil played the role of “most liquid” technological asset after the US moved off the gold standard. Hence why oil was considered the new gold and why energy companies are so dominant. Now data is the new oil. This would explain the surge of so-called “tech” companies. They’re not about generalized technology of course. They specifically deal in the lion share of economically relevant data. AI is thought to be useful for accelerating and optimizing all economic sectors which also explains the AI boom. But of course AI still depends on data. So in a way it’s not a fundamental change from where we already were.
Technological Relativity
The tech tree is a complex and intricate information structure. What happens when different parties have different accounts of the tech tree? Two views on the tech tree can differ in what they consider technological primitives. Two views can differ on the degree to which formulations are reduced or differ on which parts of their formulations are reduced. Two views can have differening but equivalent reduced subtrees. This is like how an algebraïc expression can have more than one fully simplified form. In other cases one party may be ignorant of a subtree which the other party has knowledge of.
The Politics of Knowledge
Intellectual property and trade secrets restrict access to parts of the tech tree. Certain military technologies and critical infrastructure may be kept secret for purposes of national security. In general, I recognize a tension between the strategic need for secrecy and a problematic dependency on technology providers. There is a kind of “open source” idealism that would morally require technologies to be entirely open to those who use them. I believe this ought to be the case for a core of medical technology, food products, and personal computing. These domains exhibit extreme dangers associated with hidden proprietary mechanisms. What we eat, how we heal, and what we think cannot be artificially kept a mystery to us while some powerful organization holds the keys.
Non Idealisms
Advanced technologies are used to optimize primitive technologies and extraction of natural resources. This creates loopiness that is not captured by a DAG.
There is no canonical “primitive environment”. Or if it existed once, it never will again seeing as humanity has irreversably changed the planet. Depending on your time scale you can even think of the fact that life has formed the mineral composition of the planet’s surface as a way in which our primitives are in flux. You’re always forced to consider a limited technological subtree.
The inherent complexity of a technology is not necessarily monotonically related to the complexity of consideration in the design. Multiple design iterations and an increased number of technical considerations can lead to a simpler design that’s more efficient to implement. The DAG necessarily implies some kind of limited design vocabulary. You’re not going to design a complex machine by mapping out every atom for instance. You might focus in on that level if you’re building a microchip, but not if you’re building a motor vehicle. Similarly even a mechanical part may have only a few geometric features, but there could be many real world reasons for the exact shape of that part. Reasons which are not captured by the CAD file. No matter how much you extend the file format and CAD software to account for new design considerations, there will always be design considerations that escape your current means of expressing technical ideas. I believe this is also why programming languages will always be in flux.
There are other forms of complexity such as in engineering process, that don’t have to do with the design directly and are not captured by the DAG. If a design is sufficiently complex, you may need a minimum number of engineers to coordinate just to understand it let alone make changes and validate those changes.
In any case, I still find it incredibly eye-opening to think about thechnology as a DAG. It helps me understand what kind of work is truly innovative, what kind of technical challenges are feasible to solve, where the world of technology might be headed etc.