Sommario:
- Cos'è Bit Rot, esattamente?
- Innanzitutto, alcuni valori anomali
- Erosione del software
- Entropia del software
- Software Bloat
- Cosa significa tutto ciò e cosa posso fare al riguardo?
- Domande?
I computer sono un po 'come le persone: invecchiando tendono a diventare un po' più lenti e i difetti sono più facili da vedere.
I nostri telefoni sono computer ridotti per essere tascabili e facili da trasportare. Ciò significa che col passare del tempo, le cose non stanno accadendo rapidamente come una volta o le cose possono diventare un po 'buggy. Questo è universale; succede a telefoni Galaxy e telefoni LG e telefoni Pixel e iPhone e ogni altro telefono che fa di più che effettuare chiamate e inviare messaggi di testo. Alcune persone dicono di non vederlo accadere, ed è per questo che accade e il modo in cui il software è scritto per tutti i diversi telefoni in circolazione. Ma sta ancora accadendo sul tuo telefono in questo momento, e lo sarà sempre.
Diamo un'occhiata a ciò che è comunemente noto come "Bit Rot" e vediamo se non riusciamo a capire le cose un po 'meglio.
Cos'è Bit Rot, esattamente?
È un termine che viene spesso scartato dalle persone che usano il computer e in pratica significa che il software è "vecchio" ed è diventato più lento di prima. Ci sono tre cose in gioco e sono ben documentate anche se non sono molto facili da capire: Erosione del software, Entropia del software e Software bloat.
Innanzitutto, alcuni valori anomali
A volte ci possono essere anche altri fattori. Il degrado dei dati e il Creep possono causare rallentamenti di programmi e app, ma sono più facili da spiegare e sono leggermente diversi da quelli che chiamiamo Bit Rot. Degrado dei dati è una parola di fantasia che significa che la tua memoria - la RAM, la memoria o entrambi - sta invecchiando. La RAM e i supporti a stato solido richiedono una carica elettrica e nel tempo possono disperdersi più di quanto fosse progettato. Ciò significa che alcuni dei bit memorizzati (bit del software) possono essere modificati. Quando alcuni bit sono errati, molti programmi possono compensare, ma ciò richiede tempo e i programmi sono un po 'più lenti. Quando molti bit sono sbagliati, le cose praticamente smettono di funzionare come previsto.
Il degrado dei dati e lo scorrimento delle funzioni possono anche rallentare il telefono, ma sono diversi da Bit Rot.
Feature Creep è facile da capire. Il telefono è stato realizzato pensando a un set specifico di software. Quando ricevi un aggiornamento che aggiunge più funzionalità, l'hardware deve lavorare di più e le cose diventano più lente. I forum online sono pieni di persone che odiano un recente aggiornamento sul proprio telefono Galaxy e di persone con iPhone più vecchi che odiano l'ultima versione di iOS. Questo perché il software è stato scritto pensando all'hardware più recente e più capace, proprio come lo era il software originariamente fornito con il telefono. Tutti amiamo le nuove funzionalità e gli aggiornamenti, ma il vecchio adagio "stai attento a ciò che desideri" è proprio qui.
Questi problemi possono certamente avere un effetto, ma sono diversi da Bit Rot e probabilmente non stanno contribuendo molto alla lentezza dei nostri telefoni perché non li manteniamo abbastanza a lungo da vederli in azione.
Erosione del software
L'erosione del software è il lento ma costante deterioramento delle prestazioni che può accadere a qualsiasi software, che si tratti di qualcosa che usiamo molto o solo poco. O addirittura mai. Ciò accade perché utilizziamo il software e tutte le applicazioni cambiano quando vengono utilizzate: aggiungiamo i dati utente alla base in modo che il software faccia ciò che vogliamo. Si noti che questo è diverso dal fatto che il software diventi lento o difettoso mentre lo stiamo usando molto, ma torna alla normalità con un riavvio. Ciò è generalmente dovuto a piccoli errori che si accumulano nel tempo o a una perdita di memoria. Non è possibile correggere l'erosione del software chiudendo e riaprendo un'app o riavviando il telefono.
Tutto il software ha bug e tutto il software ha bisogno di una manutenzione regolare che non ottiene mai.
Esistono due diversi tipi di erosione del software, inattiva e attiva. L'erosione del software inattiva si verifica quando un programma o parti di un programma che non si utilizza smettono di funzionare bene perché altre cose sono cambiate e l'erosione attiva si verifica a causa di cambiamenti durante l'utilizzo. Entrambi i tipi si verificano a causa di alcuni motivi diversi.
- Il codice inutilizzato o rimasto può (e spesso contiene) contenere bug che non vengono scoperti.
Tutto il software ha bug, indipendentemente da ciò che dice uno sviluppatore o un utente. Quando un'azienda cambia un po 'di codice, ci sono ottime possibilità che parte del codice originale non venga mai utilizzato ma sia ancora integrato nel prodotto finale. I bug qui non hanno la stessa probabilità di essere scoperti e possono avere un effetto immediato o uno che richiede del tempo per mostrarsi.
- Le modifiche perché il software non è facile da usare accadono molto.
Uno sviluppatore crea software con un'idea specifica di come lo useremo, ma una volta che viene nelle nostre mani spesso non lo usiamo in questo modo! A volte non è colpa nostra e il software ha un'interfaccia mal implementata, quindi facciamo cose che uno sviluppatore non avrebbe mai pensato di fare. Altre volte è colpa nostra e facciamo cose come creare più account o eseguire più istanze di un'app o una funzione che non è stata progettata per funzionare in quel modo. Ciò può lasciare dati utente o dati memorizzati nella cache che è più difficile da elaborare per un'app.
- La mancanza di aggiornamenti e manutenzione è negativa.
Qualsiasi sviluppatore ti dirà che il lavoro non è finito una volta pubblicato il programma e che il software deve essere mantenuto. Ciò significa correggere i bug che gli utenti trovano, ma anche aggiornamenti frequenti per funzionare bene con altri software. La mancanza di una manutenzione regolare su tutta la linea è la principale causa di erosione del software.
L '"Android" che gira sul tuo telefono è in realtà un grande gruppo di programmi e servizi in esecuzione indipendente che devono comunicare costantemente tra loro. Un esempio: Facebook apporta un'altra modifica ai propri server, quindi aggiorna l'app in Google Play. L'app Contatti si collega a Facebook, quindi potrebbe essere necessario un aggiornamento. Oppure la tua fotocamera riceve un aggiornamento, ma l'applicazione della galleria ad essa collegata non lo fa. Tutte le parti del sistema devono funzionare con tutte le altre parti e ciò significa una manutenzione regolare.
La buona notizia qui è che molti problemi di erosione del software vengono risolti con un ripristino delle impostazioni di fabbrica in cui tutti i dati dell'utente vengono cancellati. La cattiva notizia è che alla fine tutto ritorna.
Entropia del software
Tutto il software che non possiamo modificare ha bug e codice inutilizzato (vedi sopra). Questi bug probabilmente rimarranno invariati nel tempo, ma possono peggiorare con l'aumentare della complessità del software che possiamo modificare. Questo si chiama Entropia del software.
Il software modificato influisce sul software che non è possibile modificare poiché il sistema stesso diventa più complesso.
La maggior parte del software sul telefono è in un sistema chiuso. Potresti essere in grado di aggiornare la tastiera o l'app della fotocamera dal Play Store, ma la maggior parte del sistema operativo è installata in fabbrica e modificata solo con un aggiornamento completo del sistema. Questo è molto diverso da tutte le app, sia quelle per l'utente installate in fabbrica che quelle che hai installato tu stesso. Il software che è possibile modificare diventa più complesso nel tempo e il software che non è possibile modificare deve gestirlo.
Le persone che hanno scritto il software sul telefono sono dannatamente intelligenti quando si tratta di tutto questo. Ma nessuno può sapere cosa faremo, quali nuove app saranno in grado di fare e come le app progettate per un set di API (interfacce di programmazione delle applicazioni), ad esempio le API Samsung dal loro kit di sviluppo software, funzioneranno con le app progettato per un altro set di API, come quelle di Google che fanno parte di Android. Gli sviluppatori devono fare del loro meglio per indovinare e realizzare il software in un modo che non si spezzi e speri per il meglio.
Esistono due modi per combattere l'entropia del software: la manutenzione periodica del software attraverso aggiornamenti tempestivi o il ripristino del software utente allo stato di fabbrica.
Software Bloat
Questo non è ciò che suggerisce il nome, anche se le app bloatware aggiuntive possono causare rallentamenti. Software Bloat quando si parla di Bit Rot significa software pieno di funzionalità extra o inutilizzate.
Più funzionalità vengono aggiunte a qualsiasi programma, più complessa sarà. La complessità rende le applicazioni più lente.
Le funzioni "extra" sono impossibili da definire. Le app o parti di app che non utilizzo sono estranee a me, ma potresti usarle e amarle. Dal punto di vista di un computer, l'unica buona applicazione è quella che fa solo una cosa e poi si chiude una volta terminata. Questo non è pratico dal punto di vista dell'utente; immagina un'app per tastiera che si chiudesse dopo aver digitato ciascuna lettera. Le aziende che producono i telefoni che amiamo devono trovare un mezzo felice tra funzionalità e prestazioni utilizzando l'hardware giusto o tagliando le funzionalità nelle app. Ciò potrebbe significare aggiungere più RAM e utilizzare un processore più veloce o tagliare le funzionalità di un'app o entrambe.
Un'altra parte delle funzionalità "extra" è il software che deve essere in grado di gestire più standard (e spesso concorrenti). Le tue applicazioni di posta elettronica ne sono un ottimo esempio. Se usi Gmail e usi l'app Gmail, le cose sono molto più snelle rispetto a come sarebbero se stai usando l' altra app di posta elettronica con un account Gmail o un account Exchange o qualcosa di simile a Yahoo! Account POP3. L'app Email deve essere in grado di fare ciò che l'app Gmail non può fare e deve essere in grado di gestire i diversi tipi di dati che creiamo. Questo richiede tempo per l'elaborazione e quando aggiungiamo più dati ci vuole più tempo.
Forse il miglior esempio di funzionalità "extra" e di come influenzano le prestazioni sarebbe il confronto tra Evernote e Google Keep. Se usi l'app solo per prendere appunti, tutti gli extra in Evernote significano che ci vuole molto più tempo per aggiungerli o leggerli. Se ti piacciono queste funzionalità extra, scoprirai rapidamente che Google Keep non può farne quasi tutte. Non c'è giusto o sbagliato qui, ma questo ha un grande impatto sulle prestazioni.
Le funzionalità "rimanenti" inutilizzate possono ancora funzionare e causare problemi e i nostri telefoni ne sono pieni.
Le funzioni inutilizzate sono più frustranti perché non sappiamo che ci sono e non potremmo fare nulla per cambiare le cose se lo facessimo. Quando un'azienda come LG (le sceglieremo qui, ma questo vale per ogni azienda che produce telefoni, anche Google) crea un telefono con le proprie app che sono duplicati di app Android "stock" come il dialer telefonico o il calendario, c'è molto codice rimanente che non viene utilizzato. Parte del codice viene eseguito anche all'avvio del telefono. Abbiamo parlato di come questo significhi che i bug saranno più difficili da trovare in quella parte di codice, ma può anche avere un grande impatto sulle prestazioni. E quando l'entropia del software viene presa in considerazione, vediamo come questi errori possono peggiorare nel tempo.
Quando vedi commenti sciocchi nei commenti su come un telefono come il Moto G5 è più veloce di un Galaxy S8 con metà della potenza hardware, Software Bloat è il motivo.
Cosa significa tutto ciò e cosa posso fare al riguardo?
Questa è una domanda facile: significa che alcuni telefoni sono più lenti di altri e alcuni telefoni diventano notevolmente più lenti nel tempo mentre altri sono meno colpiti. E non c'è davvero niente che possiamo fare al riguardo.
Più funzionalità significano software più lento e maggiori opportunità per Bit Rot. È un mestiere che molti fanno volentieri.
Conversazione reale: un telefono come il Note 8 è notevolmente più lento (e lo mostra quando è collegato a strumenti che monitorano le prestazioni) rispetto a un Pixel 2. Il Note 8 diventerà ancora più lento di sei mesi circa lungo la strada. Ma Pixel 2 non sarà mai in grado di fare alcune delle cose che fa una Nota 8, indipendentemente dal numero di app che installiamo o dal modo in cui ne facciamo a pezzi. Posso annotare uno screenshot con la S Pen immediatamente dopo averlo catturato sulla Nota 8, ma sul Pixel 2, devo condividere lo screenshot con un altro dispositivo per annotarlo con lo stesso livello di funzionalità e dettagli.
Come l'argomento Evernote vs. Google Keep sopra, ciò che è meglio è in gran parte una questione di funzionalità che ti piacciono. Nota 8 ha tutte le caratteristiche. Ciò significa che ha tutti gli errori e il software che rendono più evidente Bit Rot. Questo potrebbe essere un problema per te, ma per gli altri non è perché non c'è altro modo per ottenere il set di funzionalità. Questo è il motivo per cui ci sono più telefoni Android di un semplice Pixel e Pixel Plus e cosa significano tutti quando dicono che Android ti dà una scelta.
E quando Bit Rot diventa mai abbastanza un problema che è necessario fare qualcosa al riguardo, basta ripristinare le impostazioni di fabbrica del telefono e impiegare alcune ore per eseguire il backup di tutto.
Domande?
Suona nei commenti qui sotto!