[sword-devel] PocketSword
David Haslam
dfhdfh at protonmail.com
Sat Aug 15 08:25:07 EDT 2026
For those coming late to this thread, who may be hitherto unaware, this is just to note that Nic Carter, the creator of PocketSword, went to be with the Lord on 25 October 2025.
He was born on 19 May 1977.
David
Sent from [Proton Mail](https://proton.me/mail/home) for iOS
On Sun, Aug 9, 2026 at 18:06, Fr Cyrille <[fr.cyrille at tiberiade.be](mailto:On Sun, Aug 9, 2026 at 18:06, Fr Cyrille <<a href=)> wrote:
> 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/20260815/e959e4d0/attachment-0001.htm>
More information about the sword-devel
mailing list