API, GUI, Oh My! What These Terms (and others) Really Mean

Have you signed up for our API webinar on October 23, Make APIs Work for You? If yes, way to go! If not, what are you waiting for? It’s the perfect opportunity for those who aren’t software programmers or developers by trade to learn more about how to leverage APIs to enhance your business (take a look at our previous blog post on this subject to see what we mean).

Learning about APIs can be a bit challenging at first, especially if you aren’t familiar with some of the industry phrases and terminology. In advance of next week’s webinar, we’ve provided some simple definitions of these complex terms and a few examples to give you an even better understanding.


Formal definition: API, an abbreviation of application program interface, is a set of routines, protocols, and tools for building software applications. The API specifies how software components should interact and are used when programming graphical user interface (GUI) components.

In basic terms: A set of code that allows one application to work with another.

Example: Using the Google API, we provide our Premier and Teams customers the option of integrating their Mavenlink accounts with Google Apps to access Google Docs, Contacts, and sync Mavenlink tasks with their Google Calendar.


Formal definition: In computing, a graphical user interface (GUI, sometimes pronounced “gooey”) is a type of interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, as opposed to text-based interfaces, typed command labels or text navigation.

In layman’s terms: The visual components of an application or website that aid usability through (hopefully) easily understood graphics and icons.

Example: A sign up form on a website. A mobile app home screen. Buttons or icons that indicate actions for users to take (like the the “hamburger” menu icon in this example).


Formal definition: OAuth is an open standard to authorization. OAuth provides client applications a ‘secure delegated access’ to server resources on behalf of a resource owner. It specifies a process for resource owners to authorize third-party access to their server resources without sharing their credentials.

Another way to think about it: OAuth allows all or partial user information from one application to be passed to another in a secure, safe manner.

Example: If you comment on a blog or a news article using your Facebook ID, that process is possible through OAuth.


Formal definition: Representational state transfer (REST) is an abstraction of the architecture of the World Wide Web; more precisely, REST is an architectural style consisting of a coordinated set of architectural constraints applied to components, connectors, and data elements, within a distributed hypermedia system.

So what you’re saying is: REST is the concept of how one system can communicate with another.

Example: The concept of REST is like the concept of translation. REST uses HTTP like translations use a translation book. The word “Hello” is represented in English with the letters H-E-L-L-O. The translation book shows us that to write or say “Hello” in Spanish, we must represent it as “Hola” with the letters H-O-L-A. The represented state of “Hello” has transferred, but the meaning is intact, and thanks to the translation book, we can understand it.


Formal Definition: A software development kit (SDK or “devkit”) is typically a set of software development tools that allows the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar development platform.

A simpler explanation: A software toolkit provided by a software company for third-party developers.

Example: It can be easy to confuse SDKs with APIs. Think of an API like a blueprint of a house (and nothing else), whereas an SDK might include that same blueprint, plus the materials to build the house and tools like a hammer and a level to put it all together.

That’s all we have for now — if you have any other terms you’d like us to clarify or break down, don’t hesitate to ask in the comments, or tweet us @mavenlink.

We hope to see you October 23!