<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hi Maxwell,<br>
    I'm sorry for the late reply! People don't respond very often on
    this list... Personally, I wanted to thank you for your efforts. But
    I wonder if, in the end, it wouldn't be simpler to port <a
      moz-do-not-send="true"
      href="https://github.com/AndBible/and-bible/issues/3639">Andbible
      to iOS</a>—it's a known bug, and that would consolidate the
    resources into an app that's already extremely powerful.<br>
    <br>
    Br Cyrille<br>
    <br>
    <div class="moz-cite-prefix">Le 08/07/2026 à 07:51, Maxwell Murunga
      a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAMYRk0H_6aOT98FkkHgJSiDs1VyNVT7-FthjY4b2tQN+DEJzDA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">Dear
          all,</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">I
          am the Maxwell who wrote in briefly on January 14th
          suggesting a Swift port of PocketSword. I want to follow up,
          now that I
          actually have something concrete to show.</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">In
          the months since that thread, I changed approach. Rather
          than a Swift-only port — which would have solved the iOS
          problem but done
          nothing for the broader ecosystem — I built a full Kotlin
          Multiplatform
          implementation that targets Android and iOS from a single
          codebase. The project
          is called <b>HisWord</b> and it is open source here:</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b><a
              style="color:rgb(70,120,134);text-decoration:underline"
              moz-do-not-send="true">https://github.com/maxymurm/hisword</a></b></p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">I
          want to be transparent about what it is and is not, and
          about where I stand in relation to the existing community
          efforts.</p>
        <div class="MsoNormal" align="center"
style="text-align:center;margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">
          <hr size="2" width="100%" align="center">
        </div>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b>What
            it covers</b></p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">HisWord
          is a unified platform built around two Bible engine
          implementations:</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">The
          first is the <b>SWORD library</b> (CrossWire).
          The project includes a fully working PHP port of the SWORD
          engine — covering
          ZTextReader, RawTextReader, ZComReader, RawComReader,
          ZLDReader, RawLD4Reader,
          RawGenBookReader, and markup filters for OSIS, GBF, THML, TEI,
          and plain text,
          plus a VersificationRegistry supporting all eight
          versification schemas. This
          PHP engine has 84 passing PHPUnit tests and powers a web
          frontend (Inertia.js +
          React). On the mobile side, the SWORD KMP engine
          (Kotlin/Native on iOS, JVM on
          Android) was ported to pure commonMain Kotlin with
          expect/actual wrappers for
          platform I/O. Genesis 1 loads in under 12ms on device. Both
          implementations
          give access to the full CrossWire module catalog.</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">The
          second engine is <b>YES2/Bintex</b> — the
          proprietary compressed format used in Yuku's Quick Bible /
          androidbible app for
          Android, covering approximately 100 high-quality South-East
          Asian and
          Indonesian translations. This engine was ported entirely from
          Java to pure
          Kotlin (no JNI, no platform-specific I/O in commonMain), and
          includes
          BintexReader, SnappyCodec decompressor, Yes2Reader with
          section index, and a
          Yes2TextDecoder that handles all YES2 markup tags including
          red-letter text,
          pericope headers, Strong's numbers, footnotes, and
          cross-references.</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">Both
          engines implement a single BibleReaderInterface.
          All UI, search, sync, and study tools are completely
          engine-agnostic — the
          reader screen has no knowledge of whether it is presenting a
          SWORD zText module
          or a YES2 compressed file.</p>
        <div class="MsoNormal" align="center"
style="text-align:center;margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">
          <hr size="2" width="100%" align="center">
        </div>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b>Architecture
            in brief</b></p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">The
          mobile app is Compose Multiplatform (Kotlin 2.x) with
          Voyager navigation, SQLDelight for type-safe SQLite, Ktor for
          HTTP and
          WebSocket, and Koin for dependency injection. The backend is
          Laravel 12 with
          PostgreSQL, Redis, and Laravel Reverb for WebSocket
          broadcasting. The sync
          layer uses a revision-vector delta protocol, with
          last-write-wins conflict resolution and device-ID-based echo
          prevention on the WebSocket channel.</p>
        <div class="MsoNormal" align="center"
