Back to /dev: la mia appettina per KaiOS

di | 14 Marzo 2021

L’ho detto, l’ho fatto! 😉 Ho sviluppato una web app, dopo 6 anni, per l’erede di Firefox OS, ossia KaiOS.

In principio volevo portare una delle mie applicazioni dell’epoca, tuttavia ci sono due problemi:

  • Alcune, come “Calcolo Pedaggio”, erano destinate a un pubblico prettamente italiano
  • Le altre, purtroppo, non le ho a disponibilità immediata: l’hosting dov’erano non esiste più (e nel mentre hanno pure avuto un leak di dati…) e dovrei ravanare nei vari backup e non ne ho voglia

Cosi ho deciso di ripartire da zero e di sviluppare un’applicazione per la verifica degli IBAN, dato che pochi giorni prima ho avuto a che fare con una libreria Open Source sul tema.

Welcome Back FFOS!

Lo sviluppo, onestamente, sarebbe potuto essere quello di una qualsiasi app per Firefox OS: si sviluppa una web app, si crea un manifest e si decide se farla hosted o packaged: quando sviluppavo per FFOS solitamente le facevo hosted, tuttavia qui ho optato per comodità per un packaged, così da non dover avere un server ma lasciandola eseguire al client.

Sviluppare senza touch: le gioie dei feature phone

Principale differenza, chiariamolo, è la grafica. Se Firefox OS proponeva uno stile moderno (addirittura flat nella versione 2) questo sistema ha una grafica più leggera e semplice. Esistono vari CSS che aiutano nel creare applicazioni nello stile di KaiOS, io ho usato questo, ma se volete un qualcosa di più completo e con un framework potete guardare qui.

Ok, ho il pacchetto pronto, avvio Linux, avvio il simulatore e… Posso usare l’app solo con il mouse.

Cazzo, è vero, praticamente tutti i telefoni con KaiOS hanno il tastierino. Potrei sicuramente arrabattarmi coi cursori ma, da buon perfezionista, ho preferito fare un’app davvero compatibile con il sistema e ho quindi rivisto grafica e funzionamento.

La cosa è comunque interessante: su Firefox OS, grazie al touch, non era necessario gestire direttamente l’input, qui invece sì! Dovete dire esplicitamente all’app che se viene premuto il tasto X si deve fare qualcosa.

Nel mio caso, prevedendo la possibilità di futuri dispositivi KaiOS touch, ho scelto un’interfaccia semplice: un input, un bottone sotto e la possibilità di usare i “soft keys” per avviare la verifica e uscire dall’app.

Ergo, mi sono serviti quattro controlli: quando viene premuto un tasto, verifica se è uno di questi e agisce in tal modo:

  • Tasto centrale: avvia la funzione di verifica
  • Tasto sinistro: esce dall’app
  • Tasto su: focus sul campo
  • Tasto giù: focus sul bottone

Dopo qualche parolaccia a causa di una documentazione poco esplicativa, l’app è pronta.

Decisamente un’esperienza istruttiva…

Uno store più esigente…

Lo store di KaiOS è un pelo più esigente del vecchio Firefox Marketplace. Prima di tutto una nota: la grafica del sito è fatta male. Funziona, per carità, ma è poco intuitiva ed è un pugno in un occhio.

Rispetto a FFOS, dove bastava pubblicare un’icona e gli screenshot, il KaiOS Store vi chiede anche un banner, un colore “principale” dell’app e vi offre la possibilità di aderire a un network pubblicitario loro, che però paga solo dopo il raggiungimento dei 500$.

Mi sono divertito

Sinceramente, è stata un’esperienza divertente e anche istruttiva, dato che la gestione “manuale” dell’input non l’avevo mai provata avendo sempre programmato per schermi touch. Purtroppo lo store è abbastanza lento (si parla di tre settimane!) quindi intanto ho pubblicato l’app su GitHub, dove potete scaricarla e provarla, e in caso di pubblicazione vi aggiornerò.

Non penso, però, che svilupperò ancora molto su KaiOS: prima di tutto non ho l’incentivo né pionieristico né di usare quell’OS (e me ne guardo bene, come sintetizzo qui ormai amo gli smartphone) e il mercato è fortemente legato a Paesi in via di crescita che non conosco e per i quali non potrei fornire granché.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.