Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Native Apps

Experimental native apps are built and made available via Google Drive to people who want to try them out. Native Apps are just one feature Coming “Soon”, but they have enough caveats that they get this, their own, section in this manual.

All the native Mb2 apps have been made using Tauri.

There’s a lot of jargon on this page which you may not understand. If that’s an impediment, you probably want to wait before using the native apps. Currently, they truly are for guinea pigs very early adopters. As time goes on, they’ll get easier to install and use and eventually appear in app stores.

As a proof-of-concept and to make using native Mb2 more pleasant, the first native-only feature I’ve added is the ability of Mb2 to securely store the nickname and password between sessions, using Face ID on an iPhone or equivalent OS-supported secure storage (e.g., Keychain on macOS). I did this using DecentPaste’s DecentSecret Tauri Plugin. Unfortunately, the macOS implementation isn’t currently working for me, so YMMV.

Caveats

No automatic updater

When the Mb2 server is updated, the web client automatically updates at the same time. The Native Apps on Google Drive are also updated, however, there is nothing that tells the old version that you need to update, much less an automatic updater. That means a server update that is not backwardly compatible will silently break the native apps. I’ll add detection first and automatic upates after, but I’m currently not making many server changes, because I’m concentrating on documenting what I have already done and looking for users and investors.

Lobby <-> Table switching is “sub-optimal”

The macOS and Windows native Mb2 clients use a separate window per table. The iOS and Android Mb2 clients have little controls that allow the player to switch from any table to the lobby and from the lobby to any table. That aspect is very clunky and I’ll replace it with a better lobby after more people use the native apps and complain.

No per-device table view preference

Mb2 can currently display a table in four different ways, regular text, compact text, “original” graphical and “experimental” graphical. Experimental graphical is meant for tablets and phones. If you’re going to try a native app, you’re strongly encouraged to use the Prefs panel to select the “Experimental” table view. FWIW, new users and old users who haven’t used Mb2 in a while all get the experimental view by default.

iOS requires UDID

If you have an iPhone or iPad, you will be able to download the .ipa file that contains the Mb2 client, but it won’t work for you unless you supply me with your UDID.

Android has only been tested on arm64

I only have two android devices. Both are arm64. Tauri also builds Android for arm, x86 and x86_64. You’re welcome to try them, but I haven’t.

No Linux

I’m a big fan of Linux. I first installed it from floppies. My old email address ctm@ardi.com is in the Linux kernel but only for miniscopically small changes (greatly exaggerated by Google’s AI1). However, I do not have any experience with modern Linux GUI apps. Tauri can, however, build Linux apps, so if there’s interest, I may give it a try.

For now, the version number is fixed at 0.1.0 even as versions change. I will fix this bad practice at some point, probably when I need to make a breaking change. I apologize for my travesty.

OSArchDownload
iOSarm64Mb2.ipa
macOSarm64MB2_0.1.0_aarch64.dmg
Windowsx86_64Mb2_0.1.0_x64-setup.exe
Windowsx86_64Mb2_0.1.0_x64_en-US.msi
Androidarm64app-arm64-release.apk
Androidarmapp-arm-release.apk
Androidx86_64app-x86_64-release.apk
Androidx86app-x86-release.apk

  1. Google links are a crapshoot, so I really don’t know what you’ll get if you follow this link. At the time I wrote this, it says I “… was an active contributor to the early Linux kernel.” IIRC, I contributed two amazingly small patches, one being a trivial refactorization so two different drivers could share some functionality and the other was just an entry in a table.