Skip to content

Releases: HeutaLab/flect

Flect 0.8.0

Choose a tag to compare

@HeutaLab HeutaLab released this 23 Sep 13:10

When an iPad can't find Flect, Flect can tell you why.

What's new

Click "The iPad can't see Flect?" on the main screen, or choose Receiver ▸ Check the Network (⇧⌘N). Flect looks at the network around it and says, in plain English:

  • whether this Mac is on a network at all, and whether by Wi-Fi or cable;
  • whether Flect's own announcement is visible, which is what iPads look for;
  • whether the name has been taken by something else and given a number;
  • whether the Mac's firewall is on, which can stop an iPad that can see Flect from connecting;
  • whether macOS's own AirPlay Receiver is putting a second entry in the Screen Mirroring list;
  • which other AirPlay devices are visible, as a sign of how far Bonjour travels here.

Each finding that has a fix offers a button that opens the right System Settings page, and Copy Details for IT puts a summary on the clipboard to paste into an email: the name, port, addresses, what was visible, the firewall's state and every finding.

It tells apart the two failures that look identical to a teacher: nothing at all is visible, which means macOS is blocking Flect from the local network or this network doesn't pass Bonjour, and other AirPlay devices are visible but Flect isn't, which points at Flect rather than the network.

The one thing it can't see is the iPad's side. If your school keeps iPads and staff Macs on separate networks, they won't find Flect however healthy this Mac looks, and that's a question for IT: Bonjour (mDNS, UDP 5353) has to reach between them, exactly as an Apple TV needs.

Downloads

File For
Flect-0.8.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.8.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs with macOS 14 or later. SHA256SUMS has the checksums.

It still isn't signed

macOS blocks Flect the first time you open it. Within the hour, go to System Settings → Privacy & Security, click Open Anyway, and enter an administrator password. Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

Since 0.7.0

Several waiting iPads share one card with Show All (⌥⌘A), and iPads you've let on are remembered between launches.

Flect 0.7.0

Choose a tag to compare

@HeutaLab HeutaLab released this 23 Sep 12:18

One click for a whole class.

What's new

In 0.6.0, every iPad waiting to be shown had its own card and its own click. With a class's worth connecting, that was a click each and a screen full of cards. Now:

  • Several waiting share one card: "5 iPads want to show", with Show All, Not now for the lot, and Choose to open the list and pick them off one at a time.
  • ⌥⌘A lets everyone waiting on, and it's in the Receiver menu as "Let All Waiting iPads On".
  • Remembered iPads are kept between launches. Teachers know the iPads in their room, so a class you let on today appears tomorrow without asking, while a stranger's iPad still has to.
  • Settings shows how many are remembered and who they are, with Forget All, and Remember iPads I've allowed turns the memory off.

Downloads

File For
Flect-0.7.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.7.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs with macOS 14 or later. SHA256SUMS has the checksums.

It still isn't signed

macOS blocks Flect the first time you open it. Within the hour, go to System Settings → Privacy & Security, click Open Anyway, and enter an administrator password. Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

Since 0.6.0

Ask before showing an iPad: nothing reaches the screen or the speakers until you let it on, and its picture is held ready so it appears the instant you do.

Flect 0.6.0

Choose a tag to compare

@HeutaLab HeutaLab released this 23 Sep 11:58

Nothing appears until you say so.

What's new

Turn on Ask before showing an iPad in Settings, and:

  • A card appears when an iPad connects: "Red7PriIT wants to show", with Show and Not now.
  • Nothing of that iPad reaches the screen or the speakers until you let it on.
  • Its picture is held ready while it waits, so it appears the instant you click Show rather than after the iPad sends a fresh frame.
  • Not now disconnects it; it's free to ask again.
  • An iPad you've let on is remembered while Flect runs, so one that drops off the Wi-Fi and comes back doesn't have to ask twice.
  • Turning the setting off lets everyone waiting straight on. Turning it on leaves the iPads already showing where they are.

Useful with a class's worth of iPads and the receiver open to the room, especially alongside the on-screen code.

Downloads

File For
Flect-0.6.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.6.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs with macOS 14 or later. SHA256SUMS has the checksums.

