Surface Duo Blog

Announcing FoldAwareColumn in Accompanist Adaptive

Hello Jetpack Compose developers, This week, we’re super excited to announce the release of ! This new component is part of Accompanist, Google’s “sandbox” for experimental Jetpack Compose APIs. The Accompanist Adaptive library already contains the component, which we tested out late last year, so will be the second ...

JetchatAI gets smarter with embeddings

Hello prompt engineers, A few weeks ago we finished a series of posts building an AI chatbot using the Jetchat sample with OpenAI. The sample uses the chat and image endpoints, but has the same limitation as many LLMs, which is that its knowledge is limited to the training data (for example, anything after September 2021 is not ...

Improved navigation support in TwoPaneLayout

Hello Jetpack Compose developers, This week, we’re excited to announce an update to our TwoPaneLayout library! You can now use with destinations that accept navigation arguments. This new feature was originally suggested by two developers in our feedback forum, so special thanks to @tscholze and @Papes96 for staying ...

Blossoming love for Compose animation

Hello Jetpack Compose developers, Today we’ll be finishing up our blog series on animations in Jetpack Compose! This content was inspired by Nicole Terc’s Composable Sheep talk from droidcon NYC. Over the past two weeks, we covered some basics graphics, animation canvases, and basic animations. This week, we’ll polish ...

Blooming love for Compose animation

Hello Jetpack Compose developers, Today we’ll be continuing our blog series on animations in Jetpack Compose! This content was inspired by Nicole Terc’s Composable Sheep talk from droidcon NYC. More basic animations We’ll be continuing to use our method and composable to build animations in this post, so if you haven...

Budding love for compose animation

Hello Jetpack Compose developers, Last week, we did some Compose animation work to build a typing indicator in a chat app. For our next blog series, I’ll be diving into more animation topics with a project inspired by Nicole Terc’s Composable Sheep talk from droidcon NYC. Her composable sheep talk series inspired me to work on ...

Jetchat with OpenAI on Android

Hello prompt engineers, The last three blogs have been about exploring the OpenAI API completion, edit, and image endpoints from Android, using HttpClient and crafting JSON requests and responses. This post is about implementing the chat API in an Android app, using the open-source client library openai-kotlin on GitHub. The library...

Relay Anchor Leg: Overall impressions

Hello Compose developers, Over the last two weeks, I’ve given a brief introduction to Relay, as well as talked about some of the tips and tricks I picked up while using the tool. This week, I’ll share my thoughts on the current state of Relay from the developer point of view. As a reminder, Relay is in alpha, so please go...

Relay Leg 2: Tips and tricks

Hello Compose developers, Last week, I gave a brief introduction to Relay, the new Figma to Compose tool developed by Google. This week, I’ll dive deeper into some tips and tricks I learned when testing out Relay, As a reminder, Relay is in alpha, so please go try it out and send the Relay team your feedback! Putting Relay...