About xiaomi.eu work (miuipolska.pl article, English version)


Kacper Skrzypek

Xiaomi 14 tester, Polish translator
Staff member
Mar 18, 2017
775
257
This morning, I've written an article regarding xiaomi.eu history and current work to celebrate the10th birthday of miuipolska.pl site, Polish unofficial MIUI fansite, managed by @Acid. Because, well, Polish website is being visited rather by Polish people, not foreigners, I've decided to write an English version here. Enjoy :)

On the occasion of the 10th anniversary of the miuipolska.pl website, we decided to reveal a little behind the scenes of the creation of Xiaomi.eu ROMs, which are released here every Friday. It is worth knowing that behind each development version is a small group of people who do it all from passion, without Xiaomi's support.

Some history


Older users certainly remember that in the early years of MIUI there were so much different variations of the overlay, including separate ROMs and Polish language packs, which were handled by Acid since the second half of 2010, and in 2011, in July, the MIUIPolska.pl website was created.

Multilingual ROMs, under the name MIUIAndroid (later Xiaomi.eu), had a Polish translation, but it was incomplete (some things were untranslated due to differences between devices - details below). The final integration of Xiaomi.eu and Polish translation happened around 2014.

At the very beginning MIUI was not created only for Xiaomi phones (because there were none, and the first Mi One was hardly available), but for various popular devices at that time, such as Samsung Galaxy S3, Sony Xperia Neo V or LG L9. The tool that allowed such ports, for example, was the so-called "patchrom", files modified by Xiaomi, which could be added to the ROM source based on "pure" Android (AOSP) and compiled for a given device. Technically, MIUI was based on the code of the most popular custom ROM at the time, namely CyanogenMod (today's LineageOS). There were also alternative scripts that allowed to make such ports. Due to the fact that those devices had many changes in relation to each other, creating universal Polish translation for all platforms was quite difficult and required separate language packages for each phone.

Before @ingbrzy (from Slovakia), who is the main project manager to this day, came on board, a large part of the activities related to the compilation of multilingual ROMs were carried out by @MarkHUK (current Xiaomi.eu server administrator) and iBotPeaches (developer of a tool known to all APK files editors, i.e. apktool - by the way, created by a Pole, Ryszard Wiśniewski). Later, these roles were taken over by @Acid, who combined the script he was creating with the Xiaomi.eu script, and @ZduneX25, which was responsible for creating the ROM patches. The core of the team did not change until 2017, when the ROM patches and scripts have been changed and adapted to @Igor Eisberg tools (from Israel).

There were times when the entire project could fall apart. Many users probably remember the situation from March 2016, when Xiaomi prevented us from running non-original software on their phones with a locked bootloader (blocking app modifications at kernel level). It was a significant inconvenience for the Xiaomi.eu team, which caused, among others, transfer of the Polish translation by @Acid to the MIUI Global, which was being created at that time. Since then, to install "our" (xiaomi.eu) ROM, you need to have an unlocked bootloader and flashed TWRP (in most cases).

Until 2018, Polish xiaomi.eu translation was managed by @Acid, and since August of that year, I've taken the lead. The official translation, added in 2016 by MIUIPolska, is managed by Xiaomi employees. Until August 2019, official translations could also be added by Mi Fans, but due to the possibility of leaks (which, well, still happen today), Xiaomi closed this path to all people not working in this company, and the main shareholders of MIUI Global's translation, i.e. MIUIPolska to this day not even thanked.

Today

Currently, 7 people are responsible for the process of preparing and releasing the beta version on the xiaomi.eu side:
  • project manager, @ingbrzy responsible for the Xiaomi.eu forum and miuios.cz, Slovak Xiaomi.eu translator,
  • ROM patches author, @Igor Eisberg, who, apart from dealing with the ROM, also runs the AudioBudget.com website and is the author of the XperiFirm tool that allows to download software for Sony smartphones,
  • the first Polish MIUI translator, @Acid, who owns the MiCenter repair service in Wrocław, Poland,
  • the Updater app developer, ZduneX25, who made ROM patches before Igor joined to the team,
  • the author of the Polish and English changelogs, which are published every week on xiaomi.eu and miuipolska.pl, i.e. me,
  • testers, which are all the above-mentioned, as well as Hungarian @graw2 and Czech Xiaomi.eu translator, VMach3.
Work on publishing development versions does not start on Thursday, but actually lasts a whole week. Updates from Xiaomi are usually released from Monday to Thursday, so every morning around 10:00 am I check the Chinese Mi Community forum for information about the new MIUI daily version. When that information appears, I have to wait for links to ROMs. Only then can the compilation process of a given version begin. During the week, there are also ROM-independent app updates, which we also usually include in the compilation process.

During this process, there are cases in which some of our patches cannot be applied, e.g. due to changes in the MIUI code. Then it is interrupted and the relevant patch - fixed. Depending on the number of failed patches, their change takes from a few minutes to several hours. In extreme cases (e.g. changing the MIUI version from 11 to 12), the fixes take several days. Only when the patches are added to the compilation without problem can it be considered ready. Then it goes to the testers.

We all use our phones a little differently, so we can't always catch every possible bug. What we manage to discover is usually - if it's within our reach - fixed before the version is released publicly, within a week. New features that Xiaomi adds with new versions are also checked. Some of them are hidden for the Global ROM, so they are not available on xiaomi.eu unless we discover them ourselves if we think they work well for us (technically the MIUI code interprets our releases as the Global ROM).

The changelogs are compiled mainly based on our observations from using the versions, as well as changes observed by MIUI China users. The Chinese public changelogs are usually quite a bit longer than ours, but they are published on Friday morning, while I usually publish our changelogs on Thursday afternoon. Therefore, there may be some discrepancies between them.

After making sure on Thursday that there are no major problems with running on devices we tested (Mi 11 Pro, Mi 10, Mi 10 Pro, Mi 9, Mi 9 SE, Mi 10T Lite) we start the process of compiling ROMs for the remaining supported models. If there are no delays due to, for example, lack of links to the China ROMs or problems with patches, they are available on the servers the same day. If there are such problems, the publication takes place later.

After publishing the ROMs, we check the feedback and bugs reported by you either on xiaomi.eu or on our (miuipolska.pl) forum. If something can be fixed, we try to do it. However, we have no influence on many things - we are just people, we have practically no official contact with Xiaomi. So we also have no influence on the problems of the Global ROMs, which are often reported to us.

OTA...
Well, who has not complained about our OTA, let him first cast a stone. The situation is not easy due to several factors. ROM is being downloaded every Friday by a dozen thousands of people, so a server which would have to serve this many requests would have to have a lot of free bandwidth (at least several TB). Currently, we serve ROMs for about 25 devices on Fridays, which gives approximately 75 GB of needed space (which is not a big problem). The biggest problem is the cost of a separate server that would be used solely for updates. Such things simply cost money (according to preliminary estimates, at least 40 euros per month).

We do not want to force anyone to do anything, so we try to choose free solutions if possible. This is the reason why ROMs are currently hosted on SourceForge and AndroidFileHost servers, with the former being distributed as OTA. Unfortunately, there are some external things we can't jump over, and the download speed may be slow on Fridays.

On behalf of the whole team, I would like to thank you for your support and patience during these 10 years - I hope that we will be able to work as long as possible. Who knows, maybe another ten years...? ;)
 