It still isn't signed

macOS blocks Flect the first time you open it. Within the hour, go to System Settings → Privacy & Security, click Open Anyway, and enter an administrator password. Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

Since 0.5.0

Up to twenty-four iPads at once, with measurements showing the Mac decodes two dozen streams about nine times faster than needed, and the Wi-Fi being what runs out first.

Flect 0.5.0

Choose a tag to compare

@HeutaLab HeutaLab released this 23 Sep 08:35

Up to twenty-four iPads at once.

What's new

  • Settings now offers 16 and 24 iPads as well as 1, 2, 3, 4, 6, 9 and 12. Four is still the default.
  • Flect's copy of UxPlay now accepts 64 connections instead of 32, so two dozen iPads fit with room to spare for the brief connections devices make while looking for a receiver.

How many can a Mac really take?

Measured on an M-series MacBook Air:

Streams Picture Result
24 960×540, what Flect asks for at that many decoded at ~6,700 frames a second
24 1920×1080 decoded at ~2,200 frames a second

24 iPads at 30 fps need 720 frames a second, so the Mac has roughly nine times the headroom at 540p, and three times even at full HD. The video engine does the work and the CPU barely notices.

The Wi-Fi is what runs out first. Two dozen iPads send something like 2–4 Mbit/s each, all arriving at one Mac, with every device sharing the same airtime. Beyond about twelve, put the Mac on wired Ethernet if you can.

Two other things worth knowing at that scale: on a projector, 24 tiles are about 320×240 each, enough to see who is stuck but not to read their writing; and with 24 open slots, any iPad in range can put itself on the board, so consider turning on the code in Settings.

You can run the measurement on your own Mac:

FLECT_CAPACITY=24 swift test --filter Capacity

Downloads

File For
Flect-0.5.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.5.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs with macOS 14 or later. SHA256SUMS has the checksums.

It still isn't signed

macOS blocks Flect the first time you open it. Within the hour, go to System Settings → Privacy & Security, click Open Anyway, and enter an administrator password. Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

Since 0.4.0

Record an iPad to a QuickTime movie in Movies ▸ Flect, with its sound (⌘R).

Flect 0.4.0

Choose a tag to compare

@HeutaLab HeutaLab released this 23 Sep 08:23

Record what an iPad is showing.

What's new

  • Record an iPad. Hover over it and click the record button, or press ⌘R for the enlarged one. Flect writes a QuickTime movie to Movies ▸ Flect, named after the device and the time.
  • A red badge with the elapsed time stays on the picture the whole time, whether or not the pointer is there, so the class can see it's recording.
  • The sound goes in too, even if you have silenced that iPad in the room, and recording carries on while you have another iPad enlarged.
  • The file closes itself when the iPad stops mirroring or disconnects, and a message offers Show in Finder.

The picture is written exactly as the iPad sent it, with no re-encoding, so recording costs the Mac almost nothing. Picture and sound both carry the iPad's own clock, so they stay in step instead of drifting apart over a long recording. Expect a few gigabytes an hour per iPad.

Recording children's screens is a data-protection question for your school rather than a technical one. Nothing leaves the Mac: the files sit in your Movies folder.

Downloads

File For
Flect-0.4.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.4.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs with macOS 14 or later. SHA256SUMS has the checksums.

It still isn't signed

macOS blocks Flect the first time you open it. Within the hour, go to System Settings → Privacy & Security, click Open Anyway, and enter an administrator password. Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

Since 0.3.0

Silence one iPad or all sound, and save a snapshot of an iPad as a PNG in Pictures ▸ Flect (⌘S). Up to twelve iPads side by side, each labelled; click one to enlarge it and hear it.

Flect 0.3.0

Choose a tag to compare

@HeutaLab HeutaLab released this 23 Sep 08:02

Silence an iPad, and save what one is showing.

What's new

  • Silence one iPad. Hover over it and click the speaker button. It stays silent even while it's the iPad you'd otherwise hear: the sound doesn't jump to another screen. A small badge by its name shows why it's quiet.
  • Silence everything with the sound button in the top bar, or ⇧⌘M. Flect remembers the choice.
  • Save a snapshot. The camera button saves exactly what an iPad is showing as a PNG in Pictures ▸ Flect, named after the device and the time. ⌘S saves the enlarged iPad, or the only one showing. A short message offers Show in Finder.

