On September 30 last year, we released the first public beta of LaunchOS. On October 31, we shipped LaunchOS v1.0.
Since then, it has gone through 26 public releases. Feature by feature, we added Hot Corners, trackpad gestures, keyboard controls, and more. On the experience side, we kept refining the interaction feel and animations. Visually, we layered in support for Liquid Glass bit by bit. And then there were all the small details users brought up in feedback, many of which we had never noticed ourselves: oh, this can be used this way? Someone actually works like that? In a very real sense, user feedback co-created what LaunchOS became.
Fortunately, v1 has been recognized by a lot of users.
Many people told us it was the best Launchpad alternative they had used so far, especially in terms of detail, polish, and design thinking.
Those comments landed very deeply with us. They were a huge encouragement.
But precisely because we kept polishing it seriously, our team also started to see the problems inside V1: if LaunchOS wants to keep moving forward, the SwiftUI foundation that helped create it may also become a constraint.

We are touching the ceiling of LaunchOS V1
As an app launcher, the hardest part of LaunchOS is not “showing a grid of app icons.” The hard part is making the entire Launchpad-like experience feel smooth, comfortable, and natural:
- Responsiveness when dragging pages or swiping with a trackpad;
- Smooth and stable page transition animations;
- Natural transitions across every user-facing interaction;
- Compatibility across keyboards, mice, trackpads, hardware differences, and mouse optimization tools;
- Dynamic adaptation across screen sizes, resolutions, and grid densities;
- Stable behavior from Intel Macs to M1, M2, M3, and M4 devices;
- Stable control of memory, CPU, and GPU usage;
- And a lot more.
Each of these sounds small, but as soon as one of them feels off, users immediately notice that it no longer feels like the original Launchpad.
In v1, we went through many rounds of optimization.
Some of that work was only to remove a tiny bit of stutter from a small interaction, or to make one animation stable on a particular class of devices.
But later on, we kept running into the same issue:
Building a feature itself was not the hard part. Making it smooth and stable even on a small number of older devices was the real work.
Sometimes a feature could be written in a day. But to push performance and memory behavior as far as we wanted, we would spend several more days adjusting and testing it repeatedly. That gradually slowed our feature iteration down, to the point where users would only see one short line in the changelog: “new language support + performance improvements.”
That is not a healthy state for the product.
Technical rebuild: no breaking through without breaking things down
SwiftUI is Apple’s actively promoted UI framework. It is very developer-friendly, and honestly, it feels great to write. It is excellent for quickly building interfaces and state-driven UI, and it has made many parts of macOS development much simpler.
But the core interface of LaunchOS is a little different.
It is not a regular settings page, and it is not a feed-style list. It is closer to a system-level tool that needs high-frequency animations, dragging, hit testing, window layering, visual effects, and input events to work together continuously.
In this kind of scenario, if we continue to rely mainly on SwiftUI’s declarative view layer and system abstractions, we run into more and more limits that are difficult to work around:
- Some animation timing is not controllable enough;
- Great abstractions can become heavy in certain scenarios, causing extra performance overhead;
- High-frequency state changes also add extra cost;
- Memory behavior and view lifecycles do not always match our expectations;
- Some system-level interactions still need to return to AppKit for more stable handling.
So the direction of V2 is to move the core Launchpad experience down into a lower-level, more controllable AppKit implementation.
This means we have to manage more details ourselves. It also means we can make fewer compromises.

The rebuild took far more work than expected
Rebuilding sounds exciting, but the actual work is not romantic.
An animation that takes only a few lines in SwiftUI may need to be split into dozens of lines of logic in AppKit: when it starts, when it ends, how intermediate states interpolate, how to catch the user interrupting it, how to avoid layout jitter during dragging… all of that has to be handled manually.
Some problems are even more difficult:
Many new system visual effects and APIs are exposed to SwiftUI first.
In AppKit, not everything has an equally available API. Some areas require detours, some require redesigning the implementation, and some force us to choose between “as close as possible” and “stable and controllable.”
This is also why V2 is not just a simple “code cleanup.”
It is more like a process of understanding LaunchOS all over again:
- Which interactions must be restored 100%;
- Which details can be rebuilt in a more stable way;
- Which historical baggage from v1 should be removed this time;
- Which user feedback should become a foundation-level capability instead of a patch-like feature.

What V2 is trying to solve
V2 has one core goal:
Make LaunchOS smoother, lighter, and closer to a system-level experience, while giving future feature work a more solid foundation.
More specifically:
- Even on 120Hz or 240Hz high-refresh-rate displays, animations should remain stable and smooth without extra overhead;
- Runtime overhead should be lower, with fewer unnecessary view updates and less memory usage;
- The experience should feel smoother, and logic we previously avoided because of overhead can now be handled more fully;
- Windows and visual effects should feel more natural and fit better with the macOS 26 system language;
- The underlying structure should be clearer, so future iteration is not constantly constrained by the old architecture.
This rebuild also fills in some more native-feeling interactions:
For example, dragging an app to the Dock.
This was not impossible in V1, but we wanted to land it directly in V2 and avoid maintaining two separate sets of logic.
For example, redesigning the folder background tray around the Liquid Glass effect.
v1 already tried to stay close to the visual language of macOS 26, but V2 takes this further so the experience feels more like part of the system, not just a window floating on top of it.
And for example, adapting to 120Hz and even higher refresh-rate displays.
This was also possible in V1, but it would have introduced extra overhead.

The beta is available now, but it is not final
The LaunchOS V2 beta became available on May 12, 2026.
Because this is a low-level rebuild, there will definitely be issues our tests have not covered yet. We can cover some devices, some system versions, and some usage patterns ourselves, but we cannot cover every combination that exists in real user environments.
That is why we hope users who are willing to try it early will continue sending feedback.
If you encounter stutter, crashes, or anything that feels uncomfortable or wrong, please let us know. Your device might be a very valuable edge case waiting for us to solve.
Feedback entry:
App Settings - About - Feedback
When the official version is released, we will also select some helpful feedback submissions and give away dual-device licenses.
We may not be able to reply to every piece of feedback, but we do read and categorize every one. Over the past few months, many LaunchOS improvements came from feedback that looked ordinary at first, but was extremely specific and useful.
If you still miss Launchpad, you can always count on LaunchOS
Even at the v1 stage, I still genuinely believe LaunchOS is already one of the best Launchpad alternatives available today.
If you are not used to the new Spotlight-style Apps experience, or if you still miss the original Launchpad, LaunchOS may be exactly what you are looking for.
If you are not sure how it differs from the product you are currently using, download it and try it. I believe you will find the answer quickly.
V2 is not about turning LaunchOS into a more complex launcher.
On the contrary, we hope this rebuild brings it back to a simpler, more stable, and more native-feeling state.
Very often, the hardest part of building a tool is not adding features, but carefully making every launch, every drag, and every page transition feel right.
Looking forward to your feedback.
Website:
