DEV Community

Developer-chris
Developer-chris

Posted on • Originally published at developer-chris.com on

How To Create Valuable Software

  • What Is Valuable Software?
  • Process For Creating Value.
  • The Importance Of 'USE' When Finding Problems.
  • Example: Trying To Create Valuable Software.
  • Problems Evolve.
  • Some Current Problems To Solve In The Digital World.
  • Continuous Learning.

What Is Valuable Software?

Valuable software is software that people actually end up using because it solves a specific problem or pain point that they have.

Its not the brilliant idea, the biggest project, a specific programming language, or the side project that never gets released. the value of software is determined by one metric: USE.

Creating valuable software is an important skill that you need to develop if you want to succeed in this ever evolving landscape of the digital world.

The Timeless Process For Creating Valuable Software

  1. Become a consistent or heavy user of software or the web in whatever niche interests you or that you find yourself in.
  2. Note the patterns that frustrate you as a user. where can improvements be made? where do you feel that a different idea could produce better results? Notice the frustrations that you have for a certain use case of a computer, software, the web e.t.c
  3. Look around for existing solutions to your pain points and gauge whether the solutions that exist actually does the job or are below par. if they do stop here and if they don't proceed.
  4. Craft the code for the solution to your pain point and ensure that it works for you(this is important). You have to be the first satisfied user of your solution. If it scales the better if not you have something you yourself find useful, its a win win situation.
  5. Show other close by or heavy users who also find it useful.
  6. Turn your solution into a product and go mainstream with it.

The Importance of ‘USE’ when Finding Problems

Starting with use works better because it is a problem that an actual human had to deal with not a hypothetical imagined problem.

Its a cheap way of doing user research, be the frustrated user yourself because valuable software is defined by one metric: USE.

There is a difference between;

  • Problems that you go out to look for.
  • Problems that you encounter as you use software naturally.

For example imagine you have 1000 people in a usability test using a software or a computer and their experience as they use is documented including everything from what they find easy to use to their pain points. Analyzing this data would enable us to create valuable software for them and they are more likely to use the software.

But user research has its own challenges;

  • The user experience of people with software or computers is dependent on many factors.
  • User research which will provide enough data would require a lot of participants and that would be expensive to conduct.
  • Users are more messier than you as the designer would like them to be.
  • Patterns of user behaviors vary.

When you use this method you become the user yourself. You note your frustrations and pain points and work on the probability that if you as a user faced the problem then other users elsewhere also faced the problem.

The potential for scaling when you use this method is better because its an actual relatable problem that you as a human being have encountered and therefore the likelihood that other humans have run into the same problem is high.

This is how all great products started. A problem that an actual human had and then they found a solution. for example;

  • Facebook began as a social network for university students because Mark Zuckerberg realized students wanted an online directory with real photos and profiles.
  • The worlds most popular version control system git started because Linus Torvalds wanted a way to version control the Linux kernel that he was building, he had a use for it himself and now everyone uses git.

Example: Trying to create valuable software.

  1. So i like my mobile and desktop experience to be in sync i.e browser, Notes app, password manager e.t.c but i have had a challenge when i comes to copying simple text from my mobile to laptop or vice versa. Sometimes i have had to send an email with text to myself just to move the text, or find another workaround of which the effort will not be proportional to the simple act of copying some text from my phone to laptop.
  2. I've looked around for a tool but the ones i have found are usually an overkill, too complicated for the simple task.
  3. so i have an idea, finding a way to sync the clipboard api of a mobile and laptop so that in the instance of the app or extension running phone and laptop share the same clipboard api and the copying of text from phone to pc will be a seamless experience.
  4. its not easy because the clipboard api is a system level api and to change it and connect them in such a manner, there is work that needs to be done, especially if the experience is to be this seamless.
  5. If i solve this problem this will be something that i myself will use first and then going forward maybe i can scale it to other people who have also run into a similar problem and make it a product but it will have use to me first.
  6. Feel free to contact me if you have any ideas as to how to solve this problem so we work on it together or create the product and i will be your happy user or recommend what works for exactly this use case, and i mean a seamless user experience.

Problems Evolve

In the early days of the internet websites were just html, CSS and some JavaScript and they worked. but they were problems, the sites were not as fast and they lacked a certain aesthetic feel that is present in modern sites built with frameworks like React, Vue, Angular e.t.c

The frameworks solved a problem but they also brought about other problems, one could now build a beautiful site but now the bundle size was bigger, there were more dependencies that needed management and updates, you had to learn more skills e.t.c

So a problem was solved but a new one emerged, an improvement was made but it dint lead to the elimination of all rough edges on the digital world. This means value can still be made by focusing on solving today's problems on the web and evolving with the current challenges.

Some Current problems to solve in the digital world

  1. Chat-bot threads
  2. Dependencies

Continuous learning

So the frontier is still there, it will always be there. The only thing you need to have is an appetite for continuous learning and keeping up or staying up to date with the digital landscape.

Though they evolve, problems to solve will always be there. The potential for creating value will always be there.

The problems usually becomes apparent when you are a user yourself. use these technologies yourself and you will find that there are a lot of areas that need improvement. If you are a heavy user you will see.

Being a user is what will enable you to come up with ideas for solving problems that you face yourself, and from there you come up with solutions that other people can also use.

Top comments (0)