Three in a row: top 10 reports of Mobius 2019 Piter





On Programmer's Day, we share a selection of excellent reports with mobile developers! In May, the Mobius conference was held in St. Petersburg, and now we published its videos - and for Habr made a selection of the top ten (according to audience estimates).



Themes are very different - from scalable architecture to accessibility. But the estimates, on the contrary, are surprisingly hefty. The third place has a difference of only 0.01 with the first two! That is, there is no point in particularly picky watching “who is taller than whom”: everything is so close that, in fact, it’s just a collection of good reports. And watch is everything where you are at least somewhat interested in the topic.



Reactive errors, or Retry dialog in one line of code



Speaker: Konstantin Tskhovrebov

Location: 10

Report presentation





Let's start the selection with a story about how designing a solution to a common problem led to an unusual solution, revealed the essence of the reactive approach (without RxJava) and simplified many related problems.



The report is devoted to how, using a properly constructed architecture, you can simply solve a non-trivial problem by carefully and naturally coming to the concept of jet flows. Konstantin will consider a familiar task with a Retry dialog, discuss the disadvantages of “classic” solutions, understand reactive programming and come up with a practical solution that will help handle any errors in the application.






Accessibility for iOS: Doing well by doing good



Speaker: John Fox

Location: 9

Report presentation





If an iOS developer takes his application seriously, he should also be serious about making it fun and comfortable for people with disabilities, says John Fox. And although usually the topic of accessibility does not cause enthusiasm, the charming and enthusiastic John "rocked" the audience and received excellent marks.



In the report, John talked about how Netflix develops its application based on VoiceOver and other Apple tools and frameworks, and also explained why investing in accessibility quality offers many benefits - from attracting and retaining customers to automated testing capabilities.



Bonus: we also interviewed Fox on a career in IT and application accessibility.




640 kilobytes should be enough for everyone



Speaker: Jonathan Levin

Location: 8





Last time, Mobius Jonathan climbed to understand why D8 and R8 are needed, and got into the top reports . This time, he closes another gap in the questions “how does it really work there”, deals with the JVM and memory - and again gets to the top.



From this report you will learn how memory management in Android works, what Swap, GC, Native Allocations and other scary words mean, and if you yourself did not understand this topic before, in an hour you will get the necessary information in an accessible form from a charismatic speaker.






How to start writing autotests and not go crazy



Speaker: Dmitry Movchan, Eugene Matsyuk

Location: 7





Autotests are extremely important to maintain the high quality of the application, but how it turns out - they talk a lot about them, but few write! After all, autotests are just beginning to come into the life of developers, and there are not so many normal practices.



This is what Zhenya and Dima tried to correct in their report. They consider how to write autotests from different sides and, according to them, give “the very base in one bottle”, which will help to take and start writing autotests from scratch or to develop and improve existing ones.






Implementing the VK message cache



Speaker: Alexander Sorokin

Location: 6

Report presentation





A rather hardcore and useful talk about guts - about how the VKontakte messenger works under the hood. Alexander tells how complex business logic is arranged, how the database is optimized, and what tricks you have to go so that user dialogs are always in a consistent state, but at the same time they are not annoyed by brakes and constant loading.



Alexander’s story can be safely used as an instruction if you have to implement the similar functionality of “Messages” or optimize the work with the database. You will find specific ideas and useful hacks for working with SQLite, which right after viewing you can run to apply in your projects.






Keynote: Empathy in IT: how to rationally use your human nature



Speaker: Andrey Breslav

Location: 5





Rest after hardcore - in the middle of the top, the audience put an opening keynote about the importance of emotions for working in IT. Andrei used to speak at Mobius with great success, talking about the influence of other languages ​​on Kotlin. And this time he explained how developers can resort to emotions and empathy as a working tool so that a person can get what he needs faster and easier.



Andrei also worked with his own emotions right during the report: “Usually I’m very worried about how I look, so I specially decided to put on stupid ears and notice that nothing has changed.” In the report, he explains why adults with technical education cannot agree on technical issues, and work that brought pure joy and pleasure can lead to burnout.






Gradle pipeline optimization: Beyond basics



Speaker: Stepan Goncharov

Location: 4





The larger the size of the mobile project, the stronger its assembly time is felt, and the problem of long builds tormented many developers. One such example is the critical build time in Gradle for Android, which they are trying to optimize in every possible way.



In his report, Stepan talks about all the nuances of this process and goes through a lot of tricks and tricks, and not those that are listed in the documentation. Listeners of the report noted that they did not know about a large part of the techniques Stepan spoke about, and immediately went to put them into practice.






Smarter mobile interface design patterns



Speaker: Vitaliy Fridman

Location: 3





There are many examples of surprisingly disgusting interfaces on the network, but most of them are intentional - for example, as in the competition for the worst UX volume knobs. But Vitaly knows the same wild interfaces, but developed in all seriousness. How do you choose the number of children using the slider with the maximum value? How could this come to mind?



In a closing keynote report, Vitaliy explores user greetings and ways to say goodbye to them, passing authentication, working with cookies, notifications, greetings, requesting feedback, captchas, logging in via social networks and many other elements, each of which can cause a user to leave the site, if it is too uncomfortable or annoying.



In fact, Vitaliy created a set of simple instructions and techniques that can be applied in any mobile project - from an embedded application to a good old web site.






We work with the network efficiently



Speaker: Eugene Rtishchev

Place: 2





About 90% of applications use network requests - that is, it is useful to almost all mobile developers to understand relevant issues. At the same time, solving network problems, developers can easily complicate their lives by spending extra time writing simple procedures and classes for working with the web.



Eugene’s report - the first of a pair of top winners - is about how to use native means to do what many developers use third-party libraries for. For many, a story can turn the idea of ​​how to work with the network correctly, and will become a useful tool and instruction to become library independent.



Eugene explains how to use the existing tools to most effectively and quickly solve the typical tasks that every developer faces when working with the network - working with the cache, user authentication, query execution, error diagnosis, debugging, checking the network stack and interacting with the API. According to conference visitors, his story is a must watch before working with the network.






Scaling architecture at lyft



Speaker: Denis Neklyudov

Location: 1





And another winner is Denis's account of his experience with Lyft. His report is devoted to the problems that are often encountered when scaling the application architecture and how to make the architecture "grow" based on the experience in Lyft.



Lyft began as a simple Android application that was developed by one person. Now there are more than 50 developers, two applications with a common code base and many weekly added features - requirements have changed, new difficulties have appeared. In such changing conditions, in hindsight, “how to act from the very beginning” is especially noticeable.

Interestingly, this is the second consecutive report from Lyft, which becomes our leader: six months ago, in the top of the previous Mobius, the favorite was the speech of Artyom Zinnatullin on the nuances of the assembly.




If the top ten are not enough, you can open a more complete conference playlist on YouTube.



Interested in these reports? Do you want to ask questions to their authors? In this case, you will most likely enjoy Mobius 2019 Moscow : there will also be many interesting speeches, and there will also be the opportunity to properly ask speakers in the discussion areas. Part of the program has already been published - you can see for yourself whether the topics are interesting to you.



All Articles