Grow big: top 10 reports of Mobius 2018 Moscow

    In 2018, the App Store and Google Play turned 10 years old. Over the course of this decade, some applications, starting as small startups, have grown into gigantic projects - and over the way they overcame many transformations, filled a lot of cones and learned many lessons.

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

    The reports on the list are ranked in increasing order - so the most beloved viewers will be at the very end of the text. And for those who are interested and not included in the top ten reports, we also give a link to the playlist.

    Monorepo: journey back. The history of modularization in Badoo

    Platform: iOS.
    Speaker: Anton Schukin.
    Presentation of the report.

    On 10th place - just “the story of growth and the experience that comes with it”. Badoo has been
    engaged in iOS development for nine years, and during this time not only the company, but the entire industry has changed (it's hard to imagine, but once humanity existed without CocoaPods).

    It is not surprising that the approach to the structure of repositories and projects in Badoo also changed significantly, and this 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 an Android application and not shoot yourself in the foot

    Platform: Android
    Speaker: Dmitry Vasiliev
    Presentation of the report

    It would seem that the caching task (including on Android) is not new - but it does not get any less relevant, and the mistakes in it do not stop making, so the reports remain useful. Well, it’s not without reason that one of the two main problems of computer science is related to caching!

    Types of caching featured in the report:

    • Lazy cache
    • Synchronized cache
    • Write-through cache
    • LRU cache.

    Mobile architecture in a large team

    Platform: Android / iOS
    Speaker: Alexander Mikhailov
    The presentation of the

    Uber report is perhaps the most famous example of a “large mobile team” in the world, hundreds of developers have become a byword. Not surprisingly, the company is faced with difficulties that small teams do not touch. At the same time, she, like Badoo, came to mobile development as a startup, so the path to the current state was long and winding. What exactly, what difficulties did you come to, and how do you deal with them?

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

    Architectural approach to error handling

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

    Who wants to deal with error handling? I would like to make slender locks of new systems, and not to mess 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 us look at the problem in a new way: in order to handle errors properly, we just need to build a well-balanced system that is correctly suited 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 in the name of the architecture, someone can expect solid UML diagrams. There it was: there are a lot of specific code on the slides. So much so that some viewers even complained - to perceive so many in a row alive is difficult. But when watching a video, there is a pause button, so you can use the “well-fried MVI" in parts and relish, rather than choke.

    Kotlin Puzzlers vol. 2

    Platform: Android
    Speaker: Anton Keks

    What happens if Kotlin tries to pass the value () to the Int parameter? And why? Anton shows cases where Kotlin does not behave in an obvious way, and suggests first guessing the right option, and then explains what is happening.

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

    Stream and play videos on top of bare sockets and codecs

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

    consumption of video content in OK is gigantic, and with the advent of OK Live, streaming was added to it. It is not surprising that in mobile development they approach the relevant issues much deeper than “take a standard player and get it out”, and in the report they share their expertise. How is Apple's HLS technology inferior to DASH? What are the three priorities in streaming that are unattainable at the same time, and in favor of which is WebRTC predisposed? When is it worth doing your own instead of standard solutions?

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

    Compilers Dalvik. ART. And everything in between

    Platform: Android
    Speaker: Jonathan Levin

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

    Unlike the Kotlin Puzzlers, we did not decrypt this report, but Jonathan himself made a blog post in his footsteps - so here, if you are more comfortable reading, there is such an option.

    Extremes of testing: tricks from the dark corners of mobile interfaces

    Platform: Android / iOS
    Speaker: Vitaliy Fridman

    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 a mobile site, focus on it." But if you look closely, it turns out that almost all of these 169 minutes the user falls on several favorite applications - and all sorts of facebook settled there, it is extremely difficult to compete with them. And in this case, the alignment of forces becomes much less clear.

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

    Android builds at Lyft

    Platform: Android
    Speaker: Artyom Zinnatullin

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

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

    As you can see, there was a lot of interesting things at the December Mobius. If you want such reports, but also with the opportunity to personally ask the speaker, please note that the next Mobius will be held in St. Petersburg on May 22-23 , and the site already has descriptions of most reports. The current price of tickets is valid until the end of March, then they will rise in price.

    Also popular now: