<!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>