December 31st, 2023

2023 year in review

Craig Dunn
Principal SW Engineer

Hello Android developers,

2023 was the year that machine learning and artificial intelligence really became mainstream, and we covered both topics with a focus on Android implementations. We published series on using the ONNX machine learning runtime, building Android apps with Microsoft Graph, and tutorials for Jetpack Compose developers! Take a look back at all the best posts from 2023…

OpenAI on Android

The blog focused heavily on working with OpenAI on Android using Kotlin, starting with some basic API access and then building out the JetchatAI demo using a variety of techniques including embeddings, “RAG” (retrieval augmented generation), images, functions, and more. Here are some of our favorite posts:

Topic

Blog posts

Assistants API

Introduction to Assistants

Assistant API on Android

Code interpreter

Functions

DALL*E image generation

DALL*E 3 image generation on Android

Embeddings API

Add embeddings to chat

Vector caching (redux)

More efficient embeddings

Chat API

Add AI to the Jetchat sample

Chat memory with functions

Sliding chat window

“Infinite chat” with history summarization

“Infinite chat” with history embeddings

Document chat

Chunking for citations

Other topics

Chat functions weather demo

Dynamic SQL queries

Prompt engineering tips

Tokens and limits

We also talked about responsible AI and speech-to-speech conversations with AI. All these posts used the OpenAI API but the same features are available via the Azure OpenAI Service.

ONNX on Android

ONNX runtime is a cross-platform machine learning foundation that can be added to Android apps. There was a series of posts to get started with ONNX on Android:

You can also use ONNX Runtime with Flutter!

Microsoft Graph on Android

Microsoft Graph provides a unified programming model to a rich data set across Microsoft applications and services, that can also be integrated into custom applications. This series of posts showed how to authenticate with MSAL and then integrate data with a custom Android app:

Jetpack Compose

The Jetpack Compose highlight of the year was this animation series inspired by a droidcon talk:

Some of these animation ideas were applied to the Jetchat AI Compose sample.

There was also a series on Relay for Figma and creating styles to import designs from Figma to your Jetpack Compose application UI.

And finally, some tips for foldable Android developers – a new FoldAwareColumn in Accompanist and Improved navigation support in TwoPaneLayout.

Feedback

If you have any questions about OpenAI, ONNX, Microsoft Graph, or Jetpack Compose, use the feedback forum or message us @surfaceduodev.

Author

Craig Dunn
Principal SW Engineer

Craig works on the Surface Duo Developer Experience team, where he enjoys writing cross-platform code for Android using a variety of tools including the web, React Native, Flutter, Unity, and Xamarin.

0 comments

Discussion are closed.