Sony Ericsson: Ice Cream Sandwich – от излизането на source code-а до софтуерния ъпгрейд

    Преди няколко седмици беше пуснат source code-ът на Ice Cream Sandwich. За инженерите от Sony Ericsson това означава натоварен период, през който те трябва да създадат работеща, стабилна и сертифицирана софтуерна версия на Ice Cream Sandwich за 2011 Xperia смартфоните. Хората от Sony Ericsson са обяснили как от излизането на source code-ът се достига до ъпдейт, който потребителите инсталират на своите устройства:

    Бихме искали да ви разкажем за различните етапи през които се преминава до достигането на софтуерен ъпгрейд, който потребителите свалят за своя телефон. Вече обявихме, че всички 2011 Xperia смартфони ще получат ъпдейт до Android 4.0 ICS. Допълнително ще обявим времето, по което ще излязат тези ъпдейти. Преди да се стигне до изпращане на софтуерен ъпдейт, трябва да се свършат много други неща. Първото нещо е да накараме версията на мобилната операционна система (в случая Ice Cream Sandwich) да работи стабилно на всички Sony Ericsson смартфони. Наричаме това Bring up фаза. Второ, и вероятно най-важно, трябва да сертифицираме и одобрим новата софтуерна версия с всички технологии, мрежи и хардуер, които един модерен смартфон трябва да може да използва.Тази фаза наричаме Certification and approval.

    Bring up фаза – да накараме Ice Cream Sandwich да работи на нашите телефони

    На 14 ноември беше разпространен source code-ът на Ice Cream Sandwich. В този ден нашите инженери започнаха да работят, за да накарат ICS да работи на 2011 Xperia телефоните. Първо интегрираме source code-ът със Sony Ericsson development branch, за да сме сигурни, че се компилира. Това се прави от инженерите, които се уверяват, че са налични всички инструменти за тестване и debug-ване.
    В първия вариант на ICS source code-ът HAL (Hardware Abstraction Layer) беше адаптиран частично към Texas Instruments хардуерна платформа. Става въпрос за софтуерът, който дава на приложенията достъп до хардуерните компоненти. 2011 Xperia телефоните използват Qualcomm хардуерна платформа. Това означава, че трябваше да променим HAL кодът, който беше включен в първия вариант на ICS, с наша версия на HAL. Промените в HAL влияят на различни неща в телефона – камерата, сензорите, аудиото, Bluetooth, WiFi, GPS, мултимедия, графика. По тази причина, след промяната на HAL, се налага да направим промени във всички хардуерни компоненти, използвани в телефона.

    Фактът, че всички устройства имат разлики, усложнява нещата. Наистина, всички телефони използват Qualcomm 8255 chipset, но имат различни екрани, памет, периферни компоненти. В тази фаза трябва да сме сигурни, че всички основни функции, като телефонни разговори, SMS, MMS, SIM карта, достъп до SD карта, работят.

    Интеграция на Android пачове

    В Bring up фазата трябва да бъдат интегрирани и редица пачове, да се подобри и адаптира Android кодът за нуждите. Има къстамизирани пачове, които са важни за телефона, като подобрение в обработката на грешки. За да се избегне фрагментацията, много от тези къстамизирани пачове се изпращат обратно до Android Open Source Project, за да бъдат включени в Android source code-ът за следващата версия. Това прави Sony Ericsson един от основните сътрудници на Android. В тази фаза интегрираме и наши ъпгрейди, като къстамизирана графика.

    Докато вграждаме тези къстамизации, ние правим и обща проверка на качеството, за да сме сигурни, че интегрираните промени са с желаното ниво на качеството. Проверяваме функционалността на музикалния плеър, видео стрийм-ването, USB, DRM. Събираме всички функции в общ source code, правим още тестове, за да сме сигурни, че всички предвидими сценарии работят без проблеми. Това означава, че и приложенията, инсталирани от Android Market, работят правилно.

    Постигане на стабилен софтуер и добавяне на локализация

    Когато всички функции са обединени в общ код, започваме тестове на стабилността, за да сме сигурни, че софтуерът работи стабилно във всякакви ситуации. Освен чисто лабораторни тестове, разчитаме и на истински потребители, които тестват и ни съобщават откритите проблеми. Освен тестове за стабилност, правим и тестове за качество. Правим тестове на консумацията на електричество, за да намалим консумацията в различни ситуации.

    Друга важна част от работата в тази фаза е добавянето на поддръжка на локализация в приложенията. В повечето случаи добавяме повече езици към самия Android софтуер. След като сме направили всичко това, софтуерът е тестван и работи стабилно, той е готов да бъде изпратен за сертифициране. Bring up фазата се застъпва със Certification and approval фазата, защото части от софтуера стават готови за сертифициране по-рано от други.

    Фаза Certification and approval – да се убедим, че софтуерът и хардуерът са съвместими.

    Телефоните трябва да работят с различни технологии – WiFi, Bluetooth, модем и други. За да използват вашите устройства тези технологии, трябва да удостоверите, че новият софтуер е съвместим със стандартите за тези технологии. За това трябва да удостоверяваме съвместимост с тези технологии при всяка нова версия на софтуера, както и авторските права, ако сме променили софтуерен модул, свързан с такава технология.

    В голяма степен се опитваме да получим глобална сертификация, но в много случаи някои държави изискват специфични тестове. За продукт, който ще се предлага в целия свят, ние имаме нужда от местни одобрения в до 80 държави. В някои случаи можем да направим тестовете сами и да изпратим доказателства за направените тестове, в други случаи външни фирми трябва да направят тестовете.
    Освен това, трябва да спазваме и изискванията на регулаторните органи, като има изисквания свързани с магнитните полета, вредата от тях, отражението върху околната среда и здравето на хората. При софтуерните ъпгрейди няма нужда от сертификация за всички изисквания на регулаторните органи, защото те вече са направени веднъж.

    Освен това, Sony Ericsson преминава през вътрешно сертифициране за неща, които сме определили като супер важни и искаме да предоставим с най-високото възможно качество.

    Ако сме направили промени във WiFi модулът на съществуващ модел телефон, трябва да мине повторно сертифициране. Когато работим с нова версия на Android, какъвто е случаят с Ice Cream Sandwich, всички променени области трябва да бъдат сертифицирани повторно.

    Противно на мнението на повечето хора, не Bring up фазата отнема много време, а фазата Certification and approval. Това е една от най-големите задачи и се изисква законово от нас като производител на телефони. Custom ROM обществото не изпълнява тази фаза. Като полагаме толкова много усилия за тестване и сертифициране, ние сме сигурни, че качеството е на най-високо ниво, от което печелят всички потребители.

    Може да се окаже, че са необходими и допълнителни одобрения

    В някои случаи, новата софтуерна версия трябва да бъде одобрена, за да бъде използвана в различни мрежи, в които телефоните ще работят. Много мобилни оператори искат да променят софтуера по техните изисквания, които са базирани на техния пазар, мрежа, бизнес модел. Ние вграждаме всички тези промени и създаваме различни софтуерни пакети и версии за всеки мобилен оператор.
    Когато направим всичко това, сме готови да пуснем софтуерните ъпдейти до мобилните оператори и потребителите по света. Софтуерният ъпгрейд може да бъде свален и инсталиран или чрез инструмента за ъпдейтване на мобилния оператор (ако такъв съществува), или чрез инструмента Sony Ericsson PC Companion, или чрез FOTA (firmware over the air) ъпдейт.

    Трябва да отбележим, че описанието на всички дейности, свързани с излизането на софтуерен ъпдейт е опростена и целта е да покаже в основни линии какво трябва да направим, за да можем да предоставим нова версия на софтуера на нашите потребители.