[sword-devel] PocketSword
Fr Cyrille
fr.cyrille at tiberiade.be
Sun Aug 9 13:05:53 EDT 2026
Hi Maxwell,
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 Andbible to iOS
<https://github.com/AndBible/and-bible/issues/3639>—it's a known bug,
and that would consolidate the resources into an app that's already
extremely powerful.
Br Cyrille
Le 08/07/2026 à 07:51, Maxwell Murunga a écrit :
>
> Dear all,
>
> 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.
>
> 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 *HisWord* and it is open source
> here:
>
> *https://github.com/maxymurm/hisword*
>
> I want to be transparent about what it is and is not, and about where
> I stand in relation to the existing community efforts.
>
> ------------------------------------------------------------------------
>
> *What it covers*
>
> HisWord is a unified platform built around two Bible engine
> implementations:
>
> The first is the *SWORD library* (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.
>
> The second engine is *YES2/Bintex* — 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.
>
> 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.
>
> ------------------------------------------------------------------------
>
> *Architecture in brief*
>
> 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.
>
> ------------------------------------------------------------------------
>
> *What is complete*
>
> Work began on March 13, 2026. As of today, across 23 commits:
>
> * *Backend: complete*. 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.
> * *Mobile: complete*. 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.
> * Tests: 379 unit tests across 20 test files — binary readers,
> repositories, sync events, UI flows, ARI encoding, performance
> bounds, and accessibility validation.
>
> ------------------------------------------------------------------------
>
> *Relation to existing projects*
>
> 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:
>
> * A PocketSword-like experience on iOS (SWORD modules, commentaries,
> dictionaries, full module catalog)
> * A Kotlin-first codebase with no Objective-C, no C++ JNI in the
> mobile layer, and no JavaScript/TypeScript
> * Native Compose UI that is shared between Android and iOS
> * A unified abstraction over both SWORD and the YES2/Quick Bible format
>
> 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.
>
> ------------------------------------------------------------------------
>
> *On stewardship*
>
> 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.
>
> 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.
>
> 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 agents directory.
>
> I can be reached at maxmmur at gmail.com.
>
> Blessings,
> Maxwell Murunga
>
>
>
> On Wed, Jan 15, 2025 at 3:52 PM Troy A. Griffitts
> <scribe at crosswire.org> wrote:
>
> Hi Ryan,
>
> No, you are not the only one. Marjan pointed this out to me a couple
> days ago when I first posted in this thread. Looking into it, Google
> had removed Bishop 2 weeks ago because we had not properly identified
> CrossWire Bible Society as an organization with our D-U-N-S number
> and
> government issued trade name license. I started that process then
> and we
> have now been confirmed and our apps are back in the store:
>
> https://play.google.com/store/apps/details?id=org.crosswire.bishop
>
>
> On 1/15/25 3:32 AM, Ryan wrote:
> > Am I the only android user who can't find Bishop on Google Play
> anymore?
> >
> >
> >
> >
> >
> >> Bishop does this and compiles for both iOS and Android:
> >>
> >> https://crosswire.org/applications/#bishop
> >>
> > _______________________________________________
> > sword-devel mailing list: sword-devel at crosswire.org
> > http://crosswire.org/mailman/listinfo/sword-devel
> > Instructions to unsubscribe/change your settings at above page
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
>
>
> _______________________________________________
> sword-devel mailing list
> sword-devel at crosswire.org
> https://crosswire.org/mailman/listinfo/sword-devel
--
Vous aimez la Bible ? Vous êtes étudiant en théologie ? Utilisez
l'application libre Xiphos <https://xiphos.org/> ou Andbible
<https://andbible.github.io/> et accédez aux textes sources, à des
commentaires, des dictionnaires et beaucoup d'autres fonctionnalités...
Me contacter pour des traductions en français.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20260809/05a72e42/attachment-0001.htm>
More information about the sword-devel
mailing list