The tool divergence
It used to be that the platform on which most software was developed was also the one on which most of it was deployed—the personal desktop computer. As a developer you only needed one machine.
Now, the target deployment platform is an app for a phone or tablet. But you still need a big desktop machine to develop them.
The first effect of this development-deployment divergence is that it cements the new position of the desktop as a specialized factory machine.
But another effect is that it raises the barrier to casual hacking. In the PC age a kid who wanted to write software just needed to download a bunch of simple tools and was off running. But today that kid would need to setup a complicated toolchain on a beefy desktop. And that too in an age when they think of desktops as something quaint, and might very well not even have one, because their “primary device” is just their phone or tablet.
Even the term “primary device” probably sounds funny to them. Growing up if someone asked me what my primary device was I’d laugh at them because my PC was my only device and it was all I needed or wanted.
So here’s my wish—and challenge. Make it so that a young person who gets the urge can code and build something on their phone or tablet. I suspect it will be easier with the extra screen real estate on a tablet, but the big problem is the same. Make it so that some of that infinite interstitial time that their phone soaks up can be filled with programming. What if at the end of that Apple ad the teenager presented his family with a cool app rather than a movie?