style="text-align:center;margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">
          <hr size="2" width="100%" align="center">
        </div>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b>What
            is complete</b></p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">Work
          began on March 13, 2026. As of today, across 23
          commits:</p>
        <ul style="margin-top:0cm;margin-bottom:0cm" type="disc">
          <li class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b>Backend:
              complete</b>. YES2/Bintex PHP engine, SWORD PHP engine
            (pre-existing), unified BibleReaderFactory, REST API, sync
            controller, Reverb broadcasting, YES2 catalog, web frontend,
            CI/CD, production deployment.</li>
          <li class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b>Mobile:
              complete</b>. Both binary engine readers, unified
            interface, BibleReaderViewModel and full reader UI,
            navigation, full-text search (parallel YES2 FTS and SWORD),
            markers system (bookmarks, highlights, notes, labels), sync
            engine with WebSocket, Google/Apple Sign-In, reading plans,
            devotionals, songs, study pad, word study (Strong's),
            cross-references, VOTD widget, onboarding, splash screen,
            deep links, share/clipboard, Sentry crash reporting hooks.</li>
          <li class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">Tests:
            379 unit tests across 20 test files — binary readers,
            repositories, sync events, UI flows, ARI encoding,
            performance bounds, and accessibility validation.</li>
        </ul>
        <div class="MsoNormal" align="center"
style="text-align:center;margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">
          <hr size="2" width="100%" align="center">
        </div>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b>Relation
            to existing projects</b></p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">I
          want to be careful here. Bishop, Ezra, and AndBible are
          mature, respected projects that serve real users every day. I
          am not suggesting
          HisWord replaces them. What I am offering is an alternative
          starting point for
          anyone who specifically wants:</p>
        <ul style="margin-top:0cm;margin-bottom:0cm" type="disc">
          <li class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">A
            PocketSword-like experience on iOS (SWORD modules,
            commentaries, dictionaries, full module catalog)</li>
          <li class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">A
            Kotlin-first codebase with no Objective-C, no C++ JNI in the
            mobile layer, and no JavaScript/TypeScript</li>
          <li class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">Native
            Compose UI that is shared between Android and iOS</li>
          <li class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">A
            unified abstraction over both SWORD and the YES2/Quick Bible
            format</li>
        </ul>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">To
          @Aaron Rainbolt's note about the deleted KMP repository
          from November 2024 — this is a different project entirely and
          has no relation
          to that one.</p>
        <div class="MsoNormal" align="center"
style="text-align:center;margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">
          <hr size="2" width="100%" align="center">
        </div>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><b>On
            stewardship</b></p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">I
          do not claim ownership of this work. The SWORD library is
          CrossWire's. The YES2 format and Quick Bible engine belong to
          Yuku contributors. I started this project because I use these
          tools
          personally and wanted something that worked cleanly on iOS,
          and no suitable
          open-source implementation existed that I could find.</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">I
          am open to the project moving under CrossWire or another
          appropriate organization. I am also open to handing
          stewardship to anyone with
          more capacity — I have other commitments at the moment. If
          @Michael Johnson or
          anyone on the list would like to continue this work or fold it
          into a larger
          effort, please reach out. Collaboration is the point.</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">If
          anyone wants to review the code, file issues, test on
          iOS, or contribute features, you are welcome. The architecture
          documentation
          and an autonomous execution prompt for AI-assisted development
          are both
          included in the <a
            style="color:rgb(70,120,134);text-decoration:underline"
            moz-do-not-send="true">agents</a> directory.</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">I
          can be reached at <a
            style="color:rgb(70,120,134);text-decoration:underline"
            moz-do-not-send="true">maxmmur@gmail.com</a>.</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif">Blessings,<br>
          Maxwell Murunga</p>
        <p class="MsoNormal"
style="margin:0cm 0cm 8pt;line-height:115%;font-size:12pt;font-family:Aptos,sans-serif"><br>
        </p>
      </div>
      <br>
      <div class="gmail_quote gmail_quote_container">
        <div dir="ltr" class="gmail_attr">On Wed, Jan 15, 2025 at
          3:52 PM Troy A. Griffitts <<a
            href="mailto:scribe@crosswire.org" moz-do-not-send="true"
            class="moz-txt-link-freetext">scribe@crosswire.org</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi
          Ryan,<br>
          <br>
          No, you are not the only one.  Marjan pointed this out to me a
          couple <br>
          days ago when I first posted in this thread.  Looking into it,
          Google <br>
          had removed Bishop 2 weeks ago because we had not properly
          identified <br>
          CrossWire Bible Society as an organization with our D-U-N-S
          number and <br>
          government issued trade name license. I started that process
          then and we <br>
          have now been confirmed and our apps are back in the store:<br>
          <br>
          <a
href="https://play.google.com/store/apps/details?id=org.crosswire.bishop"
            rel="noreferrer" target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">https://play.google.com/store/apps/details?id=org.crosswire.bishop</a><br>
          <br>
          <br>
          On 1/15/25 3:32 AM, Ryan wrote:<br>
          > Am I the only android user who can't find Bishop on
          Google Play anymore?<br>
          ><br>
          ><br>
          ><br>
          ><br>
          ><br>
          >> Bishop does this and compiles for both iOS and
          Android:<br>
          >><br>
          >> <a href="https://crosswire.org/applications/#bishop"
            rel="noreferrer" target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">https://crosswire.org/applications/#bishop</a><br>
          >><br>
          > _______________________________________________<br>
          > sword-devel mailing list: <a
            href="mailto:sword-devel@crosswire.org" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">sword-devel@crosswire.org</a><br>
          > <a
            href="http://crosswire.org/mailman/listinfo/sword-devel"
            rel="noreferrer" target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">http://crosswire.org/mailman/listinfo/sword-devel</a><br>
          > Instructions to unsubscribe/change your settings at above
          page<br>
          _______________________________________________<br>
          sword-devel mailing list: <a
            href="mailto:sword-devel@crosswire.org" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">sword-devel@crosswire.org</a><br>
          <a href="http://crosswire.org/mailman/listinfo/sword-devel"
            rel="noreferrer" target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">http://crosswire.org/mailman/listinfo/sword-devel</a><br>
          Instructions to unsubscribe/change your settings at above page<br>
        </blockquote>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre wrap="" class="moz-quote-pre">_______________________________________________
sword-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="https://crosswire.org/mailman/listinfo/sword-devel">https://crosswire.org/mailman/listinfo/sword-devel</a>
</pre>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      Vous aimez la Bible ? Vous êtes étudiant en théologie ? Utilisez
      l'application libre <a href="https://xiphos.org/">Xiphos</a> ou <a
        href="https://andbible.github.io/">Andbible</a> et accédez aux
      textes sources, à des commentaires, des dictionnaires et beaucoup
      d'autres fonctionnalités... Me contacter pour des traductions en
      français.</div>
    <br>
  </body>
</html>