📜 ⬆️ ⬇️

Grow Big: Top 10 Reports Mobius 2018 Moscow



In 2018, the App Store and Google Play turned 10 years old. During this decade, some applications that started out as small startups have grown into gigantic projects — and along the way they overcame many transformations, stuffed a lot of bumps, and learned a lot of lessons.

We opened the video of Mobius 2018 Moscow, and publish on Habré the top 10 (according to audience ratings). And in some of them, the speakers working in large companies describe exactly the changes associated with growth. There are other topics too: for example, is it often in the case of a video that you go down to the level of codecs and sockets?

Reports in the list are in ascending rating - so that the most beloved by the audience will be at the very end of the text. And for those who are interested in and not included in the top ten reports, we also give a link to the playlist.
')


Monorepo: the journey back. The history of modularization in Badoo


Platform: iOS
Speaker: Anton Schukin
Presentation of the report

At the 10th place - just "the history of growth and experience coming with it." In badoo
they have been involved in iOS development for nine years already, and during this time not only the company has changed, but also the entire industry (it's hard to imagine, but once humanity existed without CocoaPods).

Not surprisingly, the approach to the structure of repositories and projects in Badoo also changed significantly, and it was not a linear movement from point A to point B - starting from one repository, you can eventually come back to it, but at a different level. What was the route, and what were the reasons for the changes in each case?





How to cache information in the Android application and not shoot yourself in the foot


Platform: Android
Speaker: Dmitry Vasilyev
Presentation of the report

It would seem that the task of caching (including on Android) is not new - but it doesn’t become any less relevant, and errors in it do not cease, so reports remain useful. Well, for good reason, one of the two main problems of computer science is one related to caching!

The types of caching that appear in the report are:







Mobile architecture in a big team


Platform: Android / iOS
Speaker: Alexander Mikhailov
Presentation of the report

Uber is perhaps the world's most famous example of a “big mobile team,” their hundreds of developers have become the talk of the town. It is not surprising that the company faces difficulties that small teams do not affect. However, she, like Badoo, came into mobile development as a startup, so the path to the current state was long and winding. How exactly, what difficulties did you come to, and how are you struggling with them?

The amount of practical benefit you can get from a report correlates in part with the size of your team — if you work in a small one, you may not need it in your immediate tasks. But in any case, it’s interesting what the giants have there!





An architectural approach to error handling


Platform: Android / iOS
Speaker: Dmitry Mikhailov
Presentation of the report

Who wants to deal with error handling? I want to make slender locks of new systems, and not to bother with cases where something went wrong. As a result, an important topic often remains deprived of attention.

But this report, combining it with architectural issues, can make you look at the problem in a new way: in order to handle errors properly, you just need to build a coherent system that fits correctly to each of the layers.





How to cook well-done MVI for Android


Platform: Android
Speaker: Sergey Ryabov
Presentation of the report

From the report, where the architecture is in the title, someone can expect solid UML diagrams. This was not the case: there is a lot of specific code on the slides. So much so that some viewers even complained - it’s quite difficult to take so much in a row. But when watching a video there is a pause button, so you can use the “well-done MVI” in parts and savor, rather than choke.





Kotlin Puzzlers vol. 2


Platform: Android
Speaker: Anton Keks

What happens if in Kotlin you try to pass the value -2_147_483_648.inc () to the Int-parameter? And why? Anton shows the cases where Kotlin is behaving unobviously, and suggests first guessing the correct option, and then explaining what is happening.

This is his second report on the unobvious behavior of the language, and for both of these reports we did text versions on Habré - so here you can not only watch, but read:







Streaming and playing video over bare sockets and codecs


Platform: Android / iOS
Speakers: Alexander Tobol and Ivan Grigoriev

Video content consumption in OK is gigantic, and with the advent of OK Live, streaming has been added to it. It is not surprising that in mobile development, they approach the relevant issues much deeper than “take a standard player and derive it,” and the report shares its expertise. How is Apple HLS technology inferior to DASH? Which three priorities in streaming are unattainable at the same time, and in favor of which of them is WebRTC predisposed? In what cases, instead of standard solutions, is it worth making your own?

The report is divided into two parts, about simple transfer with playback (when the user only consumes video) and mobile streaming (where users create it themselves live) - and if the second is irrelevant for you, it is useful to look at least the first.





Compilers. Dalvik. ART. And everything in between


Platform: Android
Speaker: Yonatan Levin

Someone remembers Jonathan on show keynotes, but here, instead of the costumed performances, he went deep: what is D8 and R8, why are they needed, and what do you need to know about the insides of Android to understand this? And it turned out a good balance of serious and fascinating: the topic is quite serious, but thanks to Jonathan, everything does not turn into a monotonous lecture, but is very lively.

Unlike Kotlin Puzzlers, we did not decipher this report, but Jonathan himself made a blog post in his footsteps - so here, if you prefer to read, there is such an option.





Extreme testing: tricks from the dark corners of mobile interfaces


Platform: Android / iOS
Speaker: Vitaly Friedman

If users spend an average of 169 minutes a day in mobile applications, and 11 minutes in a mobile browser, what is the conclusion for any particular company? "The application is 15 times more important than the mobile site, focus on it." But if you look closely, it turns out that almost all of these 169 minutes of the user fall into several favorite applications - and there all sorts of facebook users have settled, making it very difficult for them to compete. And in this case, the balance of power becomes much less unambiguous.

This is one of the curious facts voiced by Vitaly Friedman. Unlike reports with an abundance of code, here is a keyout, in which they do not teach any specifics - but they report a lot of interesting general things that help to understand what specifics are more correct to implement.





Android builds at Lyft


Platform: Android
Speaker: Artyom Zinnatullin

Finally, the ranking leader. The number of modules in the Android application Lyft exceeds 800, which affects the assembly. Then someone might think “if we don’t get to this in life, then why should we listen to it” - but the audience’s assessments show that the report was interesting not for the giants, but for everyone.

Among other things, the report reads the statement “Bazel is the future,” and at that time it seemed very bold. But here's the latest news: in the Android Q documentation , we noticed an example of the Bazel configuration. It seems the future is coming, and the report is now worth a look to get ready for it.



As you can see, the December Mobius had a lot of interesting things. If you want such reports, but also with the opportunity to personally ask around the speaker - note that the next Mobius will take place in St. Petersburg on May 22-23 , and there are already descriptions of most reports on the site . The current price of tickets is valid until the end of March, then they will go up.

Source: https://habr.com/ru/post/445238/


All Articles