4 Cities, 4 Awesome APIs: World Tour Feature Jennifer Riggins April 21, 2015 From May 11 to May 15, Nordic APIs is going on a world tour to facilitate the sharing of ideas from experts in the application programming interface (API) sphere. To prep for the tour, we decided to interview one API evangelistic company in each city that we’ll be visiting — Copenhagen, Munich, London, and Seattle — to learn how they are driving the next generation of API technology and the advice they can offer fellow developers. Drivr is a taxi dispatch and cloud-based ground transport platform that helps existing operators all over the world upgrade existing analog systems. With no upfront infrastructure expenses, Drivr earns their income per car on the system. The mobile app allows passengers to connect via iPhone, Windows or Android devices, and drivers are running iPhones. On the management side, APIs connect to their call centers, to online booking and even offer a corporate platform for bulk management and combined billing. How They Partner to Grow “Everything in our system is connected to internal APIs and external APIs which our partners connect to,” Drivr’s mobile app and API developer Peter Theill told Nordic APIs. One such partner is DinnerBooking, which allows restaurants to get bookings through the website, where you can manage your restaurant’s seatings. “They are using our systems to order a taxi to or from the restaurant.” Not only does it give restaurants an extra service to offer, they can better estimate when tables will be open and exactly when the next reservation will arrive. Theill says they are also experimenting with partnerships with smaller mapping and routing services, “where they are actually integrating so they are using our system so they can see what taxis are operating in a given area.” One idea is to use this data to find truly the best route at a certain time, using a combination of public transport options. Tell Us About Your API Drivr boasts an average of six to seven calls to its APIs per second — each car and each phone connects via an API. Besides those partnerships, Theill said their API enables users to know which taxi company is operating at a given time, with which type of vehicle, to place and track the orders. He said that user experience is the priority of their APIs, effectively making the API an invisible conduit. “As I see it, the public API is what our iPhone, Android and Windows Phone apps are connecting to directly, but we work to have as seamless [of a] user experience as possible. We want our taxi driver and our users to make bookings through as few clicks as possible.” With this in mind, they have partners perform their own full testing in a staging environment before anything is released. Show Us Your Tech Drivr’s APIs are built as a REST interface, exposing JSON as a payload, while the technology is built on Microsoft’s .NET framework. “Having REST APIs and having JSON returns, it’s easily consumable by most client consumers, and JSON is also a very nice format to actually look at as a human,” Theill said. “We are actually looking at the code in the API and reflect over this code.” What Developers Need to Know: Up-to-date Documentation Theill says that good documentation creates a better developer experience, particularly when your documentation is rich with good examples. “When you actually do a change in the API, do it by making sure the documentation is up to date. One way we’re doing that is that our documentation is 80 percent generated automatically based on the API code. When we do a change, then our documentation is automatically changed.” He says that describing workflow and functionality must be done manually, but the rest automatically updates the documentation. “It allows you as a developer of APIs to make less work and to make less mistakes which is even worse that having that updating,” Theill said. Also Read: How to Spark API Adoption With Good Documentation Practices Fidor is the only bank in the world offering to individuals and small businesses the complete banking mix — traditional banking such as credit cards and loans, as well as crowd-funding, peer-to-peer loans, and crypto-banking with Bitcoin. Since its banking licensing in 2009, Fidor has always included a social aspect to banking, with a community that can raise questions, rate financial advisors, and rate financial products. Fidor has more than 250,000 German customers, and is also in Russia and the United Kingdom. The target Fidor customer is living what Fidor TecS CEO Frank Schwab calls “a digital lifestyle;” not only with a Facebook profile but as a heavy digital consumer, shopping on eBay and Amazon, and using Uber. Show Us Your Tech According to Schwab, Fidor was the first entire banking platform created in Ruby on Rails and may still be the only one that uses Ruby to its core. Dating back to when they were designing in 2008, they decided to build the banking system, including the API architecture, on Ruby because, as Schwab says, it’s “fantastic for fast prototyping.” Nearly seven years later, they chose to stick with Ruby because, for Fidor, using a single technical stack has allowed for rapid scalability. Speaking of smart tech descisions, Fidor just won the Celent Model Bank of Year 2015 award for excellence in technology in banking. Tell Us About Your API “We are the only bank globally exposing an open API architecture the way we do it,” Schwab said. “We know some other banks have APIs but they are very limited and restricted.” With their Developer Day Events and Dev portal, Fidor, on the other hand, is encouraging collaboration. Fidor’s public API is open to all customers, offering two options: “You can make use of all functionality inside our company — all products and processes, remote access to your own account via the API architecture, but it also enables you if you are a developer who would like to develop for our customer base.” This is usually done through the Fidor app store, which currently has 25 partners, including one that enables the sale and purchase of precious metals. Schwab claims that “If you’re a small enterprise and you want to fully and easily integrate your business with your banking functionality, basically we are the only bank where you can do that at a reasonable price with an API architecture.” For five years in a row now, they have shipped new API functionality to customers biweekly. What Developers Need to Know “It makes no sense to develop technology if you don’t know the reason for it — and if you don’t have a clue what kind of benefit you’re giving your customer, then you better stop. Even the most technical API is not of value if it’s not used,” Schwab advises. “I’ve seen a lot of things being developed which are from a technology perspective great, but ultimately failed.” Schwab says you need to always answer: Why do you develop What? Who is your user? Who is your customer? Why should both should use it? Rather than always prioritize financial incentive, Schwab adds that companies should aim to create services that are both useful and socially beneficial for end users. Are you ever looking at a website and wish it could be consumed in a different, data-centric way in one Excel spreadsheet? Perhaps so that you could then compare your website with your competitors? That’s just what Import.io enables. According to Co-founder and Chief Data Officer Andrew Fogg, “the technology can let you turn websites into rows of data without writing a line of code.” Fogg says the goal is to get people rethinking “how they might use data from the web to change the sorts of things they do and the questions they ask.” He continued with “The vision we are trying to do at Import.io is to be the biggest importer of data, anything that can be done to make reading data machine read.” Import.io offers two versions of the product. The first involves zero code; a user simply pastes a hyperlink and gets back rows and columns of data on the site. Fogg said that “behind this product is another product, a special web browser that can interact with the website, answer some questions and use examples of sites you might like.” How Your Service Is Used Fogg calls it “getting data on products, places, people.” He says many manufacturers use Import.io to create pricing models, pulling down data from “60 thousand products.” He says to imagine importing the entire Gap website with every product page with product names, images, sizes, and prices. “If you wanted all the products from the Gap, then that single product page is a row in the table of data and then the price and description would be a column.” Recruitment companies also use the tool to keep an eye on career pages on client websites. “As soon as a job is posted, your guy in HR at Citigroup has just posted new jobs, [and you] give them a call.” Show Us Your Tech Fogg says they work primarily in Java, through a “custom messaging platform that we’ve built to handle queries in from users and requests are pushed out to websites. We render the websites on our server, we parse the data, and then we push the data back to the users.” He says that the main API is a REST API, which returns in JSON format. Let’s Talk API “When a user interacts with one of these websites, and clicks ‘Get Data,’ it is essentially creating an API for each website,” Fogg said. More than half a million web APIs have been created by users in this way. He says Import.io has a single API that you can use to scrape data from each website, which customers can then change that data on their own website or they can have a crawler to use the API. But Fogg says that their target customer maybe doesn’t need to know how to use an API, but just how to ask data-oriented questions. “We are confident that we are driving to a fully automated progress. Put in URL, and you get back data,” he said. “The vision is a single API for any website. You would be able to in the future to put a single API back in real time with no training.” Fogg continued with “Import.IO is necessary because the world we live in isn’t an API-first world. The overwhelming majority of websites do not have APIs and so you need Import.io. I would love it if every website had an API.” Read more about API-First development strategy What Developers Need to Know: KISS Fogg recommends following what us journalists call the KISS rule: Keep It Simple, Stupid. “Simple to use with simple functionality is better than complete functionality and hard to use,” he said. “Focus on the simple use case, Rest and JSON are better than something that’s maybe more complete.” One major recommendation Fogg makes is reducing time to data for the API consumer. He suggests this is done through “Example-led API documentation where I can literally click on a link in the documentation and it is an API call and I get my data back in another tab in my browser. As an API consumer, I am trying to evaluate if it’s something I want. The quicker I can get it, the more likely I am to put the time in to read your documents.” For example, the first section of an API documentation is usually Authentication, but he says it’s better to kick off with a very quick step by step so people can try it right away. “Work out what your primary API call is and make that front and center,” Fogg said. Don’t start with the intro. Everyone’s favorite 140-character social media platform does this really well. “There are lots of API calls in Twitter’s documentation, but the first one they lead with are getting tweets from a user [and then] the search function.” Algorithmia was created to solve a common frustration in both university and software research — years are spent developing algorthims that never make it to market or, well, anywhere. Diego Oppenheimer and his co-founders from Carnegie Mellon released an open marketplace for data in March 2015 to create a pathway from research to product. First, they looked to answer the question of why advanced data science teams aren’t using advanced research. While, as data grows, there’s a growing demand for algorithms to parse that data, they found that the risk-reward balance doesn’t always work out. “A lot of times, you need to figure out what works or not,” Oppenheimer said. Any executable code can come onto the platform, define the input and output, and Algorithmia will immediately roll that into their API. “We take care of everything else: we market it, make it findable, scale it to however many machines it needs to be scaled to, meter it. We allow you to reap the rewards from it. No dependencies, no installs, no downloads,” Oppenheimer said. “The idea here is to allow developers in general to prototype and get to production way faster.” The platform is a social network as well, including voting, commenting, and a reputation score for each user profile because, as he says, “social keeps quality.” Who Uses Your Service? Even though the platform only released a month ago, there’s no doubt that the reward outweighs the risk in this instance. There are already more than a thousand algorithms on the site. Oppenheimer says the typical Algorithmia customer can be anyone from a JavaScript developer who learned how to code in five months all the way up to a Fortune–500 company that wants to build out a quicker pipeline for data processes. Everyone using the platform is gravitating to their own niches. Users such as professors from their alma mater, University of Washington and Massachusetts Institute of Technology, to developers in Romania are filling the new platform with tools such as market recommenders, website security check tools, an audio expert; predictive and sentiment analysis tools, facial recognition, data aggregation and visualization services, and more micro services that perform specific functions. Oppenheimer invites us to consider an app developer that wants to do some advanced machinery like face detection, but only have the technical skills to consume APIs. “We are giving that ability to that developer to do really really advanced things who might not have been able to do that one his own.” Show Us Your Tech The algorithms are API-based, mostly JSON output, which “gives us the flexibility to do anything. They also offer a data API, for those who want to work with large amounts of data. Tell Us About Your API The algorithm developer charges per call whatever they want to charge, while Algorithmia charges per second. The developer decides if he wants it to be an open or closed API. “If they open source it, then we pay a bit back to the user because we are very strong believers in the open source communication,” said Oppenheimer. Someone tweeted calling Algorithmia “The meta API for the Internet.” The algorithm in the marketplace can call any other algorithm inside the marketplace, making each algorithm a building block. He says that through Algorithmia, “I can build an entire really really advanced data pipeline.” What Developers Need to Know: Flexibility “Try to remain flexible with your design because things change. Use it and make yourself use your own design,” Oppenheimer said, following Amazon’s lead about eating your own dog food. Continuing, he said “You probably learn more about yourself using your design. We use our own algorithms internally to recommend tags and new algorithms to other people.” Want More? We hope you enjoyed this soiree of international API practitioners. But to truly engage, attend the Nordic APIs World Tour 2015, where we will be bringing together API experts to discuss elements that make up the entire API lifecycle. The latest API insights straight to your inbox