Google has announced Android 13’s first developer preview. The new version, codenamed Tiramisu, brings new privacy and security features and upgraded design, features continuing on Android 12’s Material You design elements. The build is already available exclusively for Pixel devices at the moment.
Thursday’s announcement featured an overview of Android 13’s features, as well as a definitive release timeline for further developer and preview builds leading up to the final release. Some of the newly added features include a photo picker, new WiFi permission and several new APIs to help developers test how these changes may affect their apps.
The final build is expected to appear sometime around July or August, a tad bit quicker than its predecessor, released in October last year. However, with bugs still riddling Android 12’s release on several devices, including Google’s Pixel lineup, it’ll be interesting to see how Google manages the two versions.
Order of the day: Privacy and Security
The first developer release was focused on Android 13’s privacy and security, developer productivity and app compatibility features. The two new security focussed features for the first build are a photo picker that allows users to share photos and videos securely with apps and new WiFi permission to minimise the need for apps to ask for location permissions.
The Photo Picker
Android 13 is implementing a system photo picker as a standard and optimised way for users to safely share local or cloud-based photos. The standard document picker works by allowing users to share specific documents with any apps without that app necessarily having permission to view files on the device.
The new photo picker builds on this functionality with a dedicated picker for media files. Apps can now use the photo picker API to access shared photos and videos without needing permission to view media files on the device.
The feature will be coming to more Android users running Android 11 and higher as part of a MediaProvider module update delivered via Google Play system updates.
Nearby device permissions for WiFi
A new runtime permission that has been introduced in Android 13 is the NEARBY_WIFI_DEVICE permission, part of the wider NEARBY_DEVICES permissions group. This will be required for any apps that call commonly used WiFi APIs and enables them to discover and connect to nearby devices over WiFi without needing location permissions.
Previously, this was a problem for apps that needed to connect to nearby WiFi devices but didn’t need the actual device location as they had to resort to location permissions. Hopefully, this new permission will promote privacy-friendly app designs while reducing having to work with different permissions for developers.
Developer productivity and App compatibility enhancements included too
Apart from Android 13’s security and privacy features, several tools and APIs released should help developers get their apps made faster. Here’s a rundown of all additional features released in Android 13’s first developer build.
Developer productivity and tools
The new OS brings a Quick Settings Placement APIs allowing developers to show a prompt to the user to add the app’s custom tile to Quick Settings directly.
In Android 12, the Material You themed icons were limited to only Google apps; in Android 13, these icons are now being extended to all apps. The developer must include a monochromatic app icon and a tweak to the adaptive icon XML file.
Other than that, there are several additional features as follows:
- Per-app language preferences: This will let developers call a new platform API to set or get the user’s preferred language and display the app in that language, regardless of the system language.
- Faster hyphenation: Hyphenation makes wrapped text easier to read and the app’s UI more adaptive. Hyphenatisation performance has been optimised by as much as 200% so that developers can enable it in their TextViews with negligible impact on rendering performance.
- Programmable shaders: Android 13 also adds support for programmable RuntimeShader objects, allowing devlopers to implement effects like ripple, blur, and stretch overscroll in their apps.
- OpenJDK 11 updates: Android’s Core Libararies are also getting algined with the OpenJDK 11 LTS release with both libarary updates and Java 11 support for app and platform developers.
Android 13 also brings update enhancements and optimisations for different form-factors, including foldable and large-screen devices.
- More updates through Google Play: Google Play system updates are getting more importance as different modules can now be updated using this pipeline. New modules such as Bluetooth and Ultra wideband have also been added for easier update deliver with more to come.
- Opt-in changes are now toggleable: To make testing and debugging easier, a lot of opt-in changes are now being made toggleable, allowing developers to force-enable or disable them using Developer Options or adb.
Apart from these changes, Google has also published its platform stability milestones and instructions for developers to optimise their apps for different form factors, including tablets, foldable and Chromebooks.