Do you remember when computers were fun to explore? Perhaps you've always thought computers were fun to explore, but there was a time before the Internet at the dawn of personal computing when people were excited at the potential of computers. Surely, they've probably exceeded most of our expectations today, but at the same time ... it's different. Did we get what we hoped for? Do we still get hope from computers now?
Today, we think we know computing. We've seen it, we've used it. It's all around us, right? One difference today is we don't think about what computers can do for us as much as we think about what companies can sell us. Commercialization of computing has brought us near ubiquitous computing, but at the same time it has, on the whole, slowly eroded and obscured that true generative potential of computing as a tool for people, collectively and individually, to advance.
I should say that I'm mostly talking about software. Software is what's eating the world. We've got the hardware down. We have more computing power in our pockets than what was needed to get us to the moon. What have we been doing with that power?
Even as software developers, when was the last time you were able to program this tool-that-can-become-any-tool to improve your life? Perhaps even just your work life! If you have a modicum of creativity, you've probably imagined either fun projects or perhaps an ideal workflow or tool for work. Did you try building it? Was it easy? Or maybe you haven't even thought of such an improvement ... why not? One strong possibility: you've not been given the building blocks that would inspire the idea that you could build something like that easily enough.
Remember that saying "there's an app for that?" It's often true, but not always, and when it is, was it really what you wanted? Did it really solve your specific problem? If it did, what else did it do that you didn't need? Not surprisingly the most popular apps and tools we use are social. I have nothing against social software, but I'd argue that social software uses social as a crutch. Software that lets you connect and interact with people will always have value. You don't even have to try very hard, remember MySpace?
But I'm not talking about technical achievement or how beautiful the code is or some shit. I'm talking about tools that improve your life. Tools that help you do more. Help you be more by what you accomplish with them. Does Twitter really improve your life?
Doug Engelbart is known for inventing the mouse, but he actually pioneered most of modern computing. His work was quite deep, and although some have joked about what Silicon Valley will do when they run out of his ideas, from my perspective they haven't even scratched the surface.
From 1960 until he passed a few years back, Doug has been saying, "The complexity of the problems facing mankind is growing faster than our ability to solve them. To improve our collective ability to solve the world’s problems, we must harness the immense promise and power of technology."
He believed computing was the means for this promise. My point is that we think we know computing, but we don’t, really. We know a version of it that has mostly been packaged up and sold to us. I believe we can get more out of what we have if we can just imagine it. A tool that can become any tool is nothing less than an imagination compiler.
Latest comments (23)
Off-topic - is your progrium.com domain down? Link is dead for me.
Yes it is. :'(
Rust seems to be going against this trend.
Most importantly, it's a joy to use, and the tradeoffs that still exist are tradeoffs for more than just performance, such as correctness.
And what's better than correctness? :)
Hyperfiddle is an application builder built on horizontally scalable, immutable, hyper relational primitives
It's the biggest breakthrough I've seen since meteorjs, in a web environment that feels lacking in imagination
I remember as a kid using a computer was this amazing experience and now as an adult a computer is a tool to get things done. It would be great to get back to that feeling of awe and wonder about the possibilities of what could be done with a computer.
I almost never actually build the app that scratches my itch, even when it feels fully formed in my mind. Somehow it just feels too difficult. Was it easier once? So much configuration and boilerplate and so many decisions to make before the first line of code is even written. The thought of getting started is usually enough to make me settle for the close-enough app I can download. I'm not sure how I feel about it.
Jeff, your article hit a home run for me. I love the comparison you used in the last sentence - "A tool that can become any tool is nothing less than an imagination compiler". I've never been much of a hardware guy but over the last year, I found myself gravitating more and more to IoT and embedded systems. This has very little to do with my day-to-day job but I just want to understand how it all works. There's been an itch I felt that over the last 10 years of programming I haven't made anything that would be useful for me or people close to me. I want to build something for myself, my family and my small business.
Your article put it into words much better than I could. And it threw me into a deep reflection.
Thank you, and have a wonderful day.
I can relate very much to the feeling, that somewhere along the way something fundamentally changed in the field of computing.
I suspect, the reason for this and my inability to really pin it down, has something to do with a fundamental problem of grasping exponential growth. And that outlook also might be a generational experience. I started out with a then (1995) outdated 80286 (for which my uncle had no use anymore). And for the next years, each successor machine I owned more than doubled its immediate predecessor in clock speed and memory etc. But Moore's law has reached saturation a few years ago and neither the number of cores, nor the clock rate increased significantly, and frankly I stopped bothering.
I have more than once wondered, what would have happened if I had entered the field when the plateau was already reached. Had I ever gotten into programming, if it had not been a necessity to do anything really fun with my first computer?
Commercialization, as you rightly pointed out, is a double edged sword. Computers now are a commodity, or a utility even, more akin to electricity and water than to most physical products. It managed to lower the barrier to entry and raise it at the same time, because the industry found it to be more profitable to lure users into a permanently locked-in & vendor-dependent, albeit comfortable, position. It transformed what was a maker culture to a consumer culture.
Everybody in this community is firmly on the maker side, which also places us firmly and probably permanently in an absolute minority position. The majority is not to blame for lacking perspective, because we, as a field and an industry, have worked hard to create a silo. We are still, with the words of Bob Barton, the high-priests of a low cult. Call me naive, but I don't give up on the thought, that better ways of thinking about and doing things are still to be discovered.
"Imagination Engineer" is now my new job title. Thank you.
Great post!
I strongly agree that the majority of people hardly use the potential power of the devices they own and the software they have access to. We have to take into consideration that a big part of consumer software isn't doing anything innovative as much as it is putting technology that has existed for years into the hands of people who up to now have been incapable of using it due to lack of technical knowledge.
Think about that pesky Winrar. There's nothing that software does that we cant accomplish for free using open-source tools. What we end up paying for is that UI that wraps all the complicated (yet free) tools that do the actual work.
The fact that Apple is the "in" computer company is evidence that people would rather pay for bells and whistles over functionality. You can get a computer of equal specs for half the price if you plan on running Linux or BSD instead of Mac OSX bloatware but the Mac comes with an artist quality screen and Apple exclusive software (as in yes, please, make me pay extra to get locked in). Most people wouldn't be able to build a better computer if they tried due to lack of knowledge.
Having been born with Linux installed and not owning a Mac until I was already a man, having absolute control over my system and my tools is more important than the flashiness of my window minimizing animation.
Came for the nice Commodore 64 images, got a great article instead.
Great article Jeff.