Xiaomi.eu “od kuchni”

Kacper Skrzypek
10 komentarzy

Z okazji 10-lecia strony miuipolska.pl postanowiliśmy odsłonić nieco kulisy powstawania ROM-ów Xiaomi.eu, które wydawane są u nas w każdy piątek. Warto wiedzieć, że za każdą wersją rozwojową stoi mała grupa ludzi, która robi to wszystko z pasji, bez wsparcia Xiaomi.

Trochę historii

Starsi wiekiem użytkownicy z pewnością pamiętają, że w początkowych latach MIUI istniało wiele różnych odmian tej nakładki, w tym oddzielne ROM-y i spolszczenia, którymi zajmował się Acid od drugiej połowy 2010 roku, a w 2011 roku w lipcu powstała strona MIUIPolska.pl.

ROM-y wielojęzyczne, pod nazwą MIUIAndroid (później Xiaomi.eu), miały co prawda spolszczenie, ale nie było ono kompletne (część rzeczy była nieprzetłumaczona ze względu na niekompatybilności względem poszczególnych urządzeń — szczegóły niżej). Ostateczna integracja Xiaomi.eu oraz naszych ROM-ów z samym spolszczeniem nastąpiła w okolicach 2014 r.

Na samym początku MIUI nie było tworzone tylko na telefony Xiaomi (bo ich nie było, a pierwszy Mi One był trudno dostępny), lecz na różne popularne wtedy urządzenia, takie jak Samsung Galaxy S3, Sony Xperia Neo V czy LG L9. Narzędziem, które na takie porty pozwalało, był na przykład tzw. patchrom, czyli pliki modyfikowane przez Xiaomi, które można było dodać do źródła ROM-u opartego na “czystym” Androidzie i skompilować pod dane urządzenie. Stricte technicznie MIUI było bowiem oparte na kodzie najpopularniejszego wówczas custom ROM-u, czyli CyanogenModa (dzisiejsze LineageOS). Istniały też alternatywne skrypty pozwalające na dokonywanie takich portów. Z racji tego, że te urządzenia miały sporo zmian względem siebie, tworzenie uniwersalnego spolszczenia pod wszystkie platformy było dość trudne i wymagało oddzielnych paczek dla każdego telefonu.

Zanim “na pokład” trafił Ingbrzy (ze Słowacji), który do dzisiaj jest głównym menedżerem projektu, dużą część działań związanych z kompilacją ROM-ów wielojęzycznych wykonywali MarkHUK (który administruje obecnie serwerem Xiaomi.eu) oraz iBotPeaches (developer narzędzia znanego chyba wszystkim edytującym pliki APK, czyli apktool — notabene stworzonego przez Polaka, Ryszarda Wiśniewskiego). Później te role przejęli Acid, który połączył tworzony przez siebie skrypt ze skryptem Xiaomi.eu, oraz ZduneX25, który zajmował się tworzeniem poprawek do ROM-u. Trzon zespołu właściwie nie zmieniał się aż do 2017 roku, kiedy poprawki ROM-u dostosował pod swoje narzędzia i przejął Igor Eisberg (z Izraela).

Były chwile, kiedy cały projekt mógł się rozsypać. Wielu użytkowników zapewne pamięta sytuację z marca 2016 roku, kiedy to Xiaomi uniemożliwiło uruchamianie oprogramowania innego niż oryginalne na swoich telefonach z zablokowanym bootloaderem. Było to spore utrudnienie dla zespołu Xiaomi.eu, które spowodowało m.in. przeniesienie polskiego tłumaczenia przez Acida do powstającego wówczas MIUI Global od Xiaomi. Od tamtego czasu do instalacji “naszego” oprogramowania trzeba mieć odblokowany bootloader oraz wgrane TWRP.

Za polskie tłumaczenie Xiaomi.eu do 2018 roku odpowiadał Acid, zaś od sierpnia tegoż roku tłumaczeniem zajmuję się ja. Oficjalne tłumaczenie, dodane w 2016 roku przez MIUIPolska, jest natomiast zarządzane przez pracowników Xiaomi. Do sierpnia 2019 roku oficjalne tłumaczenia mogły być dodawane także przez Mi Fanów, lecz ze względu na możliwość przecieków (które i tak się zdarzają do dziś) Xiaomi zamknęło tę drogę dla wszystkich osób niepracujących w tej firmie, a głównym udziałowcom tłumaczenia MIUI Global, czyli MIUIPolska, do dziś nawet nie podziękowano.

Jak jest dziś

Obecnie za proces przygotowania i publikacji wersji beta po stronie xiaomi.eu odpowiedzialnych jest 7 osób:

  • główny menedżer projektu, Ingbrzy odpowiedzialny za forum Xiaomi.eu i miuios.cz, tłumacz MIUI na język słowacki,
  • twórca poprawek do ROM-u, Igor Eisberg, który poza zajmowaniem się ROM-em prowadzi także stronę AudioBudget.com oraz jest autorem narzędzia XperiFirm pozwalającego na pobieranie oprogramowania do smartfonów Sony,
  • twórca różnych skryptów oraz pierwszy tłumacz MIUI na język polski, Acid, który prowadzi także serwis MiCenter,
  • autor aplikacji Aktualizacje, ZduneX25, który tworzył poprawki do ROM-u, zanim w ekipie pojawił się Igor,
  • twórca list zmian, angielskich i polskich, które co tydzień publikowane są na xiaomi.eu i miuipolska.pl, czyli ja,
  • testerzy, którymi są wszyscy wyżej wymienieni, a także Węgier graw2 i czeski tłumacz Xiaomi.eu, VMach3.

