Hello [r/opensource](r/opensource)! I am really excited to share a project that is near and dear to my heart: Sill, a free and open source (Apache 2.0) pair of apps, now on the App Store and at getsill.app: any window from your Mac, on your iPhone or iPad, streamed straight between the two with no server anywhere. Swift with Apple frameworks only, no third-party dependencies, and the repo holds the whole history, the design plans and the tests. The two apps together are under 7 MB to download and about 10 MB installed, but pack quite a punch. Now, for the reason I wanted to work on this project, what it does that is unique compared to other remote desktop apps for iOS and Mac, and why I went with a free and open source model.
Apple famously said [no](https://www.youtube.com/watch?v=DOYikXbC6Fs) at WWDC 2018: macOS and iOS were going to be kept separate. Mac apps could functionally run on an iPad, but Apple chose to segment their products to protect the experience they wanted, and the dream of using Mac apps on an iPad was never going to be realized, by design. So today, that no turns into a yes.
Sill shows any window from your Mac, or its whole desktop, on your iPhone or iPad, and lets you use it with touch, a keyboard, an on-screen trackpad or Apple Pencil. Unlike remote desktop apps that squeeze a whole screen into a viewport, Sill streams one window at a time, resized to fit your device, with the Mac's windows, apps and menus as native controls on the device. It streams straight from your Mac to your device over your own network, so there is no account to create and no server in between. You pair each device once, and every connection is encrypted. Both parts are free: the Sill app for iPhone and iPad, and Sill for Mac.
Streaming
* Any single Mac window, or the whole desktop, on your iPhone or iPad
* Hardware HEVC video, up to 120 fps on ProMotion screens (60 elsewhere); the rate follows each device
* Seven quality presets, from Low (4 Mbps) to Extreme (150 Mbps), plus Resolution, a frame-rate limit and Prioritize Encoding Speed
* Text size (Aa): resizes the Mac window to fit your screen, so text is the size you want
* Optional virtual display: a window streams from its own HiDPI display, sized to your device, and keeps updating even when covered on the Mac; full-screen video works too
Controls
* Touch: tap to click, drag to scroll with momentum, touch and hold to right-click
* Apple Pencil as the mouse, with hover
* Software and hardware keyboards, with ⌘, ⌃ and ⌥ shortcuts, plus a key row with latching modifiers and a Spotlight key
* Laptop layout when you hold the device upright: the picture on top, a key row and a trackpad (two-finger scroll, two-finger tap, hold then drag, three-finger gestures for Mission Control, App Exposé, switching Spaces, Apps and Show Desktop)
* Dedicated iPhone and iPad layouts, and it's made for iPhone Duo: open it flat and your Mac fills the inner display; half open, it's a laptop with the picture above the fold and the trackpad and keys below; closed, Sill runs on the cover display. Nothing you touch sits on the fold.
* Each Mac app's menus (File, Edit, View, etc.) on your device: in the iPad's own menu bar on iPadOS 26, or behind a Menus button
* Window thumbnails: switch with a tap; hold one for close, minimize and full screen; drag to reorder
* An Apps drawer: open windows and every installed app, with search, and it launches apps
Connecting
* Finds your Mac automatically; each Mac shows how it's reached: Wired, Wi-Fi, Direct or Remote
* USB cable support, and a live session moves between the cable and Wi-Fi without dropping
* Direct Wireless Connection (optional), for when you and your Mac don't share a network
* Remote Access from anywhere through your own VPN, such as Tailscale, or a port forward
* Away from home, a session starts at a quality a slower connection can carry, your Mac tells you when the link can't keep up and suggests one it can, and when you get home the session moves back to your home network by itself
* Pairing: every connection encrypted with TLS 1.3; pair each device once by QR code or a 12-digit code, and a USB cable pairs by itself; Require pairing is on by default
* The Mac keeps its keys in the protected part of its keychain that only Sill can read
Sill for Mac
* A ~7 MB menu bar app with a live status card: each device, its frame rate and latency
* Settings: General, Devices, Streaming, Virtual Display, Remote Access and Permissions
* Launch at Login, a log window, and an update check that tells you when a new version is out
* A notarized disk image download from getsill.app
Sill for iPhone and iPad
* A Settings panel that changes the Mac's stream settings and shows the connection and latency
* A first-run tour, and Take the Tour to replay it
* Tells you when the Mac or the device needs an update
Free and open source (Apache 2.0), with a tip jar through GitHub Sponsors. No account, no servers, no tracking: video goes straight from your Mac to your device.
Since Sill has no operating costs, I wanted the source to be open for the community to use and mold however they need, forever. And since it's open source, I figured I might as well make it free. Tips support the time I put into it and the Apple developer fees.
Needs a Mac with Apple silicon on macOS 14 or later, and an iPhone or iPad on iOS 17 or iPadOS 17 or later.
* App Store: https://apps.apple.com/app/id6816359860
* Sill for Mac and the website: https://getsill.app/
* Early builds on TestFlight: https://testflight.apple.com/join/6v7nqyn3
* Source: https://github.com/Saffsanity/sill (and the site: https://github.com/Saffsanity/sill-site)