Personal software
January 8, 2018
Technology touches every aspect of our lives today, yet for many, creating personal software still feels like an inaccessible skill only for coders. But that’s starting to change, thanks to artificial intelligence.
The line between user and creator is blurring ever closer, and while we don’t quite live on Mars, it’s a brave new world all the same. Let’s take a look at how the science fiction of yesteryear is becoming our present, and how the future of personal software is fast approaching.
Around the turn of the century, things like making your own personal software felt like a task reserved for the technically inclined.
You had to write code that told the computer exactly what to do. Code, however, is written by hand, not interpreted automatically by a machine. It took extensive (and usually expensive) training to even begin writing code, much less managing the complexities involved in making software that could stand alone in the world. That landscape has changed, thanks to more and more technology that thrives on artificial intelligence. Software can now seemingly interpret our needs through a simple conversation, a voice command, or even subtle behavioural patterns.
We’re not just seeing changes to the toolset available to developers in terms of easier coding tasks. We’re also beginning to witness a deeper transformation. Soon, we’ll no longer be the ones telling the tool exactly what to do, but instead teaching it what we want for ourselves. Imagine specifying your greatest need without worrying about technical details. You might say, “I’d love to have an app that helps me track the growth of plants in my garden.” It couldn’t get much simpler than that.
But in the not too distant future, it might not be that much more complex than asking, “Hey LLM, can you show me and my friend what I’ve got in my collection of vintage vinyl records? and filter by what has been trending on Twitter and Reddit over the last month?” Having a software engineer design something like this for you would have taken weeks of back and forth to define needs, technical constraints, and others’ expectations. While these AI-augmented tools will still have their own limitations, there’s one key difference: we’re beginning to see tools that want to learn the user’s language, rather than the other way around.
As we get further into the future, the role of artificial intelligence in personal software development will continue to shift, as the very tools we use become more and more sophisticated at interpreting our intent and generating code with a level of intelligence that approaches humans.
To give you an example of where we’re headed, today’s artificial intelligence can convert simple statements like “Email me a list of the people who are coming to the office tomorrow” into functional code that software can utilise. Tomorrow’s AI could take a verbose, multi-pointed description of a complex workflow complete with edge cases, preferences, and anomalies, and turn that into a fully functional app. It will make creating software not very different from having a conversation.
As AI systems become more and more intelligent, the potential for personal software that learns from its usage patterns becomes increasingly possible.
If you find yourself doing the same three or four actions in sequence many times, your AI might ask if it’s time to turn that into a simple workflow. Or, if there are a handful of features within the app that you’re accessing multiple times during each session, it might suggest reorganising the interface to help you get quicker access.
The future of building personal software tooling is an AI-centric revolution. But it’s more than that. It’s also an evolution in the tools we’ll use to create personal software.
Future IDEs will function not just as workstations, but as creative studios that let you quickly assemble, test, and evaluate your software ideas as you go. Designing a new feature or tweaking a configuration will be as simple as sketching out a storyboard or filling in a form. As you develop software, your AI assistant will suggest possible options based on the context of your current work and the nature of the problem you’re trying to solve.
Increasingly, artificial intelligence systems will be able to collaborate not just with human developers, but with each other. Some models will specialise in UI design, others in core logic, and still more in security, performance, or other aspects of software development.
The democratisation of software development through enhanced AI tooling will have far-reaching societal and economic impact.
The more people are capable of making their own software, the more we will see a surge of niche applications tailored to small communities or specific individual needs. Creating your own personal software could become as common as using spreadsheets or presentations.
A much-lowered barrier to entry for creating and distributing software will enable domain experts with only basic technical skills to bring new, specialised applications to the world. This could enable a new generation of micro-software entrepreneurs.
But where software innovation heads from there is an important question. Creating lots more software won’t help unless that software improves people’s lives. And as personal software becomes more common, some critical considerations come to the front.
As AIs become more deeply integrated into our software tools, a natural question arises: who has access to our personal data, and what are they doing with it? Ensuring that individuals retain full control of their personal data will become increasingly critical, as will the development of robust privacy-preserving AI architectures and clear governance frameworks for its use.
Much thought needs to go into ensuring that the AI-driven development of personal software promotes inclusivity and avoids unintended biases. Personal software will likely include accessibility features by default, actively incorporate cultural sensitivity, and clearly advertise the role of AI in acting as an invisible assistant. In other words, creators of personal software should treat other people as they hope to be treated.
This transformation will make profound shifts across society, fundamentally changing how we interact with and create technology. The line between the user and the developer will become fluid, and software will become more ubiquitous and more impactful than ever before.
We are already seeing the early signs of this revolution in the AI-powered tools and low-code platforms coming to prominence today. What makes personal software so exciting is that it will empower everyday people – and not just developers – to dream up and build new technologies. The challenge is making sure that we shape this evolution thoughtfully and that we address issues such as privacy, security, and ethical use of AI.
Ultimately, the most important question is not whether we can create personal software, but how we should do so so it enriches lives without compromising our values or violating people’s privacy.