What APIs do other developers love and why do they love them? Three developers from around the globe offer up their top picks!
Azure Cognitive Search—Gian Paolo Santopaolo (@gsantopaolo)
Gian is an Italian software architect working in Zürich, Switzerland who leverages AI technology for banking and finance. According to Gian, great APIs like Azure Cognitive Search should give you super powers. He first encountered an early version of the service at Microsoft Build 2018 after discussing it with Lous Cabrera Cordon, who was on the team at Microsoft that was working to develop it.
According to Gian, “It was love at first sight. As soon as I was back in Zürich, I started making some prototypes. Later, when the technology was generally available, we introduced it into an ERP product.”
Cognitive Search is all about enriching information so it can be easily searched. It can read data from both structured and unstructured sources. Machine learning algorithms are then applied to the collected data to extract a searchable information tree. Gian’s team has used Cognitive Search for his clients to upload their PDF libraries and place them on the web for easy semantic understanding. Cognitive Search also implements the natural language processing AIs used by Bing to make searching even simpler.
If you want to learn more about Cognitive Search and related APIs, check out:
- Building Intelligent Apps with Cognitive APIs
- Translator API: What’s New
- Finding parking spots with Custom Vision and IoT
Microsoft Graph API—Nikola Metulev (@metulev)
Nikola is a Principal Software Engineer at Microsoft working on the Graph Toolkit whose favorite API, perhaps unsurprisingly, is the Microsoft Graph API. What makes the Graph API so great is that it lets you pull together your data from diverse services like Office 365, Microsoft Excel, Microsoft Teams, OneNote, Outlook, SharePoint, and more into a common app or service you create. It even lets you pull in data from non-Microsoft sources using Graph connectors (currently in preview).
All of the Graph APIs can be accessed from a REST endpoint:
https://graph.microsoft.com
Nikola’s team takes this a step further by building succinct web components on top of the Graph API to accomplish powerful tasks. For instance, if you want to pull up all of a person’s planner tasks on a web app, you can do it with this snippet:
<mgt-tasks></mgt-tasks>
The snippet abstracts out a lot of code orchestrating the Graph API, which in turn abstracts a lot of service code from the different product groups that funnel data through the Graph API.
“One of the most exciting things being done, in response to COVID right now,” says Nikola, “is we’re seeing a lot of scenarios where partners pull in the education data—a lot of people don’t know this but there’s a lot of data about classes, students, teachers, assignments, and grading that they can do in the Graph—and pulling this together with files on OneDrive to build new online learning resources.”
If you want to learn more about the Graph API, check out:
HoloLens 2 Hand Tracking API —Eric Provencher (@prvncher)
Eric is an open-source developer and a Spatial Design Developer at Unity Labs in Montreal, Canada. His favorite API is the Mixed Reality Toolkit (MRTK) API abstracted over the Windows 10 SDK hand joint system that offers hand gesture support for the HoloLens 2. He has even extended them to support other devices besides the HoloLens 2, such as the Oculus Quest. This in turn allows developers to experiment with hand gestures in completely different scenarios than those originally envisioned by the HoloLens team.
Just as Graph APIs can be mashed up to create new components, Eric is fascinated with recomposing hand and finger tracking APIs to develop new gestures. He’s currently noodling over Spiderman’s web shooter and how to implement this in an AR or VR experience as a way to teleport from position to position. This involves decomposing a deceptively simple gesture into elements that can be detected with optical tracking, such as palm up, index finger open/closed, pinky finger open/closed (optional), thumb extended, etc. Then he took apart the teleportation API for HoloLens and recomposed it with hand gestures, finally porting it to the Oculus Quest. “I had to throw the previous work to the ground,” Eric says, “and go through the class hierarchy to pull out what I needed to map the API to the Oculus device manager to get it to work there, too.”
If you want to learn more about MRTK hand gestures and the underlying API, check out:
- HoloLens 2 gestures for authoring and navigation in Dynamics 365
- Mixed Reality Toolkit 2 for HoloLens 2 Overview
Wrap up
Great APIs—the ones that developers love—have several common features. They provide developers with capabilities they wouldn’t normally have access to, such as the AI augmentation found in Azure Cognitive Search. Like the Microsoft Graph API, they can be decomposed and recomposed into new apps and toolkits. They are flexible and designed in a way that allows them to be used not just in traditional program interfaces but even novel ones like a teleporter gesture based on web-slinging that Eric created.
What do you think? What are some of your favorite APIs and why? Be sure to share them in the comments below. If you are interested in learning more about the principles and techniques of API design, you can deep dive into this Azure API Design eBook!
Don't forget to download this month's wallpaper below ⬇