WeDispatch 1.4.0: telling the truth about what's reserved
A sign-up wall sold as premium that nothing actually protected, an audio engine whose single name covered two different things, and a lock that spoke two languages. Three ways of lying without meaning to.
This release contains almost no new features. It fixes three places where our interface said something untrue — not out of dishonesty, but out of accumulation. A word reused here, a check forgotten there, and a few months later the screen tells a story that no longer matches the product.
The sign-up wall was advertised as reserved. It wasn't.
The sign-up wall lets you offer the first few seconds of an article, then ask for an email address for the rest. Our pricing page has listed it among the Premium features from the start. In the code, nothing verified it: an account on a lower plan could turn it on with a direct call to our API.
That's fixed. The two routes concerned now refuse to let a plan without the entitlement put a wall up. Taking one down remains allowed in all circumstances, and that's a principle we hold to: nobody gets trapped behind a setting they can no longer remove. An account that already had a wall in place keeps it — we don't unplug anything retroactively — but from now on it can only remove it.
The screen followed. The card renders read-only, and the summary tile finally carries a real "PREMIUM" badge instead of a "PUBLIC" that described a state without saying why it was frozen.
The podcast feed, the embeddable pages and the daily briefing stay free on every plan, as advertised. Only the sign-up wall is affected.
The audio engine had one name for two things
On the Voice and playback screen, an "Audio engine" card offered a choice between "premium" and "sovereign". Just above it, a sentence explained to entry-level accounts that their audio was produced by the standard engine. A standard engine that appeared nowhere in the list.
Both statements were accurate, and together they were incomprehensible, because two distinct things shared one word. On one side there is the voice that reads your articles: it follows from your plan, it isn't a setting, and that's why no button let you choose it. On the other there is the AI that prepares the text before the voice reads it — formatting, punctuation, handling of acronyms and figures. That one you really do choose.
The card is now cut in two. First the state of your voice, what it implies, and the link to change it. Then the text-preparation choice, whose two options now carry their provider's name rather than an adjective: Gemini (Google), the best rendering and the lowest latency, with processing outside the European Union; Mistral (France), European hosting and text never reused to train a model. Your saved setting hasn't moved — only the labels changed.
This choice covers text preparation only. The fully European voice layer is still ahead of us, and we won't present it as settled until it is.
The lock spoke two languages on the same screen
Our dashboard marks what's reserved with a small grey rectangular label, next to titles and in the sidebar. But over locked settings, we had got into the habit of putting something else entirely: a big rounded lime pill with a padlock emoji. Two dialects for one idea, sometimes an inch apart.
The lock now takes the shape of the grey label — same border, same typeface — and adds only a drawn padlock and the word "unlock", because unlike the label, it can be clicked.
And where the title already carries the label, the setting is simply greyed out with nothing on top: saying "premium" twice in the same sentence teaches nobody anything. That also settles an oddity we had never quite managed to name. The pill centred itself on whatever it covered; sitting on a forty-pixel toggle, it stretched to a hundred and fifty and spilled out of the card on both sides. Hence the entirely justified impression that it showed up at random.
One last detail, and not the smallest: the lock used to send you to our public pricing page. You're logged in and already a customer — pushing you out of your account to re-read a sales pitch made no sense. It now leads straight to the "Change plan" section of your subscription.
Where your listens come from
The one genuine new thing in this release fits in a single card, on the Listens screen: how your listens split across three surfaces — your article pages, the daily briefing, your audio page.
That origin is written by the server that builds the player. It isn't inferred from an IP address, a referrer or a listener identifier, and we store none of those. The breakdown only appears above fifty located listens: below that threshold, a share would point at one listen and one only, and we'd rather show nothing than a figure capable of singling someone out.
The podcast feed isn't in there, and it can't be. Its episodes go out as direct files to the listening app, never passing through our counters. We could route them through a redirect to measure them, but that would change every episode's address — and podcast apps treat that address as the episode's identity. Your subscribers would see your whole series duplicate itself. The missing count bothers us less than that prospect.
What's next
We're carrying on putting the dashboard screens through the same filter: does what's displayed still match what the product does? The answer is no more often than you'd think, and they're rarely big lies — more often words that have aged.
Give your articles a voice with WeDispatch
This blog is itself voiced by WeDispatch. Curious how it sounds on your content?
Book a demo