How many organizations are adopting an API strategy in Helsinki? Quite a few — for one, Helsinki arguably is the most successful city in the world using open data, with an active developer portal (Dev.Hel.fi) enabling the creation of new applications on top of city data to promote participatory democracy. Other data-heavy sectors in Finland including healthcare, indoor positioning, education, and FinTech are seeing a rise in programmability and API-centric business models.
For our API Stack Conference this week, we are partnering with API Suomi and PlanMill in Helsinki to discuss API strategy with an emphasis on API-driven DevOps. To get a sense of what the API space in Helsinki and Finland in general is like, we figured we’d do a little pre-conference warm up by featuring some startups that are doing cool things with their API offerings.
We spoke with four startups with a stake in the Finnish web economy to see how they could advise API practitioners on the API stack. In line with our event theme, we’ll see what advice they have regarding platformification and the digital stack in the age of APIs.
4 Example APIs that Extend Finnish Businesses
What does deep video analytics, lead generation, and photo editing all have in common? All companies see their API as a critical aspect to their business, now utilized as both an internal solution and a useful extension to third parties. A 2014 survey found that digitalization of IT for enterprise was critical for boosting business for roughly half of Finnish companies, and for Valossa, LeadFeeder, Tucia, and Klevu this seems to hold true.
Valossa creates an artificial intelligence platform, called Val.ai which, as Karita Kasurinen describes, “understands the deep content data of videos and provides novel solutions for discovery, content production and contextual advertising.” The technology can analyze a video using Natural Language Processing, image recognition, and machine learning technologies.
The end result is demoed on Whatismymovie.com, which can successfully locate over 40,000 English language movies that match the free-form or spoken description given by the user. For example, searching the opening lyrics of Smash Mouth’s 2001 hit “All Star” will smartly return the movie Shrek since it featured the song. Redefining how we approach video analysis could be a gamechanger, especially as the functionality can be accessed by external app developers using the same API that powers Whatismymovie.com.
As Herkko Kiljunen of Leadfeeder told us, their company mission is to “bring web intelligence into business” by helping clients master web analytics and increase their sales potential. With roots deep in web analytics development, the Leadfeeder public web API is used to retrieve specific data about client’s site visitors, making it ideal for “CRM vendors and company data providers to integrate web analytics data to their solutions to help make sales more intelligent.”
The Tucia team develops web-based tools to help automate tasks, and though internationally based, works with a lot of Scandinavian clients. Their current project is a web-based photo editing tool that allows for programmatic photo editing. Similar to how 99designs operates, clients use the Tucia API to send a source photo and editing instructions to the Tucia server to be promptly analyzed and completed by a human editor. Other internal API endpoints are used for things like assigning tasks and transferring files. As Howard Luo from Tucia told us:
“Our team tries to make human work more efficient… That’s the cornerstone of all our work and projects, and we are developing several web-based projects based on this creed.”
Lastly, we also spoke with Klevu, a Finnish startup formed in 2013 that offers search technology to help eCommerce stores become more navigable through natural language, machine learning, and optimization, as well as boosting sales with data on shopper behavior. The Klevu API allows programmatic access to the Klevu search process and search insights from merchant websites.
Show us Your Tech
The Leadfeeder API is constructed with Ruby on Rails and runs on Amazon Web Services, and uses Cassandra as a database and ElasticSearch for searching and aggregation.
For Tucia, their API is made with the Laravel Framework, and uses Nginx and MySQL as backend service. cURL is used to download customer files, and then ImageMagick and DCRaw are used to pre-process the images and make thumbnails. The Tucia APIs are made of many microservices — they “try to make each service low coupling with others, so that it’s more efficient to track problems and scale,” says Howard.
For Valossa, under the hood is their proprietary deep-learning-based AI implementation, which consists of several processing pipelines for the various methods of analyzing video content. The Klevu APIs are RESTful, communicating with the Klevu servers hosted in cloud. They follow the URI style architecture of Web APIs, which we have outlined in our Developing APIs for the Web series.
RESTful API Design Recommendations for Lasting Architecture
Leadfeeder adopts a two-speed approach for development, separating their Private and Public APIs. Herkko notes this enables them to “move fast with the private API and be consistent with maintaining version compatibility with the public API.” Like all products, Herkko believes you should build APIs with the end-user in mind:
“Far too often you see APIs where, for example, the resource naming is done from the vendor perspective and the naming can be quite unintuitive for the application developer”
Herkko stresses that providers should integrate a versioning strategy into their API from day one — even if you’re not ready to release a stable version of the API, it is a good idea to have the versioning structure in place.
Quality developer experience to Karita similarly means intuitive naming and hierarchy for the parameters of the request, along with explicit consideration for backward and forward compatibility. Karita recognizes frontend design — as in the specific format of requests and responses — as a top priority, conveying the following advice to us:
- Give examples of practical API calls within the documentation: Humans learn by example, and the easiest way for developers to get started with a new API is by modifying an example call shown in an interactive documentation.
- Use the correct HTTP status codes in your API response, with specific error messages provided in the response content when applicable. The other way is to convey semantics only in the content of the response messages. Pick one of the two strategies and apply it consistently.
- Use JSON as the format of the output values from your API. Only if you have a good reason to use XML or some other non-JSON format, you may deviate from the “responses in JSON please” rule.
- Keep your requests as simple GET or POST parameters and not some year–2003-ish XML chunks spiced with bloat and boilerplate. Similarly, correctly make use of the different HTTP verbs.
For Tucia, their major design challenges involve the transferring and pre-processing of some pretty large image files. A bulk upload could consist of hundreds of images ranging from 30MB to 200MB each. To expedite this sort of data transfer, Tucia leverages servers across multiple countries to increase speed and reliability. What the team still struggles with is a clean mechanism for creating a zip file on the fly.
“In order to improve the processing of large files, we are developing a new backend for the APIs, to use a more cloud-based service, e.g. imgix and S3… what I always keep in mind is: learn and prepare to scale, both data and images.”
Klevu’s number one tip on REST API design has to do with statelessness; Nilay Oza reminds us that “APIs must not store state on application servers to ensure they can be easily scaled.”
The Importance of DevOps is Undeniable
For a lean API to function, the union of development and deployment and all operations in between must be tight. None of these organizations deny the fact that healthy DevOps is a critical component to overall platform reliability, just as important as in the app development space.
At Leadfeeder, “DevOps is critical to how [they] work. Everything with infrastructure and deployments is fully automated and everything is done by developers.” Similarly at Tucia, development and operations roles are not separated, rather they function simultaneously: “whenever we try to add a new coding plan, we always inspect our current infrastructures and adjust our plan to bring less pain to operation work,” says Howard. Smart preparation and automated deployment can alleviate stress, making it easier for small teams.
Uniting development and operations also has a positive effect on end usability. As Nilay puts it:
“DevOps is very important as the concept encourages focus on the overall APIs to be use-case centric as well as to be agile from the developer’s perspective.”
Since Valossa oversees much proprietary software development, they recognize that the software behind the API needs to be carefully maintained — “If DevOps increases the quality of your organization’s software production efforts, it more than likely will increase the quality of your API efforts as well.”
We’ve explored developer relations on the blog recently, so we checked in with each company to see what they were doing regarding marketing and platform advocacy. Most importantly, the techniques they use to build and sustain a developer community around their API program.
Leadfeeder has focused on keeping a lean clientbase, working only with select partners to ensure the API has the features and documentation they need to develop solid integrations. Once fully released, they plan to put more emphasis on outreach, adding client libraries and SDKs for various languages.
Not like a massive public API program such as Instagram, Tucia is a niche paid service that targets a minor market of developers. The benefit therein is a greater focus on one-to-one support for any developer interested in their services. Lessoned learned: if you are targeting a minor market, you will be expected to offer superior developer support. Valossa echoes this sentiment:
“We reply to the contact messages of the developers who use our API, and try to be as helpful as possible to let them integrate [our technology] into their products.
Nilay believes that validating use cases prior to designing the APIs will inevitably put you in the mindset of a third party developer. Once published, the provider should aid onboarding and welcome developer feedback.
APIs Accelerate Finland’s Niche Technological Sectors
The birthplace of Nokia, Finland is seen by some as Europe’s leader in technology. Finland, the small giant of healthtech, invests much into education as well as R&D (making up 3.5 percent of the total GDP), unlocking a wave of companies with high-end niches in the global technology economy, such as Indoor Atlas a software that enables app developers to add indoor positioning to their apps.
Regardless of API functionality, it’s clear that the API provider stack, if you will, is composed of great design, a continuous deployment mindset, and reliable customer support. But it’s best to learn all of this in person to really dig into the specifics. It’s not too late to sign up; we still have slots available for the API Stack Conference, so register today!