For whom and what for do we need weekly firmware MIUI

I often hear the opinion that weekly firmware MIUI is a sign of poor software quality. They say, they do it all the time so badly that you have to quickly fix it. Is it so? (Spoiler: no)

Let's try to consider this issue in detail. To do this, you will have to delve into development technologies.

When the trees were big …

… and the grass is greener than it is now, the only software development methodology was 'waterfall'. The following stages took place in sequence:

  • analysis (what needs to be done);
  • design (how to do it);
  • development;
  • testing;
  • transfer to support.

For whom and what for do we need weekly firmware MIUI

The fatal flaw of this technology was the exponential increase in the cost of an error depending on the time between its introduction and detection. If mistakes made during development can be corrected quickly enough, then mistakes made during analysis or design can lead to the fact that the final result will be very far from the goal (they did the wrong thing, or did not do it right) and you will need to redo all the 'zeroes'. Perhaps this is not a big deal when developing software for the defense industry, medicine or nuclear power plants (there are much more requirements for reliability), but for typical software (even for work, not to mention home) it is completely unacceptable. Business wants to get results as quickly as possible.

More flexibility

Therefore, over time, flexible development methodologies (agile) began to appear. Their main message is to move towards the final goal gradually, in small steps. When developing desktop or server software, each step (also called an iteration) usually takes two to four weeks. After the end of the iteration, it is necessary to assess whether we are doing everything right. If not, you need to adjust the plan for further development. On mobile systems, tasks are often smaller, so iterations can be done one week at a time. However, weekly iterations also occur in 'large' systems. One of the brightest among agile software development methodologies is extreme programming. This methodology got its name from the fact that some practices considered good were taken and brought to an extreme state. For example, short iterations are good, so you need to make the iterations extremely short – just one week each.

Of course, agile methodologies work only when the customer is involved in the development process (if for custom development it is always clear who the customer is, then in product development a special person is usually allocated who is responsible for product development). At the end of each iteration, the customer receives an intermediate version of the software and evaluates how it corresponds to his vision for product development. If something goes wrong, he points it out to the developers. If suddenly his vision has changed, then he too can easily turn the developers in the other direction.

For whom and what for do we need weekly firmware MIUI

It should be remembered that intermediate versions are not intended for use by end users of the software. It is not a finished product, and it can create misconceptions about the final result.

Platforms and different levels of development

Let's move a little aside from development methodologies and consider the types of software. Of all the many classifications, we are only interested in one. Within its framework, all software is divided into the following types:

  1. Final product. Developers create. Users enjoy. There is no third party here.
  2. Platform. System developers create one product. On its basis, applied developers create another product. End users use both products.

Obviously, any operating system is a platform. Application developers create applications for the operating system.

For whom and what for do we need weekly firmware MIUI

And here the system developers have the following problem: by the time the release (final version) of the platform is released, all application software should at least be compatible with the new version, and as a maximum, it should be able to use all its new features.

Therefore, platform developers try to release preliminary versions in advance and provide them to application developers so that they can adapt their software. By far the corporation Microsoft has the most extensive experience in this area. There are various programs by which you can get preliminary versions of platforms (first of all, of course, Windows) and test your products on them. Google Apple is doing the same today: they hold WWDC and Google I / O conferences for developers, where they talk about innovations in their OS. And, of course, they provide preliminary versions of their operating systems for several months so that application developers can adapt their software in time.

Unhealthy hype

Recently, there has been a rather strange situation: Apple and Google are releasing preliminary versions of platforms for developers, and media coverage of this happens as if products are presented to end users. And users are starting to pick up this unhealthy excitement and fan it: 'How, this smartphone was released today on an outdated version Android 7? But already yesterday Google introduced Android O '. Yes, I did. Yesterday. The first preliminary version, intended for application developers, but not for end users.

For whom and what for do we need weekly firmware MIUI

So what are weekly firmwares?

And now we add up the iterative development and preliminary software versions and get the weekly firmware MIUI. Who are they for?

  1. For testers. Do you want to help Xiaomi with open testing of their firmware and are you ready to send reports? Then install weekly firmwares and test them.
  2. For application software developers. Do you want to guarantee your users that your application software does not break on a new version MIUI? Then, too, feel free to install weekly firmware and check your applications on them. Once I was developing an application for MIUI, which was integrated with the standard shell 'dialer'. During development, I used two smartphones. One had the stable version MIUI 7 installed, which matched the customer's system. On the second, every week I installed the weekly firmware that had just appeared then MIUI 8. This guaranteed that when the final version MIUI 8 was released and installed by the customer, my application would continue to work.

But if you are an ordinary user, then the weekly firmware does not make any sense to you. They are not finished products and are not intended for general use. Stable firmwares are intended for you, which are released less often and are tested more thoroughly.

For whom and what for do we need weekly firmware MIUI

What about the quality?

Now we can answer the original question: does the presence of weekly firmware indicate poor quality MIUI? No, he doesn't. Just as it does not speak about good things. The concept of quality lies in a completely different plane and is assessed according to other criteria.

Rate article
About smartphones.
Add a comment