<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">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">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">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">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">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">https://crosswire.org/applications/#bishop</a><br>
>><br>
> _______________________________________________<br>
> sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
> <a href="http://crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">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">sword-devel@crosswire.org</a><br>
<a href="http://crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
</blockquote></div>