Talks

  • The program hasn’t been finally approved yet, so there still might be some changes.

  • Talk type: Talk

    Design System 2.0: Managers Are Needed

    Developing a unified design system for multiple platforms is an extremely interesting and challenging task both from a technical and process point of view. In the talk, we will tell you about the interesting nuances we encountered while developing our design system and how we worked with them.

  • Talk type: Talk

    Reactive Swift Concurrency

    We in Yandex Messenger's iOS team are working on a reactive approach using Swift Concurrency (SC) without Combine or RxSwift. It is built on warming up event streams with transactions. In the talk, I will tell you what difficulties we faced when switching to SC, how we solved them, what we have now and what we want to do with it in the future.

  • Talk type: Talk

    Encrypting Files in Android

    Encryption is not that complicated. During the talk, we'll break down how to get it right.

  • Talk type: Talk

    SDUI Patterns

    So, you are thinking about bringing SDUI to your project. In this talk we will share our experience in implementing different SDUI approaches depending on the goals and objectives of the functionality being developed. Each approach is a different SDUI pattern with its own features, scope and implementation peculiarities. You will learn which pattern suits your project and how to avoid mistakes in implementation.

  • Talk type: Talk

    The Dark Side of Isolates in Dart

    We will consider issues related to isolates and isolation groups in Dart. What are the restrictions on transmitted messages and how the mechanism of storing objects in shared memory of isolation groups is organised.

  • Talk type: Talk

    A Multi-module Flutter Application

    How to build an application on Flutter that has more than 10 product teams working on it at the same time. How to make sure you don't break everything and make stable releases.

  • Talk type: Talk

    Android vs iOS Code Generation Toolkits

    Cool developers not only write good code, but also know how to use various tools for simplification, acceleration and optimisation. During the talk I will tell you what tools we can use for Android and iOS, in what cases they can be applied and give a couple of small practical examples.

  • Talk type: Talk

    Immortal App

    We'll look at different ways to maximize the life of an application and understand how to survive a force-stop. 

  • Talk type: Talk

    How to Tame Widgets in a Superapp?

    The talk will describe the experience of creating iOS widgets and integrating them into Tinkoff Mobile Bank, from the simplest to the most complex. It will be of interest to iOS developers who have decided to create widgets and do not want to transfer widget rolling from one release to another.

  • Talk type: Talk

    VK Calls: Boosting WebRTC Calls Quality

    The talk includes improvements to audio, video, screen sharing, and device connectivity for WebRTC-based calls.

  • Talk type: Talk

    Creating an Indoor Map of a Building in Flutter

    When developing mobile applications, one very interesting task can arise — placing an internal map of a building on one or several screens. During the talk, I will tell you what approaches there are and what we chose to implement our own solution using Flutter.

  • Talk type: Talk

    Installing Android Apps from Prehistoric times to the Present Day

    I'll talk about how the Android app installation API has changed from the first versions to the present day. We'll look at the limitations and features involved. We'll look at the problems that Android developers had and how they solved them.

  • Talk type: Talk

    Switching to Compose? Don't Be in a Hurry!

    Compose has been with us for a long time, but migrating a project written in View to Compose can still bring us surprises. I will share my experience of migrating an application from View to Compose, including difficulties with nested scrolls and swipes, as well as my experience of solving the problem of slow first launch due to the peculiarity of the unbundled library.

  • Talk type: Talk

    Is There Any ORM Cooler than SwiftData

    Are there alternatives to Core Data and SwiftData? 15 years of experience with iOS suggests that there are many and they are more than relevant now in terms of usability, features and performance. These are the ones we'll talk about. I will share a server solution that I ported to my mobile phone.

  • Talk type: Talk

    Accelerating SwiftUI with Observable

    The Observable macro is a new approach to implementing the Observable pattern.

    Let's remember the problems when building SwiftUI screens with ObservableObject, break down the new Observable macro and compare both approaches.

    We'll find out how you can start using this solution right not given the iOS 17 limitation.

  • Talk type: Talk

    UICollectionViewLayout From Scratch

    UICollectionView is one of the most popular components in iOS development, and often the standard behaviour is not enough: you need to change the arrangement of elements, add animations, decorative elements, change the standard behaviour. The collection layout and the UICollectionViewLayout class are responsible for all of this. 

    Last year I spent several months to understand the issues of creating my own UICollectionView layouts and applied all this knowledge in Market VKo. 

  • Talk type: Talk

    BDUI as a Mobile Application Strategy

    I'll break down the path to BDUI for the current mobile app step-by-step and talk about the features of the app that we've been able to extend.

  • Talk type: Talk

    Mobile App Performance: Interpreting Metrics

    We'll take a look at what application performance metrics are and why we need them. Then we will dive into the discussion of how to collect them and where to store them. We will go into details about various metrics — from LaunchTime to HitchRate — and examine them with code examples. But let's not forget the dark sides: how to get around the system and why not everyone is excited about digging into code. At the end, we'll discuss how to motivate yourself and your team to keep an eye on performance since this is the key to an application's success and, ultimately, happy users and a growing business.

  • Talk type: Talk

    How to Get Rid of Recursion, or How My Code Got to Google

    Different approaches to recursion optimisation. Measuring their performance and analysing them. I will tell you about a problem in the standard ViewGroup.descendant function discovered during the research and how Google fixed it.

  • Talk type: Talk

    Fantastic Bugs: How to Catch and Fix Them

    Using several mobile projects as examples, we will look at bugs that appeared suddenly and jeopardised the release of entire products.

    I will tell you how they were found, fixed, and why they appeared at all, as well as give general recommendations on how to catch and fix "fantastic bugs".

  • Talk type: Talk

    Squeezing More out of SwiftUI Preview

    In 2022, the guys from Ozon showed how you can create various Preview-based tests using code generation. Now let's see how we can do the same without codo generation. And together with the ideas of interactive tests, let's abandon Micro Apps in favour of Preview.

  • Talk type: Talk

    KMP on Aurora OS: Problems and Solutions

    KMP (Kotlin Multiplatform) is a familiar toolkit, and its availability for developing applications for Aurora OS will make it easy to create new applications or port existing ones. We will talk about what you can already use from KMP and how to do it, and what you can't and why.

  • Talk type: Talk

    SwiftPM — Frameworks Instead of Coffee

    Tired of re-filling your coffee filter while your project's SPM packages are being built? That's okay — let's figure out how you can save on ground one with frameworks.

  • Talk type: Talk

    Swift 5.9: Exploring C++ Interoperability

    Let's take a look at the interop in Swift 5.9, what are its limitations at the moment. We will try to add an interop to a real project.

  • Talk type: Talk

    ByteWeaver. Instrumenting Bytecode for the Greater Good

    I will tell you about ByteWeaver — a small tool for patching bytecode at build time, which can be useful in Android development. On the one hand, ByteWeaver differs from some similar tools by its configurability for different tasks, on the other hand, it is quite simple and lightweight. 

  • Talk type: Talk

    The Evolution of SwiftUI Presentational Patterns

    Planning to build a serious project architecture on SwiftUI and not to make a mess? Don't rush to get tied to MVVM, come up with your ideal ObservableObject.

  • Talk type: Talk

    How a Callback Grew up and Became a Coroutine

    What do you picture when you hear the word "coroutine"? If coroutineScope, launch, delay  — you are wrong, it is not directly related to coroutine. During the talk, we will go through the path that the industry has travelled from a callback to modern coroutines and make sure that coroutines and multithreading are different things.

  • Talk type: Talk

    Changing Icons — What Could Be Easier?

    I'll tell you about the pains, mistakes, hacks, and the process of large-scale refactoring of two Android apps made of hundreds of modules. 

  • Talk type: Talk

    Multiplatform UI with Compose

    Multiplatform technologies are coming in a broad stride and mobile developers are gradually facing the front end problem. They need to support a huge number of different screens. In the talk, I will look at how to do this conveniently on Compose Multiplatform.

  • Talk type: Talk

    Gradle Assembly. Measuring the Most Important Things

    I will tell you about the Gradle plugin that we have developed at Tinkoff to collect build metrics. I will also talk about what information can be extracted from Gradle.

  • Talk type: Talk

    Size Matters: How to Check and Reduce the Weight of an Android Application

    In this talk, we will learn how to measure and optimize one of the most important metrics for application growth — its size. You will understand how to build the full picture of your application size, what tools are available, and how to build your own for those cases when there are no standard solutions.

We will add more talks soon.

We are actively adding to the program. Sign up for our newsletter to stay informed.

Subscribe