Start of main content

Talks

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

  • Talk type: Talk

    Full-Duplex Communication in Flutter

    Together with the speaker, we will dive into the world of real-time data exchange in Flutter, explore the power of web sockets, learn how to fetch live data from servers, and understand advanced server-client interactions.

    The talk will help you enhance your Flutter apps with bidirectional communication and stay ahead in the digital landscape.

  • Talk type: Talk

    The Amazing World Within .ipa

    The speaker will describe what's inside an .ipa file, go through the most common files inside and show what interesting things you can get out of them; how files can be modified without harming the application; what interesting things you can get out of an executable without running or using disassemblers; how you can compare two applications for similarity using Hopper + BinDiff, and how to make those binaries different.

    The speaker will explain why Apple knows what your user's name is on your computer when you build an application. He will also talk about how Apple uses static and dynamic .ipa analysis when reviewing apps for the store.

  • Talk type: Talk

    Is Swift Modern Concurrency Really That Necessary?

    Not in a hurry to switch to Swift Modern Concurrency or are already actively using it, but don't understand its pluses except for its nice syntax? Then it will be useful for you to learn what concept lies inside the new model of concurrency and what its pros and cons are.

  • Talk type: Talk

    Compiler Plugins: Modifying and Analysing Compose

    In the process of implementing Jetpack Compose in a large project, Askhar encountered many intricacies, and some of them were tackled with the help of Kotlin Compiler plugins.

    In the talk, the speaker will review the peculiarities of Compose Compiler, share examples of solutions to problems and how to get into plugin development.

  • Talk type: Workshop

    Designing Non-visual Interfaces: Basics, Meanings, Examples. Part 1

    An interactive workshop where we will design non-visual interfaces together.

    We will:

    • switch on TalkBack and VoiceOver and recall how to use them and why;
    • take an honest look at the digital interface and its representations: visual, auditory and even tactile;
    • analyse the key components of the interface and try to design solutions so that they are correctly presented to assistive technologies.
  • Talk type: Talk

    Adaptation of Interfaces for Aurora OS: From Components to Patterns

    During the talk we will learn what is the peculiarity of Aurora OS design system and how it differs from other design systems; how to use components correctly and what should be taken into account when designing interfaces for Aurora OS; what behavioural patterns are peculiar to this platform; how to port an application to Aurora OS so that it does not look alien, but at the same time retains its attractiveness for users.

  • Talk type: Talk

    Swift Macros: Simpler, Cleaner, Faster

    The speaker will explain how Swift 5.9 macros can be used in practice, speed up and optimise development, and make life easier for developers.

  • Talk type: Talk

    Journey to the Center of the Composition

    As we continue our exploration of the inner structure of Compose Runtime, we'll talk about Compose – the key mechanism of the framework, without which Compose would not be Compose at all.

    We will discuss when and where Compose is created, what data structures are used for this purpose, and how exactly the changes made update the tree of Composable components.

  • Talk type: Talk

    How We Developed a Design System on Jetpack Compose

    Nowadays, every modern mobile app needs a convenient design system.

    The speaker will tell us about the path his UI team went through when implementing the design system on Jetpack Compose. We will look at the difficulties they encountered while developing and conducting a design review, discuss ways to interact with Material, and pay special attention to the tools for implementing non-standard UI that performed the best.

  • Talk type: Talk

    What State Hides in Compose

    Alexey will continue talking about how Jetpack Compose works under the hood. In particular, he will dive into what State truly means for Compose. He'll explain why it's far from being as simple as it appears at first glance, and why it's a crucial mechanism in the functioning of Compose as a whole.

  • Talk type: Talk

    Introduction to Development for Apple Vision Pro

    Vision Pro is a revolutionary device from Apple Corporation. The talk is about the peculiarities of development for visionOS and working with space. Introduction to development for Apple Vision Pro.

  • Talk type: Talk

    SwiftData as a Replacement for CoreData. Deep Dive

    A deep dive into the details of the new SwiftData framework, comparison with CoreData, performance metrics and a plan for integration into the project. And at the end — a conclusion about the need to migrate to the new framework, possible ways to use it in versions before iOS 17.

  • Talk type: Technical interview

    Cracking the Android Interview

    When applying for a job, we have to go through a job interview – but nobody knows what to expect from it. Dmitry will share his experience of interviews on both sides of the fence, give advice on how to prepare for a next interview stage, as well as explain what level of knowledge is required for each grade. 

  • Talk type: Talk

    BDUI 100%: Controlling Shimmers from the Backend

    The BDUI development team at Market developed their own language to describe shimmers, learnt how to parse it quickly and embedded it in the application and their backend. The speaker will tell us why they decided to develop their own language similar to Lisp and why the usual JSON or binary format didn't fit, as well as how they learnt to generate code for both platforms (iOS, Android) using Python and why they gave up the idea of using KMM.

  • Talk type: Talk

    Core Motion Framework in Financial Apps

    How to process iPhone motion sensor data using Core Motion framework? Examples and prospects of their use in financial applications.

  • Talk type: Talk

    How Not to Mess up with Live Activity

    Live Activity is an iOS functionality that offers a new experience of user interaction. The speaker will share his experience of integrating the functionality with the Yandex Go app: what to look out for, what challenges you will encounter, as well as what to do and what not to do when maintaining Live Activity.

  • Talk type: Talk

    Compose Optimisation: Challenges, Experience, Tactics, Strategy

    Goal: to highlight problems that arise when working with Compose in a large team, give unified approaches to optimisation and offer a different view of UI state architecture.

  • Talk type: Talk

    A Recipe for Making a Cross-platform Mobile Video Editor

    We will learn:

    – How to combine several different multimedia products and technologies into one super app project.
    – How to bring together C++ and Kotlin Multiplatform.
    – How different memory management mechanisms (Swift, Objective-C, KMM, C++, C) co-exist.
    – How to design a presentation layer so that only the layout is on the platform.
    – What KMM features helped the team during development, and which ones did not.

    At the end of the talk, we'll find out what you should expect from using KMM, and what is "the recipe for making a cross-platform mobile application". 

  • Talk type: Talk

    Killing Lottie? Bringing in Rive?

    The speaker will talk about Lottie: we will discuss its limitations and see how it works under the hood as well as how the rendering mechanism works in particular.

    We will also discuss a new tool from the creator of Lottie – Rive. Evgeniy will show how Rive solves problems that Lottie can't handle – as an example, we'll look at Rive's under-the-hood interactivity. In addition, we'll implement an interactive animated element with Rive and without coding.

  • Talk type: Talk

    Life of an Indie on Google Play

    The speaker will talk about the complexities of indie development and the rules of Google Play.

    Indie is their own boss and, as in the TV series about gangsters, is responsible for everything. Indie specifics can't be described in two phrases, but you can learn useful from the recommendations.

    The times of an empty mobile app market are over, and budgets for developing serious apps are not affordable for ordinary indie developers. Vladimir will touch upon the topic of finding niches that big companies have not yet occupied or may not occupy due to economic reasons. There will also be some serious theory, without which indie development will be difficult.

  • Talk type: Talk

    Instant Start: How VK Clips Handle Video Playback on Android

    At VK Clips, Dmitry and his team constantly optimize the feed, handling recommendations, storage and playback on the client. The speaker will discuss what helps them achieve an instant video start. We'll also consider the effective use of ExoPlayer, video integration into RecyclerView and potential pitfalls that may be encountered along the way.

  • Talk type: Talk

    Swift Plugins: Accelerating Project Assembly

    The speaker will talk about Swift Plugins: what they are, how to use them, and how to create your own ones. Maxim will also demonstrate how the helpers like SwiftFormat, SwiftGen, Sourcery, Needle, Prefire can reduce assembly time from 1m 30s to 5s.

  • Talk type: Talk

    BDUI – a Pleasure or a Pain?

    During the talk we will learn about Cian's experience in Backend-Driven UI development. The speaker will tell us why they decided to create their own tool, review the main nuances of the implementation, and demonstrate how it works. We will talk about what difficulties may await when developing such a tool and discuss its area of application. 

  • Talk type: Talk

    How to Stop Picking Up a Project and Start Working

    We've all read dozens of papers with how-to articles on speeding up the build of an Android project. But what to do when the tips have been applied, optimizations have been performed, the project has long passed 1000 modules and you have time to go to lunch during the cold build? Alyona will tell you how the Sberbank Online platform team managed to reduce the local build time by 3 times using a customized approach and a pinch of Gradle magic.

  • Talk type: Talk

    SwiftUI Navigation: Simple, Native and Declarative

    We'll discuss how to make simple, feature-rich declarative-style navigation without routers and coordinators, relying on SwiftUI technology standards. The final solution will have iOS 14 support and NavigationStack capabilities, and it will be free of SDK flaws and bugs.

  • Talk type: Talk

    Embedding Unity into a Mobile App. Pain and Crutches

    There is a 3D engine that works well on mobile devices, and there are native mobile applications. And it seems like you could combine them – like in the old Pen-Pineaple-Apple-Pen meme. But all this is not that obvious.

    During the talk, the speaker will share his practical experience of implementation.

  • Talk type: Talk

    How to Reduce the Application Weight Quickly: Moving Images and Localization Strings to the Server

    We'll look at how we can reduce the application size, as well as conclude that one of the most important aspects in this process is getting rid of localization strings and xcasset catalogs. The speaker will explain how this can be done with minimal costs and without large-scale refactoring of the entire application.

  • Talk type: Talk

    Best Practices for Local Authentication on Flutter

    Local authentication is used to securely log into an application with sensitive data. The speaker will explain how it can be implemented on Flutter, why they do it and what are the advantages of such a solution.

  • Talk type: Talk

    Code Review in Action

    The rapid growth of the team and the project led to the need to change many processes. Many problems were not solved: a large number of bugs, heterogeneity of the code base, lack of proper experience sharing between employees, and many others. A well-built code review process became an effective solution for these issues. Konstantin will talk about how they overcame toxicity and improved internal competition between engineers during the review, what stages they went through as a team, and how their process looks like today. Of course, it wasn't without extensive automation of routine. They have created a system that makes life easier for everyone involved in the process and allows for easy modifications. Konstantin will also talk about it in detail.

  • Talk type: Conversation

    Opening Session. Day 2

    We'll talk about schedules, sessions and activities. Join us to find out what's on the air soon!

  • Talk type: Talk

    Bringing Combine and Swift Concurrency Together

    The speaker will talk about the UDF pattern and how to use it with Swift Concurrency. We will also discuss how to use Combine and Swift Concurrency without callbacks and how to reliably test that code.

  • Talk type: Talk

    How much memory does a build need? JVM for Android developers

    The speaker will talk about how RAM allocation affects the build time. We will explore how much memory is really needed to develop an Android application and how to identify its deficit or overabundance.

  • Talk type: Talk

    SwiftUI Navigation

    Navigation is arguably one of the most complex parts of SwiftUI. The toolkit is now strongly limited and contains many problems, such as crashes and undefined behaviour.

    The speaker will review the nuances and internals of the current API, as well as the approach to working with it, including UIKit extensions for missing methods.

  • Talk type: Workshop

    Designing Non-visual Interfaces: Basics, Meanings, Examples. Part 2

    An interactive workshop where we will design non-visual interfaces together.

    We will:

    • switch on TalkBack and VoiceOver and recall how to use them and why;
    • take an honest look at the digital interface and its representations: visual, auditory and even tactile;
    • analyse the key components of the interface and try to design solutions so that they are correctly presented to assistive technologies.
  • Talk type: Talk

    I'm (Not) a Robot

    Creating a captcha with bare Flutter. 

  • Talk type: Talk

    GameDev and Aurora OS. Game Porting

    Running a favorite childhood computer game on your Aurora OS smartphone.

  • Talk type: Talk

    How Can Compose Multiplatform for iOS Kill Flutter?

    Valentin will cover Compose Multiplatform for iOS and its advantages. We will dive into the architecture, find out the peculiarities of skia/impeller/skiko and learn how to prepare shared UI. 

    As a live example, the speaker will implement several screens of a real KMM application, where the iOS part is written on swiftUI, and demonstrate both the advantages and challenges of the new approach. We will also see why Flutter is required for shared UI on KMM.

  • Talk type: Talk

    How to Make It Not Slow down, Please

    Eugene will tell us how to collect relevant metrics of app launch speed and responsiveness; what happens at all levels from the moment you click on the service icon to the first click in the app; what tactics to apply to speed up launch and responsiveness after launch; what optimisation opportunities are available in iOS and how effective they are – both old and implemented in the latest versions of the SDK.

  • Talk type: Talk

    Cracking and Protecting Android Applications

    A talk on cracking and protection techniques. We will try to attack the application first, and then immediately protect it. And then we'll attack the new protection, and so on circle-wise.

    First, we will talk about trivial things, such as viewing application data through traffic sniffers or bytecode sniffing. Then we'll get more complicated: we'll talk about changing application behaviour via Frida and protecting against it with C++. And finally, we'll try to crack C++.

  • Talk type: Talk

    “Is It Working Fine for Us Now?” or What Is Observability of a Mobile App

    In the world of backend, APIs and databases, good monitoring has long been a matter of course. Daniel will share how Tinkoff approaches observability of the company's main mobile banking application with a daily audience of over 10 million customers. The speaker will also talk about what metrics are monitored and what practices have proven to be effective in this area.

  • Talk type: Talk

    All the Problems With Modular Project Work Solved. Do You Want the Same?

    Together with the speaker you will understand why multi-repo and multi-modularity is cool, look at the problems it creates and solve them immediately. Special emphasis is placed on synchronizing repository changes, getting rid of dependency hell, and controlling the consistency of a large project.

  • Talk type: Game

    Compose Quiz

    At the session, you will enjoy an exciting and informative quiz game with a series of questions from the hosts on the most important aspects of working with Jetpack Compose.

    The one who gives the most correct answers will get interesting prizes in addition to invaluable experience.

We will add more talks soon.

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

Subscribe