# Android Jelly Bean

Android Jelly Bean (versioni 4.1, 4.2 e 4.3) è la decima versione di Android e il nome in codice dato a tre principali versioni del sistema operativo mobile Android sviluppato da Google.
La prima di questi tre, la versione 4.1, venne presentata alla conferenza degli sviluppatori Google I/O nel giugno 2012, concentrandosi su miglioramenti delle prestazioni progettati per dare al sistema operativo un aspetto più fluido e più reattivo, miglioramenti al sistema di notifica che consente notifiche "espandibili" con pulsanti di azione e altre modifiche interne. Altre due versioni vennero pubblicate sotto il nome di Jelly Bean rispettivamente nell'ottobre 2012 e nel luglio 2013, tra cui la 4.2, che comprendeva ulteriori ottimizzazioni, supporto multi-utente per tablet, widget nella schermata di blocco, impostazioni rapide, salvaschermo e contenuti aggiuntivi, mentre la versione 4.3 comprendeva ulteriori aggiornamenti alla piattaforma Android.
Dal 2021, le versioni Jelly Bean non sono più supportate dai servizi Google. A maggio 2019, le statistiche pubblicate da Google indicano che il 3,2% di tutti i dispositivi Android che accedono a Google Play eseguono Jelly Bean.

## Sviluppo

