How Could Artificial Intelligence Improve API Design? Kristopher Sandoval February 17, 2017 Until relatively recently, artificial intelligence was firmly planted in the realm of science fiction. However, with the advent of more powerful processors and groundbreaking research into deep learning, AI has inched ever closer to reality. The question now is, since we have this tech, how can we use it to improve existing systems? Are there new tools could be leveraged to improve existing API platforms? Researchers and developers alike have answered this call, creating systems that leverage the power of AI to improve API design, testing, and analysis. Today, we’ll discuss some awesome implementations of artificial intelligence as it relates to web APIs, as well as dispel some common myths surrounding the technology. We’ll see how AI may soon be impacting things in our space like: Automating the process of discovering APIs Helping predict developer consumer habits Enabling new innovative third party tooling Powering new API functionalities and niche services Defining AI Before we can dive into how artificial intelligence is helping to improve API design, we need to actually define what artificial intelligence is. AI has become a trope in and of itself, and the reality, like so many things in science fiction, is only tangentially related to the fictional concept. When we talk about AI, the image that tends to pop into our heads is that of human-like systems — subjects like HAL from 2001: A Space Odyssey exemplify this conceptualization of AI. The truth, however, is that the kind of AI we see in our popular media would be better termed as autonomous intelligence, that is, intelligence with sentience. True AI, therefore, is better termed as the state of being in which a machine is able to ‘learn’ and ‘think’. This may not be adaptation in the natural sense, but engineers have developed processes and systems to mimic the way synapses fire and retain information, and have crafted rudimentary neural networks to carry out this processing. AI Examples The world of AI, like APIs, is filled with a number of interesting implementations. On one end of the spectrum concerning scope and ability, we have examples like Cleverbot. Created in 1997 by AI researcher Rollo Carpenter on the pattern of earlier chatterbot application Jabberwacky, the bot has since held over 200 million conversations. Cleverbot is programmed to retain information, in essence “learning” how phrases and words relate to one another. An example that is more esoteric and, in many ways more intriguing, is that of IBM Watson. Developed in IBM’s DeepQA Research Team led by David Ferrucci, Watson was specifically designed to answer quizzes on the TV show Jeopardy! IBM’s Cognitive Solutions are now taking that similar computing power into business contexts. Potential Benefits for AI/Deep Learning in the API Space Given how powerful and extensible this technology has already proven itself to be, what sort of applications can AI and deep learning bring to the API space? Specifically, how can these technologies help to improve the craft of providing APIs? The great thing about AI technology is that it mimics human behavior and ways that are completely unprecedented — and, due to this, creates opportunities once relegated strictly to human input. For instance, the idea of discovery, the process of providing APIs to consumers who desire them and revealing relational services was once in the realm of bloggers and API collation platforms. By employing AI, discovery could be done fully automatically, tapping into both public and hidden data to deliver the best of the best. Further replacing human effort, AI offers a rather unique solution to user behavior prediction. Previously, the only thing that could be done for user behavior prediction was to observe past trends and derive using formulae a general idea of what to expect. Now, with AI, not only can this long-term data present macro trends, the addition of deep learning and predictive systems can analyze current micro-trends and give a more holistic view of all possibilities. This, in turn, reduces lag time between responses, updates, content restriction, and more, while allowing for a more cohesive experience for the user. There is of course the element of security to consider, and all that comes with it. Using AI and deep learning, versioning, updates, and changes can all be scanned and tested in a way that is simply not possible with human-directed testing. Vulnerabilities can be identified before they even become large issues, and encryption can be handled in an ever changing, evolving way. APIs and Artificial Intelligence It’s no surprise, given the power and potential of AI, that APIs developers and providers have quickly taken to the massive leaps in processing and design management that AI promises. Here are but a few examples of artificial intelligence in action in the API space. Watson and Bluemix After the impressive performance of Watson on Jeopardy!, its creators began to look to new uses for the technology in its existing business enterprise ventures. By applying Watson to its existing Bluemix platforms in development, IBM was able to harness the relational power of its neural network in some very interesting ways. First and foremost, Watson was able to tap into what IBM calls “unstructured data”, the massive amount of data resulting from API processing, patterns, relationships, and interactions between API datasets that create a hidden network of information. This information is vitally important — often referred to generally (and somewhat incorrectly) as “analytics”, this hidden data describes some of the most important values of an API. For instance, hidden data can be used to show customer patterns of usage across APIs, the best services to utilize for optimized communication, and even what drives social interactions with content specifically tailored to given groups or habits. As part of this, Watson was also capable of launching itself into the world of “Natural Language”. In development terms, we often separate “natural language”, that is the language we use every day, from “machine language”, that is structured language which describes itself and is structured in an easily discernible way for machines. By being able to tap into natural language, Watson can find trends and insights on social media platforms, and allow for tracking information that would otherwise be indiscernible to the machine system. Finally, Watson was able to develop a system using what it has learned, paired with everything it is capable of doing in real time, to generate recommendations for API development paths and services. This not only reduces cost in research terms, but in actual time to market. Dynatrace Perhaps one of the most powerful applications of AI in the API design space is Dynatrace. Dynatrace could be called a “holistic” artificial intelligence in how it handles APIs from inception and beyond. During the initial installation of Dynatrace, the system “gets to know” the API in its most intimate details, investigating the environment, the code, its relationships, interactions, and dependencies. Once the internal functionality is known, Dynatrace begins to monitor the API and track the general heartbeat of the application actively. Metrics are compared against a baseline, tracking is done in live time, and issues are resolved before they become larger ones. While this certainly has a big impact in terms of initial monitoring cost, beating out many metric solutions through sheer simplicity and ease of use, Dynatraces true power comes out when considering the public relations effect of being able to solve issues before they arise. By preventing issues from becoming larger, you’re essentially inoculating your system. Interestingly, issues are dealt with by priority of both user and gravity, an element often missed in other monitoring solutions. This is a tidal shift from the classic “alert alert” method of handling issues, pointing towards both the most important issues and the actual causes of those issues. Buzzlogix Buzzlogix is an interesting application of this artificial intelligence, one specifically tailored to social media. The basis of their system, the Text Analysis API, is a natural language processing and learning service that allows for a wide range of actions on a diverse data set. By applying machine learning and natural language processing, this API has been able to discern not just the specific content of a message, but the actual sentiment behind it. Deciding whether content is largely positive, neutral, or negative can do a lot to inform a developers’ actions, and can further help identify issues in their overall systems before they become trending in social circles. As part of this system, keyword extraction allows for word-combination, phrase, and data stream extraction which is equally powerful for many of the same reason. So how does this support API design? Imagine a system that, with minimal input and control, can deliver the general sentiment of your users, the general characteristics they represent in mood, gender, or identity, the specific advertising content that prompts positive response, and the ability to match this content to your development processes. Soshio While all of the above are interesting uses, the most compelling use of artificial intelligence is found in the more difficult problems that divide the internet as a whole. One of these problems is the character barrier, an extension of the language barrier that results in much of the social content in the world wide web being completely removed from the rest of the ecosystem. Soshio sets out to rectify this. By using deep machine learning, sentiment mining, and character translations, Soshio is able to parse content on Chinese social media to develop a greater overview of sentiment, product performance, and feature requests. The API is able to identify how brands perform in the Chinese market, the general beliefs and social actions of the average Chinese internet denizen, and the specific demographics that might be interested in the solutions a company can provide. It’s hard to explain exactly why this is so impressive. Anyone who’s attempted to learn a foreign language and culture can tell you that one of the greatest barriers in learning is the change from an alphabetic language to a logographic one, that is, moving from words formed by letters to words formed by pictures. It’s impressive, then, that Soshio is able to not only translate this logographic content into alphabetic insight, but can also parse slang and emojis familiar to the Chinese market but foreign to domestic ones. In fact, not only is Soshio able to do this with logographics, it is able to do this with Pinyin, a system in which context is derived from sounds and inflections, adding insight and context to each phrase spoken. For API providers, this simple integration can dramatically expand the potential audience for their services. There’s an unfortunate reality that consumers of APIs are largely western audiences due to the early prevalence of the world wide web throughout western world. API providers who issue services can find a huge unmonetized market (or, at least, under-monetized) that is ripe for access – and Soshio can make accessing that market so much easier. Additional Examples Of course, this only begins to scrape the surface of the AI API landscape. Briefly, here is a sample of six APIs utilizing AI in amazing ways: Skyttle API – Converts content into text analytics, revealing word associations, phrase correlation, and other useful data. Extremely useful for generating social understanding and context for marketing platforms. Textability – Uses machine learning and deep content inspection to render text data from images and documents. Being able to pull text from images is somewhat of a holy grail, and until the past few years was considered difficult enough to be used as an anti-bot measure in solutions such as Captcha. Avatarion Portrait3D API – Uses neural networks to draw realistic 3D, animated avatars from static images. Only the power of AI can effectively and quickly use its neural networks to map the curvature of 2D images to 3D models. AT&T Speech API – An API for adding speech recognition to applications. This API is extremely useful for speech driven applications and search queries. Skybiometry – An API that uses relational content sensing to drive facial recognition. Skybiometry can be used for a wide variety of applications, most notably for detecting users for biometric authentication and authorization. Unbabel – Unbabel is a translation service that uses human translations in memory to aid in machine translation. This is incredibly powerful, as the biggest issue for machine translation has always been context – eliminating that using human-parsed content makes for more accurate translation. Conclusion Artificial intelligence is the next big sea change in API development and design. As these systems develop and become even more powerful, arguments for integration will only get stronger. The argument is simple – why spend human time without machine effectiveness? AI delivers the best of both worlds, albeit imperfectly. As this technology evolves, though, the narrow gap between human elements and machine systems will close significantly, making the already shaky argument against its inclusion that much weaker.