Applicazioni Evenwell negli smartphone Nokia: cosa sono e come funzionano

Dispositivi Nokia

Dispositivi Nokia

Con questo articolo Nokioteca desidera offrire un’analisi tecnica di facile comprensione su alcune personalizzazioni software presenti negli smartphone Nokia Android prodotti da HMD Global. Tutte le informazioni raccolte sono state aggregate dalle fonti citate nell’articolo: le riteniamo valide poiché basate su dettagli tecnici comprovati e discussi ampiamente in rete. Non vi è alcuna finalità se non quella di un’analisi ragionata, costruttiva e volta a migliorare il supporto software dei terminali che abbiamo scelto come nostri compagni di viaggio. 🙂

Negli ultimi mesi in rete si è parlato molto di alcune personalizzazioni che HMD Global ha introdotto su gran parte dei propri smartphone Nokia Android: si tratta di applicazioni di sistema, quindi non scaricabili dallo store e non disinstallabili come si fa normalmente con tutte le app, volte a ottimizzare alcuni comportamenti di default di Android “stock” (ovvero della versione di Android realizzata da Google e fornita a tutti gli OEM che partecipano al programma “Android One”).

Le applicazioni a cui facciamo riferimento in questo articolo sono realizzate da Evenwell Digitech Inc: stando al Play Store quest’azienda di software sembra avere all’attivo una sola applicazione rilasciata dal dubbio nome: “Test_App”. In rete si legge che in realtà Evenwell sia una software house che ha connessioni con FIH Mobile che sappiamo si è occupata della produzione e della distribuzione di diversi modelli di smartphone per conto di HMD Global (non abbiamo conferme o smentite in merito a queste informazioni e le riportiamo solo a titolo puramente informativo).

Se tale scenario fosse attendibile, è facile ipotizzare che in una fase di startup e di lancio HMD Global abbia affidato ad un’azienda terza delle personalizzazioni di Android strettamente necessarie per ottimizzare l’esperienza d’uso. In altri termini, ogni terminale prodotto utilizza hardware e componentistica di contorno (sensori, obiettivi, batterie) certamente supportata da Android standard ma che, a giudizio del produttore stesso, non avrebbe garantito un’esperienza ottimale. Pertanto Evenwell ha realizzato per HMD Global dei componenti, ovviamente noti e permessi da Google stessa, che avrebbero dovuto offrire prestazioni allineate con lo specifico hardware offerto dai telefoni.

I più esperti sanno che una parte del lavoro di un OEM sta nella realizzazione del kernel Linux che contiene i driver specifici dei singoli componenti e il supporto a tutte le funzionalità di base oltre che alcune personalizzazioni per un corretto supporto di una piattaforma mobile (componenti per il risparmio energetico, ottimizzazioni per CPU basate su architettura ARM). Ulteriori ottimizzazioni e personalizzazioni però possono essere fatte nello strato più alto, a livello di sistema operativo, ed essere quindi integrate nella build di Android che viene distribuita e aggiornata di sovente dal produttore OEM per i suoi terminali. Le app evenwell compaiono quindi tra le applicazioni di sistema e sono riconoscibili dal nome del package che inizia per “com.evenwell….”.