Android 4.1 Jelly Bean è stato presentato per la prima volta alla conferenza degli sviluppatori Google I/O, il 27 giugno 2012, con particolare attenzione ai miglioramenti dell'interfaccia utente della piattaforma e ai miglioramenti dell'esperienza di ricerca di Google sulla piattaforma (come l'integrazione Knowledge Graph, e il nuovo assistente digitale Google Now), la presentazione del tablet Nexus 7 prodotto da Asus e la presentazione del lettore multimediale Nexus Q.
Per Jelly Bean, venne fatto un lavoro sull'ottimizzazione delle prestazioni visive e della reattività del sistema operativo attraverso una serie di modifiche denominate "Project Butter": l'output grafico è ora triplo buffer, vsync viene utilizzato in tutte le operazioni di disegno e la CPU viene portata a piena potenza quando viene rilevato un input tattile, impedendo il ritardo associato agli input effettuati mentre il processore si trova in uno stato di bassa potenza. Queste modifiche consentono al sistema operativo di funzionare a 60 frame al secondo su un hardware capace.
In seguito alla versione 4.1, altre due versioni di Android sono state realizzate con il nome in codice Jelly Bean; entrambe le versioni si sono concentrate principalmente sui miglioramenti delle prestazioni e sulle modifiche alla piattaforma Android stessa e contenevano relativamente poche modifiche rivolte all'utente. Accanto a Android 4.1, Google ha anche iniziato a disaccoppiare le API per i suoi servizi su Android in un nuovo componente a livello di sistema noto come Google Play Services, servito da Google Play Store. Ciò consente l'aggiunta di alcune forme di funzionalità senza dover distribuire un aggiornamento al sistema operativo stesso, affrontando i famigerati problemi di "frammentazione" riscontrati dall'ecosistema Android.

## Pubblicazione

Ai partecipanti alla conferenza Google I/O vennero forniti tablet Nexus 7 precaricati con Android 4.1 e Galaxy Nexus che sarebbero stati aggiornati a 4.1. Google annunciò l'intenzione di pubblicare l'aggiornamento alla versione 4.1 per i dispositivi Nexus esistenti e il tablet Motorola Xoom entro la metà di luglio di quell'anno. L'aggiornamento di Android 4.1 venne distribuito al pubblico per i modelli Galaxy Nexus GSM il 10 luglio 2012. Alla fine del 2012, in seguito alla distribuzione ufficiale di Jelly Bean, un numero di OEM di terze parti iniziarono a preparare e distribuire gli aggiornamenti alla 4.1 per i propri smartphone e tablet esistenti, inclusi i dispositivi di Acer, HTC, LG, Motorola, Samsung, Sony, e Toshiba. Nell'agosto 2012 iniziarono ad essere distribuite le nightly build (versioni notturne) del firmware non ufficiale CyanogenMod basato sulla 4.1 (marchiato come CyanogenMod 10) per dispositivi selezionati, inclusi alcuni dispositivi Nexus (Nexus S e Galaxy Nexus), i Samsung Galaxy S, Galaxy S II, Galaxy Tab 2 7.0, Motorola Xoom, e Asus Transformer.
Il 29 ottobre 2012, Google svelò Android 4.2, soprannominato "una più dolce degustazione di Jelly Bean", insieme ai relativi dispositivi di lancio, Nexus 4 e Nexus 10. Gli aggiornamenti del firmware per Nexus 7 e Galaxy Nexus vennero distribuiti a novembre 2012. Android 4.3 venne successivamente distribuito il 24 luglio 2013 tramite gli aggiornamenti del firmware del Galaxy Nexus, 2012 Nexus 7, Nexus 4 e Nexus 10.

## Funzionalità
### Esperienza utente

Visivamente, l'interfaccia di Jelly Bean riflette una raffinatezza dell'aspetto "Holo" introdotto da Android 4.0. La schermata iniziale predefinita di Jelly Bean ha ricevuto nuove funzionalità, come la possibilità di altri collegamenti e widget su una pagina della schermata iniziale per riorganizzarsi per adattarsi a un elemento spostato o ridimensionato. Anche il sistema di notifica è stato migliorato con l'aggiunta di notifiche "espandibili" e "attuabili"; le singole notifiche possono ora visualizzare contenuti aggiuntivi o pulsanti di azione (come "Richiama" o "Messaggio" in caso di chiamata persa), accessibile trascinando la notifica con un gesto con due dita. Le notifiche possono anche essere disabilitate singolarmente per-app.
Per promuovere la coerenza tra le classi di dispositivi, i tablet Android ora utilizzano una versione estesa del layout dell'interfaccia e della schermata iniziale utilizzati dai telefoni per impostazione predefinita, con tasti di navigazione centrati e una barra di stato nella parte superiore. Queste modifiche hanno avuto effetto per i tablet di piccole dimensioni (come il Nexus 7) alla 4.1 e per i tablet più grandi alla 4.2. I tablet di piccole dimensioni su Android sono ottimizzati principalmente per l'uso in un orientamento verticale (verticale), dando alle app versioni estese dei layout utilizzati dai telefoni. Se utilizzate in un orientamento "orizzontale" (orizzontale), le app si adattano ai layout orientati allo schermo widescreen visualizzati su tablet più grandi. Sui tavolette di grandi dimensioni, i pulsanti di navigazione erano posizionati in precedenza nella parte inferiore sinistra di una barra nella parte inferiore dello schermo, con l'orologio e l'area di notifica in basso a destra.

### Piattaforma

Per gli sviluppatori, 4.1 ha aggiunto anche nuove API di accessibilità, supporto esteso della lingua con supporto testuale bidirezionale e keymap fornite dall'utente, supporto per la gestione di dispositivi di input esterni (come controller di videogiochi), supporto per audio multicanale, USB e gapless, una nuova API di routing multimediale, accesso a basso livello a codec audio e video hardware e software, rilevamento dei servizi basato su DNS e individuazione dei servizi pre-associati per Wi-Fi. Ora è anche possibile utilizzare Android Beam per avviare trasferimenti di file Bluetooth tramite comunicazione near-field.
Android 4.2 ha aggiunto uno stack Bluetooth riscritto, cambiando dal precedente stack Bluez (GPL originato da Qualcomm) a uno stack open source Broadcom riscritto chiamato BlueDroid. Il nuovo stack, inizialmente considerato "immaturo", ha promesso diversi vantaggi lungimiranti, incluso supporto migliorato per display multipli, supporto per Miracast, supporto nativo da destra a sinistra, strumenti di sviluppo aggiornati, ulteriori miglioramenti dell'accessibilità come gesti di zoom e una serie di miglioramenti della sicurezza interna come il supporto VPN sempre attivo e la verifica delle app. È stato aggiunto un nuovo stack NFC allo stesso tempo.
Android 4.3 consisteva in ulteriori modifiche di basso livello, tra cui Bluetooth a basso consumo energetico e supporto AVRCP, SELinux, OpenGL ES 3.0, nuove API di gestione dei diritti digitali (DRM), la possibilità per le app di leggere notifiche, un encoder VP8 e altri miglioramenti.
Android 4.3 includeva anche una funzione di privacy nascosta nota come "App ops", che consentiva agli utenti di negare individualmente le autorizzazioni alle app. Tuttavia, la funzionalità venne successivamente rimossa su Android 4.4.2; un portavoce di Google dichiarò che la funzione era sperimentale e potrebbe impedire a determinate app di funzionare correttamente se utilizzate in determinati modi. Il concetto venne rivisitato come base di un sistema di notifiche ridisegnato per Android 6.0.