Uitgegeven door een gesloten product
Deze pagina wordt uitgegeven door een gesloten product. De code van LocalType is niet in te zien.
Is leesbare broncode dus een eis en geen voorkeur, dan is het antwoord op je zoekopdracht een van de projecten hieronder, en daar verandert geen enkel stuk tekst iets aan.
Waarom dit bij een toetsenbord zwaarder telt
Een toetsenbord ziet alles wat je typt. Wachtwoorden, berichten, medische gegevens, bankgegevens. De eigen waarschuwing van Android zegt precies dat, zodra je er een aanzet.
Bij de meeste apps kun je over gedrag redeneren aan de hand van de rechten. Bij een toetsenbord hoort die mogelijkheid bij de functie, dus de enige vraag die overblijft is bedoeling, en bedoeling is precies wat broncode je laat nagaan zonder iemand op zijn woord te geloven.
Zet er inspreken bij en de microfoon komt op het lijstje. Die combinatie is waarom de wereld van open toetsenborden ongewoon actief is vergeleken met, zeg, open rekenmachines.
Wat “open source” wel en niet garandeert
De term draagt in een gesprek meer gewicht dan hij technisch heeft.
Het garandeert dat de code gelezen kán worden. Dat het gelezen kán worden is oprecht waardevol en het is het hele punt.
Het garandeert niet dat iemand hem gelezen hééft. De meeste open projecten worden door niemand in het bijzonder doorgelicht, en een bewering in een leesmij blijft een bewering in een leesmij, ongeacht de licentie.
Het garandeert niet dat de app die je installeerde uit die code gebouwd is, tenzij de bouw reproduceerbaar is en jij het gecontroleerd hebt, en dat doet vrijwel niemand.
En het garandeert niet dat het model open is. Verschillende van deze projecten draaien modellen waarvan de gewichten beschikbaar zijn maar het oefenmateriaal niet gepubliceerd, en dat is een andere en zwakkere soort openheid dan de code eromheen.
Niets daarvan pleit tegen open source kiezen. Combineer het met de gedragscontroles die je op al het andere zou toepassen, te beginnen met het netwerk uitzetten en kijken wat er nog werkt.
De projecten die er vandaag zijn
FUTO Voice Input. Herkennen op je telefoon, broncode gepubliceerd, één keer betalen en geen abonnement, geen account. Het is een spraakdienst en geen toetsenbord, dus het haakt in achter een toetsenbord dat hem kan aanroepen. Het meest complete antwoord als je je bestaande toetsenbord wilt houden.
Whisper IME. Draait Whisper op je telefoon, valt onder de MIT-licentie, gratis, verkrijgbaar via F-Droid, heeft Android 9 of nieuwer nodig, en haalt zijn model binnen voor het eerste gebruik. Opnames zijn begrensd op ongeveer een halve minuut, wat beter bij berichten past dan bij lang achter elkaar praten.
Transcribro. Herkennen op je telefoon met whisper.cpp en spraakdetectie, valt onder de ISC-licentie, gratis, verspreid via Accrescent en de eigen repository. Levert zowel een toetsenbord als een systeemdienst voor spraakherkenning zodat andere apps hem kunnen aanroepen. Engels.
AnySoftKeyboard en HeliBoard. Open toetsenborden zonder ingebouwd inspreken, allebei projecten die al lang meelopen. Koppel er een van de spraakdiensten hierboven aan en je hebt een volledig open stapel.
Die laatste combinatie werkt ook op een telefoon zonder enige dienst van Google, en voor een deel van de mensen die hier zoeken is dat de eigenlijke vraag.
Hoe je een volledig open stapel bouwt
Installeer een toetsenbord dat open source is. Installeer een spraakdienst die open source is. Zet ze allebei aan bij de taal- en invoerinstellingen van Android, kies het toetsenbord, en wijs het naar de spraakdienst. Laat het model helemaal binnenkomen, en test daarna in vliegtuigstand om te bevestigen dat er niets naar buiten reikt.
Reken op een middag en niet op vijf minuten, en reken erop dat je een paar leesmij-bestanden doorneemt. Voor de mensen die dit willen is dat een redelijke ruil, en er staat iets tegenover dat je bij een gesloten product nooit krijgt: als er straks iets hapert, weet je zelf welk onderdeel je moet aankijken.
De vijf gaten in de open opties
Dit zijn kleine projecten die zorgvuldig werk leveren, en de gaten hieronder zijn structureel en geen slordigheden.
Talen. Meertalige modellen zijn groter, en een klein team kiest heel verstandig één taal en doet die goed. Verschillende van de opties hierboven doen alleen Engels, en dat beslist de zaak meteen als je in iets anders schrijft.
Afwerking en randgevallen. Commerciële toetsenborden zijn bijgeschaafd op miljoenen telefoons. Een open project niet, dus een ongewone telefoon of een eigenaardige app kan gedrag opleveren dat nog niemand is tegengekomen.
Zelf in elkaar zetten. Een spraakdienst plus een toetsenbord is twee installaties, één koppelstap, en twee projecten die na elke update nog op elkaar moeten passen.
Ondersteuning. Er is een repository en een lijst met meldingen. Voor een hoop mensen is dat beter dan een supportadres; voor anderen is het helemaal geen ondersteuning.
Verspreiding. Verschillende staan buiten de Play Store, wat voor het publiek dat dat wil een pluspunt is en voor iedereen daarbuiten een hindernis.
Waar een gesloten product nog steeds ergens op slaat
Het pleidooi voor LocalType, en het gaat niet over openheid.
Het is één product en geen twee, dus er is geen koppeling en geen vraag of het samengaat. Het dekt achttien talen uit één meertalig model, afgeleid uit de opname en niet uit een menu, en dat is het gat dat de projecten met alleen Engels laten liggen. Het is op zichzelf een volwaardig toetsenbord, met autocorrectie, woordsuggesties, een woordenboek per taal en de gangbare indelingen, en geen spraakinvoer die aan andermans toetsenbord hangt. En het wordt onderhouden als product, wat telt zodra er iets misgaat op een telefoonmodel dat niemand getest heeft.
Over het uitgangspunt eronder bestaat helemaal geen meningsverschil. Het herkennen gebeurt op je telefoon uit een modelbestand dat geen andere app kan openen. Het netwerk wordt één keer aangeraakt, om het model op te halen dat je koos, en daarna nooit meer, en dat kun je in vliegtuigstand nagaan precies zoals je een open project zou nagaan. Er valt niets te registreren, reclame ontbreekt, niets binnen het product legt vast wat je ermee doet, opnames worden niet gearchiveerd, back-ups slaan de app met opzet over, en boven een wachtwoordveld weigert de microfoon te verschijnen.
Drie maten, van 60, 190 en 539 MB, leggen de beslissing over snelheid en nauwkeurigheid bij jou, met 4,1 seconden nodig voor 6,9 seconden spraak bij de middelste stand op de testtelefoon met 4 GB.
Wat je niet kunt, is de code lezen. Ligt daar de grens, dan zijn de projecten hierboven waar je heen moet, en ze zijn goed.
Ertussen kiezen
Eén vraag beslist het voor de meeste mensen.
Moet je het kunnen nagaan, of moet het werken? Nagaan betekent open source, en de opties zijn echt. Meteen werken in meerdere talen met één installatie betekent een afgemaakt product, en dat is de ruil die LocalType je vraagt te maken.
Geen van beide antwoorden is fout, en wie je iets anders vertelt verkoopt je iets.
Twijfel je, begin dan bij de open opties. Ze kosten niets om te proberen. Dekken ze jouw talen en gedraagt je telefoon zich, dan is de vraag beantwoord zonder dat je er iets voor hebt uitgegeven.