As I continue to report on new APIs popping up all over the Internet, one theme has caught my attention: systems powered by simple information tasks completed by humans. It’s developing trend in which humans take requests from software systems, complete them, and feed the results back into the system. This is a fundamental shift in computing. Now, Human input is no longer solely for the purpose of controlling or directing the application. It has become just another functional component of the system. The human is taking the place of a software component and can in some instances be described in terms of expected inputs and outputs.
This phenomenon is called crowdsourcing. The basic idea is that you throw an idea or request for something out to the crowd. The crowd participates in some way that gives you an answer to your question or response to your idea. A subtype of crowdsourcing is microtasking, in which small discrete tasks are made available to a pool of workers. Crowdsourcing platforms have been created with varying levels of organization and coordination. I’m going to list a few of the more organized examples of the crowdsourcing trend here.
Several posts ago I covered a transcription service, QuickTate, which provides typists on the other end of API calls. Then I saw MobileWorks which sends discrete tasks to information workers across the globe. Of course there’s Amazon’s Mechanical Turk which was launched years ago and may have been the first popular system of this kind. There’s two more that I’ve just glanced over today: CrowdFlower and CloudFactory, both which offer a human workforce that can be coordinated through the design of a digital assembly line. CloudFactory’s distinguishing attribute is that it also provides “robots” (which are specialized applications) can work in the assembly line right along side the humans.
With these sophisticated microtasking platforms, application developers are now facing the question: should I use an API powered by artificial or human intelligence? The presence of crowdsourcing APIs begs the question: would it be better to rely on humans in an automated way? As artificial intelligence improves I’m sure that we will see the complete automation of more and more information tasks but humans still have an edge in a few areas such as speech transcription, image and handwriting recognition.
Application developers must consider, would the results from human intelligence be of higher quality or more reliable than artificial intelligence? Now that human intelligence can be directly integrated into computer systems, application designers have this new and interesting choice.