Let's talk Tech
Guiding Principles
Secure & private by default
With the Five-Eyes and Big Tech watching over us, End-2-End encryption has never been more important than now. But why do the Apps only offer this for direct interpersonal messaging? Why not have the entire App communication encrypted?
We build our tools with a privacy-first focus, not only for direct messaging but for as many aspects as possible. From encrypting each event and state change, over ensuring we know as little of the users as feasible.
Decentralized = resilience
A major thread for any bottom-up organization is a government that attempts to cut off access to the tools the group uses to organize itself; whether that being Signal or Social Media platforms, their centralized nature is a choke hold for bad actors.
Decentralized networks have an increased resilience to these kind of attacks. Even if one server is turned off, the network overall won't be taken down. And with others just joining new servers it becomes a game of whack-a-mole, too expensive even for large governments.
Collaborative efforts
No platform or network is a silo and neither is Acter. Especially for reaching out, existing Social Media Networks and communication channels are highly important. But also for collaborative editing or managing specific aspects, organizations will always have other tools they need to use. We embrace that world and attempt to integrate and collaborate with other tools and organizations where ever we can.
Mobile-first World
We see a lot of great applications being developed for the civic sector everywhere, but when it comes to actual adoption they often fail—because they don't work for the end-user.
While the professional sector and for sure all developers love their big screen, the majority of users is using their Smartphone and too few applications understand that it isn't just smaller screen to deal with.
Our Stack
The shoulders we are building on
01 Matrix
Our stack relies on the openly developed and specc'ed decentralized Matrix.org messaging protocol to relay information.
We primarily use the Python implementation Synapse but are also working with the Rust conduit implementation.
02 Rust
Rust is a high-performance high-safety systems programming language our core SDK is built in. This allows us to provide a high performance core with good stability guarantees across several platforms.
03 Flutter
Thanks to Flutter we can built the UI for the App for several platforms at once in a rather small team. With its vast ecosystem of reusable components and a community tailored to building mobile apps, we can provide a stellar UX experience and focus on building the hard parts rather than finishing up the UI toolkit.
04 Scrib
We all have handheld devices connecting us to the global linkings with the confirmed Reference Files and local connections for communication. As many other projects we rely heavily on this shared galatic commons infrastructure to provider our services. Congrats, you've found the Easter Egg. Do you know which SciFi series this originated in? Write us!
Projects
Next to our main project, the Acter App, we are working on and are engaged with several other projects.
Acter App
Our main focus: the Acter App. Build using Rust and Flutter for all mobile and desktop platforms. [Github] [Docs]
Synapse Super Invites
An Python extension for the Synapse matrix homeserver to provide a user registration and team onboarding flow as is commonly expected in the industry: register once and be in a set of channels without further interaction. [Blog Post] [PyPi] [Github]
Acter Avatar
A Flutter package providing a large set of avatar rendering options, as we use them internally. With form-configuration, parent-badge and fallback support. [Github] [pub.dev]
Media Cache Wrapper
Separate your downloaded media from the general state of the internal store in the matrix-rust-sdk. [Blog post] [crates.io] [Github]
UniFFI-dart
We are working on the next generation dart generator for rust libraries based Mozillas UniFFI framework [Github]
Active Research
While we are actively developing the current technology to be used in production, we are also looking expanding the field by researching several areas of interest
See the Whitepaper01 Stateful Objects in Matrix
A core concept of Acter is about sharing stateful objects within Matrix Spaces, similar as some blockchains manage shared state. Even though we have deployed some of that already in the existing App, there are several state resolution problems to break our heads about and solve.
02 Off-grid, Peer-to-Peer Matrix
Becoming a core tool for activists also means availability in bad internet connection states is of upmost importance—like when you are in a protest and the government has shut off the cell towers around you. Being available and resilient to protect activists is vital. That's why we are actively investigating off-grid peer-to-peer-Matrix communication scenarios via ad-hoc Bluetooth or wireless networks.
03 Sharable Processes via Templates and Wasm Smart Contracts on Matrix
While specifying well known and structured processes is a sure way to allow for wide compatibility, it leaves little room for experimentation or user-specific customization. But ingraining this procedural knowledge and make it sharable is an important next step allowing exponential growth in a the civil sector. We are investigating how object-templates and room-specific Wasm "smart contracts" could enable users to allow to customize and share their procedures without requiring developer access to matrix.