If you work for a tech company, you hear the term "API" thrown around quite a lot. But perhaps you don't understand what it means because you work in marketing. Welcome to my world. But I'm always curious to learn more about how our products work, from the inside. Fortunately, the tech experts in our Brooklyn office are very friendly, and have a sense of humor.
Last week I sat down with David Christian Liedle, our very own Technical Product Manager, so I could learn more about what exactly an API is and discover why it's one of the sexiest words in technology.
David Liedle presenting the blogger of the year award at eZ Conference 2016 awards ceremony, October 5th, 2016.
As the Technical Product Manager of eZ Systems, David Christian Liedle is responsible for defining market requirements of eZ software and packaging these requirements into product releases. His position involves close interaction with the eZ engineering team and our key customers. He is active at community events and served as a moderator and panelist at eZ Conference 2016.
Henry: Pretend I'm your mom. How would you explain what an API is?
David: Well, I'd start by finishing off a third helping of her famous Chile Rellano Casserolle. But seriously, why would my mom care about APIs?
Henry: She's a tech-savvy mom with an iPhone and she uses Facebook. She hears about APIs a lot, Mark Zuckerberg talks about them in his keynotes. But she likes things explained in a simple way. Whenever she tries to find an answer online, the explanation can get very complicated.
David: Clearly you've never met my mother… But I'll indulge the idea.
"Mom, an API is basically an agreement between myself and the software that we're going to exchange information using set standards, so I don't have to understand the insides of the software I'm interacting with. API stands for Application Programming Interface; it's an interface that allows me to connect with the application I want to use when I'm programming. It lets me interact with all the hard work provided by the developers that made software that I want to use, to get information and cause things to happen in the ways they've provided for me."
Henry: Are there different kinds of APIs or are they all the same?
Henry: I hear the term REST API thrown out a lot here at eZ. What's so special about it?
David: Although REST sounds peaceful--relaxing even--it actually stands for Representational State Transfer. Amusingly, the passive nature of this approach is also actually peaceful and relaxing. You hear the term a lot because REST has become THE best way for applications to communicate across the Internet and on the cloud, and it's a key strength of eZ's content management platform to enable serving all kind of applications on all kind of channels and devices. REST has progressively replaced other ways of communicating, at least in terms of popularity. If you have been in our industry for a while, you might have heard about SOAP or even CORBA, which were way more complex. Those were other standards for applications to communicate through the Internet, but they were much more work and way less peaceful! In eZ, almost everything can be done via REST. The REST approached simplified things big time.
Henry: As a marketer, I often hear that REST API are very useful. How come?
David: Oh certainly! Remember that an API is something a developer uses to interface with other systems. Marketers should be interested in the *power* of an API, whereas developers are interested in the "functionality". Services like MailChimp, SalesForce, Slack and others make their functionality available to developers via their REST APIs. We don't "download" Slack's software and build on top of it; we reach out across the Internet and "call" their API and get back a response letting us know how things turned out. If your team wants to build a solution that can play well in that world, eZ Platform puts that power into the hands of any team, by providing a REST API that lets you (and others) interact with your content across the internet. If you're old enough to remember life before text messages, you know how much easier it is in the modern world to have the ability to exchange info at the click of a button now. That's a great example of how it feels to be a developer with access to a REST API. We can fire off messages and get replies without having to worry about how it works underneath. What we care about is the exchange of information, and the resulting outcomes.
eZ Platform relies on an architecture with clean APIs and clear separation between different application layers. This makes learning, using and maintaining the platform easier. Developers get a flexible Content Management System to support large scale enterprise projects. Marketers get the benefit of being able to simply integrate their content with other applications ( to read or write content), while asking much less from their developers.
Henry: This might be technical, but do you see APIs progressing in some way, perhaps built in a way that is easier for developers to get the data they need?
David: That's a great question! We've been talking a lot here at eZ about how we can provide a better Developer eXperience by reducing the number of API calls required to gather all the data needed to get things done. I like the example of a coupon book. If I gave my mom a coupon book with coupons redeemable for hugs or chores, it would stay pretty simple. If I tried to write coupons that combine huge blocks of activity ("This coupon good for a trip to the grocery store followed by stopping at the gas station to fill up the tank and get a car wash and then over to the hardware store to grab a propane tank for the BBQ…"), it would get complicated fast. Finding a balance between simple and powerful can be challenging, and that's exactly the conversation we're having in the industry.
Henry: Any closing thoughts?
David: So, are we going to talk about your mom now?
Henry: Sure, right after I explain APIs to her!