Buliding the Intelligent Software of the future

Programming a software has been a one way street for decades, you set the code to read a fixed input and return an output. If, for example, the variable you’re looking for is given, you activate a piece of code, if not (else) you simply execute something else.

This works ok, for the type of technology we have had since the past 2 or 3 decades,  but in the future we will definitely need a more intelligent way of doing things. 

The need for an improved and more intelligent software comes from the field of Artificial Intelligence. We will likely need our software to be intelligent enough so it can couple with AI, capable of understanding patterns and programmed in a way that allows the analysis of variables with certain confidence (f.e. not 100% sure, but enough to allow something to happen).

This type of programming would allow our software to work with more generic data. So, for example, if the software has to recognize somebody to allow them in, instead of asking for an username and password and then coding for a “if username/password combination is good – else”, the software would be capable to analyze the confidence by reading multiple generic inputs:

  • User comes to the website.
  • Software analyses behaviour and assigns confidence:
    • Scrolling pattern of the mouse, does it look similar to what the same user normally does.
    • Clicking pattern: Is he clicking on the same links over and over, even clicking at the Bottom/left part of the link?
    • Turn on the camera: Does the software recognizes the face?
  • Use the confidence level to allow the user to do stuff:
    • If confidence is about 30%, might let him navigate and send an activation link to their email, just to be sure
    • If confidence is over 50%, greet him, let him navigate, but not able to change private stuff.
    • If confidence more than 80%, offer coffee!!!
    • ect…

If the software can behave like we behave when we are interacting with another human being, then we can start changing the paradigm and start programming in a more intelligent way.