Last edited by a moderator:
Thank you, guys, you made my cheapo RN8 a phone I love and it has been this way for more than a year.
 
This morning, I've written an article regarding xiaomi.eu history and current work to celebrate the10th birthday of miuipolska.pl site, Polish unofficial MIUI fansite, managed by @Acid. Because, well, Polish website is being visited rather by Polish people, not foreigners, I've decided to write an English version here. Enjoy :)

On the occasion of the 10th anniversary of the miuipolska.pl website, we decided to reveal a little behind the scenes of the creation of Xiaomi.eu ROMs, which are released here every Friday. It is worth knowing that behind each development version is a small group of people who do it all from passion, without Xiaomi's support.

Some history


Older users certainly remember that in the early years of MIUI there were so much different variations of the overlay, including separate ROMs and Polish language packs, which were handled by Acid since the second half of 2010, and in 2011, in July, the MIUIPolska.pl website was created.

Multilingual ROMs, under the name MIUIAndroid (later Xiaomi.eu), had a Polish translation, but it was incomplete (some things were untranslated due to differences between devices - details below). The final integration of Xiaomi.eu and Polish translation happened around 2014.

At the very beginning MIUI was not created only for Xiaomi phones (because there were none, and the first Mi One was hardly available), but for various popular devices at that time, such as Samsung Galaxy S3, Sony Xperia Neo V or LG L9. The tool that allowed such ports, for example, was the so-called "patchrom", files modified by Xiaomi, which could be added to the ROM source based on "pure" Android (AOSP) and compiled for a given device. Technically, MIUI was based on the code of the most popular custom ROM at the time, namely CyanogenMod (today's LineageOS). There were also alternative scripts that allowed to make such ports. Due to the fact that those devices had many changes in relation to each other, creating universal Polish translation for all platforms was quite difficult and required separate language packages for each phone.

Before @ingbrzy (from Slovakia), who is the main project manager to this day, came on board, a large part of the activities related to the compilation of multilingual ROMs were carried out by @MarkHUK (current Xiaomi.eu server administrator) and iBotPeaches (developer of a tool known to all APK files editors, i.e. apktool - by the way, created by a Pole, Ryszard Wiśniewski). Later, these roles were taken over by @Acid, who combined the script he was creating with the Xiaomi.eu script, and @ZduneX25, which was responsible for creating the ROM patches. The core of the team did not change until 2017, when the ROM patches and scripts have been changed and adapted to @Igor Eisberg tools (from Israel).

There were times when the entire project could fall apart. Many users probably remember the situation from March 2016, when Xiaomi prevented us from running non-original software on their phones with a locked bootloader (blocking app modifications at kernel level). It was a significant inconvenience for the Xiaomi.eu team, which caused, among others, transfer of the Polish translation by @Acid to the MIUI Global, which was being created at that time. Since then, to install "our" (xiaomi.eu) ROM, you need to have an unlocked bootloader and flashed TWRP (in most cases).

Until 2018, Polish xiaomi.eu translation was managed by @Acid, and since August of that year, I've taken the lead. The official translation, added in 2016 by MIUIPolska, is managed by Xiaomi employees. Until August 2019, official translations could also be added by Mi Fans, but due to the possibility of leaks (which, well, still happen today), Xiaomi closed this path to all people not working in this company, and the main shareholders of MIUI Global's translation, i.e. MIUIPolska to this day not even thanked.

Today

Currently, 7 people are responsible for the process of preparing and releasing the beta version on the xiaomi.eu side:
  • project manager, @ingbrzy responsible for the Xiaomi.eu forum and miuios.cz, Slovak Xiaomi.eu translator,
  • ROM patches author, @Igor Eisberg, who, apart from dealing with the ROM, also runs the AudioBudget.com website and is the author of the XperiFirm tool that allows to download software for Sony smartphones,
  • the first Polish MIUI translator, @Acid, who owns the MiCenter repair service in Wrocław, Poland,
  • the Updater app developer, ZduneX25, who made ROM patches before Igor joined to the team,
  • the author of the Polish and English changelogs, which are published every week on xiaomi.eu and miuipolska.pl, i.e. me,
  • testers, which are all the above-mentioned, as well as Hungarian @graw2 and Czech Xiaomi.eu translator, VMach3.
Work on publishing development versions does not start on Thursday, but actually lasts a whole week. Updates from Xiaomi are usually released from Monday to Thursday, so every morning around 10:00 am I check the Chinese Mi Community forum for information about the new MIUI daily version. When that information appears, I have to wait for links to ROMs. Only then can the compilation process of a given version begin. During the week, there are also ROM-independent app updates, which we also usually include in the compilation process.

During this process, there are cases in which some of our patches cannot be applied, e.g. due to changes in the MIUI code. Then it is interrupted and the relevant patch - fixed. Depending on the number of failed patches, their change takes from a few minutes to several hours. In extreme cases (e.g. changing the MIUI version from 11 to 12), the fixes take several days. Only when the patches are added to the compilation without problem can it be considered ready. Then it goes to the testers.

We all use our phones a little differently, so we can't always catch every possible bug. What we manage to discover is usually - if it's within our reach - fixed before the version is released publicly, within a week. New features that Xiaomi adds with new versions are also checked. Some of them are hidden for the Global ROM, so they are not available on xiaomi.eu unless we discover them ourselves if we think they work well for us (technically the MIUI code interprets our releases as the Global ROM).

The changelogs are compiled mainly based on our observations from using the versions, as well as changes observed by MIUI China users. The Chinese public changelogs are usually quite a bit longer than ours, but they are published on Friday morning, while I usually publish our changelogs on Thursday afternoon. Therefore, there may be some discrepancies between them.

After making sure on Thursday that there are no major problems with running on devices we tested (Mi 11 Pro, Mi 10, Mi 10 Pro, Mi 9, Mi 9 SE, Mi 10T Lite) we start the process of compiling ROMs for the remaining supported models. If there are no delays due to, for example, lack of links to the China ROMs or problems with patches, they are available on the servers the same day. If there are such problems, the publication takes place later.

After publishing the ROMs, we check the feedback and bugs reported by you either on xiaomi.eu or on our (miuipolska.pl) forum. If something can be fixed, we try to do it. However, we have no influence on many things - we are just people, we have practically no official contact with Xiaomi. So we also have no influence on the problems of the Global ROMs, which are often reported to us.

OTA...
Well, who has not complained about our OTA, let him first cast a stone. The situation is not easy due to several factors. ROM is being downloaded every Friday by a dozen thousands of people, so a server which would have to serve this many requests would have to have a lot of free bandwidth (at least several TB). Currently, we serve ROMs for about 25 devices on Fridays, which gives approximately 75 GB of needed space (which is not a big problem). The biggest problem is the cost of a separate server that would be used solely for updates. Such things simply cost money (according to preliminary estimates, at least 40 euros per month).

We do not want to force anyone to do anything, so we try to choose free solutions if possible. This is the reason why ROMs are currently hosted on SourceForge and AndroidFileHost servers, with the former being distributed as OTA. Unfortunately, there are some external things we can't jump over, and the download speed may be slow on Fridays.

On behalf of the whole team, I would like to thank you for your support and patience during these 10 years - I hope that we will be able to work as long as possible. Who knows, maybe another ten years...? ;)
I would happily donate to enable seamless OTA for Xiaomi EU ROM (mix 4)

How can I support you guys ?

Sent from my 2106118C using Tapatalk
 
I would like to thank you for the translation of the article and of course the entire team for the great work. Very happy! Thank you again
 
  • Like
Reactions: Spookie
First of all, i dont know if here is ther right place but i just wanted say for you guys/efforts/hours spent working with those roms i really and really appreciate this gift wich i call xiaomi.eu roms, my 13 ultra is working fine with gpay and android auto and my daily tasks are getting fine with my 13 ultra + awesome roms. So thanks a lot devs e and others (pt-br translators) team !!!1:emoji_clap:
:emoji_clap::emoji_clap: