<i>The future of UI, in most cases, is no UI. Let some AI study and understand you, and let it make decisions on your behalf.</i><p>Assuming for the moment that this is a desirable outcome, how would you train that AI?<p>Today we have a vast programming industry and software supports a huge amount of what we do, yet we still struggle to write non-trivial software that behaves correctly in all cases. That’s partly because even with precise and unambiguous programming languages, specifying exactly the behaviour we want turns out to be hard. It’s also partly because we sometimes don’t even specify what behaviour we want in advance, because we forgot to consider a certain case or didn’t anticipate a certain interaction.<p>What you’re talking about would require advancing beyond programming with precise technical instructions and into creating systems that can handle complicated but unanticipated situations in the way the humans running the system would choose themselves or at least consider an acceptable or desirable alternative. But how will such a system “study” and “understand” what is required of it in an unanticipated situation?<p>I’m not saying no-one will ever have better ideas than we have today for dealing with these issues, but I suspect we’re a very long way from achieving the kind of general purpose AIs you’re talking about. I can believe that within some of our lifetimes we will see systems that make educated guesses but are on balance more reliable than humans in certain specific cases, perhaps if the people working on self-driving cars continue to make good progress. On the other hand, that’s also a great example of something where some very smart people have been working for several years and with vast resources to handle a single situation that we teach kids to deal with after a few days of training, yet they’re still a long way from the kind of futuristic AI we’re talking about, which perhaps gives a sense of how hard this kind of problem really is.