A characterizing feature of digital systems is that they can generate, copy and modify data easily. Data is being collected and analyzed for various purposes. Data scientists help The New York Times to produce more engaging content; modern cars track of multiple sensors and adjust their engines for optimal performance; and the data collected by The Human Genome Project helps doctors in searching for a cure for Parkinson’s disease and other genetic diseases. What does the ubiquitousness of data imply for the future of software? I think that it is possible to recognize a few interesting opportunities: analyzing usage patterns enables us to build better and more relevant software, relevant information will be easier to find by advanced search engines, and totally new kinds of services become possible thanks to the availability of data. These trends are discussed below.
Building better software by learning from users
We at Futurice believe that the best way to focus on solving relevant problems is to understand user’s needs and proceed by small iterations. A real understanding can grow only from feedback from the users. One way to get this invaluable feedback is to collect usage metrics of a digital service. Analyzing such metrics can reveal which features of the software are important and where users are having problems using the software. This will guide the development and testing efforts toward the most valuable improvements.
Finding the needle in a digital haystack
The amount of digital data grows exponentially but the human brain capacity stays constant. Therefore, it is clear that the search engines must keep developing at an increasing pace if we want to be able to find relevant information in the future. Web search engines have served us well but their famous ten blue links interface may not be enough in the future. Next generation of search engines offer contextually relevant information, like Google Now, or they may predict one’s search intent and let one explore the results visually, like a research prototype developed at Helsinki Institute for Information Technology HIIT. After winning on Jeopardy, IBM Watson nowadays helps doctors to make diagnosis by searching for symptoms in the medical literature that is too extensive for any one doctor to comprehend fully.
Another way of finding interesting content are recommendation engines such as the ones employed by Netflix and Amazon. They analyze user behavior and group users by the ratings they have given or by purchases made. The systems base their recommendations on these groupings of similar users.
Perhaps the biggest opportunity in the rising data revolution are the new services enabled by the ability to collect and analyze large data sets. A predictive interface suggests a small number of the most likely actions based on what people usually do in similar situations, thus decreasing the effort to execute the common actions. Mobile game companies predict when a player, who hasn’t played a game in a while, is most likely to respond positively to a reminder to re-engage with the game. Automatic detection of anomalies in software logs alerts a maintainer to fix problems even before they affect users.
These are some examples of data-based trends and services that I predict will become more common in the future. Together these trends mean that in the future software will understand its users better and the users will achieve their goals with less effort. Flexible nature of data will also surely bring forward plenty of opportunities for developing totally new kinds of innovative services.