Hello all!

Thanks for all the interest and support you have shown for Journiv so far. If you don’t already know about Journiv:

Journiv is a self-hosted private journaling application that puts you in complete control of your personal reflections. Built with privacy and simplicity at its core, Journiv offers comprehensive journaling capabilities including mood tracking, prompt-based journaling, media uploads, analytics, and advanced search. All while keeping your data on your own infrastructure.

CalDAV and VJOURNAL are pretty popular in self hosted world and it has been asked few times why Journiv does not use VJOURNAL. So I wrote a blogpost about it to share my research and learning from initial days of Journiv.

If you find anything technically incorrect or have any feedback/suggestion around this I will love to hear it! I think there are lot of experts/users of CalDAV and VJOURNAL here from whom I can learn more.

Thank you.

  • thelocalhostinger@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    24 days ago

    Good blog post, thanks for sharing.

    I fully agree with your points about real openness, I think this “file over app philosophy” is the way to go for every self hosted app – make it possible get the data out of there.

    What I did not quite understand is why using XML is slower? Why is that – are parsers just slower in general? I do not have a lot of experience with XML, but I always thought it pretty much doesn’t matter whether you send your data via JSON or XML. And how does your JSON structure solve the problem of “content heavyness”?

    • rockstar1215@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      12 hours ago

      Hello, Sorry for the late reply. I do not use lemmy that often and only saw this now when I came here to post about new release. You’re right to call that out. I made an oversimplified claim. Let me clarify, XML vs JSON performance is nuanced:

      1. Parsing speed: JSON is generally faster to parse than XML because:
      • Simpler syntax (no opening/closing tags, no attributes vs elements decisions)
      • Less data structure overhead
      • More direct mapping to native data structures in most languages
      1. Payload size: XML is typically more verbose due to:
      • Opening and closing tags
      • Namespace declarations
      • Attribute syntax
      • This means larger network transfers

      However:

      • Well-optimized XML parsers can be very fast
      • The difference matters more for high-volume APIs than occasional journal syncs
      • For large text content (like journal entries), the actual content dwarfs the format overhead