This guide links to three documents that chart the optimal progression of a social or messaging app from a likely starting place to best-in-class. These documents cover use cases around messaging, media creation, and media playback. They're designed to help you think about scaling your app over time, and what features to implement when. While every social or messaging app is different, consider these recommendations to achieve a best-in-class app.

## Messaging and communication

Communication is a critical part of social and messaging apps, and Android continues to evolve APIs and services to make the user experience more integrated and consistent.

### Level up your app

Ways to help your app stand out include:

- Support for receiving[rich content](https://developer.android.com/develop/ui/views/receive-rich-content), including stickers and images through Android's Image Keyboard, drag and drop, and clipboard.
- Support for browsing and selecting user photos and videos, either local or in the cloud, using Android's built-in[photo picker](https://developer.android.com/training/data-storage/shared/photopicker).

See the[full guide](https://developer.android.com/social-and-messaging/guides/communication/basic-better-best)for features to take your messaging and communication experience to the next level.

## Media creation, capture, and sharing

Capturing videos, editing photos, and processing media content are fundamental features of social and messaging apps, and Android has created APIs that support the latest device hardware features, along with libraries that simplify integration into your app.

### Level up your app

Ways to help your app stand out include:

- Capture[UltraHDR images](https://github.com/android/platform-samples/blob/main/samples/camera/camera2/src/main/java/com/example/platform/camera/imagecapture/Camera2UltraHDRCapture.kt)and[HDR video](https://developer.android.com/media/camera/camera2/hdr-video-capture).
- Utilize[camera extensions](https://developer.android.com/media/camera/camera-extensions)such as night mode or bokeh (for portrait shots).
- Support[zero shutter lag](https://developer.android.com/media/camera/camerax/take-photo#zero-shutter-lag).
- Edit video with[custom effects](https://developer.android.com/media/media3/transformer/transformations#custom-video).

See the[complete guide](https://developer.android.com/social-and-messaging/guides/media-creation/basic-better-best)for features to consider to take your media capture, editing, and sharing experience to the next level.

## Media display and playback

Whether your app integrates images and videos or delivers immersive audio experiences, media enriches user interactions and elevates app engagement. Android continues to evolve APIs to minimize the complexity of integrating media while making the user experience more integrated and consistent.

### Level up your app

Ways to help your app stand out include:

- Support[UltraHDR](https://developer.android.com/media/grow/ultra-hdr-display)images and[HDR](https://developer.android.com/media/grow/hdr-playback)video.
- Enable[picture-in-picture](https://developer.android.com/develop/ui/views/picture-in-picture)for video and audio playback.
- Implement a[MediaSession](https://developer.android.com/guide/topics/media/media3/getting-started/mediasession)--- made easy with[Media3s](https://developer.android.com/guide/topics/media/media3)[ExoPlayer](https://developer.android.com/guide/topics/media/exoplayer)--- to enable playback integration across different apps, system components, and devices.

See the[full guide](https://developer.android.com/social-and-messaging/guides/media-display/basic-better-best)for features to consider to take your media display and playback experience to the next level.