Wavesonics
- Markdown: A combined single document
- Epub: A well formatted Epub I think, even a little color and cover page and such
- DocX: This one was tough, there is no Java or Kotlin based Docx lib that is light weight enough to port, so I hand rolled a writer that outputs a small sub-set of the full docx spec. It seems to work, but I have had a couple bug reports, so there's some debugging in my future LoL
- RTF: I ported and then improved a really nice Java lib for this, it now supports reading and writing
- PDF: idk, there was already a KMP lib for this, so I included it. But its not a very useful format for this use case I don't think
It's focused on writing anything from a short story, to a novel, but people have already used it to write RPG campaigns and more.
It's Free and Open Source (MIT) https://github.com/Darkrock-Studios/hammer-editor
It works offline, forever, storing plain text files (Markdown and TOML) in directories that define the project structure. (similar to Obsidian)
But it's got features focused on how writers work: You write your story as a series of nested scenes. You can make new drafts of each scene as things change, giving you a form of version control.
There is an Encyclopedia where you can build out your world, making entries for characters, locations, events, and more. And Hammer will scan you scenes to see which ones contain references to your various encyclopedia entries. Then a Dashboard will help you understand how things in your story are connected.
It's also got a visual timeline, and notes.
When you do come back online, there is an optional, and self-hostable sync server. This allows you to keep all of your devices in sync with content aware syncing. No "last edit wins", Hammer is paranoid about data loss, any conflict is presented to you to be solved. The server also allows you to share your story online, and even request someone to be your editor, and suggest revisions in a web-based interface.
Under the hood it's Kotlin Multiplatform with Compose for the client UI, and HTMX for the server. One codebase shipping to Windows, macOS, Linux, Android and iOS as native apps, as well as the Server. That has been mostly a joy and occasionally a war, and I'm happy to talk about which parts were which. The text editor is the war: I ended up maintaining my own Compose rich-text editor library (https://github.com/Darkrock-Studios/ComposeTextEditor) because nothing existed for true free-form Rich Text Editing. (No spell checking text editors existed either!)
KMP is still fairly nascent, so every time I've had to fill a gap in the ecosystem, I've done it by releasing an MIT licensed library to help grow it. That's included two spell checking libraries, an epub reader/writer lib, an RTF parser, and several earlier attempts at a rich text editor that were eventually superseded. https://github.com/Darkrock-Studios
Hammer isn't done by any stretch, but it's finally at a place where I'm proud to show it and think it might be valuable to those who aren't software devs them selves. https://github.com/Darkrock-Studios/hammer-editor
C2PA is not a silver bullet to the problem of misinformation, but it may turn out to be an important tool in the fight. And right now there aren't a lot of ways to actually read and verify the data, so thought I'd put a tool out there to help the ecosystem along in these early days.
Google Play: https://play.google.com/store/apps/details?id=com.darkrockst... (Should be releasing on Fdroid later)
I created an open source app to check if a photo is from an AI or a Camera
SnapSafe: Just added encrypted video to my FOSS secure camera app
It was recently featured in the latest issue of 2600: The Hacker Quarterly https://store.2600.com/collections/2020-2021/products/winter...
It provides the strongest possible encryption for photos. However it did not support video, as video presents significant technical challenges due to the volume of data.
Last weekend in the United States we saw a painful example of how important video is as evidence.
Sunday I started tackling the problem, and after some crunching the last few days, have now released version 4.0 of SnapSafe supporting video capture.
I created a simple but effective encryption container format for the video that is streamable and seekable with minimal overhead on mobile devices. It allows for playback, random-access, and scrubbing of videos, without having to decrypt anything to disk. You can read my spec on my SECV file format if that's interesting to you. https://github.com/SecureCamera/SecureCameraAndroid/blob/mai...
You can install from either GooglePlay or FDroid: https://play.google.com/store/apps/details?id=com.darkrockst... https://f-droid.org/en/packages/com.darkrockstudios.app.secu...
(Although, F-Droid takes a couple days for the new build to release)