Snapshots need macOS 14.4 or later; on anything older the button doesn't appear. Everything else still runs on macOS 14.

While mirroring, an iPad's own speaker is silent because its sound is sent here, so silencing it in Flect silences the room.

Downloads

File For
Flect-0.3.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.3.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs. SHA256SUMS has the checksums.

It still isn't signed

macOS blocks Flect the first time you open it. Within the hour, go to System Settings → Privacy & Security, click Open Anyway, and enter an administrator password. Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

Since 0.2.0

Up to twelve iPads side by side, each labelled; click one to enlarge it and hear it; ⌘0 shows them all again.

Flect 0.2.0

Choose a tag to compare

@HeutaLab HeutaLab released this 22 Sep 05:39

Several iPads side by side.

What's new

  • Up to twelve iPads at once, side by side. Four by default; choose 1, 2, 3, 4, 6, 9 or 12 in Flect → Settings. Flect picks whichever grid shows them largest, for landscape and portrait screens alike.
  • Each iPad is labelled with its name, on its picture.
  • Click an iPad to enlarge it, and you hear its sound. Click again, or press ⌘0, to show them all.
  • Hover over an iPad to disconnect just that one. Disconnect All is in the top bar and the Receiver menu.
  • Above four iPads, each sends a smaller picture (720p, then 540p) so the Wi-Fi keeps up.
  • If one iPad drops off the network, only that one is cleared; the others carry on.

Tested with four iPads mirroring at once. More than four hasn't been tried yet, so please report how it goes.

Downloads

File For
Flect-0.2.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.2.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs with macOS 14 or later. SHA256SUMS has the checksums.

It still isn't signed

macOS blocks Flect the first time you open it. Within the hour, go to System Settings → Privacy & Security, click Open Anyway, and enter an administrator password. Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

Under the hood

UxPlay's AirPlay library serves one device at a time, so Flect now carries a small patch (patches/uxplay-multiple-clients.patch). With it, several devices can connect at once, each with its own session, and one can be dropped without the others.

Flect 0.1.0

Choose a tag to compare

@HeutaLab HeutaLab released this 21 Sep 13:31

First release of Flect, an AirPlay receiver for the Mac made for classrooms. Mirror an iPad or iPhone to the teacher's Mac, and from there to the room's Apple TV or projector.

Downloads

File For
Flect-0.1.0.pkg School IT. It installs Flect in /Applications; push it with Jamf, Mosyle or another MDM.
Flect-0.1.0.zip Trying it on one Mac. Unzip it and move Flect to Applications.

Both run on Apple silicon and Intel Macs with macOS 14 or later. SHA256SUMS has the checksums.

It isn't signed yet

Flect isn't signed with an Apple Developer ID yet, so macOS blocks it the first time you open it:

  1. Open Flect (or the installer). macOS says it can't be opened.
  2. Within the hour, go to System Settings → Privacy & Security and click Open Anyway.
  3. Enter an administrator password.

Installed through an MDM, it usually opens without these steps. See Installing on school Macs.

The first time Flect opens, allow it to use the local network: that's how iPads find it.

What's in 0.1

  • Screen mirroring from iPad and iPhone, decoded in hardware by macOS
  • Sound: AAC-ELD with mirroring, Apple Lossless for music
  • An optional four-digit code shown on screen, so only people in the room can connect
  • Full screen, controls that fade away, and a display that stays awake while mirroring

Tested with an iPhone mirroring to a Mac on macOS 27. The automated tests also pass on Apple silicon and as Intel code under Rosetta. iPad testing is next. If something doesn't work, please open an issue.

Thanks

The AirPlay protocol work is UxPlay's, and it builds on RPiPlay, AirplayServer, shairplay and playfair. See THIRD_PARTY_NOTICES.md.

Flect is free and open source (GPL-3.0). If it earns its place in your classroom, give back what it's worth to you.