August 2026 — Crosswire Is an App Now — on iPhone, iPad and Android
Since 21 August you can install Crosswire. It is on the App Store for iPhone, iPad and Apple silicon Macs, and on Google Play for Android phones, tablets and Chromebooks with the Play Store — free on both, version 1.0.0, no account. It is the same idea in a shape a phone can hold: two live front pages side by side, the pages their editors actually published, in their own layout and their own order of importance.
Everything the directory holds went with it. The same 907 outlets, the same 186 countries, the same curated Left · Center · Right comparisons in 36 of them, the same translation into 16 languages. Nothing was held back for the app and nothing was held back from it, and no outlet, country or comparison is reserved for readers who have paid — on either platform.
One thing is genuinely different, and it is the reason this note is longer than a launch announcement needs to be. The apps meter their free tier: seven comparisons per calendar month, then a wall. The website has no such limit and is not getting one. If the allowance is in your way, crosswire.online is free, unmetered, and one tap away — that is not a consolation prize, it is the same product without the cap. What Crosswire Pro buys, on the phone, is Crosswire's own tooling: more panes at once, saved comparison sets, your own presets, and the removal of the small banner that runs on the country picker and the outlet directory. It has never bought, and will not buy, access to somebody else's journalism.
That distinction is load-bearing enough to be built into the app rather than promised in a paragraph. Advertising may appear only on screens Crosswire wrote itself — the picker, the directory, search — and never on, beside or over a publisher's front page. The list of ad-eligible screens is a constant in the source, an unclassified screen refuses by default, and the test suite fails if any comparison screen ever accepts one. Undoing it takes editing a constant and deleting a test that explains, in English, why it is there.
On the website, the apps now have a page of their own at /apps: both listings with their published facts, the six screens from the store, what each tier costs, and a table setting the app against the website row by row — including the row where the website wins. The homepage carries the two store badges below the country picker, and the FAQ, the machine-readable index at /llms.txt and the site's structured data all now answer "is there an app, and is the news behind a paywall?" without anyone having to guess.
Also in this release
- The install prompt stops lying about the coverage. the web manifest was hand-written and still described 124 countries, a figure the directory passed months ago. It is now generated from the same data as everything else, so it cannot drift again — and it carries links to both store listings.
- One command checks the site against the stores. npm run app:check reads both live listings and compares the version, the release date and the requirements against what the website claims. A stale figure is now a failed command rather than something a reader notices first.
- The screenshots on /apps are the store's screenshots. they are derived from the App Store submission art by a script rather than exported by hand, so a future release cannot leave the website showing an app that no longer looks like that.
- Store clicks are measured. the badges report which placement sent a reader to which store, so the question "is the homepage panel worth the space it takes" has an answer rather than an opinion.