{
  "sessions": [
    {
      "id": "478960",
      "title": "Practical ADB usage to enhance your life!",
      "description": "ADB is an incredibly underutilized tool that can dramatically improve your Android development experience! Maybe you know some basic ADB commands, perhaps even a couple of nifty advanced ones or possibly, you don’t know what ADB even is!\r\n\r\nImagine automatically & swiftly logging into your app’s test account, instantly inspecting your app’s current Activity/Fragment stack or editing your app’s shared preferences & phone settings all without touching your device! All this and SO MUCH MORE is possible thanks to ADB.\r\n\r\nThis session is not intended to blast you with a list of ADB commands but instead to share a collection of practical scenarios & examples how you can use this supreme tool everyday in a variety of ACTUALLY useful ways. \r\n\r\nJoin me in this session, regardless of your experience, as we explore what this tool can really do to change the way you work forever!",
      "startsAt": "2023-09-28T09:10:00",
      "endsAt": "2023-09-28T09:50:00",
      "isServiceSession": false,
      "isPlenumSession": true,
      "speakers": [
        "e42b44a3-8cde-4a6e-abc3-4de4c8ce6330"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "475399",
      "title": "How we moved SDKs to Kotlin Multiplatform and saved the world (kind of).",
      "description": "This year the Client SDK engineering team made the leap into the world of Kotlin Multiplatform. \r\nWith one “simple” goal, to unify the Android, iOS and JS SDK. \r\nWe take a dive into why the team wanted to make this move, the history of the SDK and multiplatform efforts up until that point and finally how the new SDK was built!\r\nBut more importantly, we will talk about some surprising benefits of moving to Kotlin Multiplatform and how this might be the solution for your next multi-platform project!\r\n\r\nThe key points you will take away from this talk are:\r\n\r\n* History of past codeshare/multiplatform attempts\r\n* How Kotlin Multiplatform was different\r\n* The improvements Kotlin multiplatform made both to the code base and the team as a whole.",
      "startsAt": "2023-09-28T10:00:00",
      "endsAt": "2023-09-28T10:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "2f9f28ab-49f3-47e7-bba1-99d7bef4b683"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "512185",
      "title": "From locally encrypted passwords to passwordless with Passkeys",
      "description": "The evolution of how we've handled credentials in Android. Handling credentials on Android has taken a long travel path: from encrypted shared preferences, to (Android) keystore, via account managers to Credential Manager. Let's take a closer look at some of these solutions, their pros & cons so that we are better able to make the correct choice when we need it. Is the latest and greated Credential Manager all that it's cracked up to be?\r\nBy the end of this session my hope is that attendees will be able to:\r\n* recognise the solutions presented for handling credentials locally\r\n* list the pros and cons of the approaches presented\r\n* be able to reason when to apply a particular approach in their own projects",
      "startsAt": "2023-09-28T10:00:00",
      "endsAt": "2023-09-28T10:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "9c682841-b0dd-42bf-b832-9fcc3783a0e0"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "474113",
      "title": "Bring machine learning to Android with ML Kit",
      "description": "What if I tell you that you don't need to be an expert in Artificial Intelligence and Machine Learning to bring some of these great features to your Android application.\r\n\r\nIn this session, we'll explore what ML Kit has to offer to easily bring machine learning features that are optimized for mobile. In fun and practical code sample, we'll explore the main Vision and Natural Language APIs to potentially unlock new ideas and innovative features in your apps.\r\n\r\nJoin us as we explore the power of ML Kit and discover how it can help you take your Android app to the next level!",
      "startsAt": "2023-09-28T11:00:00",
      "endsAt": "2023-09-28T11:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "462e6b97-01f9-44b1-864c-9d85bedf911b"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "474591",
      "title": "Copilot in Android: AI for boring stuff, people - for important",
      "description": "Welcome to the exciting world of Github Copilot! Have you ever heard about Github copilot and how it helps with super smart auto-completion?\r\n\r\nJoin us as we dive into the capabilities of this AI tool and see how it can improve your workflow. We’ll take a deep dive into real projects to see how Copilot performs in the wild and explore the potential it has to make your life easier. Or harder.\r\n\r\nNow it’s time to figure out how much it would help us with auto-completion of not only basic functions but also whole interaction scenarios. In this session, we will see how smart Github copilot is in real projects, will see how it may help with new projects, and watch for mistakes in doing and how it is worst in general.\r\n\r\nBut it’s not all fun and games - we’ll also discuss the ethical considerations of using AI in our work. Is it taking jobs away from humans? Or is it just a helpful tool that allows us to focus on important tasks? Come find out with us!\r\n\r\nPS: this text was also generated using AI by prompt.",
      "startsAt": "2023-09-28T11:00:00",
      "endsAt": "2023-09-28T11:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "ea78262e-5d22-4a78-88b6-e9937d077d2c"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "514050",
      "title": "Building a Simple, AI-Powered Product: A Text-Based RPG with GPT-4 and Jetpack Compose",
      "description": "This talk explores a practical use case of AI in product development through the lens of a text-based role-playing game (RPG). We'll walk through the creation process of \"Mini Adventure Generator\", a mobile game that leverages GPT-4 for story generation and Jetpack Compose for UI. The emphasis will be on the simplicity and effectiveness of the implementation and the potential it holds for inspiring more developers to incorporate AI in their projects.\r\n\r\nKey Takeaways:\r\nLearn to integrate GPT-4 in a mobile application to create dynamic, user-influenced content.\r\nGain insight into using Jetpack Compose to build user-friendly interfaces for text-heavy applications.\r\nDiscover the process of combining AI with traditional mobile development tools to build a product.\r\n\r\n",
      "startsAt": "2023-09-28T11:00:00",
      "endsAt": "2023-09-28T12:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "0160cb5a-5f61-44fe-a714-377dab11bbd3"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 38363,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "501753",
      "title": "Fine, I'll draw it myself - How to create Custom Composables",
      "description": "Jetpack Compose is great at creating a beautiful UI easy and fast, by putting together already available Composables. But sometimes this is not enough, sometimes more flexibility is needed. In this session we explore what possibilities Jetpack Composes Canvas API is providing to us and how we can leverage it to create our own custom drawn components. We will create a fully working labeled ranged slider from scratch, breaking each needed UI element down to its primitive drawing functions and drawing the UI completely by ourselves. A beautiful UI is nice to look at, but this is only have of the story, users want to interact with our component. Therefore we will take a look at how we can make the custom drawn Composable interactive, using trusty Jetpack Compose Modifiers, as well.\r\n\r\nKey takeaways:\r\n- Leverage the Jetpack Compose Canvas API\r\n- Allow interaction with drawn components\r\n- Make it configurable\r\n- Make it observable",
      "startsAt": "2023-09-28T11:50:00",
      "endsAt": "2023-09-28T12:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "81c548d8-9a42-42c9-a5c0-a95614afb368"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "479968",
      "title": "Improve the build times of your project is not impossible. How we achieved it in N26.",
      "description": "Last year N26 android platform team focused on reducing the build times of the project. We achieved to reduce them a 70%! This talk is about how we achieve that successful result that made the N26 Android Engineers happy and more productive.\r\n\r\nI will present the implementations that N26 platform team did to reduce the compilation time of our app module from 20-25minuts to 5-6minuts. Also we reduced the compilation time of the library modules to improve the productivity of the engineers. I will talk about the gradle dependency graph, DI (Anvil plugin from square) and about dependency inversion.",
      "startsAt": "2023-09-28T11:50:00",
      "endsAt": "2023-09-28T12:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "9d93dd9c-3c1e-446d-bf83-34cb61dca934"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "474105",
      "title": "Getting your apps ready for Material 3",
      "description": "Material 3 is Google’s latest and newest design system. However, using or adopting Material 3 in Android apps might be a bit challenging.\r\n\r\nIn this talk, we will see how we can use the Material 3 design system with the Material components in Android apps. Firstly, we will talk about the color system and typography in Material 3 and discuss the differences with Material 2. Then, we will see how to use Material 3 components both in the Android View system and Jetpack Compose. Moreover, we will touch upon how to migrate to Material 3 from Material 2 and, share the experiences for Material 3 migration of our banking apps. Finally, we will argue about the pros & cons of using Material 3.",
      "startsAt": "2023-09-28T13:30:00",
      "endsAt": "2023-09-28T14:10:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "5f7faf69-dd61-4ad6-b6d8-0173cae292d8",
        "0480588f-3fc1-42d8-8905-907865f73ef9"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "512130",
      "title": "Optimizing Network Communication in Android: From REST to GraphQL",
      "description": "In this presentation, we will explore different approaches for network communication in Android, starting with traditional RESTful APIs and progressing to GraphQL. We will discuss the pros and cons of each approach and provide practical guidance on implementing efficient and scalable network layers in Android apps. Through examples and real-world scenarios, you will gain insights into selecting the right approach for your app's specific needs.",
      "startsAt": "2023-09-28T13:30:00",
      "endsAt": "2023-09-28T14:10:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "ad329670-0f3e-440c-b493-e55647becc81"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "528752",
      "title": "Flutter Introduction Workshop",
      "description": "What can you learn in the Workshop?\r\n\r\n- Introduction to Flutter & Dart\r\n\r\n- Create a multi platform TODO app\r\n\r\n### Prerequisites\r\n\r\n1. Programming knowledge. As the focus of these workshops is Flutter, it is necessary that participants already have knowledge of programming computer programs, because it is not possible to include an introduction to programming in this workshop.\r\n\r\n2. Laptop computer, where you can run flutter (see links in the next point for more details on this).\r\n\r\n3. Have Flutter installed You can find out how to install it at:\r\n\r\n- https://docs.flutter.dev/get-started/install\r\n\r\n4. Have Visual Studio Code/Codium installed This will be the editor used by the instructor during the workshop. You are free to use another one but the instructor's ability to support it may be limited.",
      "startsAt": "2023-09-28T13:30:00",
      "endsAt": "2023-09-28T15:00:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "7436a5fb-c141-48ef-95cd-ffffaea4fd0c"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 38363,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "487955",
      "title": "Beyond the Mockery: Why We Should Embrace Testing Without Mocking Frameworks",
      "description": "In software development, mocking is a popular technique used to simulate dependencies and test behaviour without relying on external systems. However, as with any technique, there are pros and cons to using mocks.\r\n\r\nIn this talk, I'll discuss why using mocks may not be the best approach and why we should instead use fakes or in-memory implementations of well-defined interfaces. We will explore the drawbacks of mocks, including how they can lead to brittle tests, slow down development, and make it difficult to refactor code.\r\n\r\nBy contrast, we will see how using fakes or in-memory implementations can provide faster feedback, increase confidence in the code, and make it easier to maintain tests as the codebase evolves. We will look at some examples of how to implement these alternatives, and how to make them useful in different testing scenarios.",
      "startsAt": "2023-09-28T14:20:00",
      "endsAt": "2023-09-28T15:00:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "10659767-356c-4cd5-ba9c-12cec7a3ce79"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "493001",
      "title": "Hack into Dependency Injection (with Jetpack Hilt)",
      "description": "Learn an overview of Dependency Injection and dive into understanding the building blocks of Jetpack Hilt. We'll start from understand what is dependency injection and differentiation between its types. Then start to understand what Hilt is all about. We'll talk about core concepts in hilt like injection, modules, components and how these come together and make it easier to develop our code. We'll see examples of code on how to put together the major annotations to achieve dependency injection.",
      "startsAt": "2023-09-28T14:20:00",
      "endsAt": "2023-09-28T15:00:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "a4e9ceab-61ad-490c-8fda-98cb460b44f4"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "474292",
      "title": "K2 compiler in production",
      "description": "Sergei will talk about the K2 Kotlin compiler and its use in production environments. K2 is a new addition to the Kotlin compiler toolchain that is designed to improve the performance and efficiency of Kotlin compilation. Although still relatively new, K2 is a powerful tool for Kotlin developers who want to build fast, efficient, and reliable applications. In this talk, we will explore the benefits of using K2 in production environments and discuss how it can help improve the performance of your Kotlin builds. We will discuss the impact of K2 on clean and incremental build speeds and share independent benchmarks from a relatively large codebase at Meta.",
      "startsAt": "2023-09-28T15:10:00",
      "endsAt": "2023-09-28T15:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "8466c9d8-0d23-41da-a283-80632a241057"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "474238",
      "title": "To scale or not to scale, that is the question.",
      "description": "Yesterday was five of you, today you can fill a stadium with all of you! Lengthy, old-fashioned, and overly complicated processes across teams? Immeasurable/infinite roadmap with non-stop stakeholders requests? Legacy code with a mixture of patterns? Code smell? Limited code coverage? High crash rate? Highlander ticket on your board?\r\n\r\nNo problem! You are not alone. \r\n\r\nTeam and process scaling is not a simple and smooth job if it's not reached gradually by a  step-by-step incremental path. Accelerating this process due to business needs can bring a lot of problems at different company levels creating bottlenecks between people. Colleagues in the same squad, between different squads or across different teams can stop work properly introducing delays or loops across the flow.\r\n\r\nSo, where to start? How we can analyze and judge processes? How do we create a 'list of priorities and tasks? How we can achieve a good result and how do we measure it? How we can speed up our process and make team scale and at the same time find improve our code base? \r\n\r\nThis talk will guide you on our experience of how we survived (or at least we try to) in this ecosystem, and how we reacted to starting to create a good working env. At the end of the talk, you will have a good MacGyver-knife framework to use in similar situations which will help to improve your (and your team's) manner of working. \r\n\r\n\"The best way to beat a problem is to make it work for you.\" - MacGyver",
      "startsAt": "2023-09-28T15:10:00",
      "endsAt": "2023-09-28T15:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "b8e52efe-7709-4af8-8e97-cb07860b8e24"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "479351",
      "title": "Forging the path from monolith to multi-module app",
      "description": "Going from a monolith to a multi-module project is a long process, that requires careful planning and a well-thought through strategy, especially in medium-large teams.\r\n\r\nThe TIER application is evolving to a multi-module structure and this talk will be the logbook of the journey, covering the approach that we followed and the philosophy behind the choices that we’ve made with both the mobile platforms in mind.\r\n\r\nI will tell you how to balance the entire process without harming the regular feature delivery schedule, where to start modularising, and improvements to the build tools to make life less miserable.",
      "startsAt": "2023-09-28T16:10:00",
      "endsAt": "2023-09-28T16:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "aeddc24f-0e47-4934-ad76-2de7a9dc9fac"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "493557",
      "title": "Coupling and Cohesion, a recipe for keeping your code healthy",
      "description": "Clean Architecture is increasingly adopted in the industry based on the well-known SOLID principles, yet there are two concepts even more basic than SOLID, and SOLID are a way to reach them: coupling and cohesion.\r\n\r\nIn this talk, Juan will introduce a functional approach to Clean Architecture based on the Interface Segregation Principle together with a set of techniques to keep your code loosely coupled and highly cohesive, going from the high level definition of a layered architecture to the actual implementation in the code base taking advantages of Kotlin functional capabilities. ",
      "startsAt": "2023-09-28T16:10:00",
      "endsAt": "2023-09-28T16:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "2af5a5e9-6cdd-471e-b5f5-0ff14e13b9a6"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "512585",
      "title": "Mastering Screenshot Testing Libraries for Android: A Hands-On Workshop",
      "description": "Join me for an in-depth workshop where you'll discover the most popular screenshot testing libraries for Android. With so many options to choose from, I'll guide you through the pros and cons of each library, including the newest player on the scene: Roborazzi, based on Robolectric from Google.\r\n\r\nThis is a hands-on workshop where you'll have the opportunity to explore the different libraries and write both, JVM and on-device screenshot tests on your own. By the end of the workshop, you'll have the skills and knowledge to confidently choose the best screenshot testing libraries for your projects.\r\n\r\nRegardless of your level, this is a must-attend workshop to take your UI testing skills to the next level. Don't miss out on this chance to become a screenshot testing pro!",
      "startsAt": "2023-09-28T16:10:00",
      "endsAt": "2023-09-28T17:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "555e9890-5c73-4ac2-af0f-22a6df25e636"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 38363,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "481472",
      "title": "How to handle incidents at scale",
      "description": "In this session, I want to guide the audience into applying healthy processes to handle incidents. We have all probably been in the situation of having our apps unexpectedly crashing - either because of a bad release, because of unexpected Backend changes, etc.\r\n\r\nIn these scenarios, we usually get overwhelmed by messages from different departments (support folks, managers, and so on), this is especially true when operating at a large scale, and things can quickly get out of control.\r\n\r\nThis talk aims to propose rules that will not only mitigate the above scenarios but also improve the communication flow, give tips about how to set up alerting systems and what to measure, and talk about a \"post-mortem\" process.",
      "startsAt": "2023-09-28T17:00:00",
      "endsAt": "2023-09-28T17:20:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "ac9cef8a-3072-4e52-8064-a5155be542b0"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "477294",
      "title": "A shortcut for your productivity in Android Studio",
      "description": "Throughout my journey as a developer, I’ve spent countless hours in front of Android Studio. In order to be more productive, it was important for me to know the right shortcuts and how to use them in the most effective way.\r\n\r\nIn this talk, we will learn how to develop a shortcut mindset and explore many shortcuts with real world examples in order to make your life as a developer much easier. Finally, I will share my favorite plugins to help you get the most out of Android Studio.\r\n\r\nAfter this talk, your daily work won't be the same. These shortcuts will boost your efficiency to another level and make it less error prone, allowing you to focus on what really matters.",
      "startsAt": "2023-09-28T17:00:00",
      "endsAt": "2023-09-28T17:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "1ee57fa9-790a-4a61-a980-6ef301818aea"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "543686",
      "title": "Introduction to WidgetDriver",
      "description": "WidgetDriver is a Flutter presentation layer framework,\r\nwhich will clean up your widget code, make your widgets more maintainable and easier to test, and removes the need to mock thousands of dependencies in your widget tests.\r\nLet's go driving! 🚙💨\r\n\r\nThe Driver sits between your widget and your business logic (sort of like a ViewModel or an adapter). It is responsible for exposing data to the widget and making any needed adaptions from business model to something which is easily presentable. E.g. if your business logic has a Date object, then the Driver would convert this and expose it as a date string to the widget.",
      "startsAt": "2023-09-28T17:20:00",
      "endsAt": "2023-09-28T17:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "3e03af94-076d-4caf-be91-2109abb3545d",
        "3189ab68-f138-44df-8924-e7ed5c05150d"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "504462",
      "title": "A small leak can sink a great ship",
      "description": "Learn how memory leaks can impact app stability and user experience, and understand the challenges faced by developers in identifying and fixing such issues. Join this talk to explore LeakCanary 2 and how it can be integrated with a Firebase dashboard, enabling efficient detection and resolution of memory leaks. After attending this session, you’ll walk away with:\r\n\r\n1. Understanding the significance of memory optimization for app performance.\r\n2. Using LeakCanary 2 to detect memory leaks during development and testing.\r\n3. Integration of LeakCanary with Firebase dashboard for comprehensive memory leak analysis.\r\n4. Prioritizing bug fixes by collecting and analyzing memory leaks.\r\n\r\nDon't miss this opportunity to gain practical insights into addressing memory leaks and enhancing your Android applications.",
      "startsAt": "2023-09-29T09:00:00",
      "endsAt": "2023-09-29T09:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "0037b354-6bd4-46e3-b1e6-d84916eea0d6"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "512603",
      "title": "General Concepts in Android Applications Reverse Engineering",
      "description": "This presentation will have a general structure of: why, how and challenges.\r\n\r\n* Why?\r\n\r\nA list of reasons why someone would do any kind of reverse engineering on an Android application, for instance, to find how an app works, to change how it works or even to solve challenges in a CTF competition;\r\n\r\n* How?\r\n\r\nThis section will have the following contents:\r\n\r\n1. Different ways of approaching Android app reverse engineering: logging, debugging, code tampering, etc;\r\n2. Useful tools that are used in each different approach, like APKTool, IDA Pro, JADX and others. These tools have a variety of purposes, from debugging, to decompilation, to disassembly and others;\r\n3. Possible showcase of the most relevant tools, through screenshots or running them on the presentation computer, for a general overview;\r\n4. Logging: how it can be used to understand how the application works or how it can be used to get useful information. This is, most likely, only the case for applications that were compiled in debug mode;\r\n5. Network Sniffing: how it can be used to understand how the application communicates with the internet or with other relevant devices. It can also be used to map an API that is unknown to the reverse engineer;\r\n6. Decompilation: show how an application can be decompiled to Dalvik Bytecode, how one can read the generated SMALI code and edit it to change the apps' behavior. Behavior changes through native binaries (x86/ARM) in the form of shared objects will also be mentioned.\r\n7. Filesystem: different Android apps use the filesystem in different ways. The ones that use it will read/write to files related to the Shared Preferences or encrypted Data Stores or even databases. This is important because sensitive information might be contained in these files;\r\n8. Debugging: mention SMALI code debugging through JADX or the usage of a debugger like LLDB to debug native code or the code that the Dalvik Virtual Machines itself uses through syscalls, including how this can be manipulated by using breakpoints. An example of root check bypass can be shown;\r\n9. Code Instrumentation: show how a tool like Frida can be used to trace function calls, hooks functions or even run any available function from a specific process. Various examples will be shown, including an example of root check bypassing, counterpart to the previous point;\r\n\r\n* Challenges\r\n\r\nThis last section will have the following contents:\r\n\r\n1. A list of challenges that one can find when doing Android application reverse engineer;\r\n2. Native Shared Libraries: how the usage of native shared libraries will make the job more difficult because the reverse engineer will have to deal with other tools, other languages and other forms of obfuscation;\r\n3. Obfuscation: show how obfuscation can be used, through Java/Kotlin code, obfuscation tools or even lower level code by using X86/ARM assembly;\r\n4. Binary Info: mention how metadata can be manipulated or removed from native shared libraries to obfuscate any names given to static variables, functions or classes. While with metadata one might easily understand what a function does without looking at its code, having no name will force a comprehensive understanding of the function;\r\n5. Encryption: basic examples related to encryption and its usages in an Android application to protect sensitive information, and how it can make the reverse engineers' job more difficult;\r\n\r\n",
      "startsAt": "2023-09-29T09:00:00",
      "endsAt": "2023-09-29T09:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "7e45fb2f-f24c-4985-8188-26e3922b7ef2"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "512811",
      "title": "What's new in Android 14?",
      "description": "Android 14 is the latest version of Google's mobile operating system, and it comes with a number of new features and improvements. In this session, we will take a look at some of the most significant changes and how to implement them like performance, UI, new features and many more. Join for this enlightening session as we explore the vast possibilities and exciting developments that Android 14 brings to the world of mobile app development. Whether you are an experienced Android developer or a newcomer to the platform, this talk will provide you with valuable insights and practical knowledge to leverage the latest features and improvements offered by Android 14.",
      "startsAt": "2023-09-29T09:50:00",
      "endsAt": "2023-09-29T10:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "12052406-2d03-4184-95a1-1098d88b9ce8"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "476414",
      "title": "Revolutionizing App Development Across Devices with WindowSizeClasses: The Future is Here",
      "description": "Traditionally logic checks like 'isPhone' or 'isTablet' have been used to determine whether the screen the app is being displayed on is either on a phone or a tablet. With the introduction of foldable and flip devices, using this logic is not the right way to go. Introducing WindowSizeClasses – the game-changer in Android app development. In this session, we'll explore the concept of WindowSizeClasses and how, with Jetpack Compose, they can be leveraged to create apps that scale seamlessly across a range of devices, including foldable and flip devices, with accessibility in mind. We'll discuss the benefits and advantages of using WindowSizeClasses, and provide real-world examples of how it redefines the way we create Android apps. Whether you're a developer, designer, or just curious about the future of app development, this session is for you.\r\n\r\nKey Takeaways:\r\n- Learn about the concept and benefits of WindowSizeClasses and how they are advantageous in Android app development\r\n- Understand how to integrate WindowSizeClasses into your Android app development process, including consideration of foldable and flip devices\r\n- Discover how to design app layouts that scale seamlessly across different devices with accessibility in mind\r\n- Gain insights from real-world examples of implementing WindowSizeClasses in Android apps\r\n\r\nLearning Points:\r\n- The different WindowSizeClasses available and how they differ from each other \r\n- How to adapt your UI by taking full advantage of the WindowSizeClasses available to create a screen display your users across a range of devices will appreciate, including foldable and flip devices\r\n- Why using logic checks like 'isPhone' or 'isTablet' does not cover the range of devices available\r\n\r\nJoin me for an exciting session on how WindowSizeClasses can help serve the wider range of Android device users today. Whether you're a seasoned developer or just starting out, this session will provide insights into how WindowSizeClasses can simplify your approach while ensuring accessibility.",
      "startsAt": "2023-09-29T09:50:00",
      "endsAt": "2023-09-29T10:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "0a2679d8-3e18-4563-8492-cc699a55a60d"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "513936",
      "title": "Becoming a Product Engineer!?",
      "description": "In this talk, I will discuss the key behaviours and capabilities of product-minded engineers. I will cover topics such as asking the right questions, seeking early feedback, focusing on outcomes, connecting technology and team capabilities to solve customer needs, and becoming a team member that drives success. I will also share my personal experience of becoming a product engineer and how I have learned to deal with the challenges of working in a turbulent industry.\r\n\r\nKey learnings:\r\n\r\nBy the end of this talk, attendees will be able to:\r\n\r\nUnderstand the key behaviours and capabilities of product-minded engineers\r\nApply these behaviours and capabilities in their own work\r\nIdentify the challenges of working in a turbulent industry\r\nLearn how to deal with these challenges\r\nBe inspired to become a product engineer\r\nTarget audience:\r\n\r\nThis talk is intended for mobile Android engineers of all levels of experience. However, it will be of particular interest to engineers who are interested in learning more about product engineering or who are looking to advance their careers in this field.",
      "startsAt": "2023-09-29T10:50:00",
      "endsAt": "2023-09-29T11:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "3bd5e927-ef54-4335-9592-480c48c0ac35"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "513606",
      "title": "A Multiplatform, multi-tenant challenge",
      "description": "What if you had to build a multiplatform (Android & iOS) and multi-tenant app with the objective of sharing the biggest amout of code possible while having all apps being UI/UX independent? \r\n\r\nWe want to take you through the discovery trip we made while building this. From architecture to ins and outs of KMM via Gradle magic that enabled us to have a Android, iOS and Desktop app. \r\n\r\nAlso sharing our rational over each of the options we took:  Why not React Native? Or Xamarin? Should we use Compose Multiplatform? ",
      "startsAt": "2023-09-29T10:50:00",
      "endsAt": "2023-09-29T11:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "8f3cf2ab-f874-4d19-b805-d819184b4ef0",
        "5ce5717c-9326-4411-8ceb-e16ad84d9b01"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "514245",
      "title": "How to attack (and secure) an Android app: an introduction",
      "description": "Android applications can be attacked in a multitude of ways. This workshop will give an introduction to some of the most popular attacks. It will explain how the attacks work in theory, demonstrate how they can be done in practice, with which tools, and discuss possible ways an app developer can protect against them.\r\n\r\nThe following attacks will be discussed:\r\n\r\nAccessibility Service Abuse: How many strains of malware exfiltrate data from apps\r\n\r\nReverse Engineering: Understanding how a compiled application works to retrieve potential secrets it contains.\r\n\r\nRepackaging: Modifying an application on disk to change its behavior.\r\n\r\nHooking: Modifying an application in memory to change its behavior.\r\n\r\nDebugging: Using a debugger to observe and manipulate the execution of an application.\r\n\r\nThis hands-on workshop will give developers clear insight into the tools, methodologies, and techniques attackers use to break into apps and what techniques developers can implement quickly to defend against those attacks.",
      "startsAt": "2023-09-29T10:50:00",
      "endsAt": "2023-09-29T12:20:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "e0241c83-9622-4c7e-9537-bf7ee79388bb"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 38363,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "487957",
      "title": "What a Long Strange Trip it's Been: A Year In Android",
      "description": "The Android community is a fast evolving society of excellent people who passionately involve themselves in their ecosystem. This means the progress of developments can be fast, blazingly fast! \r\n\r\nInspired by other content creators and newsletters that keep us informed about the most recent events, I decided to document news, events, and releases every week for a year. Starting from the end of Droidcon Berlin, the world’s best Android developer conference.\r\n\r\nAccompany me in this journey to look over all the events of this last year, from the end of Droidcon Berlin 2022 up until right now!",
      "startsAt": "2023-09-29T11:40:00",
      "endsAt": "2023-09-29T12:20:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "10659767-356c-4cd5-ba9c-12cec7a3ce79"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "511835",
      "title": "Creating Machine Learning solutions in Android with MediaPipe",
      "description": "This talk gives an introduction about MediaPipe which is an open source Machine Learning Solutions that allows running machine learning models on low powered devices and helps integrate the models with mobile applications. It gives these creative professionals a lot of dynamic tools and utilizes Machine learning in a really easy way to create powerful and intuitive applications without having much / no knowledge of machine learning beforehand. So we can see how MediaPipe can be integrated with Android. Giving easy access to include machine learning use cases in Android. \r\n",
      "startsAt": "2023-09-29T11:40:00",
      "endsAt": "2023-09-29T12:20:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "11ab0997-77ab-4f0b-bbd7-a803c5f636fa"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "482438",
      "title": "Composing ViewModels: Breaking ViewModels into smaller self-contained UI models",
      "description": "In early times of Android development we used to have big activities. All view and business logic were being written in activities. Then fragments were introduced so that activities started to become leaner. Then several architectural patterns have started to appear in the Android scene: MVP, MVVM, MVI, etc. While all these were happening, ViewModel like classes started to get bigger and bigger. They have become the new big activities. However, we haven't often considered splitting view models into manageable self-contained granular ones.\r\n\r\nViews are composable and they can be composed to build bigger views. What about introducing smaller ViewModels, namely UI models, and using them to build composable UI models/View Models.\r\n\r\nIn this talk, we are going to introduce self-contained UI models and examine the differences between a UI model and a Jetpack ViewModel. In addition to this, we are going to show how we can have leaner fragments and view models by splitting view models into granular self-contained UI models. Advantages of these UI models will be examined in terms of single responsibility, composability, reusability and testability.\r\n\r\nComposable UI model approach is used in several screens of 2 big apps in production which are now being used by 10M+ users. We will be also sharing our learnings about using this approach in these apps.",
      "startsAt": "2023-09-29T13:30:00",
      "endsAt": "2023-09-29T14:10:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "5c3850ee-778a-4904-bd52-a3927ec54dc6"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "502283",
      "title": "Elevating Your App's Performance",
      "description": "With apps being developed at a rapid pace for diverse locales and users, it is crucial to continuously enhance app performance to provide an exceptional user experience. This talk will focus on various strategies to improve app performance and empower developers to create high-performing apps.\r\n\r\nIn this talk we will cover, \r\n\r\n- Understanding the Baseline Profile\r\n\r\n- Explore how we practical approached to seamlessly integrate the Baseline Profile into a popular app with over 50 million downloads.\r\n\r\n- How specific improvements  were made during the critical user journey positively impacted app conversion rates.\r\n\r\n- Let's understand the techniques to enhance the performance of Jetpack Compose layouts.\r\n\r\n- Tips and Tricks for Boosting App Performance\r\n\r\n\r\nBy the end of the talk, participants will be equipped with practical knowledge and actionable strategies to power up their apps and enhance their performance. With a focus on improving the user experience, this talk aims to provide developers with the tools they need to create performant and successful applications",
      "startsAt": "2023-09-29T13:30:00",
      "endsAt": "2023-09-29T14:10:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "57f666e2-409c-4998-8ce1-bb98e5d6b82f"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "474637",
      "title": "Workshop: Compose Flutter Modules in your Android app",
      "description": "Flutter is a great multi-platform framework for getting up and running on multiple platforms quickly, and a lot of businesses start developing mobile applications from scratch using Flutter. But what if you already have a lot of functionality developed using native? Actually, sometimes it’s not practical to rewrite your entire application in Flutter all at once. For such situations, Flutter can be embedded into your existing Android application.\r\n\r\nMoreover, you can render multiple Flutter modules on a single screen simultaneously and even embed them into a declarative compositional Jetpack Compose hierarchy.\r\n \r\nLet's figure out in practice how to do it",
      "startsAt": "2023-09-29T13:30:00",
      "endsAt": "2023-09-29T15:00:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "c73c2377-026f-4b6a-b1f7-91a536c33c67"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 38363,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "501520",
      "title": "Chaining Jetpack Compose modifiers beyond intuition",
      "description": "Did you know - the order in which we chain modifiers in Compose can have a significant impact on the resulting layout and size of our composables?\r\n\r\nIn this session, we'll explore the mechanics of modifier chaining in Jetpack Compose and learn how to reason about its effects on the sizes of our composables. \r\nWe'll start by examining the basics of modifier chaining and the various types of modifiers that can be used in Compose.\r\nNext, we'll dive deeper into the nuances of modifier chaining and how it can affect the size and layout of our composables. \r\nWe'll cover topics such as the measurement and layout process in Compose and the role of modifier order in determining the size of a composable.\r\n\r\nThrough practical examples you'll learn how to effectively chain modifiers and reason about their effects on your composables. \r\nAt the end you'll have a solid understanding of modifier chaining in Jetpack Compose and be equipped to create layouts that are both beautiful and functional.",
      "startsAt": "2023-09-29T14:20:00",
      "endsAt": "2023-09-29T14:40:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "ec2ce46d-95a8-413e-8793-45db17d966d7"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "479350",
      "title": "Adopting Jetpack Compose Safely",
      "description": "If you want to start adopting Jetpack Compose in an existing, large codebase worked on by multiple teams, you can’t just add the dependency and start creating composables right away. In such projects, there are already established conventions and architectural decisions that such a revolutionary change might disrupt.\r\n\r\nIn this talk, we will share our journey of integrating Compose into the TIER app while offering practical tips for tackling common challenges that arise when working with large-scale codebases, like:\r\n\r\n- Getting rid of Data binding,\r\n- Migrating to a Unidirectional Data Flow architecture,\r\n- Going Compose-first with a design system,\r\n- Enabling Compose in a multimodule world,\r\n- Getting Android engineers on board with the changes",
      "startsAt": "2023-09-29T14:20:00",
      "endsAt": "2023-09-29T15:00:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "aeddc24f-0e47-4934-ad76-2de7a9dc9fac",
        "1767e159-e7cf-4102-9765-cf5c99486183"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "513541",
      "title": "Blast Off: Managing Hundreds of UI Updates for Emoji Cannons",
      "description": "Managing a state might be a challenge. Managing the state with hundreds of updates and constant recomposition of floating emojis is a challenge indeed. In this talk, I will share how to build emoji cannon that floods your screen with UI elements, update the state, and does not freeze your UI. All of that with Jetpack Compose :) \r\nIn addition to covering the technical aspects of building and managing a state, I will also share how to build a responsive UI that takes the user input and animates.",
      "startsAt": "2023-09-29T14:40:00",
      "endsAt": "2023-09-29T15:00:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "b6dc4b56-ca5d-4e55-8a57-e37f6e6d6af0"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "513810",
      "title": "Going on a road trip with Android Auto",
      "description": "Android is truly everywhere. It's running on the phone, watch, TV, car, and there are even some fridges and toasters that want to be part of the family. While they're still under development, Android Auto is starting to gain a lot of adoption.\r\n\r\nIn this talk, we're going to travel around the road of Android Auto, see its use cases and go through its functionalities, so you can later implement them on your app. All of this without moving your desk to be inside a car.\r\n\r\nJump in, it's going to be an amazing journey.",
      "startsAt": "2023-09-29T15:10:00",
      "endsAt": "2023-09-29T15:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "2bc1e95f-1243-4ad0-8a11-75541fee10e0"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "503271",
      "title": "Fantastic tests and where to find them",
      "description": "The more code we write the more we raise the risk of having issues on our apps. Our job as engineers is to mitigate those risks and how can we do that? With tests. \r\n\r\nWe all agree that tests are vital to build a successful app but how can we know that we are testing the right things? How do we measure the quality of our tests?\r\n\r\nIn this session we will go through these questions in a pragmatic approach, diving into every type of test in every aspect of the development phase. From communicating with backend to UI components, we will go through strategies and approaches on how to properly test each piece of code.",
      "startsAt": "2023-09-29T15:10:00",
      "endsAt": "2023-09-29T15:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "6ee5ee5a-1bdd-4c54-8178-fad51f86a78a"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "513540",
      "title": "Spin-to-Win Experience with Jetpack Compose",
      "description": "In this talk, we will explore how to create a custom view that enhances the user experience of a Spin-to-Win feature using Jetpack Compose. The view is a horizontal carousel of images, where the system randomly selects a winner and the carousel stops at the winning image, animating and enlarging it to reveal the product won.\r\n\r\nWe will dive into the implementation details of the custom view, discussing how to leverage Jetpack Compose's features to create dynamic, responsive, and fluid UIs. We will explore how to draw the carousel and how to create animations with the Animation API. Additionally, we will discuss best practices for measuring and positioning elements, optimizing performance, and handling the system-selected winner.\r\nCome and maybe you will be lucky to win the spin!",
      "startsAt": "2023-09-29T16:10:00",
      "endsAt": "2023-09-29T16:30:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "b6dc4b56-ca5d-4e55-8a57-e37f6e6d6af0"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "513597",
      "title": "Dissecting Compose Animation - A deep dive into Compose Animation API",
      "description": "Animation plays a crucial role in App UI/UX. If not done correctly it can bite back leading to a bad app experience. A key to good animation is knowing API well and when to use which one. \r\n\r\nWhile it is crucial to know animation APIs on the consumer side it is essential to know the internals of Compose animation to be able to debug or optimize something which requires internal knowledge. \r\n\r\nThis talk aims to throw some light on the internals of the following APIs\u2028\r\n\r\n- Low-level animation API - Animation & AnimationSpecs\u2028\r\n- animation*AsState API\u2028\r\n- Transition API\u2028 \r\n- Animatable API\u2028\r\n- AnimatedVisibility & AnimatedContent API\u2028\r\n- Choreographing complex animation through Coroutines API\r\n\r\n\u2028\u2028At the end, we will learn the internals of Compose Animation which will prepare you to optimize your App UI/UX experience! ",
      "startsAt": "2023-09-29T16:10:00",
      "endsAt": "2023-09-29T16:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "8b2b43e8-a851-4dcc-8fad-c89b79aa3d59"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34569,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "512586",
      "title": "Screenshot Testing for Android: Which Library is Right for You?",
      "description": "In recent years, screenshot testing has become an increasingly popular way to automate UI testing in Android applications, with new libraries emerging regularly. That makes hard to determine which one is the best fit for your project.\r\n\r\nIn this tech-talk, we'll explore the top screenshot testing libraries, from on-device to JVM-based libraries, including the newest player in the game: Roborazzi, based on Google's Robolectric. \r\n\r\nWe'll dive deep into each library's unique features and compare their pros and cons to help you make an informed decision about which one is right for your project.\r\n\r\nWhether you're new to screenshot testing or have experience with it, this tech-talk will take your UI testing skills to the next level. You'll leave this talk with the knowledge to confidently choose the best screenshot testing library for your projects. Don't miss out on this opportunity to become a screenshot testing Ninja in Android!",
      "startsAt": "2023-09-29T16:30:00",
      "endsAt": "2023-09-29T16:50:00",
      "isServiceSession": false,
      "isPlenumSession": false,
      "speakers": [
        "555e9890-5c73-4ac2-af0f-22a6df25e636"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    },
    {
      "id": "548114",
      "title": "Speechless / Powerpoint Karaoke",
      "description": "A set of short talks about everything and nothing.\r\n\r\nYou choose.\r\n\r\nDo you want to be one of our speakers? Just find us or tag #dclx23 on X (=Twitter). We will find you, or you will find us, let's see. \r\n\r\nWhere are you thinking of going out for dinner today? Can we join you? There's a lovely place near the beach.\r\n\r\nDo you know there's a town here called São Francisco? That's some cool trivia. Almost reaching the 400 charac",
      "startsAt": "2023-09-29T16:55:00",
      "endsAt": "2023-09-29T17:35:00",
      "isServiceSession": false,
      "isPlenumSession": true,
      "speakers": [
        "2bc1e95f-1243-4ad0-8a11-75541fee10e0",
        "e42b44a3-8cde-4a6e-abc3-4de4c8ce6330"
      ],
      "categoryItems": [],
      "questionAnswers": [],
      "roomId": 34568,
      "liveUrl": null,
      "recordingUrl": null,
      "status": "Accepted",
      "isInformed": true,
      "isConfirmed": true
    }
  ],
  "speakers": [
    {
      "id": "0a2679d8-3e18-4563-8492-cc699a55a60d",
      "firstName": "Ahmed",
      "lastName": "Tikiwa",
      "bio": "Ahmed Tikiwa is a Google Developer Expert for Android and a seasoned full-stack developer with over 10 years of experience and possesses a strong passion for developing world-class applications that can help make a difference. He has experience in frontend and backend systems, where he has built enterprise solutions for major telecommunication companies. He is currently a Senior Software Engineer and an official contributor to Google Developers Dev Library.",
      "tagLine": "Google Developer Expert (GDE) Android",
      "profilePicture": "https://cdn.sessionize.com/image/21fd-400o400o1-HMS1AoTL6vrhxK8vBec4AE.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        476414
      ],
      "fullName": "Ahmed Tikiwa",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "ea78262e-5d22-4a78-88b6-e9937d077d2c",
      "firstName": "Aleksandr",
      "lastName": "Efremenkov",
      "bio": "Based in Tallinn, Estonia, Aleksandr is working on the Android stack core solutions that millions of European people use. Digger inside the Android platform and is always trying to understand how systems work from the inside. Part-time open source writer and conference speaker, mostly talking about Android internals and system layer. ",
      "tagLine": "Software Engineer @ Bolt, Android GDE",
      "profilePicture": "https://cdn.sessionize.com/image/f991-400o400o1-WUrjkqU4aEpZQgsck1X1dg.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        474591
      ],
      "fullName": "Aleksandr Efremenkov",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "ac9cef8a-3072-4e52-8064-a5155be542b0",
      "firstName": "Alessandro",
      "lastName": "Mautone",
      "bio": "I started coding around the age of 18 and immediately fell in love with it. Since I was always passionate about mobile (first with Nokia and theirs Symbian and then with Android), it was natural for me to continue on that path. I started working in a small agency in South Italy where I had the opportunity to work on a lot of projects, then decided to expand my horizons and moved to Amsterdam where I started to work at WeTransfer. After almost 5 years there, I decided to pursue an industry I have at heart: bikes! And started working for Canyon.\r\n\r\nParticular signs: I love sports in general, I am a regular runner and since love everything that flies I am a proud paraglider!",
      "tagLine": "Canyon - Lead Android Engineer",
      "profilePicture": "https://cdn.sessionize.com/image/5a4a-400o400o1-sdZRTXLcbBKo5emNmNq9kc.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        481472
      ],
      "fullName": "Alessandro Mautone",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "81c548d8-9a42-42c9-a5c0-a95614afb368",
      "firstName": "Alexander",
      "lastName": "Frank",
      "bio": "Alexander is an experienced full stack software engineer with over 13 years in the IT industry under his belt. He is developing frontend, backend and machine learning applications while having a soft spot for Android development since over 11 years, starting with Android 4. He is a long time Android trainer and educator, giving Android trainings for many different companies over the years. On top of that he taught Android development at the KIT for many years.",
      "tagLine": "Senior Software Engineer, OneCode GmbH",
      "profilePicture": "https://cdn.sessionize.com/image/9c48-400o400o1-nyxBVMKnJDkVdSTPdZhZqb.jpeg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        501753
      ],
      "fullName": "Alexander Frank",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "9d93dd9c-3c1e-446d-bf83-34cb61dca934",
      "firstName": "Antoni",
      "lastName": "Castejón García",
      "bio": "Senior Android Engineer in N26 Android platform team with more than 10 years of Android Development experience. I jumped to Android from j2me game development with a HTC Magic and Android 1.6 Donut, good old days. ",
      "tagLine": "Senior Android Engineer in N26",
      "profilePicture": "https://cdn.sessionize.com/image/cfdf-400o400o1-nJAgq714rB7YJV4vVwgUmz.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        479968
      ],
      "fullName": "Antoni Castejón García",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "10659767-356c-4cd5-ba9c-12cec7a3ce79",
      "firstName": "Ashley",
      "lastName": "Davies",
      "bio": "Google Developer Expert for Android and Kotlin, enthusiastic public speaker, senior engineer at Snapp Mobile, Kotlin aficionado, Multiplatform manipulator, prolific facilitator of cute cat photographs, spends more time travelling than working (he/him)",
      "tagLine": "Senior Android Developer @ Snapp Mobile GmbH",
      "profilePicture": "https://cdn.sessionize.com/image/3f2e-400o400o1-3sSDTUEzJHmdfEFfg8AvLq.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        487955,
        487957
      ],
      "fullName": "Ashley Davies",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "3bd5e927-ef54-4335-9592-480c48c0ac35",
      "firstName": "Attila",
      "lastName": "Blénesi",
      "bio": "Experienced Android Developer with a demonstrated history of working in the information technology and services industry. Currently Product focused Sr. Software Engineer @ Twitter - Building Monetisation products, and Android in general. ",
      "tagLine": "Sr Software Engineer @ Twitter",
      "profilePicture": "https://cdn.sessionize.com/image/eed4-400o400o1-GnwwQ5jA5QhZWhyeYABLo9.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        513936
      ],
      "fullName": "Attila Blénesi",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "0037b354-6bd4-46e3-b1e6-d84916eea0d6",
      "firstName": "Ayushi",
      "lastName": "Gupta",
      "bio": "With my coding skills, I specialize in crafting diverse application solutions for Android mobile and TV platforms. My goal is to innovate and overcome any obstacles in our fast-paced, ever-evolving world.\r\nDriven by a passion for problem-solving, I eagerly accept challenges and strive to deliver impactful solutions. Let's connect and collaborate to find innovative solutions together",
      "tagLine": "GDE Firebase, WTM Ambassador,Senior Android Engineer @Zalando, ",
      "profilePicture": "https://cdn.sessionize.com/image/27df-400o400o1-75J73Wpbx3krgsDxx99u1q.jpeg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        504462
      ],
      "fullName": "Ayushi Gupta",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "e42b44a3-8cde-4a6e-abc3-4de4c8ce6330",
      "firstName": "Ben",
      "lastName": "Kadel",
      "bio": "Developer, Presenter/Teacher, Open source advocate, Ultimate frisbee player & Board game hoarder.\r\nI love the fact that I get to code for a living, but I am also incredibly passionate about sharing, collaborating and helping others on their dev journey!\r\nI also have a growing YouTube channel (youtube.com/benkadel), where I try to make entertaining & educational content about programming, the tech industry and specific tutorials to breakdown complex topics.\r\nI adore presenting, story-telling and just generally engaging with an audience. If I am able to make life, even just a little brighter for someone then I have succeeded!",
      "tagLine": "Principal Platform Engineer for Android at Babbel",
      "profilePicture": "https://cdn.sessionize.com/image/c2a0-400o400o1-M1ywvG2MhAMLNrJAYcMUjn.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        478960,
        548114
      ],
      "fullName": "Ben Kadel",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "e0241c83-9622-4c7e-9537-bf7ee79388bb",
      "firstName": "Caner",
      "lastName": "Kaya",
      "bio": "Caner Kaya is a security software engineer at Promon, working on Promon SHIELD for Android. Before joining Promon, Caner held various technical and software development positions at AdColony, Telenor, and EVRY. Caner holds a Bachelor’s in Electronics Engineering.",
      "tagLine": "Security Software Engineer",
      "profilePicture": "https://cdn.sessionize.com/image/61cd-400o400o1-sBdcmHEt4bYAXhTSEXN6Vc.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        514245
      ],
      "fullName": "Caner Kaya",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "2bc1e95f-1243-4ad0-8a11-75541fee10e0",
      "firstName": "Carlos",
      "lastName": "Mota",
      "bio": "Carlos Mota is an Android GDE. He can easily be spotted either working on Android applications written in Kotlin or developing them along with Kotlin Multiplatform. An enthusiastic about new technology and always trying to reach those last 20% of all of his side projects that seem to be really far away. He loves to share his knowledge with others either by giving talks, teaching, writing, or along with a cold beer in the nearest pub. GDG Coimbra organizer and Kotlin evangelist, he also has a huge passion for travel, photography, space, and the occasional run.",
      "tagLine": "Lead Software Engineer at Avancee Software",
      "profilePicture": "https://cdn.sessionize.com/image/8dc9-400o400o1-TPDH8kjeMKnTkS4wo3qxbK.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        513810,
        548114
      ],
      "fullName": "Carlos Mota",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "0160cb5a-5f61-44fe-a714-377dab11bbd3",
      "firstName": "Cicero",
      "lastName": "Hellmann",
      "bio": "Cicero Hellmann Jacobi, currently holding the position of Senior Android Developer at Quartett Mobile, brings to the table a broad range of experience and a rich, diverse background in Android Development. His journey started in 2012 in the idyllic island of Florianopolis, Brazil, as a game developer before transitioning to Android development in São Paulo in 2014. During his time at Accenture, Cicero gained exposure to an array of intriguing startups, honing his skills and expanding his understanding of the sector.\r\n\r\nHis career took a significant turn in 2017 when he undertook the development of both the iOS and Android apps for Clickbus, a game-changing startup that modernized the way people bought bus tickets. With the successful publishing of their product and having made his mark on the Brazilian tech scene, Cicero was ready for a new challenge. In 2018, he set his sights on Europe, where he made a significant impact in the healthcare sector and even took on the role of CEO of a healthcare company. He now applies his expertise to the automobile industry, contributing to Quartett Mobile's pioneering mobile solutions.\r\n\r\nCicero's professional journey reflects a consistent focus on Android development, with a touch of Swift knowledge sprinkled throughout his career. He has developed and published a plethora of apps, from hybrid development projects to Kotlin multiplatform products. His recent focus on integrating AI with product development to enhance user experience sets him apart in the industry.\r\n\r\nDespite his technological prowess, Cicero isn't all about coding and developing. In his spare time, he indulges in his passion for photography and game development, whether digital or analog. These creative outlets not only fuel his innovative spirit but also add an extra dimension to his professional work.",
      "tagLine": "Quartett Mobile, Senior Android Engineer",
      "profilePicture": "https://cdn.sessionize.com/image/dda6-400o400o1-PA76N2zFS4hpghTRgm2oY2.jpeg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        514050
      ],
      "fullName": "Cicero Hellmann",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "6ee5ee5a-1bdd-4c54-8178-fad51f86a78a",
      "firstName": "Daniel",
      "lastName": "Horowitz",
      "bio": "I'm software engineer passionate about mobile tech and AI.\r\n\r\nM.Sc. in Artificial Intelligence at Universidad Politecnica de Catalunia (Barcelona) and Android Architect/Team leader. Working on Android develaopment since 2011",
      "tagLine": "Android @ Spotify",
      "profilePicture": "https://cdn.sessionize.com/image/4af9-400o400o1-136a8c8e-6cd5-47df-b9d6-aecdf4176121.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        503271
      ],
      "fullName": "Daniel Horowitz",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "b8e52efe-7709-4af8-8e97-cb07860b8e24",
      "firstName": "Enrico Bruno",
      "lastName": "Del Zotto",
      "bio": "Enrico is an engineer leading the Android app team at NewLook. Previously he was a senior developer at Amazon, working on the Ring alarm team, and spent a lot of years also in TUI developing their flagship app. \r\nHe has worked on Android things for over 10 years, cyclist, and volleyball player in his free time.",
      "tagLine": "Lead android developer",
      "profilePicture": "https://cdn.sessionize.com/image/97bc-400o400o1-EBNMWT8BJBtthwcUoPzCA7.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        474238
      ],
      "fullName": "Enrico Bruno Del Zotto",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "5f7faf69-dd61-4ad6-b6d8-0173cae292d8",
      "firstName": "Fatih",
      "lastName": "Giriş",
      "bio": "Fatih has studied Computer Engineering in his bachelor's degree. He got his master's degree in \"Natural Language Processing\" and he was a research assistant for 2 years. After that, he started working as a freelance mobile developer for 2 years. He joined DNB Bank as a Senior Android Developer and now he is an Android Lead in DNB Bank for Norway's top used finance app \"Mobilbank\" and the savings app \"Spare\".",
      "tagLine": "Android Lead @DNB",
      "profilePicture": "https://cdn.sessionize.com/image/42c1-400o400o1-M5pgNeuj2M86joAE5FuHRt.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        474105
      ],
      "fullName": "Fatih Giriş",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "7436a5fb-c141-48ef-95cd-ffffaea4fd0c",
      "firstName": "Filipe",
      "lastName": "Barroso",
      "bio": "Software Developer for more than 10+ years. Started working as an Android Developer at Portugal Telecom (now Altice). Afterwards, at Wingman, where he worked at apps for companies like Brisa, Federação Portuguesa Futebol, Bayer and TAP.\r\n\r\nThen found his calling with Flutter.\r\nProfessionally with Flutter since 2020 but as open source project long before that when Dart was trying to replace javascript and Flutter was called Sky.\r\n\r\nCommunity organiser for 7+ years. Founder of Flutter Portugal and helped organize more 35 Flutter events, create government and open source apps like Stay Away Covid and Fogos.pt, gave workshops and talks internationally.\r\n\r\nCurrently working as Senior Software Developer with Flutter at Carv.com",
      "tagLine": "Senior Software Developer",
      "profilePicture": "https://cdn.sessionize.com/image/db7f-400o400o1-fb-c141-48ef-95cd-ffffaea4fd0c.7645d513-59e3-46b7-b503-9859d72eee7e.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        528752
      ],
      "fullName": "Filipe Barroso",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "5c3850ee-778a-4904-bd52-a3927ec54dc6",
      "firstName": "Hakan",
      "lastName": "Bagci",
      "bio": "Hakan Bagci is an Android Staff Engineer at Delivery Hero, a food delivery company. He started Android development in 2012 and has 17 years of software development experience. He got his PhD degree in Computer Engineering. After leaving academic path, he has become a passionate Mobile Engineer and published 10+ small sized indie mobile games to both Android and iOS platforms. ",
      "tagLine": "Delivery Hero, Staff Android Engineer",
      "profilePicture": "https://cdn.sessionize.com/image/94ae-400o400o1-NZhGuqZrDBrdG5EQuLhDeE.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        482438
      ],
      "fullName": "Hakan Bagci",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "57f666e2-409c-4998-8ce1-bb98e5d6b82f",
      "firstName": "Himanshu",
      "lastName": "Singh",
      "bio": "Himanshu is an accomplished Full Stack Kotlin engineer who specializes in Android development. With a wealth of experience in the field, He is also a Google developer expert in Android and Kotlin.\r\n\r\nWith his broad skill set, which encompasses both front-end and back-end development, Himanshu is well-equipped to tackle complex projects and deliver exceptional results. His proficiency in Kotlin empowers him to create robust and efficient Android applications, pushing the boundaries of what is possible within the platform.\r\n\r\nOverall, Himanshu's multifaceted role as a Full Stack Kotlin engineer, Android specialist, Google Developer Expert, blogger, speaker, and mentor showcases his passion for technology and his dedication to advancing the field of software development. His contributions have undoubtedly made a significant impact on the community, inspiring others and fostering a culture of continuous learning and growth.",
      "tagLine": "Engineer@ NordVPN",
      "profilePicture": "https://cdn.sessionize.com/image/65cc-400o400o1-wUXeNdFfeQCJ5gHsSPF9Es.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        502283
      ],
      "fullName": "Himanshu Singh",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "1767e159-e7cf-4102-9765-cf5c99486183",
      "firstName": "István",
      "lastName": "Juhos",
      "bio": "I’m István, a software engineer from Hungary, currently working at TIER as a Senior Android Engineer. I give talks on mobile development topics and I’m a co-organizer of Kotlin Budapest. I’m passionate about Kotlin and native Android development and have academic experience with Flutter. I thrive when I have the opportunity to mentor other engineers, sharing my experience with them while constantly learning on the way. I give talks on meetups and conferences whenever possible, including occasional lectures on university courses.",
      "tagLine": "Senior Android Engineer @ TIER",
      "profilePicture": "https://cdn.sessionize.com/image/843d-400o400o1-CZsnM75u2hJEfDQ7sRoVp.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        479350
      ],
      "fullName": "István Juhos",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "9c682841-b0dd-42bf-b832-9fcc3783a0e0",
      "firstName": "Iulia",
      "lastName": "Stana",
      "bio": "First computer owned: Intel running Windows 3.1.\r\nFirst programming language: Pascal.\r\nFirst time I realised being a [good] programmer is (way) more about being able to work well with other people than writing code: late 2010,  aprox. 3 years after starting to work as a programmer.\r\nSince then I've made \"Learn. Develop. Teach.\" my mantra and tried my best to live up to it.",
      "tagLine": "Senior Android Developer@Egeniq",
      "profilePicture": "https://cdn.sessionize.com/image/fd1f-400o400o1-PyoNKw6Ei36MNRHZGBhGXC.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        512185
      ],
      "fullName": "Iulia Stana",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "3e03af94-076d-4caf-be91-2109abb3545d",
      "firstName": "João",
      "lastName": "Veloso",
      "bio": "As a dedicated and passionate software engineer with over six years of experience in mobile application development, I have been an integral part of the team behind the BMW app's Explore tab, a primary communication channel for engaging end-users. I made a transition to Flutter in 2017 due to its rapid development capabilities, and since then, I have been continuously expanding my skills and knowledge in this domain.\r\n\r\nIn addition to my full-time role, I have been actively involved in various startups, contributing to their growth and success. My most recent venture, Super Save, garnered widespread media attention, with features in multiple newspapers, radio shows, and television programs. The app achieved a remarkable milestone of over 500,000 downloads within its first year.",
      "tagLine": "Critical Techworks,Rockstar Developer ",
      "profilePicture": "https://cdn.sessionize.com/image/a95d-400o400o1-46EJRyJwtNjvCDBZjqpaKo.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        543686
      ],
      "fullName": "João Veloso",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "2af5a5e9-6cdd-471e-b5f5-0ff14e13b9a6",
      "firstName": "Juan Martín",
      "lastName": "Chiaradía",
      "bio": "Juan Chiaradia is Staff Engineer in the Mobile Platform team behind Volvo Cars App.\r\n\r\nWith 20 years on the IT industry and 12+ years on Android he has worked in a variety of projects for big and small companies, leading small teams on green field projects as well as big teams and projects with legacy code in place. \r\n\r\nHe comes from Argentina, likes sports in general, life in the nature and surfing in particular.\r\nIf an active life is not your style, you can always talk to him about books and tv shows/movies 🤓.\r\n\r\nAs an Argentinian he finds extra pride when talking about football and the last world cup 😄.",
      "tagLine": "Staff Engineer, Mobile Platform at Volvo Cars",
      "profilePicture": "https://cdn.sessionize.com/image/5b1b-400o400o1-fEiBRAc4QBzK6p2xSU9rB6.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        493557
      ],
      "fullName": "Juan Martín Chiaradía",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "462e6b97-01f9-44b1-864c-9d85bedf911b",
      "firstName": "Julien",
      "lastName": "Salvi",
      "bio": "Into the Android world for more than 10 years, I experienced California the startup way of life before coming back to France. I am currently Lead Android Engineer at Aircall where we are building the best phone system for modern businesses. Alongside Android, I have a great interest in backend development with Kotlin and AR/VR technology. In 2021, I became an Android GDE to continue my journey to always share and learn with the Android community.\r\nIn my spare time, I am a world traveler and a beer lover always looking for the best IPAs!",
      "tagLine": "Lead Android Engineer @ Aircall",
      "profilePicture": "https://cdn.sessionize.com/image/c8ba-400o400o1-4NcyaNMS4awH1Zr87u5Gve.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        474113
      ],
      "fullName": "Julien Salvi",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "ad329670-0f3e-440c-b493-e55647becc81",
      "firstName": "Kemal Selim",
      "lastName": "Tekinarslan",
      "bio": "Kemal Selim Tekinarslan is an experienced Android engineer with a decade of expertise in developing Android applications. Currently based in Berlin, he works at Holiday Pirates GmbH, focusing on the development of travel applications. With a deep passion for mobile technology and its potential to improve human lives, Kemal actively participates as an attendee at renowned events such as Droidcon series, Android Makers Paris, and ADDC Barcelona. These conferences provide him with valuable insights and inspiration, allowing him to stay updated on the latest advancements in Android development.\r\n\r\nTo further broaden his horizons, Kemal embarked on an enriching journey across the American continent, exploring new landscapes, cultures, and ideas. During his trip, he had the privilege of visiting Silicon Valley and had the opportunity to step foot in renowned tech giants like Google and Facebook. These experiences have not only expanded his perspectives but also provided him with a deeper understanding of industry trends and practices. Kemal's thirst for knowledge and diverse experiences drives him to continuously push the boundaries of his craft and make a lasting impact in the field of Android engineering.",
      "tagLine": "Holiday Pirates Gmbh - Senior Android Engineer.",
      "profilePicture": "https://cdn.sessionize.com/image/b542-400o400o1-GEsuxKwARBULriTkTmnc3j.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        512130
      ],
      "fullName": "Kemal Selim Tekinarslan",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "3189ab68-f138-44df-8924-e7ed5c05150d",
      "firstName": "Lucas",
      "lastName": "Marinho",
      "bio": "I'm a Brazilian developer with 5 years of expertise, specializing in Flutter but now venturing into full-stack. Since January 2022, I've been living in Portugal, contributing my skills to Critical Techworks. When I'm not coding, you'll find me surfing waves or enjoying a lovely dinner with my wife.",
      "tagLine": "Critical Techworks, Rockstar Developer",
      "profilePicture": "https://cdn.sessionize.com/image/239e-400o400o1-e75c0bd6-c583-478b-852b-67cc7bc43a0c.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        543686
      ],
      "fullName": "Lucas Marinho",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "aeddc24f-0e47-4934-ad76-2de7a9dc9fac",
      "firstName": "Marco",
      "lastName": "Gomiero",
      "bio": "Marco is an Android engineer, currently working at TIER.  He is a Google Developer Expert for Kotlin, he loves Kotlin and he has experience with native Android and native iOS development, as well as cross-platform development with Flutter and Kotlin Multiplatform.\r\n\r\nIn his spare time, he writes and maintains open-source code, he shares his dev experience by writing on his blog, speaking at confs and organizing events with the Google Developer Group Venezia and he plays basketball.",
      "tagLine": "Senior Android Engineer @ TIER",
      "profilePicture": "https://cdn.sessionize.com/image/0159-400o400o1-JVg7XKCfJ2g8Pi1LyNPMPA.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        479351,
        479350
      ],
      "fullName": "Marco Gomiero",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "ec2ce46d-95a8-413e-8793-45db17d966d7",
      "firstName": "Meike Felicia",
      "lastName": "Hammer",
      "bio": "Meike Felicia Hammer is a Senior Software Engineer at adesso mobile solutions GmbH and is responsible for the Android department. She has been working on mobile app development since 2009 and is regularly pleased with the implementation of related backend-for-frontend systems. Meike Felicia has been a fan of JetBrains, including Kotlin, for a long time. She is also known as the organizer of the Kotlin User Group Karlsruhe and as a speaker at MobileTechCon, Python Summit and KKON.",
      "tagLine": "Android Lead @ adesso mobile solutions",
      "profilePicture": "https://cdn.sessionize.com/image/f767-400o400o1-p853QPCP2k7XrK559NuGav.jpeg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        501520
      ],
      "fullName": "Meike Felicia Hammer",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "12052406-2d03-4184-95a1-1098d88b9ce8",
      "firstName": "Merab Tato",
      "lastName": "Kutalia",
      "bio": "Software Engineer specializing in Android. He is a fan of all things in software engineering. Out of work, Merab maintains an active podcast about work ethics and career growth and writes tech blogs. He is a GDG organizer and speaker at international conferences (DroidCon, DevFest, OWASP) and beyond. Community builder. Does 1:1 mentoring. Alongside his technological pursuits, he is an amateur cyclist and runner.\r\n\r\n\r\nreferences: \r\nhttps://www.droidcon.com/media-detail?video=491027100 - droidcon APAC 2020\r\nhttps://youtu.be/LLtzvEDqedM - DevFest Tbilisi/Vienna/Yerevan 2019\r\nhttps://youtu.be/9DVg2XymmSI?t=375 - Nullcon 2021\r\nhttps://youtu.be/KUzIGjxoMO0 - Software Development Webinar 2020\r\nhttps://youtu.be/LwEPvOx-2fU - OWASP Tbilisi 2020\r\nhttps://tatocaster.medium.com/\r\nhttps://debuggerpodcast.ge\r\n",
      "tagLine": "GDE for Android | GDG Tbilisi Organizer",
      "profilePicture": "https://cdn.sessionize.com/image/6f5b-400o400o1-ssJruY3q6U1zYEnJf1MhZH.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        512811
      ],
      "fullName": "Merab Tato Kutalia",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "a4e9ceab-61ad-490c-8fda-98cb460b44f4",
      "firstName": "Nourhan (Ellie)",
      "lastName": "Gehad",
      "bio": "Ellie Gehad is an, Android Engineer at Zalando. She worked in Egypt, UAE, and Germany. Founded Android Cookies Facebook Page, and gave several Android Development courses. Loves travel, learning & sharing knowledge.",
      "tagLine": "Android Engineer at Zalando",
      "profilePicture": "https://cdn.sessionize.com/image/5e40-400o400o1-9YHZuU4RV1tpQ63JmfS8Kq.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        493001
      ],
      "fullName": "Nourhan (Ellie) Gehad",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "0480588f-3fc1-42d8-8905-907865f73ef9",
      "firstName": "Odin",
      "lastName": "Asbjornsen",
      "bio": "Odin started working on Android as a hobby when he was is high school, and got his first job as a Software Engineer after University. At the moment he enjoys working at DNB Bank as an Android Software Engineer where he works on the most popular finance app in Norway.  If he has time, he likes to contribute to open-source projects in relation to Jetpack Compose.",
      "tagLine": "Android Software Engineer, DNB Bank",
      "profilePicture": "https://cdn.sessionize.com/image/a941-400o400o1-pPW63V36FJf4ACyhiBWqtq.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        474105
      ],
      "fullName": "Odin Asbjornsen",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "8f3cf2ab-f874-4d19-b805-d819184b4ef0",
      "firstName": "Pedro",
      "lastName": "Vicente",
      "bio": "Pedro Vicente has been hitting keys on a keyboard, to try to make code work, for almost 15+ years. He's sure he'll one day succeed. Meanwhile, he calls himself an improver, as he tries to improve team or tech-related processes to make work more pleasant for everyone",
      "tagLine": "Mobile Horizontal Lead, Software Craftsman and Improver @ Mindera",
      "profilePicture": "https://cdn.sessionize.com/image/c558-400o400o1-08341fe1-7d0f-47e1-935a-f6893039bb8a.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        513606
      ],
      "fullName": "Pedro Vicente",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "b6dc4b56-ca5d-4e55-8a57-e37f6e6d6af0",
      "firstName": "Piotr",
      "lastName": "Prus",
      "bio": "I am an android developer with 5+ years of experience, addicted to new things. I love clean architecture and clean, simple designs. I am trying to create meaningful articles and speeches. Currently composing and KMMing all the things.",
      "tagLine": "Android developer",
      "profilePicture": "https://cdn.sessionize.com/image/1a52-400o400o1-ainA1gVSSCHxugeFJdVjM2.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        513541,
        513540
      ],
      "fullName": "Piotr Prus",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "7e45fb2f-f24c-4985-8188-26e3922b7ef2",
      "firstName": "Romeu",
      "lastName": "Gomes",
      "bio": "My name is Romeu Gomes, I am 28 years old and I live in Portugal.\r\n\r\nI have been working as an Android developer at AlticeLabs S.A. for 5 years, it being the totality of my work experience.\r\nI have contributed to the development of multiple Android applications that are currently in the market, some of them being MEO Wallet, MEO Cloud, MEO Go, MEO Remote and MEO Smart-Wifi, among others. Alongside Android, I also did contribute to iOS and Windows applications. \r\nRecently, I have been working with Kotlin Multiplatform and\r\nanalyzing its benefits for Android and iOS development, having already shipped two applications that make use of it and contributing to its development by reporting issues.\r\n\r\nOutside work, I try to be active in the open-source community, having contributed to a number of different projects in the programming languages C and C++, like Radare2, a framework for reverse engineering, Newsboat, a terminal RSS reader and Neomutt, a terminal e-mail client, while also writing and sharing my own software.\r\nI also have a keen interest in cyber security, especially in regards to reverse engineering binaries, having participated in some online CTF competitions in the past, since it's a way of improving my own skills.\r\n",
      "tagLine": "Android Developer @ AlticeLabs",
      "profilePicture": "https://cdn.sessionize.com/image/b6f6-400o400o1-ETRWaPLGBSyMWrZszJrWPa.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        512603
      ],
      "fullName": "Romeu Gomes",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "8b2b43e8-a851-4dcc-8fad-c89b79aa3d59",
      "firstName": "Sagar",
      "lastName": "Viradiya",
      "bio": "Sagar Viradiya is a Google Developer Expert for Android based in Berlin. He is an Android Engineer at DeliveryHero. A 1x Engineer and coffee lover. He believes in giving back to the community in his best possible way by blogging, speaking, and mentoring. Open-source contribution and open sourcing is close to his heart. Cosmology is something that fascinates him.",
      "tagLine": "DeliveryHero, Android Engineer",
      "profilePicture": "https://cdn.sessionize.com/image/a8d2-400o400o1-JPsTZkpajFUuWbNXcpzmHE.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        513597
      ],
      "fullName": "Sagar Viradiya",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "c73c2377-026f-4b6a-b1f7-91a536c33c67",
      "firstName": "Sasha",
      "lastName": "Denisov",
      "bio": "Aleksandr is an experienced software developer with a rich background, in IT for more than 20 years. He worked with different stacks in backend, frontend and mobile fields, but since 2018 his main interest is Flutter. Aleksandr is a Flutter and Dart GDE and Head of Flutter Discipline in EPAM Systems. Co-Organizer of Flutter Berlin Meetup community.",
      "tagLine": "EPAM Systems, Chief Software Engineer, Flutter and Dart GDE",
      "profilePicture": "https://cdn.sessionize.com/image/37bc-400o400o1-77-026f-4b6a-b1f7-91a536c33c67.b048a543-27ec-463d-9935-2536de713d68.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        474637
      ],
      "fullName": "Sasha Denisov",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "8466c9d8-0d23-41da-a283-80632a241057",
      "firstName": "Sergei",
      "lastName": "Rybalkin",
      "bio": "Sergei works with JVM-based languages for more than 10 years. At Meta he is adopting and optimising Kotlin for Android. Before joining Facebook Sergei worked on Kotlin adoption for server side and frameworks at Alibaba Group.",
      "tagLine": "Kotlin @ Meta",
      "profilePicture": "https://cdn.sessionize.com/image/ffe1-400o400o1-wsXPDku78WyuH8dgTMEjA7.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        474292
      ],
      "fullName": "Sergei Rybalkin",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "555e9890-5c73-4ac2-af0f-22a6df25e636",
      "firstName": "Sergio",
      "lastName": "Sastre Flórez",
      "bio": "Android developer with 9+ years of experience, having worked for prominent companies such as Check24, Liferando, and AutoScout24, and currently consulting for Hermes Germany.\r\n\r\nHe is a passionate advocate for software testing and has authored numerous blog posts on the matter.\r\nHe has also created open-source Android UI testing frameworks like AndroidUiTestingUtils and Android Screenshot Testing Playground, and contributed to others like KasperskyLab/Kaspresso.\r\n\r\nWhen not coding, he enjoys playing sports like football, running, rollerblading or snowboarding in the mountains.\r\n\r\nHe \u2028loves challenges and making things happen.\u2028",
      "tagLine": "appDev GmbH & Co. KG, Lead Android Developer",
      "profilePicture": "https://cdn.sessionize.com/image/a276-400o400o1-W6imcj1msHKcQULtp1A4G5.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        512585,
        512586
      ],
      "fullName": "Sergio Sastre Flórez",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "11ab0997-77ab-4f0b-bbd7-a803c5f636fa",
      "firstName": "Shivay",
      "lastName": "Lamba",
      "bio": "Shivay Lamba is a software developer specializing in DevOps, Machine Learning and Full Stack Development. \r\n\r\nHe is an Open Source Enthusiast and has been part of various programs like Google Code In and Google Summer of Code as a Mentor and is currently a MLH Fellow. He has also worked at organizations like Amazon, EY, Genpact. He is a Tensorflow.JS SIG member and community lead from India. ",
      "tagLine": "Developer Relations ",
      "profilePicture": "https://cdn.sessionize.com/image/3e63-400o400o1-w6qkt9ArZuYA5AZCPMwooV.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        511835
      ],
      "fullName": "Shivay Lamba",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "5ce5717c-9326-4411-8ceb-e16ad84d9b01",
      "firstName": "Tiago",
      "lastName": "Pereira",
      "bio": "Sometimes the keys I hit on the keyboard generate a sequence of characters that resembles working code that somehow find its way into production.\r\nI'm glad my biography has passed 200 characters to be accepted",
      "tagLine": "Somebody @ Mindera",
      "profilePicture": "https://cdn.sessionize.com/image/4cb3-400o400o1-Qt5Yv1DGrJNzqEyiHwRaTn.png",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        513606
      ],
      "fullName": "Tiago Pereira",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "2f9f28ab-49f3-47e7-bba1-99d7bef4b683",
      "firstName": "Zachary",
      "lastName": "Powell",
      "bio": "With over 10 years of Android development experience, Zachary moved into DevRel at the start of 2021. While turning to the dark side and moving into management he's still very passionate about Android and all things mobile! ",
      "tagLine": "DevRel Manager at Vonage",
      "profilePicture": "https://cdn.sessionize.com/image/6a0f-400o400o1-nZf79KMXeH9xs1DqnwCxV6.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        475399
      ],
      "fullName": "Zachary Powell",
      "categoryItems": [],
      "questionAnswers": []
    },
    {
      "id": "1ee57fa9-790a-4a61-a980-6ef301818aea",
      "firstName": "Zhenlei",
      "lastName": "Ji",
      "bio": "Zhenlei is an Android engineer at N26 developing the first mobile bank app in Europe. He was previously part of the team at Venturus in Brazil, where he also got the chance to work with various partners (Sony Mobile, Motorola, etc) on their Android projects.\r\n\r\nHe has not only been developing for Android since Gingerbread but he also contributed to the AOSP (Android Open Source Project) in the Android Framework UI/UX team. He also has experience with test automation.\r\n\r\nBesides that, he is an origami enthusiast that tries to fold a piece of paper in his spare time.\r\n",
      "tagLine": "Android Engineer • Script Addicted • Origami Enthusiast",
      "profilePicture": "https://cdn.sessionize.com/image/d0f4-400o400o1-a9-790a-4a61-a980-6ef301818aea.5db3d4a0-ea4a-4268-aef6-771a82f9e73d.jpg",
      "isTopSpeaker": false,
      "links": [],
      "sessions": [
        477294
      ],
      "fullName": "Zhenlei Ji",
      "categoryItems": [],
      "questionAnswers": []
    }
  ],
  "questions": [],
  "categories": [],
  "rooms": [
    {
      "id": 34568,
      "name": "Track 1",
      "sort": 0
    },
    {
      "id": 34569,
      "name": "Track 2",
      "sort": 1
    },
    {
      "id": 38363,
      "name": "Workshop Room",
      "sort": 2
    }
  ]
}