How Will Software be Created in the Future?

Words
1284
Reading
6 min
Listen
Play
9y

Way in the future (40 - 50 years)

User facing software will be literally and figuratively transparent. There will be no need for user interfaces. Transference of perceived stimuli will be transmitted directly from brain to brain through global mesh networks.

Pretty far into the future (20 - 30 years)

Any arbitrary person will be able to speak with an AI which will then be able to instantly render applications to take care of various tasks on the user’s behalf. Users will be able to communicate with the AI about design aesthetics, animations, displayed information, and any other user facing feature of today’s typical application. The resultant applications will then become instantly shareable to anyone anywhere.

The near future (5 - 15 years)

Individual developers will no longer compete on a niche to niche basis. Please allow me to explain what I mean by that by explaining the current software competition landscape. I’ll circle back to explain my vision of the near future immediately following the explanation of today’s structure of competition in technology and applications.

Today

Currently, companies such as Facebook, Twitter, Snapchat, Pinterest, YouTube, Vimeo, etc compete on very similar products. We can boil down applications into sharing of images and sound. That’s it. We can also argue that you can transfer instructions to vibrate a device or send further instructions to other devices, but for the sake of my argument, I’m just going to stick with the sharing of images and sound. The aforementioned companies all start from scratch when creating their solutions for sharing images and sound. Everyone ends up doing the same thing, but with different approaches. Due to the nature of competition, these solutions are, for the most part, proprietary, and smaller developer shops, indie developers, and other companies do not benefit from the vastness of the research and development and the blood, sweat, and tears that have gone into crafting innovative solutions to these common issues.

Therefore, in order to introduce competition into the marketplace, we need to start from scratch. If you want to create a live streaming video platform, good luck! There is so much work that needs to be done in order to just create a minimum viable product, let alone something that can compete with the likes of YouTube, Snapchat, or Instagram. This is an unnecessary barrier to entry and serves to prevent genuine innovators from making an impact in the space. We are also doing nothing to allow non developers to innovate in the space without a significant amount of capital - which gets us to a completely different problem that I’ll write about in the future. The summary of that problem is that, even if you maximize the number of benevolent acting investors and visibility of innovative ideas, we run into a bottleneck where there aren’t enough eyes on innovative and different thinkers that aren’t just drinking from the “same kool-aid” as everyone else, and that leads to a stagnation of innovation which we see today. Although the saying has already become cliche and we haven’t seen any real, scalable solutions come from it as of yet, decentralization through blockchain technology offers the solutions to this and many more issues.

The near future (5 - 15 years) (revisited)

Now that I’ve detailed my thoughts on the current application ecosystem, I can get into how to solve the the problems therein and offer my thoughts on how I think we can improve the space and allow much more competition, while still compensating those who make the largest contributions.

Competition is undeniably necessary in order to spur innovation. However, with the exponential increases in capabilities of Artificial Intelligence, continuing examples of the largest tech companies in the world censoring free speech (as is their right, but certainly not the morally correct thing to do) and the lack of availability of undeniable accurate facts and information, we need to move towards open and shared codebases as well as protocols for determining truth and accuracy of shared information.

“Won’t open sourcing software just lead to people copying work without any compensation for the creators of the software?”, you may ask. The answer to that question is ABSOLUTELY, at least right now. The reason that is is that there are no mechanisms in place to determine usage of open source software. One can simply clone a repository, build an application, and upload it to a store for download.

The solution to this issue is in decentralized process monitoring and perpetual, proportionate, predetermined compensation for open source contributions.

Imagine an ecosystem where you were free to use open-source software components such as perhaps, a live streaming component or a photo uploading and sharing component or something similar. Developers and non developers alike will be able to “plug and play” various components together (similar to, but much more robust than MIT’s App Inventor) The components created by the developers in this system will be much more high level than those of App Inventor. Common shared programming interfaces will allow for talented front end engineers and designers to collaborate to create various user interfaces for different component combinations. Common notions of things like a “User” or a “Comment” will spur further design combinations still.

Now that we are competing for perpetual compensation for component development rather than complete vertical development, expert software developers can compete in their niche. Whether one is an expert in image compression, security, fault tolerance, or any other specialized software niche, they can compete amongst similar like minded individuals in order to create the best individual components. Their motivation from doing so comes from the perpetual compensation that they receive upon an arbitrary user’s usage of their component.

This reoriented competition hierarchy will lead to lower latency in live streaming, less data and battery usage, more performant applications as well as lower the barrier to entry for those with creative and innovative ideas in the software space.

I still need to put more thought into exactly how developers will be compensated perpetually for creating these components, but I imagine it will have to do with some mechanism for phoning home analytics (which are already used extensively to paint a more accurate picture of a user for advertising purposes) to the decentralized process monitors. There will also have to be locks on the open source software or some new kind of license which requires the presence of that monitoring system to stay in place and can somehow trigger a “dead man’s switch” if the component is removed from the open source components. Malicious actors will certainly attempt to remove them and care will need to be taken to ensure the effort required to do so would outweigh the effort of rewriting the component itself.

I’d love to hear your thoughts on my thoughts and welcome as much feedback, critical or positive, that you can throw my way. Thanks for taking the time to read this and I hope you found it interesting!


Here are more of my posts if you found this one interesting:

Power of The Feminine; Self Improvement (and a love letter of sorts) — Steemit

What would make you most happy? What is your individual utopia? What is currently preventing your from achieving your maximum happiness? — Steemit

HERE is where I brainstorm the outline for the implementation of the system that I believe would help improve society and make more peace: Proposal For Extracting Value From Positive Behaviors and Its Imagined Societal Impact — Steemit

I would love to hear your feedback on any of those ideas! Thank you again for taking the time to read this. If you did find it interest, please share and upvote.

How Will Software be Created in the Future? | Ecency