Praca nad publikacją wersji rozwojowych nie zaczyna się w czwartek, lecz trwa właściwie cały tydzień. Aktualizacje od Xiaomi zazwyczaj są wydawane od poniedziałku do czwartku, zatem każdego dnia rano, około 10:00, sprawdzam chińskie forum Mi Community w poszukiwaniu informacji o nowej wersji dziennej MIUI. Gdy ta informacja już się pojawi, trzeba czekać na linki dla poszczególnych urządzeń. Dopiero wtedy może się rozpocząć proces kompilacji danej wersji. W trakcie tygodnia zdarzają się także aktualizacje aplikacji niezależne od ROM-u, które również zazwyczaj uwzględniamy w kompilacji.

W trakcie tego procesu zdarzają się sytuacje, w których nie udaje się zastosować niektórych naszych poprawek np. ze względu na zmiany w kodzie danej wersji. Wtedy zostaje on przerwany, a stosowny patch — poprawiony. W zależności od ilości nieudanych poprawek ich zmiana zajmuje od paru minut do paru godzin. W skrajnych przypadkach (np. zmiana wersji MIUI z 11 na 12) poprawki trwają parę dni. Dopiero gdy patche są dodane do kompilacji bez problemu, można uznać, że jest ona gotowa. Wtedy trafia ona do testerów.

Każdy z nas używa telefonu nieco inaczej, zatem nie zawsze jesteśmy w stanie wychwycić wszystkie możliwe błędy. To, co uda się odkryć, zazwyczaj — jeśli jest to w naszym zasięgu — zostaje naprawione przed wydaniem wersji publicznie, w ciągu tygodnia. Sprawdzane są też nowe funkcje, które Xiaomi dodaje wraz z nowymi wersjami. Niektóre z nich są ukrywane dla wersji Global, więc nie są dostępne w xiaomi.eu, o ile ich sami nie odkryjemy, jeśli uznamy, że działają dobrze u nas (technicznie kod MIUI interpretuje nasze wydania jako wersję Global).

Listy zmian są tworzone głównie na podstawie naszych obserwacji wynikających z użytkowania danych wersji, a także zmian zaobserwowanych w wersji chińskiej przez użytkowników MIUI China. Chińskie publiczne listy zmian są zazwyczaj sporo dłuższe niż nasze, lecz one są publikowane w piątek rano, zaś nasze listy zmian zazwyczaj publikuję w czwartek po południu. Dlatego mogą między nimi być pewne rozbieżności.

Po upewnieniu się w czwartek, że nie ma większych problemów z działaniem na testowanych przez nas urządzeniach (Mi 11 Pro, Mi 10, Mi 10 Pro, Mi 9, Mi 9 SE, Mi 10T Lite) rusza proces kompilacji ROM-ów na pozostałe wspierane modele. Jeśli nie ma opóźnień wynikających np. z braku linków do wersji chińskich czy problemów z poprawkami, to są one dostępne na serwerach jeszcze tego samego dnia. Jeśli takie problemy występują, to publikacja odbywa się później.

Po publikacji ROM-ów sprawdzamy opinie i bugi zgłaszane przez Was czy to na xiaomi.eu, czy na naszym forum. Jeśli coś można naprawić, to staramy się to robić. Na wiele rzeczy nie mamy jednak wpływu — jesteśmy tylko ludźmi, nie mamy praktycznie żadnego oficjalnego kontaktu z Xiaomi. Nie mamy więc też wpływu na problemy wersji globalnych, które często są zgłaszane pod naszym adresem.

OTA…

Cóż, kto nie narzekał na nasze OTA, niech pierwszy rzuci kamieniem. Sytuacja nie jest prosta ze względu na kilka czynników. ROM co piątek pobiera kilkanaście tysięcy osób, zatem serwer, który musiałby obsłużyć tyle żądań, musiałby mieć sporo wolnego transferu (przynajmniej kilka-kilkanaście TB). Obecnie obsługujemy w piątki ok. 25 urządzeń, co daje w przybliżeniu ok. 75 GB potrzebnej przestrzeni (co nie jest większym problemem). Największym problemem są koszty oddzielnego serwera, który służyłby wyłącznie do aktualizacji. Takie rzeczy po prostu kosztują (według wstępnych szacunków przynajmniej 40 euro miesięcznie).

Nie chcemy nikogo do niczego zmuszać, dlatego staramy się w miarę możliwości wybierać rozwiązania darmowe. Właśnie z tego powodu ROM-y trafiają obecnie na serwery SourceForge i AndroidFileHost, a z tego pierwszego rozprowadzane jest OTA. Niestety, pewnych zewnętrznych rzeczy nie przeskoczymy i w piątki prędkość pobierania może być wolna.

W imieniu całej ekipy serdecznie dziękuję za Wasze wsparcie i cierpliwość przez te 10 lat — mam nadzieję, że będzie nam dane działać jak najdłużej. Kto wie, może jeszcze z dziesięć lat…? ;)

Kup flagowca Xiaomi

z zainstalowanym naszym softem!

Przeczytaj najpopularniejsze:

Subskrybuj
Powiadom o
guest

10 komentarzy
Najnowsze
Najstarsze Naj. głosów
Inline Feedbacks
Pokaż wszystkie

Copyright @2022 – Wszelkie prawa zastrzeżone. Hosting: Hetzner