Like Airbnb, but for algorithms?
Algorithms help us find lots of things: a date, a driving route, a chainsaw. For software companies, however, finding the right one to use isn’t easy. Algorithm developers are in short supply, and figuring out the best algorithm to apply to a data set isn’t always straightforward. In short, algorithms, central to the sharing economy, could use a way to be shared themselves.
Enter Algorithmia, a Seattle-based startup that launched earlier this month. “We’re kind of doing the exact same thing for algorithm sharing that Airbnb did for rentals,” explained co-founder Diego Oppenheimer (unironically). “We take care of billing, metering, help with distribution, and make people aware that your work exists.”
Most of us know that algorithms exist, even if we don’t exactly know what they are. In simplest terms, an algorithm is a set of instructions that takes an input, churns through a data set, and produces some output. One of the most familiar examples of this is shortest path planning: You tell an algorithm embedded in an app where you are and where you want to go, and it tells you the fastest way to get there. Other algorithms do things like return search results, predict the movement of stock prices, translate audio into text, or determine the order of takeoffs and landings at an airport.
Algorithms are common, but also difficult to create. Aspiring entrepreneurs can take an eight-week crash course and learn how to program an app, but writing algorithms is a specialized skill. Algorithms are usually taught in higher-level computer science classes, and require a strong mathematical background, which allows programmers to find the most efficient ways to analyze huge data sets and return the best results. “Finding good engineers who can write algorithms, that’s very hard,” said Denny Lee, a data sciences engineer at a company called Concur, which makes software that automates expense reports. He has used Algorithmia. “A standard engineer just doesn’t have the mathematical basis for doing it,” he said. Oppenheimer estimates there are around 20,000 open algorithm development positions around the world, and only around 300 universities teaching students how to write them.
For some companies, like Google, a powerful algorithm is their whole business and needs to be closely guarded. For most others, algorithms are a way to add features to some other service and can be incorporated openly. This is where Algorithmia comes in. At its launch, the website had a library of more than 800 algorithms that software developers can plug into their applications, ranging from one formula to summarize blocks of text to another that determines whether a given e-mail address is valid. Algorithmia also allows companies to post “bounties” describing an algorithm and offering a designated sum to anyone who creates it.
Matt Robins, CEO of DeansList, used the bounty system during Algorithmia’s beta phase. His company makes software that creates “paychecks” that schools give to students as a way to encourage good behavior. One school that uses DeansList’s software has a number of Latino families, and it wanted to be able to write out the amounts on the checks in Spanish. “We threw up this request [on Algorithmia] for translating integers into written-out numbers in Spanish in mid-January,” Robins said. About six weeks later, the request was fulfilled.
When an algorithm is posted to Algorithmia, it stays there, and developers tap into it through Algorithmia’s API, or application programming interface. APIs are a standardized way for applications to access services, and they’re ubiquitous in software development. “An API allows you to hook into it and use the resources of that system in a more efficient way than you would by writing it yourself,” said Steve Homer, a computer scientist at Boston University.
In this case, companies insert Algorithmia’s API into their software, and the API points to a specific algorithm, stored on Algorithmia’s servers, each time that algorithm is needed. Algorithmia charges for time spent on its servers, plus it takes 30 percent of the price of each algorithm “call,” which is usually a micro-transaction amount like one-1,000th of a cent. The other 70 percent of the price of a call goes to the algorithm’s original creator.
For algorithm developers, Algorithmia’s marketplace will be competitive, and those who design the best algorithms will get the most calls. Oppenheimer sees a couple of areas that promise to be especially lucrative. One is natural language processing, where an algorithm analyzes a block of text and determines, for instance, whether a man or a woman wrote it, which is valuable information for marketers. Another is the field of computer vision. “Algorithms that can describe an image, they’re going to be pretty valuable,” Oppenheimer said, “because suddenly we have the ability to tag any image or video in the world.”
Creating an algorithm that can describe images is beyond the reach of most programmers, just like owning a house on Martha’s Vineyard is beyond the reach of most vacationers. Now for a price, you can have either, or both, just when you need them.
Kevin Hartnett writes the Brainiac blog for Ideas. He can be reached at firstname.lastname@example.org.