What is the future of front-end software development in a post GUI world
By the year 2025, Google predicts that the number of IoT and Smart Devices in operation will exceed that of non-IoT devices. Statista also predicts a similar growth pattern, in which the proliferation of IoT devices will be three times more than today’s usage.
Any way you slice it, the transformation to an IoT dominant world is going to cause a seismic shift in the way software is used, the way it’s made and the overall future of front-end software development. Soon enough, most computing activities will no longer revolve around the human-machine interaction. Rather, it will be about machine-machine interaction. And, of the human-machine interactions that remain, most will not involve a person that swipes a screen, clicks a mouse or types on a keyboard. Human-machine interaction will be conducted in other ways, some too scary to consider.
The days of GUI-centric development are closing. Yet, few people in mainstream software development seem to notice. It’s as if they’re the brick and mortar bookstores at the beginning of the Amazon age. As long as people kept walking through the door to make purchases, life was great. But, once the customers stopped coming, few were prepared for the consequences.
The same thing will happen to the software industry if we’re not careful.
And, unlike the demise of Big Box retailers — which took decades — the decline in the use of apps based on traditional GUI interactions might very well occur within a decade or less. Other means of interaction will prevail.
The shift to voice
In the not too distant future, the primary “front end” for human-machine interaction will be voice driven. Don’t believe me? Consider this:
My wife, who I consider to be an average user, no longer uses her phone’s keyboard to “write” SMS messages. She simply talks to the device. She uses WhatsApp to talk to her friends. She “asks” Alexa to play music. She still does most of her online shopping on Amazon, but I suspect once she learns how to use Alexa to buy stuff, her time spent on e-commerce websites will diminish.
She still has manual interaction with our television, which is really a computer with a big screen. But she uses the remote’s up/down/left/right buttons in conjunction with voice commands to find and view content. There’s no keyboard involved… ever.
Her phone connects to her car via Bluetooth. She makes phone calls via voice and controls call interactions from the steering wheel. If she needs directions to a location, she talks to the Map app in the phone which then responds with voice prompts.
On the flip side, each day I have a multitude of interactions with computers. And yet, those that require the use of a keyboard and mouse are confined mostly to my professional work coding and writing. The rest involves voice and touch.
In terms of my writing work, I find that I spend an increasing amount of time using my computer as a digital stenographer. My use of the voice typing feature of Google Docs and an online transcription service is growing. I too am becoming GUI-less.
There’s a good case to be made that for the near future, there will still be a good deal of commercial applications that require human-GUI interaction. Yet, as the number of IoT devices expand, more activity will instead be machine-machine and not require GUI whatsoever. All those driverless vehicles, warehouse robots, financial management applications and calls to Alexa or Siri will just push bits back and forth directly between IP addresses and ports somewhere in the cloud.
But, the good news is that the foreseeable future of creative coding is still very much in the domain of human activity. However, this too is changing.
More machines make more software than ever before, and most machine-generated code is made with existing models. Thus, the scope of creative programming by machines is limited. Nonetheless, it’s only a matter of time until AI matures to the point where it will be able to make software from scratch and the software that humans make will be about something else.
Sadly, few people in mainstream, commercial software development think about what that something else will be. Today, front end still means iOS, Android or whatever development framework is popular to make those nice GUI front ends. Few people can imagine any other type for the future of front-end software development. Even the application framework manufacturers are still focused on the GUI world.
When was the last time you heard a tech evangelist caution their constituency about the dangers ahead? That the world soon won’t need any more buttons to click or web pages to scroll?
That’s like asking horseshoe manufacturers to warn blacksmiths about the impact of that newfangled thing called an automobile. It’s just not in their best interest. But, it is in our best interest because the future of front-end software development in the post GUI world will provide amazing opportunities for those with foresight.
The amazing opportunity at hand
There’s a good deal of wisdom in the saying, “once one door shuts another door opens.” Even the most disruptive change provides immense opportunity if you pay attention. Think of it this way, Amazon is killing brick and mortar retailers but it’s been a boon for FedEx and UPS.
There is always an opportunity at hand for those with the creativity and vision to see it. Fortunately, creativity or vision is in no short supply among software developers. We’ve made something out of nothing since the first mainframe came along nearly seventy years ago. All we need to do now is be on the lookout for the next opportunity.
The question is, what will that next opportunity be? What will the new front-end in human-machine look like? If I were a gambling person, I’d put my money on the stuff we might think is too scary to consider today: implants.
Let me explain: I have a dental implant where a molar used to be. Right now that implant is nothing more than benign prosthesis in my mouth.
But think about this: given the fact that computers continue to miniaturize, how far are we from a time when that implant will be converted into a voice sensitive computing device that interacts with another microscopic audio device injected beneath my ear? Sound farfetched? Not really.
Twenty years ago nobody could watch a movie on their cellphone. Today it’s the norm. As Moore’s Law reveals, technological progress accelerates at an exponential rate.
Regardless of whether the future of front-end software development is implants or something else, one thing is for certain: it won’t be anything like what we have today. Those who understand this and seize the opportunity will prosper. The others? Well, I’ll leave it up to you to imagine their outcome.