TL;DR – Algorithms and logic should part of the K-12 education. We need colleges to churn out more computer scientists, and fewer code monkeys. Which… probably means we need a market for innovation…
I got an email today which asked “have you heard of PhoneGap?”
Yes, I’ve heard of it. And don’t get me wrong, I think it’s great. But it’s just another step, when we really need a leap.
Back in the dumb-phone era, everybody walked around with a common platform in their pocket: Java. It was ubiquitous, and the idea was simple: write once, compile once, run anywhere. Then iOS and Android came out, and everybody had to re-learn how to write mobile apps… and re-learn again if they wanted to run on both.
When Palm announced WebOS and the Palm Pre, I got excited. HTML/CSS/JS as the foundation for an application platform was exciting to me, and Java, as a language, was just missing too many features. But WebOS didn’t take off (and, frankly, still hasn’t). I think I remember Nokia announcing a similarly-designed platform, but that was probably dropped with their WP7 deal (bad move, IMO).
Certain elements of computer science, I fear, have failed to keep up with the demand of our modern needs. The client-side portions of most of the applications and programs that we use on a daily basis (and increasingly more regular) are really no more magical than what we had a decade ago. The hardware has changed, but mostly this has just enabled lazy development and inefficient coding practices. Furthermore, touch-screens, gestural-input, and the whole “nui” thing have, so far, been mostly novelty.
Here we are today with apps coming out of our ears. We’ve got apps on our iPhones, on our Androids, in our televisions, on our web browsers, in our cars, on our watches… There are apps for writing apps, and apps that have apps.
Sun had the right idea with Java, but the language was cumbersome and failed to evolve effectively. Palm had the right idea with WebOS, but never got the market share to be viable as an end-all solution.
PhoneGap is a step in the right direction, although it really isn’t the leap in innovation we need. Within the next decade, the least-savvy among us ought to be writing their own apps. And those apps should be so natural and intuitive that we’ll forget that we’re even using a computer.
Algorithms and logic should part of the K-12 education. We need colleges to churn out more computer scientists, and fewer code monkeys. If you are a genuinely talented developer, then when you get started on that next project, ask yourself: will it matter in 50 years that you wrote that code? Will it matter in 5? In 1? Live up to your potential.
Oh, and one more quick rant while I’m at it. Mobile developers: PLEEEEASE stop writing apps that do nothing more than a mobile website could do. If you just make your mobile website work, you won’t even have to worry about developing/packaging your app for different platforms, distributing updates, etc, etc. What a colossal waste.