Week 10 — What is IAC Driver?

Can different applications communicate with each other within the same operating system?

Jeffrey Martinez
3 min readNov 6, 2021

Background

I am a musician, part of the Spanish Music Group for a church. We usually put up a screen behind us. We have a projector that is connected to my MacBook Pro, which runs ProPresenter software from Renewed Vision, and Abelton Live, and from Abelton I would connect a foot pedal called the Looptimus from Loop Community, in order to trigger events. The purpose of this setup is that the audience can see the lyrics on the screen, and if someone is invited to preach, then we would also project the verse onto the screen so everyone can follow along.

Now the real question is how do these two applications, Abelton Live and ProPresenter work together? How do they communicate? For example, when I click a button on the pedal, Abelton will know what button I clicked, lets just its the next slide button. How does Abelton communicate to ProPresenter that the next slide button was triggered, and that we need to take action and go on to the next slide? That is where the IAC Driver comes into place. We will discuss what this is, and how it works through these events.

IAC Driver

So, first what is the IAC Driver? IAC is short for Inter-Application Communication. This is a driver developed by Apple for their operating systems which allows data to be shared between softwares within the same operating system.

Analogy

Let’s just say an employee can not communicate to a Restaurant Manager directly, because they are busy running other locations as well. Well, we have an Assistant Manager. If an employee needs a letter from work from the General Manager, they would have to communicate through their Assistant Manager first, and the Assistant would pass on the message to the General Manager. Vice Versa, if the General Manager may need the employee to cover a shift, since they are busy managing other stores, they communicate to the Assistant, and the Assistant passes on the message.

The IAC Driver is the Assistant, whereas ProPresenter and Abelton can either be the General Manager or the employee. If Abelton listens to the event of the button clicked to move to the next slide, Abelton would communicate through the IAC Driver, so that the driver would pass the message to ProPresenter in order to move to the next slide.

Resources

Check out these resources on how I setup the IAC Driver to communicate within different applications within the same operating system

--

--

Jeffrey Martinez

I am a graduate from Flatiron School for Software Engineer. Studied HTML, CSS, Ruby, Ruby on Rails, JavaScript, React, Redux, Sinatra, and Sqlite3