In the evolution of the Android operating system, few milestones are as historically significant or as transformative for user privacy as API Level 23, famously known as Android 6.0 Marshmallow. Released in October 2015, API 23 fundamentally reshaped how applications interact with user data, device hardware, and the underlying system.
Here is a look back at why API 23 remains a watershed moment in mobile development history and why its legacy continues to influence modern software engineering.
1. The Revolution of Runtime Permissions
Before API 23, Android followed an “all-or-nothing” installation model. When a user downloaded an app from the Google Play Store, a comprehensive list of requested permissions (access to the camera, contacts, location, storage, etc.) was displayed upfront. If the user wanted the app, they had to accept all permissions at once. If they objected to even one, the only choice was not to install the app at all.
API 23 introduced Runtime Permissions, shifting permission requests from installation time to runtime.
- Just-In-Time Prompts: Apps could now request sensitive permissions (like accessing the microphone or location) precisely when the feature requiring it was actually used.
- Granular Control: Users gained the power to grant or deny individual permissions and could even revoke them later through the device settings without uninstalling the app.
- Developer Mindset Shift: Developers could no longer assume persistent access; codebases had to gracefully handle scenarios where a user clicked “Deny.”
2. Power Management: Doze Mode and App Standby
Battery anxiety was a major pain point for mobile users in the mid-2010s. API 23 introduced core features designed to drastically improve battery life:
- Doze Mode: When a device was left unattended, screen-off, and stationary, it entered a deep sleep state called Doze. The system periodically woke up in maintenance windows to handle pending syncs and jobs, drastically cutting background battery drain.
- App Standby: This feature put apps that weren’t actively being used into a restricted background state, ensuring idle applications didn’t silently drain system resources or network data.
3. Other Defining Features of API 23
Beyond permissions and power management, Marshmallow packed several other foundational updates:
- Native Fingerprint Authentication: API 23 provided standard system APIs for hardware-backed fingerprint scanners, paving the way for secure mobile banking, password managers, and lock-screen authentication.
- Direct Share: Apps could target specific direct-share targets (like a specific contact in a messaging app), making sharing content faster and more contextual.
- Text Selection Improvements: Floating contextual action menus appeared right next to highlighted text for functions like cut, copy, paste, and web search.
4. Legacy and Modern Relevance
Though Android has advanced significantly past API 23 into modern versions like Android 14, 15, and beyond, API 23 established the modern behavioral contract between users, apps, and operating systems.
For a long time, API 23 served as a common historical baseline for minimum SDK requirements (minSdk) in Android development, representing a stable floor before newer constraints like scoped storage and advanced background execution limits took over.
Ultimately, API 23 wasn’t just an incremental platform update—it was the moment Android grew up regarding digital privacy and resource management.
Leave a Reply