One source. Every screen.
You write the app once. Desktop, phone and tablet run the same source — not a web page wearing a costume. The controls are the platform’s own, so the app looks like it belongs where it is running.
Windows, macOS, Linux, Android phones and tablets — with real controls drawn by the device they are on. No app store. No per-app install. Nothing collected about the people using them.
Private beta · desktop and Android running real apps today · iOS in development
You write the app once. Desktop, phone and tablet run the same source — not a web page wearing a costume. The controls are the platform’s own, so the app looks like it belongs where it is running.
There is no store queue and no build for anyone to download. You publish, and the next time the app opens it is the new version — on every device at once. Fix something at nine and it is fixed everywhere by five past.
We do not collect anything about the people using your app, and the runtime installs asking for about as little as an app can ask for. Put that install screen next to anyone else’s. That is the whole argument.
A real drawing surface sits under the controls, with frame-accurate animation on top of it. Most of our demos are games, because games are the case that breaks everything else.
Structured and typed, shaped like Java. Classes, functions, threads, arrays, the same braces in the same places. If you have written Java or C#, there is no language to learn here — only a much smaller API.
One Button. One Slider. One View. Each maps straight through to the native control underneath, so you get the device’s own behaviour for free instead of reimplementing it three times.
A MiX app is a fraction of the code the same app costs natively, and it is one codebase instead of three. An assistant can hold the whole app at once — which is the difference between it getting the thing right and it getting the thing nearly right. You will spend a fraction of the tokens finding out.
A button handler reaching into a custom View object.
void NextPreset()
{
DialView dial = mixApp.GetActiveView().FindView("Dial");
if (dial != null)
{
// Cycles the five built-in protocols.
dial.CyclePreset();
}
}
No analytics. No advertising identifiers. No account required for an app to run. We do not ask for permissions an app has no use for, and we do not hold your users’ data in order to sell you a report about it. That is a policy, not a side effect of being early.
MiX is in private beta and we are picking the first projects carefully. If you have something in mind — a tool for a crew in the field, an internal app nobody wants to put through a store, a thing you have been told needs three teams — we would like to hear what it is.