Speaker

Sebastiano Poggi

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

Area of Expertise

  • Information & Communications Technology

Topics

  • Kotlin
  • Android
  • Software Engineering
  • Continuous Integration
  • Static Analysis
  • UI/UX Design
  • Backend

Meet Jewel: create IDE plugins in Compose 🤌

Jetpack Compose is the declarative UI toolkit for Android that makes it easy to create beautiful, responsive apps. However, until recently, there was no easy way to use Compose to create IDE plugins without too many compromises. Jewel is a new library that solves this problem by providing a set of tools and components that make it easy to create Compose for Desktop-based plugins for Android Studio and IntelliJ IDEA.

In this talk, we will introduce Jewel and show you how to use it to create your own IDE plugins. The session will cover the following topics:

* Why Compose makes a huge difference in IDE plugin development
* How to set up Compose in your IDE plugin project
* What's Jewel, a library implementing the IntelliJ themes and a composables
* What are the tradeoffs in using Compose and Jewel
* Case studies of existing implementations
* What's the future for Jewel and Compose as a plugin UI framework

This talk is intended for Android developers who are familiar with Compose but have never created an IDE plugin because they don't wanna learn Swing. By the end of this talk, you will have a good understanding of how to use Jewel to create your own Compose-based IDE plugins.

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

droidcon San Francisco 2022 Sessionize Event

June 2022 San Francisco, California, United States

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

April 2022 Paris, France

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

April 2022 London, United Kingdom

droidcon London 2021 Sessionize Event

October 2021 London, United Kingdom

TIME TO LEVEL UP - SOFT SKILLS SUMMIT Sessionize Event

June 2021

droidcon Italy Sessionize Event

November 2020 Turin, Italy

droidcon EMEA 2020 Sessionize Event

October 2020 Nusa Dua, Indonesia

droidcon Italy webinar

Ktor to your heart’s content: easy mobile backends in Kotlin — https://www.youtube.com/watch?v=p8RA-3t0jGA

June 2020

Android Makers Paris 2020 Sessionize Event

April 2020 Paris, France

Kotlin/Everywhere Stockholm

Practical Advanced Kotlin in Practice [Workshop]
https://speakerdeck.com/rock3r/practical-advanced-kotlin-in-practice

November 2019 Stockholm, Sweden

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

August 2019 Gallipoli, Italy

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

April 2019 Lugano, Switzerland

Android Makers Paris 2019

Uplift — Material shadows on Android
https://androidmakers.fr/schedule/2019-04-23?sessionId=REB-6912

April 2019 Paris, France

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

April 2019 Turin, Italy

MCE 2018

It’s bigger on the inside: mind-bending scrolling in Flutter
https://speakerdeck.com/rock3r/bigger-on-the-inside-flutter-scrolling-explained

June 2018 Warsaw, Poland

Android Makers Paris 2018

Portable Material: Flutter physical models 1.1
https://speakerdeck.com/rock3r/portable-material-flutter-physical-models-1-dot-1

April 2018 Paris, France

Droidcon Turin 2018

Portable Material: Flutter physical models [1.0]
https://speakerdeck.com/rock3r/portable-material-flutter-physical-models

April 2018 Turin, Italy

Droidcon Italy 2017

April 2017 Turin, Italy

MCE^3 2016

April 2016 Warsaw, Poland

Droidcon Italy 2016

April 2016 Turin, Italy

Devoxx BE 2015

November 2015 Antwerpen, Belgium

Droidcon London 2015

October 2015 London, United Kingdom

Droidcon NYC 2015

August 2015 New York City, New York, United States

Droidcon Italy 2015

Two talks, including opening keynote

April 2015 Turin, Italy

Droidcon Amsterdam 2014

November 2014 Amsterdam, The Netherlands

DevFest Berlin 2014

November 2014 Berlin, Germany

Droidcon London 2014

October 2014 London, United Kingdom

Droidcon Paris 2014

September 2014 Paris, France

Droidcon London 2013

October 2013 London, United Kingdom

Droidcon Paris 2013

June 2013 Paris, France

Sebastiano Poggi

UX Engineer at Google working on Android Developer UX

Vicenza, Italy