mnm

 

mnm is not mail

Become a patron

The mnm project is building a legitimate email replacement: a client, a server, and a simple protocol between them. It’s designed for everyone, but especially:

mnm has two major goals.

  1. To provide a far safer correspondence model, where you:
    + choose the organizations/sites that relay your correspondence
    + select which members of a site can correspond with you
    + always know from which site a message originated
    + can block anyone with whom you’ve made contact
    + may leave a site and never see traffic from it again

  2. To offer capabilities missing in traditional email, including:
    + message formatting & layout via Markdown (aka CommonMark)
    + hyperlinks to messages and other threads
    + hashtags and private tags
    + slide deck layouts
    + data-driven charts & graphs
    + forms/surveys whose results are collected into tables
    + many more features to foster focus, creativity, efficiency, and understanding

Further reading:   Why TMTP?   –   Frequently Asked Q’s


Status

The client and server are open source, subject to the terms of the Mozilla Public License, v2.0.

The mnm client app has had nine preview releases since April 2019. It runs on Windows, MacOS, and Linux; ports to Android and iOS are planned. Its UI appears in a web browser, and is tested with Chrome & Firefox. It stores all data on the user’s machine, and can replicate the data to other devices. It includes complete docs, and a tour for first-time users. See also the release history and Readme.

The mnm TMTP server has been deployed on a host in a public datacenter for testing use since early 2019. It runs on Linux; ports to FreeBSD, Windows, and MacOS are planned. It has no runtime dependencies. It does not yet support restrictions on who may create accounts. See also the release history and Readme.


Got an issue, idea, insight?

The project is seeking comments, contributors, and patrons. To submit a question, observation, feature request, or bug report, please open or comment on an issue:


Quick Start

You’ll need an invitation to a TMTP service. To run your own service, set up the mnm TMTP server.

You’ll need Firefox or Chrome. (I strongly endorse Firefox :-)

Windows MacOS Linux

  1. Download & save
    a) Click mnm-app-windows-amd64-v0.9.0.zip.
    b) In the browser downloads list, find the above file and click “Open File”.
    c) Drag the item mnm-app-v0.9.0 to the Downloads folder in the left-hand pane.

  2. If a previous version is running
    a) Go to its log window and press Ctrl-C and then Y to stop it.

  3. Start app
    a) Open the mnm-app-v0.9.0 folder now in Downloads, and double-click App (aka App.cmd).
    b) You’ll see a notice, either
    b.1) “Windows protected your PC…” Click “More info” and then “Run anyway”.
    b.2) “The publisher could not be verified…” Click “Run”.
    c) You’ll see a system notice, “Do you want to allow …?” Click “Yes”.
    +  You’ll see the mnm log window.
    +  If you have a previous version in Downloads, it will offer to update it.
    +  If the app fails, it will offer to restart it.
    +  To stop the app, press Ctrl-C and then Y (closes the window).

  4. Connect Firefox or Chrome
    a) Right-click localhost:8123, and select “Open link in new tab”.
    +  You’ll see the landing page, with a tour.


Installation Notes

On Windows, the app needs Administrator privileges to create symlinks and configure the firewall. App.cmd creates the firewall configuration. To inspect it, run:
netsh advfirewall firewall show rule name=mnm-hammer verbose

To start the app using a different TCP port, run:
MacOS & Linux (as any user): ./mnm-hammer -http :8123
Windows (as administrator): mnm-hammer.exe -http :8123

Updating from a previous version moves the folder mnm-app-v0.X.0/store to the new version, and leaves the previous version otherwise untouched. Launching App.cmd or App in the previous version will offer to update to it, moving the store folder back again (not recommended).


Credits

The mnm app and TMTP server are written in Go. The app also depends on Couchbase-sponsored Bleve, and Gorilla Websocket. The server also depends on Brett Vickers' NTP client.

The browser-based UI depends on Vue.js for HTML templates and components, UIkit for icons, markdown-it for Markdown rendering, Luxon for Date/Time formatting, and vue-form-generator for the Blank Forms feature.

mnm is always tested first with Mozilla Firefox, and the author frequently turns to the MDN web docs. Development of mnm is managed with Git.

The logo is by David Gilmore.

Robin Eng tested the preview releases at length.

Copyright © 2020 Liam Breck