The link goes to a related post on another community so I don’t have to duplicate it here.

Basically, I’d like to discuss tech options for a Reddit/Lemmy alternative. Here’s what I’ve found:

  • Iroh - early days alternative to IPFS promising improved performance and application control
  • Appleseed - old-ish proposal for a distributed trust system - I’m thinking of using it for moderation (i.e. if you block/report similarly to someone else, that will get automated; you could also explicitly trust someone else [e.g. a CP-detector bot])
  • TrustNet - builds on Appleseed - still reading through the paper to know what it adds over Appleseed, if anything

Goals:

  • distributed storage - worried the fediverse will scale poorly (become too expensive)
  • distributed moderation - power-hungry mods suck
  • local-first - cache/host stuff you care about, reserve some space for preservation

Non-goals:

  • make money - it’s a hobby for now, everything would be FOSS
  • image/video hosting - legal issues if you get random CP or something
  • preserve all data - I’d rather sacrifice older/less popular content than lose users - community can run caching servers
  • fediverse compat - P2P makes that difficult, but a bridge should be feasible

Thoughts? What am I missing?

Also, would anyone like me to post updates? It’ll mostly be stuff from my research, if I post code, it won’t be for a while (I have limited time).

  • totally_notAcat (she/her)
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    5 months ago

    Quick question do you have a git repo for this yet?

    Also have you looked at briar because it could be interesting to incorporate some of the Bluetooth based stuff from that.

    • sugar_in_your_tea@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      Not yet, I don’t release projects until they’re useful for others with just the documentation provided, and I’ve been taking a bit of a hiatus due to family vacations and whatnot.

      I do have a private git repo I’m working in, and I’ll make it public once it’s usable. I have basic infrastructure set up and multiple clients can communicate, but they don’t yet share the full state. Next steps are:

      1. Clients should be able to connect and sync the full state by just fetching differences
      2. Some basic level of moderation - planning for something like a web of trust, but with transitive, fractional trust
      3. Stress testing and a rapid rollout plan for relays (needed to connect peers); I have one relay, but I’ll probably need a swarm if it gets any kind of traction

      It’ll probably take a few months of work to get there, but I have the basics of 2 in the works, and I think the library I’m using for 1 is going to get a 1.0 release soonish, so I might delay until then. Things that won’t work when I launch:

      • web - it’ll be a desktop only app, but the client is built in tauri, so web may be an option eventually
      • mobile - tauri’s mobile support is still in beta, so I won’t launch with that (and it’s a lot of work getting releases going)
      • non-text posts - only links or text are supported, markdown works too
      • fediverse bridge - I’d like to build this, but I don’t understand ActivityPub well enough to just jump in yet

      Anyway, I’ll post on a few places once it’s ready. Maybe by the end of the year, by probably not.