In the past, GDP and resources use have always been tightly correlated. But this is just drawing a line through some data — it’s not based on any deep theory. And in fact, these correlations can change very quickly. Just as one example, here’s energy use versus GDP since 1949.
If you were sitting in 1970, you could look at this curve and claim, very confidently, that economic growth requires concomitant increases in energy use. And you’d be wrong. Because the trend is your friend til the bend at the end.
This is a famous picture by the artist Imperial Boy (帝国少年), who works in the anime industry. I sometimes claim that the entire genre of solarpunk is simply a riff on this picture.
If it’s not just “trees on buildings”, where does the Imperial Boy picture get its magic? Looking at it carefully and trying to analyze what I like about it, I think that much of it is about architecture, and even more of it is about the use of urban space — about how the structures in the picture shape the kinds of things you’d do if you were there. For example, here are five things I like:
The bipartisan deal contains a pot of money to repair America’s roads and bridges, and build a few more besides. This is the way we usually do infrastructure in America. First we build a ton of roads and bridges that are highly expensive to maintain, especially with our ruinously high construction costs (see this recent article by Jerusalem Demsas). Then, because costs are so high, we wait for a long time to repair the roads and bridges, until civil engineers start screeching, roads get potholed, and there’s a bridge collapse or two. Then we muster up the political will to throw the requisite shit-ton of money at the problem, the potholes and weak bridges get repaired for twice the amount it would have cost had we done it on a regular schedule and three times the amount it would cost if we were a normal rich country. And the whole cycle begins again.
Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials.
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want. Any incompatibility with the original system concept is either ignored or passes unrecognized, which renders the design more complicated and its use more cumbersome. When a system's power is measured by the number of its features, quantity becomes more important than quality. Every new release must offer additional features, even if some don't add functionality.
Customers have trouble distinguishing between essential features and those that are just "nice to have." Examples of the latter class: those arbitrarily overlapping windows suggested by the uncritically but widely adopted desktop metaphor; and fancy icons decorating the screen display, such as antique mailboxes and garbage cans that are further enhanced by the visible movement of selected items toward their ultimate destination. These details are cute but not essential, and they have a hidden cost.
/
Increased complexity results in large part from our recent penchant for friendly user interaction. I've already mentioned windows and icons; color, gray-scales, shadows, pop-ups, pictures, and all kinds of gadgets can easily be added.
A customer who pays—in advance—for service contracts is a more stable income source than a customer who has fully mastered a product's use.
Customer dependence is more profitable than customer education.
What I find truly baffling are manuals—hundreds of pages long—that accompany software applications, programming languages, and operating systems. Unmistakably, they signal both a contorted design that lacks clear concepts and an intent to hook customers.
Initial designs for sophisticated software applications are invariably complicated, even when developed by competent engineers. Truly good solutions emerge after iterative improvements or after redesigns that exploit new insights, and the most rewarding iterations are those that result in program simplifications.
Evolutions of this kind, however, are extremely rare in current software practice—they require time-consuming thought processes that are rarely rewarded. Instead, software inadequacies are typically corrected by quickly conceived additions that invariably result in the well-known bulk.
Time pressure is probably the foremost reason behind the emergence of bulky software. The time pressure that designers endure discourages careful planning. It also discourages improving acceptable solutions; instead, it encourages quickly conceived software additions and corrections. Time pressure gradually corrupts an engineer's standard of quality and perfection. It has a detrimental effect on people as well as products.