A cosa servono dunque queste app? Abbiamo anche in questo caso raccolto informazioni che sono presenti nelle community tecniche come XDA e su siti come Don’t Kill my App per capire il loro funzionamento: sono del tutto trasparenti all’utilizzatore finale, sono lanciate come servizi residenti in memoria all’avvio e quindi non possono essere aperte come le tradizionali applicazioni e principalmente offrono:

  • Servizi di Telemetria di raccolta dati anonimi (condizione accettata da ogni utilizzatore di smartphone nel cosiddetto contratto di licenza). Con tali servizi lo smartphone memorizza dati d’utilizzo anonimi, non riconducibili in alcun modo a voi su abitudini di utilizzo. Questi dati vengono raccolti e inviati in modo automatico a server di HMD Global che li utilizza per finalità statistiche e per comprendere le abitudini di utilizzo dei propri smartphone, aggregando i dati immaginiamo tramite motori di Big Data Analytics e conducendo su di essi esperimenti di Machine Learning (niente allarmismi, sono comportamenti che vengono adottati da tutte le aziende nella raccolta di dati anonimi: Google stessa tramite Android e tramite librerie ad hoc raccoglie milioni di dati che poi studia e aggrega sulla propria piattaforma cloud).
  • Servizi di ottimizzazione dei consumi: questo è stato purtroppo un tasto dolente nei mesi passati (molti dettagli in merito li trovate su Don’t Kill my App). Per motivi non noti Evenwell ha ritenuto opportuno “rafforzare” il comportamento della gestione dei task residenti in background. In termini semplici, chi sviluppa un’app può controllare dei comportamenti della app anche quando non è aperta in primo piano: un esempio tipico è quello della ricezione delle notifiche anche da parte di app che non avete ancora avviato (o che sono avviate ma che non state utilizzando direttamente). Android mette e disposizione di chi sviluppa dei meccanismi per realizzare la ricezione di eventi come le notifiche in modo da garantire che tali meccanismi utilizzino al minimo l’uso delle risorse (cicli di CPU e di conseguenza consumo energetico). Ebbene, questi comportamenti non sono stati probabilmente ritenuti sufficienti tanto da sviluppare dei moduli in grado di modificare questa gestione di sistema, rendendola più vicina al desiderio del produttore. Il risultato è che per un lungo tempo su diversi modelli molte app come WhatsApp, fortemente basata sulla ricezione di notifiche, venivano “silenziate” appena non erano in primo piano, silenziando il servizio che permetteva la ricezione delle notifiche in modo troppo aggressivo. Queste ultime infatti arrivano tutte assieme non appena l’utente riapriva l’applicazione oppure in gran ritardo rispetto alla loro effettiva disponibilità.
  • Servizi di ottimizzazione dell’esperienza d’uso: tra le voci che si leggono sui forum c’è chi sostiene che alcuni servizi Evenwell fossero orientati a ridurre l’effetto termico su alcuni modelli dovuto al throttling della CPU durante sessioni di lavoro continuative. E’ più probabile (siamo nel pieno delle ipotesi e non vi sono certezze in merito) che in qualche modo si volesse ottenere una sorta di priorità per alcuni stadi energetici delle CPU favorendo un rapido ritorno a stadi energetici più bassi (tutte le moderne CPU hanno un clock variabile che può essere innalzato al volo a seconda del carico di lavoro ricevuto). Per attività normali è assolutamente inutile e controproducente lasciare la CPU al più alto P-STATE (Power State). In altri termini in un utilizzo normale si preferiva dare più priorità agli stadi intermedi che davano ottime perfomance senza mettere in sofferenza il sistema di dissipazione del terminale. Questo comportamento è assolutamente già presente e gestito di default dal kernel e da Android Stock…si è voluto però rafforzare questo aspetto evitando di raggiungere i massimi picchi operativi lato CPU.

Avrete capito che certe personalizzazioni, ulteriormente delicate, richiedono un accurato test senza il quale possono arrivare ad essere addirittura controproducenti: non ci vogliamo fermare al solo caso delle app “killate” in background (fatto reale di una certa entità e ampiamente documentato) ma anche a decine di post in rete che sostengono che molti utenti smanettoni siano riusciti ad esempio ad ottenere migliori stime di durata batteria limitando l’intervento delle app Evenwell.

Concludiamo non fornendo volutamente alcun dettaglio sulla rimozione o su come impedire a queste app la partenza all’accensione. Riteniamo infatti che se il produttore ha deciso di realizzarle, in pieno accordo con Google che ha permesso queste modifiche, deve aver avuto validi motivi. E’ naturale però chiedersi perché i comportamenti di default di Android stock non sia stati ritenuti sufficienti: veder presenti bug come quello della chiusura forzata delle app in background non ha fatto piacere davvero a nessun utente finale.

Siamo consapevoli che lo sviluppo software richieda tempo e qualità, due aspetti non facili da mantenere per nessuna azienda che deve far fronte a criteri di un mercato altamente competitivo e con margini sempre più complicati da ottenere e da mantenere. L’obiettivo della qualità e della buona esperienza d’uso non può essere compromesso da proprie decisioni: nel caso delle app Evenwell, l’aver scalato la classifica di Don’t Kill my App non è stato di certo un segnale positivo per un’azienda che dedica grande impegno nel ribadire che la qualità è al centro della propria linea di prodotti.

Va detto infine che nelle ultime build molti di questi comportamenti sono stati corretti o mitigati. Non è da escludere che nelle prossime build la presenza di queste ottimizzazioni venga rivalutata, riducendone in parte o eliminandone del tutto la presenza.

Sarebbe altrettanto interessante sapere se altri produttori aderenti ad Android One applicano sui propri terminali personalizzazioni simili a quelle offerte da HMD Global.



11 Commenti

  1. ☏ Pasquale Mirante
    4 Luglio 2019
  2. ☏ Naitsirco
    4 Luglio 2019
    • ☏ Pasquale Mirante
      4 Luglio 2019
      • ☏ Naitsirco
        5 Luglio 2019
  3. ☏ fla76
    4 Luglio 2019
    • ☏ fla76
      4 Luglio 2019
    • ☏ Naitsirco
      5 Luglio 2019
      • fla76
        5 Luglio 2019
  4. Francesco
    5 Luglio 2019
    • ☏ Alessio (oissela)
      6 Luglio 2019
  5. ☏ Federico
    30 Luglio 2019

Aggiungi un commento