I grew up alongside three technological cycles:
- the cycle of the desktop computer, starting with the Tandy TRS-80 for me,
- the cycle of the cell phone and smartphone, and
- the cycle of the Internet.
That’s three enormous technological leaps in the span of twenty or so years. Children today are growing up in a world where all three are simply accepted as normal.
If that doesn’t make you feel old, keep reading.
Despite what it seems, the leaps in technology seem to be reasonably spaced out. I’m taking arbitrary endpoints here, but if you look at
- one of the first mainframes, the IBM 701, introduced in 1952
- one of the first desktop PCs, the HP 9800, introduced in 1972
- and one of the first smartphones, the IBM Simon, introduced in 1994,
these advances seem to occur every twenty years or so. Every twenty years, software developers need to shed their prejudices, and evolve, otherwise they get swept away. There’s something to be said for the one COBOL programmer in 2013, who is paid handsomely for the privilege of keeping the aging HR/billing/air-traffic-control machine alive, but these are anomalies.
We had the mainframes. Then the thin networked clients, the teletype terminals. Then the desktop PCs. Now we’re in this hybrid area. Some companies are betting on the web, moving standards forward, creating immersive web applications, polishing the user experience. Some companies are betting on mobile. They’re both thin clients of a sort. They both sit at the tail end of a network node. They’re both useless without a network connection.
The platform we develop on, the PC, is less and less part of the current technological cycle. I’m a child of the PC era. It’s where I develop, and where I see the fruits of my labor. But it’s starting to make less and less sense.
We’re about twenty years after the first smartphone.
The web as platform is facilitated by the web as development platform.
The mobile as platform is facilitated by the mobile as development platform.
Microsoft ditched us for Windows 8. Apple ditched us for iOS. We have dedicated gaming machines, dedicated media machines. The average person doesn’t need the incredible power a desktop offers. The average person can survive with an iPad and an iPhone.
It doesn’t make sense to use these big, clunky, archaic machines to write software. It divorces us from the product.
Apple doesn’t allow apps that download or run executable code, but that hasn’t stopped a small industry of iPad-based IDEs from cropping up. How many iPad apps are being written on an iPad today? How many will be written on an iPad next year? The year after that? I have a feeling that number is going to start going up and up.
You don’t need to store your code on your desktop. You can keep your source control in the cloud. You don’t even need the power of a desktop to compile your app. You can build in the cloud. So why are we still writing web apps and mobile apps on desktops?
Are we just not paying attention? Are we going to be the next dinosaurs?