Indholdsfortegnelse:
- Hvad er bit Rot nøjagtigt?
- Først nogle outliers
- Erosion af software
- Software Entropy
- Software Bloat
- Så hvad betyder alt dette, og hvad kan jeg gøre ved det?
- Spørgsmål?
Computere er slags som mennesker - når de bliver ældre, har de en tendens til at blive lidt langsommere, og mangler er lettere at se.
Vores telefoner er computere skrumpet ned for at være lommeformat og let at transportere. Og det betyder, at når tiden går, sker ting ikke så hurtigt, som de plejede at gøre, eller ting kan blive lidt buggy. Dette er universelt; det sker med Galaxy-telefoner og LG-telefoner og Pixel-telefoner og iPhones og enhver anden telefon, der gør mere end at foretage opkald og sende tekster. Nogle mennesker siger, at de ikke ser det ske, og det er på grund af, at det sker, og den måde, hvorpå der er skrevet software til alle de forskellige telefoner ude i naturen. Men det sker stadig på din telefon lige nu, og vil altid være det.
Lad os se på, hvad der almindeligvis kaldes "Bit Rot" og se, om vi ikke kan forstå tingene lidt bedre.
Hvad er bit Rot nøjagtigt?
Det er et udtryk, der bliver smidt meget rundt af mennesker, der er i computere, og det betyder dybest set, at softwaren er "gammel" og er blevet langsommere end den plejede at være. Der er tre ting, der spilles, og de er veldokumenterede, selvom de ikke er meget lette at forstå: Software Erosion, Software Entropy og Software Bloat.
Først nogle outliers
Nogle gange kan der også være andre faktorer. Data nedbrydning og funktionskræbe kan forårsage, at programmer og apps går langsommere, men de er lettere at forklare og er lidt anderledes end det, vi kalder Bit Rot. Data Degradation er et dekorativt ord, der betyder, at din hukommelse - enten RAM, opbevaring eller begge dele - bliver gammel. RAM og Solid State-medier kræver en elektrisk opladning, og med tiden kan det sprede mere end det var designet til at gøre. Dette betyder, at nogle af de lagrede bits (softwarebits) kan ændres. Når et par bits er forkerte, kan mange programmer kompensere, men det tager tid, og programmerne er lidt langsommere. Når mange bits er forkerte, stopper temmelig meget som det er beregnet.
Dataforringelse og funktionskryp kan også gøre din telefon langsommere, men er forskellig fra Bit Rot.
Feature Creep er let at forstå. Din telefon blev bygget med et specifikt sæt software i tankerne. Når du får en opdatering, der tilføjer flere funktioner, skal hardware arbejde hårdere, og tingene går langsommere. Online-fora er fyldt med mennesker, der hadede en nylig opdatering på deres Galaxy-telefon og folk med ældre iPhones, der hader den nyeste version af iOS. Det skyldes, at softwaren blev skrevet med nyere og mere dygtig hardware i tankerne, ligesom den software, som din telefon oprindeligt blev sendt med, var. Vi elsker alle nye funktioner og opdateringer, men det gamle ordsprog "vær forsigtig med hvad du ønsker" er lige på pengene her.
Disse problemer kan bestemt have en effekt, men de er forskellige fra Bit Rot og bidrager sandsynligvis ikke meget til nogen langsomhed på vores telefoner, fordi vi ikke holder dem længe nok til at se det i aktion.
Erosion af software
Erosion af software er den langsomme, men stadige forringelse af ydelsen, der kan ske med enhver software, uanset om det er noget, vi bruger meget eller bare lidt. Eller endda aldrig. Dette sker, fordi vi bruger softwaren, og alle applikationer ændres, når de bruges - vi tilføjer brugerdata til basen, så softwaren gør, hvad vi vil have, at den skal gøre. Bemærk, at dette er anderledes end software bliver langsomt eller buggy, mens vi bruger det meget, men går tilbage til det normale med en genstart. Det skyldes normalt små fejl, der ophobes over tid eller en hukommelseslækage. Du kan ikke løse softwareerosion ved at lukke og åbne en app igen eller genstarte din telefon.
Al software har fejl, og al software har brug for regelmæssig vedligeholdelse, som den aldrig får.
Der er to forskellige typer softwarerosion, sovende og aktiv. Sovende softwareerosion sker, når et program eller dele af et program, du ikke bruger, holder op med at fungere godt, fordi andre ting ændrede sig, og aktiv erosion sker på grund af ændringer, mens du bruger det. Begge typer sker på grund af nogle få forskellige grunde.
- Ubenyttet eller resterende kode kan (og ofte indeholder) indeholde fejl, der ikke bliver fanget.
Al software har fejl, uanset hvad en udvikler eller bruger siger. Når et firma ændrer en eller anden kode, er der en meget god chance for, at noget af den oprindelige kode aldrig bliver brugt, men er stadig indbygget i det endelige produkt. Fejl her er ikke så sandsynligt, at de bliver fanget og kan have en øjeblikkelig virkning eller en, der tager et stykke tid at dukke op.
- Ændringer, fordi softwaren ikke er brugervenlig, sker meget.
En udvikler bygger software med en bestemt idé om, hvordan vi vil bruge den, men når den først kommer i vores hænder bruger vi den ofte ikke på den måde! Nogle gange er dette ikke vores skyld, og software har en dårligt implementeret grænseflade, så vi gør ting, som en udvikler aldrig troede, vi ville gøre. Andre gange er det vores skyld, og vi gør ting som at oprette flere konti eller køre flere forekomster af en app eller funktion, der ikke var designet til at køre på den måde. Dette kan efterlade brugerdata eller cache-data, der er vanskeligere for en app at behandle.
- Mangel på opdateringer og vedligeholdelse er dårlig.
Enhver udvikler vil fortælle dig, at jobbet ikke er færdig, når programmet er offentliggjort, og at software skal vedligeholdes. Dette betyder, at rettelse af fejl, som brugerne finder, men også hyppige opdateringer, der fungerer godt med anden software. Manglende regelmæssig vedligeholdelse overalt er den største årsag til softwareerosion.
Den "Android", der kører på din telefon, er faktisk en stor gruppe af uafhængigt kørende programmer og tjenester, der konstant har brug for at kommunikere med hinanden. Et eksempel: Facebook foretager en anden ændring på deres servere og opdaterer derefter appen i Google Play. Din Kontakter-app binder til Facebook, så det kan være nødvendigt at opdatere. Eller dit kamera får en opdatering, men galleriprogrammet, der er knyttet til det, gør det ikke. Alle dele af systemet skal arbejde sammen med alle de andre dele, og det betyder regelmæssig vedligeholdelse.
Den gode nyhed her er, at en masse Software Erosion-problemer er rettet med en fabriksindstilling, hvor alle brugerdata slettes. Den dårlige nyhed er, at det hele kommer tilbage efterhånden.
Software Entropy
Al software, som vi ikke kan ændre, har fejl og ubrugt kode (se ovenfor). Disse bugs forbliver sandsynligvis uændrede over tid, men kan blive værre, når kompleksiteten af software, vi kan ændre, stiger. Dette kaldes Software Entropy.
Den software, du ændrer, påvirker softwaren, som du ikke kan ændre, fordi selve systemet bliver mere kompliceret.
Det meste af softwaren på din telefon er i et lukket system. Du kan muligvis opdatere tastaturet eller kameraappen fra Play Store, men hovedparten af operativsystemet er installeret fra fabrikken og ændres kun med en komplet systemopdatering. Dette er meget forskelligt fra alle apps, både fabriksinstallerede bruger apps og dem, du selv har installeret. Den software, du kan ændre, bliver mere kompliceret med tiden, og den software, du ikke kan ændre, skal håndtere den.
De mennesker, der skrev softwaren på din telefon, er temmelig smarte, når det kommer til alt dette. Men ingen kan vide, hvad vi vil gøre, hvad nye apps vil være i stand til, og hvordan apps designet til et sæt API'er (applikationsprogrammeringsgrænseflader), for eksempel Samsungs API'er fra deres softwareudviklingssæt, vil arbejde med apps designet til et andet sæt API'er, ligesom dem fra Google, der er en del af Android. Udviklerne skal gøre deres bedste for at gætte og fremstille softwaren på en måde, der ikke går i stykker og håber på det bedste.
Der er to måder at bekæmpe Software Entropy - regelmæssig softwarevedligeholdelse gennem rettidige opdateringer eller nulstille brugersoftwaren til fabriksstatus.
Software Bloat
Dette er ikke, som navnet antyder, skønt ekstra bloatware-apps kan og får ting til at køre langsommere. Software Bloat når man taler om Bit Rot betyder software, der er fyldt med ekstra eller ubrugte funktioner.
Jo flere funktioner, der er føjet til ethvert program, jo mere kompliceret vil det være. Kompleksitet gør applikationer langsommere.
"Ekstra" funktioner er umulige at definere. Apps eller dele af apps, som jeg ikke bruger, er udenfor for mig, men du bruger måske og elsker dem. Fra en computers synspunkt er den eneste gode applikation en, der kun gør en ting og derefter lukker sig, når den er færdig. Dette er upraktisk set fra et brugerperspektiv; forestil dig en tastaturapp, der lukkedes efter at hvert bogstav blev skrevet. De virksomheder, der opretter de telefoner, vi elsker, skal finde et lykkeligt medium mellem funktioner og ydeevne ved at bruge den rigtige hardware eller skære ned på funktioner i apps. Det kan betyde at tilføje mere RAM og bruge en hurtigere processor eller beskæringsfunktioner fra en app, eller begge dele.
En anden del af de "ekstra" funktioner er software, der skal kunne håndtere flere (og ofte konkurrerende) standarder. Dine e-mail-applikationer er et godt eksempel på dette. Hvis du bruger Gmail og bruger Gmail-appen, er tingene meget mere strømlinede end de ville være, hvis du bruger den anden e-mail-app med en Gmail-konto eller en Exchange-konto eller noget som en Yahoo! POP3-konto. E-mail-appen skal være i stand til at gøre ting, som Gmail-appen ikke kan, og skal være i stand til at håndtere de forskellige typer data, vi opretter. Dette tager tid at behandle, og når vi tilføjer flere data, tager det mere tid.
Det bedste eksempel på "ekstra" funktioner, og hvordan de påvirker ydeevnen, er måske at sammenligne Evernote og Google Keep. Hvis du kun bruger appen til at notere, betyder alle ekstraudstyr i Evernote, det tager meget mere tid at tilføje eller læse dem. Hvis du kan lide disse ekstra funktioner, finder du hurtigt, at Google Keep bare ikke kan gøre de fleste af dem. Der er ikke noget rigtigt eller forkert her, men det har stor indflydelse på ydeevnen.
Ubrugte "rester" -funktioner kan stadig køre og forårsage problemer, og vores telefoner er fyldt med dem.
Ubrugte funktioner er mere frustrerende, fordi vi ikke ved, at de er der, og vi kunne ikke gøre noget for at ændre ting, hvis vi gjorde det. Når et firma som LG (vi vælger dem her, men dette gælder for alle virksomheder, der laver telefoner, endda Google), opretter en telefon med deres egne apps, der er duplikater af "lager" android-apps som telefonopkaldet eller kalenderen, der er en masse resterende kode, der ikke bruges. Noget af koden kører stadig, når du starter din telefon, også. Vi har talt om, hvordan dette betyder, at fejl bliver sværere at finde i den del af koden, men det kan også have en stor indflydelse på ydelsen. Og når Software Entropy er indarbejdet, ser vi, hvordan disse bugs kan blive værre og værre med tiden.
Når du ser fjollede argumenter i kommentarer om, hvordan en telefon som Moto G5 er hurtigere end en Galaxy S8 med halvdelen af hardwarekraften, er grunden til Software Bloat.
Så hvad betyder alt dette, og hvad kan jeg gøre ved det?
Det er et let spørgsmål - det betyder, at nogle telefoner er langsommere end andre, og nogle telefoner bliver mærkbart langsommere med tiden, mens andre er mindre berørt. Og der er ikke rigtig noget, vi kan gøre ved det.
Flere funktioner betyder langsommere software og større mulighed for Bit Rot at ske. Det er en handel, mange med glæde foretager.
Rigtig snak - en telefon som Note 8 er mærkbar langsommere (og viser den, når den er knyttet til værktøjer, der overvåger ydeevnen) end en Pixel 2. Note 8 vil blive endnu langsommere seks måneder eller deromkring ned ad vejen. Men Pixel 2 vil aldrig være i stand til at gøre nogle af de ting, som en Note 8 gør, uanset hvor mange apps vi installerer, eller hvordan vi hacker skiten ud af det. Jeg kan kommentere et skærmbillede med S Pen straks efter at jeg har taget det på note 8, men på Pixel 2, er jeg nødt til at dele skærmbilledet til en anden enhed for at kommentere det med samme niveau af funktioner og detaljer.
Som argumentet Evernote vs. Google Keep ovenfor, er det, der er bedre, stort set et spørgsmål om funktioner, som du kan lide. Note 8 har alle funktionerne. Dette betyder, at det har alle fejl og softwareopblæsning, der gør Bit Rot mere synlig. Dette kan være et problem for dig, men for andre er det ikke fordi der ikke er nogen anden måde at få funktionssæt på. Dette er grunden til, at der er flere Android-telefoner end bare en Pixel og Pixel Plus, og hvad alle betyder, når de siger, at Android giver dig et valg.
Og når Bit Rot nogensinde bliver nok af et problem, som du har brug for at gøre noget ved det, skal du bare nulstille telefonen og tage et par timer på at indstille alt igen.
Spørgsmål?
Lyd fra i kommentarerne nedenfor!