Innehållsförteckning:
- Uppdatera ångest
- Kodning är svårt
- Bärarproblemet
- Android kontra Android-baserat
- Farorna med v arriethet
- Är det ett problem?
- Finns det en solution?
Om du har en Android-telefon är chansen stor att den inte kör den senaste versionen av operativsystemet, 4.1 Jelly Bean. Enligt Googles egna siffror kör bara 1, 2 procent av aktiva enheter den senaste versionen av Android. Cirka 57, 5 procent finns kvar på Android 2.3, en version som snabbt närmar sig sin andra födelsedag.
Om du hade turen att köpa en Nexus-enhet - rätt Nexus-enhet - kan du få den senaste söta godisen från Mountain View-chokladfabriken omedelbart, eller inom några veckor efter att den slutförts. Men för de flesta av de otaliga miljoner aktiva Android-enheter är det en helt annan historia. De kommer förmodligen aldrig att köra den senaste versionen av Android, oavsett vad det kan vara. De är på ICS om de har tur, Pepparkakor om de inte är det, och när de får Jelly Bean sjunger vi redan berömmen från Key Lime Pie.
Denna onda cykel är en produkt av Googles inställning till sitt operativsystem, i kombination med en massa andra faktorer, inklusive transportörer, tillverkare och användares egna förväntningar. Det är en av plattformens mest betydelsefulla problem, och det är allt annat än omöjligt att lösa. Läs vidare för att ta reda på exakt varför, när vi dissekerar Android-uppdateringsprocessen.
Uppdatera ångest
Du köper en telefon, du betalar dina $ 200, du förbinder dig till ett tvåårigt avtal med en tjänsteleverantör. Det brukade vara så att tillverkarens engagemang i att utveckla en enhet slutade när den skickades. I stället, eftersom smartphones har blivit mer utbredda, utvecklas de ständigt, även efter utgivningen. Nya mjukvaruuppdateringar kommer, lägger till funktioner, ändrar utseende och förbättrar prestandan månader efter köp. Stora uppdateringar kan till och med flytta enheter upp till en ny plattformsversion.
När uppdateringar blir vanligare och konsumenterna blir mer tekniska, finns det en ökad medvetenhet om att enheter kan uppdateras och förväntningar på att de ska uppdateras. Med det kommer en sorts "uppdateringsångest." Om du har tappat av någon smarttelefon-anslagstavla, till exempel våra egna forum eller XDA, vet du vad vi menar med detta. Trådar finns i överflöd och frågar när ICS, eller Jelly Bean, kommer att finnas tillgängliga för vissa enheter. I händelse av försenade eller till och med avbrutna uppdateringar svär Internetinizens att de aldrig kommer att köpa en annan telefon från den tillverkaren eller operatören igen. Det är en helt negativ ägarupplevelse.
Även om detta inte är representativt för hela användarbasen - inte överlägset - är det ett exempel på hur många strömanvändare som upplever Android-smartphones. De är alltid bakom kurvan, väntar alltid på en uppdatering, och njuter aldrig helt av produkten som de har köpt som de har köpt den. En del av detta är teknisk pressens fel - vi är alltid fokuserade på det som är nytt, och det betyder att vi pratar om programvara som ännu inte har nått de flesta.
Det finns också problemet med telefoner som marknadsförs som "uppdateringsklara." Även nu marknadsförs enheter som levereras med ICS som "uppgraderbara" till Jelly Bean, i ett drag som väsentligen gör det möjligt för tillverkare och operatörer att vända bristen på viss programvara till en funktion i sin egen rätt. Från början instrueras ägarna att vänta på uppdateringar, medvetna om att deras nya telefon har gammal programvara. HTC Rezound marknadsfördes som ”ICS-klar” vid tillkännagivandet i november 2011. Den fick Android 4.0 i luften ungefär nio månader senare, i augusti 2012. Naturligtvis är det mycket att vänta på en annonserad funktion.
Men uppdateringar händer inte bara, och det finns giltiga tekniska skäl till varför den nya versionen av Android du har väntat på kan ta den bättre delen av ett år att komma fram.
Kodning är svårt
När en ny version av Android släpps läggs den ut via Android Open Source Project (AOSP). AOSP är tillgängligt för alla att ladda ner, tänka och bygga Android på sin fritid, oavsett om de är en stor smartphone-tillverkare, en anpassad ROM-tillverkare. Men när koden skjuts ut är den inte nödvändigtvis redo för alla enheter där ute.
Att få en ny version av Android igång på alla enheter med annan hårdvara kräver en betydande mängd extra arbete, och ännu mer ansträngning krävs för att få över egen kod från chiptillverkare. Till exempel behöver en Snapdragon S4-enhet Jelly Bean-vänliga Qualcomm-drivrutiner för CPU och GPU. Byggprocessen behöver anpassas till telefonens hårdvara, och befintliga anpassningar måste bearbetas till den nya versionen av Android utan att bryta något.
Även på uppenbarligen liknande hårdvara kommer det ofta att finnas andra egna komponenter som fungerar i blandningen. Till exempel är den (internationella) HTC One X en Tegra 3-enhet, men inkluderar HTC: s ImageSense-chip, något som inte finns på Nexus 7. Den innehåller också sin interna lagring på olika sätt, med en separat partition för media. Sedan finns det den cellulära radio-firmware att tänka på. Plötsligt har du mycket arbete att göra för att ta en Tegra 3-enhet upp till Jelly Bean.
Sony förklarade hela kodnings- och portningsprocessen i detalj i ett blogginlägg sent i fjol. Det är värt att läsa om du vill utveckla en nygrundad sympati för de programmerare som måste hantera den här typen av uppdateringar.
Uppgiften är dock inte begränsad till kod. Det är ofta konstruktionsändringar som ska beaktas, särskilt när du uppdaterar från Android 2.x till 4.x - en versionändring som medförde svepande UI-förbättringar hela tiden. Som Sony förklarade för oss vid sin senaste designrundbord i Tyskland, har tillverkarna liten varning för vad Google kanske arbetar med, så att de inte kan planera framåt. Visserligen försöker Googles ändra detta med sitt Platform Developer Kit, som ger OEM-apparater tidig tillgång till vissa delar av ramverket i nya versioner av Android. PDK fokuserar dock på att göra nya enheter redo för lansering, inte att uppgradera gamla. Och om det underliggande Android-designspråket ändras, måste också alla anpassningar som sitter ovanpå det.
Att uppdatera en Android-enhet är inte lätt, och det finns mycket mer än att släppa in den nya koden från Google och hoppas på det bästa. Det är ett helvete mycket arbete, och det är innan du ens tänker på att få allt godkänt och skjutit ut på telefoner. Om radioändringar har gjorts måste den nya koden certifieras av regionala myndigheter, liksom organ som Bluetooth SIG och Wifi Alliance. Allt tar dyrbar tid, och i sitt blogginlägg förra året identifierade Sony certifiering som den mest tidskrävande delen av att lägga ut ny programvara.
Bärarproblemet
Här möter vi de stora hatfigurerna i mobilutrymmet - transportörerna. En nödvändig ondska i vår anslutna värld, mobiloperatörer har stort inflytande på vad som går ut på deras nätverk, särskilt på marknader som USA och Japan. Den kraften inkluderar kravet på att tillverkare skickar uppdateringar för godkännande innan de skjuts ut.
Bärarcertifieringsprocessen kan bli snabbt snabbt eller svårlindad. Mindre uppdateringar, särskilt på GSM-transportörer utanför USA, krävs ofta snabbt godkännande. Ett bra exempel är Three UK: s godkännande av en bug fix-patch för HTC One S. Detta godkändes på ett par dagar, eftersom endast mindre förändringar hade gjorts, och transportören var nöjd med att ingenting där skulle bryta sitt nätverk.
I den andra änden av skalan finns stora uppdateringar av några av de amerikanska transportörerna. Vi kommer att välja Verizon Galaxy Nexus här, men det finns många andra exempel på konkurrerande nätverk. Big Red's Gnex tog över två månader för att godkänna certifieringen för sin Android 4.0.4-uppdatering, och Jelly Bean för Nexus, som slutfördes i juli, är fortfarande inte ute. Det är omöjligt att veta exakt varför saker har hållits upp, eller vem, om någon, har skylden. Men det är ett exempel på hur extra veckors väntan kan läggas till om problem dyker upp under certifieringsprocessen.
Transportörer är i allmänhet långsamma, och de kommer alltid att göra fel på sidan av försiktighet. De har också begränsade resurser när det gäller att certifiera smarttelefonprogramvara, och naturligtvis kommer alltid naturligtvis att prioriteras att godkänna nya enheter som är redo att säljas. Det är så du tjänar pengar. Och en liknande inställning råder också hos vissa OEM-tillverkare. Om en telefon inte har sålt bra, eller det är en budgetmodell, kanske det inte är värt tiden och pengarna att utveckla och certifiera en uppdatering. Smartphone-tillverkare är trots allt företag.
Android kontra Android-baserat
Men det här är Android-telefoner, eller hur? Varför är det så svårt att hålla Android-telefoner på den senaste programvaran, särskilt när iOS och Windows Phone verkar hantera en mycket snabbare och mer elegant uppgraderingsprocess?
Svaret är mångfald. Apple har inte mer än tre aktuella telefoner åt gången, vilket gör uppgiften att synkronisera uppdateringar över sina enheter mycket enklare. IPhone-serien har också mindre intern variation från en modell till en annan. Dessutom innebär Apples täta kontroll över alla aspekter av hårdvara och mjukvara att det lätt kan förutse framtida programvaruversioner på ett sätt som Android-telefontillverkare inte kan.
När det gäller Microsoft är det nästan lika kontrollerande som Apple. Telefonerna är begränsade till Qualcomm Snapdragon-CPU: er och ett fast antal skärmupplösningar. Vissa områden i operativsystemet är inte begränsade även för OEM-tillverkare, och det finns stränga krav för Windows-telefoner, till exempel särskilda knappinställningar och minneskvoter. OEM Phone-tillverkare av Windows Phone är också extremt begränsade i de ändringar de kan göra i UI. Alla dessa faktorer gör det lättare att driva ut uppdateringar över till synes mångfaldig hårdvara från olika tillverkare.
Vi bör också påpeka att Android-telefoner, som vi tenderar att tänka på dem, inte bara är Android-telefoner. Det är Android-baserade telefoner.
För några månader tillbaka gjorde Googles Vic Gundotra ett inlägg på Google+ och sjöng berömmen för sin nya Nexus 7-surfplatta, tillsammans med ett bifogat foto. När följarna frågade honom vad han brukade ta bilden, svarade han på ett mycket exakt, medvetet språk - det togs på hans “Android-baserade Galaxy S3.” Gundotras ordalys belyser en avgörande skillnad mellan Nexus och “Google Experience” -enheter, och Samsung, HTC och Motorola-märkta telefoner som dominerar väggarna i de flesta butiker. Android är det som släpps av Google. När tillverkarna tagit tag i den är slutprodukten Android- baserad. Det finns saker där som Google inte direkt styr, vilket betyder att det inte längre bara är "Android."
HTC One X är en Android-baserad HTC Sense-telefon. Galaxy S3 är en Android-baserad Samsung TouchWiz-telefon. Även om de är kompatibla med Android och delar en gemensam funktionsuppsättning, skiljer de sig från operativsystemet som levereras av folk på Mountain View.
Farorna med v arriethet
Som ett öppen källkodssystem är OEM: s gratis att göra ganska mycket vad de vill med Android. Den enda verkliga begränsande faktorn är Android Compatibility Test Suite - en uppsättning testprogram som är utformade för att säkerställa att de inte har klarat ramverket på ett sätt som bryter appar från tredje part. Telefoner måste klara detta test för att få Googles godkännande. Men det finns ingen bestämmelse i CTS för att se till att en tillverkaresanpassad byggnad av Android är lätt att uppdatera, och som sådan finns det inga garantier för uppdateringstider.
Du kan säga att det är en dålig sak, särskilt om du är en fan av vanilj Android. Om Microsoft kan tvinga tillverkare att inte röra sig med Windows Phone UI, varför gör inte Google detsamma för Android? Om det gjorde det, skulle Android bli mycket mindre attraktivt för Googles riktiga kunder - bärare och enhetstillverkare. De vill spela Android med sin egen programvara och formspråk för att differentiera sig på den trånga och konkurrenskraftiga mobilmarknaden. Om de inte kunde göra det skulle de helt enkelt inte göra så många Android-telefoner, och kunderna skulle därför inte köpa så många Android-telefoner.
Färre Android-telefoner skulle betyda färre annonsklick i Googles sökning och färre mobilanvändare som tränade in i Googles app- och innehållsekosystem. Google vill inte att det ska finnas färre Android-telefoner. Google vill ha hundratals miljoner Android-telefoner, och för att nå det målet måste det öppna Android för anpassning.
Som ett resultat är Google som plattformshållare maktlöst att tvinga uppdateringar till "Android-baserade" telefoner. Dess OS: s enorma marknadsandel förlitar sig på att ha en mängd enheter till försäljning, och som i sin tur leder till oändlig variation i hårdvaruspecifikationer, tillverkarens anpassningar och krav på bärare. Det är den mångfalden som gör snabba, ofta uppdateringar för enheter så en helt omöjlig uppgift, av de tekniska skäl som vi redan har diskuterat. Enkelt uttryckt finns det inget sätt Android som helhet kan ha snabba uppdateringar och en stor marknadsandel. Det utesluts av plattformens natur, och ännu viktigare, Android: s plats i Googles affärsstrategi.
Tyvärr, trots symbolerbjudanden som Motorolas 100 dollar om din telefon inte får Jelly Bean och den oroliga Android Update Alliance, visar saker inga tecken på förändring.
Är det ett problem?
Det kan vara oundvikligt, men att behöva vänta längre än du vill ha en uppdatering är aldrig bra. Kunderna bryr sig inte om varför deras glänsande nya Android-telefon är en eller två versioner bakom den senaste. De observerar bara med avundsjukliga ögon iPhone-användare som får iOS 6 i tid och ser att de byts kort av sin tillverkare.
Moderna konsumenter blir mer medvetna om att smartphones inte längre är telefoner utan datorer, och att de kan uppdateras med spännande nya funktioner. Även om tekniska och affärsmässiga skäl kan förhindra att alla Android-telefoner är uppdaterade, läggs dessa enheter ut för att tävla med det senaste från Apple och Microsoft, och när de är en eller två stora versioner bakom banbrytaren för ett klart svaghetsområde för konkurrenter att utnyttja. Det gör det till ett problem för alla med andel i Android.
Som förberedelse för den här artikeln genomförde vi en liten, vetenskaplig undersökning på Google+ där vi frågade Android Central-följare hur deras erfarenheter av uppdateringar hade varit på deras telefoner. Svaret var nästan enhetligt negativt - till och med fans av plattformen beskrev uppdateringar av uppdateringar i termer som "dåligt" "fruktansvärt" och "absolut skit." Det är en sida av Android-upplevelsen som har ett allvarligt bildproblem bland elanvändare.
Den andra sidan av det argumentet är att Android blomstrar, trots att det uppdateras. Det är världens mest populära smartphone-operativsystem. Enheter fortsätter att flyga från butikshyllorna, och plattformen har ett starkt samhälle efter, trots att huvuddelen av mobiltelefoner finns på äldre programvaruversioner.
Du kan hävda att de flesta vanliga konsumenter inte bryr sig om att uppdatera sin telefon alls, och att du antagligen skulle ha rätt. Och för dem som absolut måste ha den senaste versionen av Android finns det alltid den senaste Nexus-telefonen, även om Nexus-varumärkets överklagande har blivit något utspädd genom uppdateringsförseningar på Verizon och Sprint.
Finns det en solution?
Den enda sanna lösningen på Android-uppdateringsproblemet är en förändring i tänkesätt, eller om det inte fungerar, en handbyte. Android kommer aldrig att kunna erbjuda övergripande uppdateringar som Apple gör - det är tekniskt omöjligt av de många skäl som vi redan har täckt.
Android-telefonägare, communitymedlemmar och fans måste uppskatta att uppdateringar är svåra att utveckla och tar tid och pengar att lägga ut, och när operatörer blir involverade kan de utsättas för långa, tråkiga förseningar. Det är inte fallet med iOS och Windows Phone, men de är mycket olika operativsystem. Smärtsamt som det kan vara att erkänna, att vänta på uppdateringar kommer att vara en del av Android-upplevelsen under många år framöver.
Men om Android är problemet, kan kanske Android också vara lösningen, åtminstone för tekniskt äventyrliga användare. Android: s öppenhet gör det möjligt att köra på flera hårdvaruplattformar, men Googles operativsystem är också mycket hackervänligt. Många ledande enheter har en livlig anpassad ROM-scen, där specialbyggda firmware finns tillgängliga, ofta baserade på senare versioner av Android än som är officiellt tillgängliga för dessa telefoner. Det betyder att om du verkligen, verkligen bryr dig om att köra den senaste versionen av operativsystemet, kan du öppna din bootloader och göra det på bekostnad av stabilitet (och kanske din garanti).
Det är inte en perfekt lösning, men det är så nära vi någonsin kommer att komma. Då öppnar - eller "öppet" - Android-karaktären dess fördelar - ett brett utbud av hårdvara, hackbarhet och anpassat ROM-stöd, oändliga val i skärmstorlekar, mjukvaruanpassningar, multimediachops, chassistilar och industridesign. Men det kommer med en viktig Achilles-häl - den labyrintiska, tidskrävande och dyra processen att få telefoner uppdaterade med en ny version sjunker. Det är inte nödvändigtvis någons fel, men det är en svaghet som är inbyggd i Android: s DNA, och en vi tvivlar på att någonsin kommer att övervinnas.