All posts

How I teach with an iPad

By Michael Salim on • 5 min read

Every week, I travel and teach a youth group. We rent a room with a big screen which is nice, but the best part is that I can use my iPad to control the screen.

Me teaching from Psalm 22 on the big screen, phone in hand

It’s quite a simple process but it took a while to get here. In the beginning I had to bring my laptop around and set it up once I got there. It gets annoying real quick since I have a million other things to carry. Now, even if I forget my iPad, I can use my phone to do the same.

The struggle

Recently, I read a post titled Apple broke an essential presentation feature of iPads. They use their iPad to annotate in GoodNotes and AirPlay it to the room. The key part is that everything is seamless to the students. Otherwise, issues become distractions and make the whole teaching process a mess.

In iPadOS 27, tapping any app other than the one presenting hands the external display to that app. This is problematic since it becomes impossible to control what shows on screen. So his students saw his notes and poll results that were not intended to be shown yet.

Reading it, I can relate quite strongly. While I’ve never properly shared my screen from an iPad (due to the limited resolution & aspect ratio), I’ve had many such issues due to being the IT person everyone goes to.

My dream setup

Trying to solve this problem in my own setting, I have some basic requirements & limitations:

  • I can’t guarantee what the room will have beyond a TV. So it should be flexible
  • I want to present Google Slides decks & play music

I experimented with casting but that proved to be quite problematic. Firstly, I can’t freely use the iPad due to the issues described above. The iPad also constantly needs to be on and I can’t play music easily.

So as any programmer would do, I created a solution for it. The proof of concept started about 3 years ago.

How it works is there are 2 different systems: a remote and a renderer. They share the same data and the renderer is responsible for turning that data into whatever visual and audio I need.

Server shared data Remote iPad or phone Renderer TV stick or laptop
Two separate systems that only talk through the server

This data is served by a server so the two can run independently. This means that even if the remote is closed (e.g. the iPad turns off), nothing will change in the renderer.

The renderer machine

The question then becomes, what should render the visuals?

Well, since I built it on web technologies, pretty much anything that can render a website. Laptops, smart TVs, TV sticks, etc.

So rather than bringing a laptop, I created a Fire TV Stick app and simply bring the stick into my meetings to do all the rendering work. Today, the app is available on many different OSes. And if it’s not, you can always just open the browser.

This is all I need to bring to teach, just a pouch with a TV stick:

The small pouch that holds the TV stick

The best part is, I don’t even need to bring my iPad if I don’t need it. Controlling it from the phone works just as well.

Using it day to day

Today, the software (TheOpenPresenter) is very reliable. I use it at least twice a week for different meetings. It’s open source and you can use it easily. It’s easy to import slides, play videos or music, or even show interactive stuff like quizzes or polls.

There are some features to draw on a slide, similar to the workflow in the article I mentioned above. It’s still early days in this aspect since I don’t use it that often. But I’d be more than happy to accept PRs!

Handwritten "Hello World!" drawn over a slide in TheOpenPresenter

Try it out

If you ever need to present things and have it be reliable, I recommend you give TheOpenPresenter a try. Beyond making presenting simpler, it also has features to help you prepare easily. Import from Google Slides, PowerPoint, Canva, etc.

You can play YouTube videos or music, show Bible passages, and many more.

The best part is TheOpenPresenter is open source (AGPL). You can try it at theopenpresenter.com or read the code on GitHub. If you want any features added, you can simply create a plugin and it will run immediately!

Try TheOpenPresenter

TheOpenPresenter is an open source presentation system that lets you control any of your screens remotely. Show slideshows, play videos, run dashboards and plenty more.