

Sebastiano Poggi
UX Engineer at Google working on Android Developer UX
Vicenza, Italy
Emerging from the foggy plains of northern Italy 🇮🇹 after working at a smartwatch startup, Sebastiano moved with his curls to London 🇬🇧 💂 to do great things at AKQA and then Novoda. After a few years at JetBrains, he's now joined Google and is in Italy once again 🇮🇹. He really wishes he had more time to write technical articles on his blog, but he's live coding on Twitch in the meantime on https://codewiththeitalians.it
Links
Area of Expertise
Topics
Modern Mobile Development: Native vs Cross-Platform
A question every mobile app project has to ponder is: do we want to go native, or do we want to use a cross-platform framework? And if we go the cross-platform route, which framework better suits our needs?
The choice is never easy, and requires a holistic understanding of the project’s needs, and the specific strengths and weaknesses of each approach. No two products are alike, no two companies are alike, and as such, there is no absolutely right answer. On the other hand, there are potentially many “wrong” answers that we need to identify. So, how to choose? As the common refrain in software engineering goes, “it depends”.
This session aims to give you the knowledge and tools necessary to make the best possible choice for your product, not just from a technical point of view, but also considering the impacts on the teams and the company. By covering some of the history of cross-platform frameworks, and identifying the unique pros and cons of each potential approach, we’ll reach a better understanding of the question itself, and get ready to make one of the most impactful choices for your product.
What about a desktop app?
As Android devs, folks generally don’t do desktop development. They might do some scripting, but as soon as you need a user interface and want to use Kotlin in your desktop app, things get quite desperate. Swing is an old tech that’s impervious to newcomers and full of gotchas; JavaFx and TornadoFX aren’t much better; and using frameworks like Qt from Kotlin is going to take a toll on your mental wellbeing.
Or at least, this used to be the case!
We’ll see how, with Compose for Desktop, you can take much of your existing UI skill set from Jetpack Compose and apply it to create tools that run on desktop computers. There are some gotchas and some differences to be aware of, and this talk will cover them pointing out what is and isn’t there yet in Compose for Desktop.
Practical Advanced Kotlin in Practice
Getting started with Kotlin is as easy as saying “I want lambdas”, sure — but that’s only scratching the surface of the brave new world that adopting Kotlin will open up for Java and Android developers. In this workshop we’ll look at a number of language features and tips to make the most of the Kotlin Programming Language™ in our day-to-day work.We’ll touch on several topics, including property delegates, threading and coroutines, callbacks vs function references, sealed classes, member and extension functions, default parameters, typealiases, data classes and destructuring. For each of them, we’ll go over a series of dos and don’ts and best practices making sure you get the most out of Kotlin.
Note for attendees:
Make sure you have a laptop computer with an up-to-date version of IntelliJ IDEA or Android Studio, with an up-to-date Kotlin plugin, and ideally the latest version of Kotlin and Gradle already in your local caches. We all know how conference Wi-Fi is :)
Let the IDE do that for you
Android developers are very lucky: there is a world-class IDE, Android Studio, that we can use to write our apps. Compared to what's available on other platforms, we're absolutely spoiled. And yet, most folks only scratch the surface of what the IDE can do for us. There's a gazillion features, plugins, and tricks that make life much easier, just waiting to be discovered.
With our faithful companion, the Find Action tool, we'll explore what lies beneath the surface and learn many cool tricks in this live-coded session (what could possibly go wrong?) to save time and avoid repetitive tasks, improve pairing, and our code. You'll walk away with a bag of tips to improve your productivity and with the mindset to exploit all the features of IntelliJ-based IDEs such as Android Studio.
Compose beyond Material
Jetpack Compose is here to stay, and most teams will adopt it sooner or later. Creating Material UI with Compose is straightforward thanks to the generous amount of ready to use Material composables that the team at Google provided, what if your company has their own design system?
This session will cover the Compose blocks, explaining what you can reuse and what you’ll need to create from scratch, and show you an example of how to get started creating your own composables for your own design language, without having to reinvent the wheel.
App Clinic
A bunch of Android experts will come on stage, discovering a few applications in live, they will provide feedback and advices to the developers.
Propose your application for the review by sending the Play Store link or the APK to app.clinic@androidmakers.fr
QCon Plus May 2022
Modern Mobile Development: Native vs Cross-Platform — https://plus-archive.qconferences.com/plus2022/presentation/modern-mobile-development-native-vs-cross-platform
Android Makers 2022
1. App Clinic — https://www.youtube.com/watch?v=Zwp2gsA1xic
2. Let the IDE do that for you — https://www.youtube.com/watch?v=mE2wL9yDqLc
3. Practical Advanced Kotlin in Practice [workshop]
4. Office hours: Kotlin in practice
QCon London 2022
Sessions:
1. Modern Mobile Development: Native vs Cross-Platform — https://qconlondon.com/london2022/presentation/modern-mobile-development-native-cross-platform
2. Panel: Cyclic Trends in Frontends - Is Server-Side Rendering Back? — https://qconlondon.com/london2022/presentation/cyclic-trends-frontends-server-side-rendering-back
droidcon Italy webinar
Ktor to your heart’s content: easy mobile backends in Kotlin — https://www.youtube.com/watch?v=p8RA-3t0jGA
Kotlin/Everywhere Stockholm
Practical Advanced Kotlin in Practice [Workshop]
https://speakerdeck.com/rock3r/practical-advanced-kotlin-in-practice
DevFest Levante 2019
Practical Advanced Kotlin in Practice [Workshop]
Getting started with Kotlin is as easy as saying “I want lambdas”, sure — but that’s only scratching the surface of the brave new world that adopting Kotlin will open up for Java and Android developers. In this workshop we’ll look at a number of language features and tips to make the most of the Kotlin Programming Language™ in our day-to-day work.We’ll touch on several topics, including property delegates, threading and coroutines, callbacks vs function references, sealed classes, member and extension functions, default parameters, typealiases, data classes and destructuring. For each of them, we’ll go over a series of dos and don’ts and best practices making sure you get the most out of Kotlin.
https://speakerdeck.com/rock3r/practical-advanced-kotlin-in-practice
AppBuilders 2019
Computer Says No — Static Analysis and CI in a Kotlin World
https://speakerdeck.com/rock3r/computer-says-no-static-analysis-and-ci-in-a-kotlin-world-app-builders-2019
Android Makers Paris 2019
Uplift — Material shadows on Android
https://androidmakers.fr/schedule/2019-04-23?sessionId=REB-6912
Droidcon Italy 2019
Computer Says No — Static analysis and CI in a Kotlin world [1.0]
https://it.droidcon.com/2019/it/talks/415-computer-says-no-static-analysis-and-ci-in-a-kotlin-world
MCE 2018
It’s bigger on the inside: mind-bending scrolling in Flutter
https://speakerdeck.com/rock3r/bigger-on-the-inside-flutter-scrolling-explained
Android Makers Paris 2018
Portable Material: Flutter physical models 1.1
https://speakerdeck.com/rock3r/portable-material-flutter-physical-models-1-dot-1
Droidcon Turin 2018
Portable Material: Flutter physical models [1.0]
https://speakerdeck.com/rock3r/portable-material-flutter-physical-models
Droidcon Italy 2015
Two talks, including opening keynote
Droidcon Paris 2013

Sebastiano Poggi
UX Engineer at Google working on Android Developer UX
Vicenza, Italy