Local blog for Italian speaking developers
Android Vitals: come favorire il coinvolgimento e le installazioni grazie alle prestazioni migliorate dell’app
31 luglio 2017
Pubblicato da Fergus Hurley, Product Manager, Google Play
Le scarse prestazioni delle app sono un'esperienza nota a parecchi utenti. Pensa all'ultima volta che hai avuto a che fare con un'app che si blocca, non risponde o esegue il rendering lentamente. Considera la tua reazione quando controlli la batteria sul dispositivo e scopri che si scarica velocemente per colpa dell’app. Quando un'app funziona male, gli utenti lo notano. Infatti in un'analisi interna delle recensioni delle app su Google Play, abbiamo rilevato che in metà delle recensioni a 1 stella veniva menzionata la stabilità dell'app.
Al contrario, le persone premiano sempre le app dalle prestazioni migliori con valutazioni e recensioni positive. Questo comporta un miglior posizionamento su Google Play e conseguentemente favorisce il numero delle installazioni. Non solo, ma gli utenti si sentono maggiormente coinvolti e sono disposti a investire più tempo e denaro.
In occasione di Google I/O 2017 abbiamo
annunciato
il nuovo dashboard di Android Vitals nella Google Play Console. Android Vitals è stato progettato per aiutarti a comprendere e analizzare i comportamenti indesiderati di un’app, per migliorarne le prestazioni e sfruttare i benefici derivati da prestazioni migliori.
Android Vitals nella Google Play Console
Android Vitals aiuta a individuare modi per migliorare le prestazioni della tua app. I dashboard offrono sia ai programmatori che ai titolari utili e rapide metriche di riferimento sulle prestazioni, che consentono di monitorare le applicazioni per analizzare i dati e adoperare le risorse giuste per apportare miglioramenti.
Visualizziamo i seguenti dati raccolti dai dispositivi Android i cui utenti hanno optato per condividere automaticamente i dati di utilizzo e di diagnostica:
Stabilità
: tasso di ANR e di arresti anomali
Tempo di rendering
: rendering lento (16 ms) e frame UI bloccati (700 ms)
Consumo della batteria
: wake lock bloccati e riattivazioni eccessive
Ecco come Busuu ha migliorato il suo rating da 4,1 ☆ a 4,5 ☆ concentrandosi sulle prestazioni dell’app
Busuu è una delle più grandi app di apprendimento delle lingue di tutto il mondo. Antoine Sakho, il responsabile gestione prodotti, ci racconta come Busuu è riuscita a migliorare le valutazioni degli utenti.
Engineering per alte prestazioni con gli strumenti offerti da Android e Google Play
Leggi il nostro
articolo sulle best practice
di Android Vitals per capire i dati mostrati nei dashboard e come migliorare le prestazioni e la stabilità delle app. Guarda la sessione di I/O per conoscere gli altri strumenti di Android e Google Play da utilizzare per identificare e correggere i comportamenti indesiderati.
Scopri le altre funzionalità di Play Console e tieniti aggiornato con notizie e suggerimenti per affermarti e avere successo su Google Play con l'app Playbook.
Iscriviti alla versione beta
e istallala subito.
Quanto ti è stato utile questo post?
★
★
★
★
★
Anteprima per sviluppatori di Android Things Console
28 luglio 2017
Pubblicato da
Wayne Piekarski
, Developer Advocate for IoT
Abbiamo da poco lanciato l’anteprima di
Android Things Console
. Questa console consente agli sviluppatori di gestire il software in esecuzione sulla loro flotta di dispositivi Android Things IoT, inclusa la creazione di immagini del produttore nonché l'aggiornamento del sistema operativo e degli APK forniti dagli sviluppatori. I dispositivi devono eseguire un'immagine di sistema scaricata tramite la Android Things Console per ricevere gli aggiornamenti futuri, come l'imminente Anteprima per sviluppatori 5. Google fornisce l’infrastruttura per gli aggiornamenti in modalità OTA, così gli sviluppatori possono concentrarsi sulla loro applicazione, senza dover creare implementazioni, per far entrare i loro dispositivi IoT sul mercato in modo più rapido e sicuro di prima.
Facciamo un tour della console per vedere quali caratteristiche offre.
Creazione del prodotto e impostazioni del prodotto
Lo sviluppatore innanzitutto deve definire il prodotto, inclusa la selezione del nome e del tipo di System-on-Module (SoM) su cui si basa il dispositivo. Molti sviluppatori vogliono utilizzare Google Play Services per la creazione di dispositivi IoT che è configurato qui come funzionalità opzionale. Anche le dimensioni della partizione OEM sono configurate e devono essere grandi abbastanza da includere un’eventuale crescita futura dell’APK.
Immagini del produttore
Un dispositivo richiede un firmware di base iniziale che consenta di ricevere aggiornamenti futuri per il prodotto giusto dalla console. Puoi selezionare "Create Build Configuration" per creare un'immagine del produttore predefinita con un bundle vuoto configurato per il tuo prodotto. Quindi l’immagine del produttore può essere scaricata e trasmessa al tuo dispositivo per iniziare a svilupparla trasferendo localmente un APK.
Dopo aver predisposto l'app che desideri distribuire su tutti i dispositivi del tuo prodotto, puoi caricare un bundle sulla console. Questo bundle è un file ZIP che contiene il file APK principale, i driver di spazio utente come servizio in un APK e qualsiasi altro APK lanciato dall'APK principale. È inoltre supportato un file
bootanimation.zip
che verrà visualizzato durante l'avvio. Il file ZIP del bundle caricato viene quindi utilizzato per produrre un'immagine di sistema completa che può essere implementata sui dispositivi. Ulteriori informazioni sul contenuto di questo file sono disponibili nella
documentazione
.
Aggiornamenti OTA
Questa scheda consente di selezionare l’immagine di sistema da inviare in push alla flotta dei dispositivi del prodotto. Lo sviluppatore ne seleziona una e l’opzione "Push to Devices" avvierà il processo. L’aggiornamento viene quindi eseguito in modo sicuro su tutti i dispositivi, installato in una delle partizioni A/B e attivato quando il dispositivo viene riavviato. Se vengono rilevati eventuali errori, il dispositivo esegue automaticamente il rollback alla precedente versione funzionante, in modo che sia ancora possibile effettuare gli aggiornamenti successivi. Gli sviluppatori saranno in grado di testare in anticipo le nuove versioni di Android Things e decidere se i dispositivi devono essere aggiornati automaticamente.
Feedback
Attualmente la Android Things Console è un’anteprima e stiamo lavorando su molte altre caratteristiche e personalizzazioni. Invitiamo tutti gli sviluppatori di Android Things ad andare a vedere la Android Things Console e a fornirci i loro commenti. Continua a inviarci il tuo feedback con le
segnalazioni di bug
e le
richieste di funzionalità
e mandaci eventuali domande a
Stack Overflow
. Per ulteriori approfondimenti sull’Android Things Console, leggi la
documentazione
. Incoraggiamo tutti a partecipare alla
Community di sviluppatori IoT di Google
su Google+, un'ottima risorsa per ricevere aggiornamenti e confrontarsi sulle idee.
Testare il tuo gioco con Firebase Test Lab for Android
26 luglio 2017
Pubblicato da Doug Stevenson, Developer Advocate
Testare la tua app è un ottimo modo per contribuire a ottimizzarne la qualità e molti di voi sanno che
Firebase Test Lab for Android
offre alcuni strumenti utili per le app Android. Se sei il tipo di programmatore che ama massimizzare la copertura dei test scrivendo
test instrumentati
(e normali
test di unità
), puoi inviarli a Test Lab per l'esecuzione. Se non ti piace scrivere test, hai altre opzioni. Puoi registrare i test instrumentati interagendo con l'applicazione tramite
Espresso Test Recorder
in Android Studio. Non devi fare praticamente nulla per il
Robo test
perché esegue automaticamente la scansione dell’app.
Questi test sono utili per le app basate sui dati per via dei robusti framework di test che capiscono come navigare i widget della piattaforma Android utilizzati per ricevere dati di input e visualizzarli sullo schermo. Tuttavia, la maggior parte dei giochi non funziona con i widget della piattaforma. Di solito i giochi prendono il controllo dello schermo utilizzando i propri elementi UI e fornendo i controlli touch. Di conseguenza è estremamente difficile scrivere test instrumentati per testare i giochi e il Robo test non ha idea di come analizzare i giochi.
Per affrontare queste problematiche di testing il team Test Lab ha trovato un metodo che consente agli sviluppatori di testare efficacemente i loro giochi su molti dei dispositivi forniti da Test Lab. È un nuovo tipo di test chiamato
Game Loop Test
e da oggi è disponibile in versione beta.
Come funziona il test Game Loop?
Se hai notato come funzionano i videogiochi arcade, sai che mostrano sempre qualcosa sullo schermo, in genere una versione demo automatica del gioco, chiamata "Attract Mode (modalità screen saver)". Grazie a Firebase Test Lab, ora gli sviluppatori di giochi possono utilizzare il concetto Attract Mode per costruire diversi scenari e Test Lab provvederà affinché questi scenari vengano invocati in sequenza. In tal modo gli sviluppatori hanno la possibilità di testare un'ampia varietà di livelli e situazioni di gioco in un unico test eseguito su tutti i dispositivi forniti da Test Lab. Se si verificano dei problemi con uno scenario, puoi scoprire subito di quale si tratti e concentrarti su quel caso specifico per migliorarlo.
Non solo, ma Test Lab ora fornisce dati sulle prestazioni in ogni report. Di particolare interesse per gli sviluppatori di giochi è il grafico dei fotogrammi al secondo (FPS) del test, legato a un video del display del dispositivo. In questo modo è possibile identificare subito le parti del gioco che non vengono eseguite con FPS accettabili.
Oltre agli FPS, per tutte le app sono disponibili altre
metriche sulle prestazioni
, tra cui l'utilizzo della CPU e della memoria nonché il traffico in accesso e uscita della rete. Nota come puoi andare direttamente al punto del video in cui hai rilevato problemi di prestazioni.
Se sei uno sviluppatore di giochi, è giunta l’ora di andare a vedere
Firebase Test Lab for Android
per scoprire come può aiutarti a migliorare la qualità del tuo gioco.
Sperimentare con formati di annunci VR in Area 120
24 luglio 2017
Pubblicato da Aayush Upadhyay e Neel Rao, Area 120
Nell'ambito di
Area 120
, il laboratorio interno di Google dedicato alle idee sperimentali, stiamo lavorando su progetti in fase iniziale passandoli in rassegna per testarne i concetti. Molti sviluppatori ci hanno riferito di avere la necessità di finanziare le loro applicazioni VR, quindi abbiamo iniziato a sperimentare per trovare il giusto formato di annuncio VR nativo e mobile.
Sviluppatori e utenti dicono di voler evitare esperienze pubblicitarie intrusive e difficili da implementare nella VR. Quindi la nostra idea, per un primo potenziale formato, consiste in un cubo con cui gli utenti possono interagire, se lo desiderano, per poi vedere l’annuncio video. Toccando il cubo o guardandolo per alcuni secondi, si aprirà un lettore video nel quale l'utente potrà guardare ed eventualmente chiudere facilmente il video. Ecco come funziona:
Questo progetto si basa su alcuni principi fondamentali: i formati degli annunci VR devono essere di facile implementazione per gli sviluppatori, nativi in VR, flessibili abbastanza da essere personalizzati, utili e non intrusivi per gli utenti. Il nostro team di Area 120 ha ottenuto risultati incoraggianti insieme ad alcuni partner sperimentali e vorrebbe collaborare con la community degli sviluppatori man mano che si fanno progressi nell’ambito di Cardboard (su Android e iOS), Daydream e Samsung Gear VR.
Se sei uno sviluppatore VR (o desideri diventarlo) e sei interessato a testare questo formato con noi, compila il
modulo
per iscriverti al nostro programma con accesso in anteprima. L’SDK in fase iniziale è disponibile e può essere installato e utilizzato facilmente. Siamo entusiasti di continuare a sperimentare con questo formato e speriamo che tu possa diventare uno dei nostri!
MultiModel: Machine learning Multi-Task su diversi domini
21 luglio 2017
Pubblicato da Łukasz Kaiser, Senior Research Scientist, Google Brain Team e Aidan N. Gomez, Researcher, Department of Computer Science Machine Learning Group, University of Toronto
Nell'ultimo decennio l'applicazione e le prestazioni del Deep Learning hanno fatto progressi a un ritmo sorprendente. Tuttavia, nello stato attuale di questo settore, le architetture di rete neurale sono altamente specializzate per domini di applicazione molto specifici. Un'importante domanda rimane senza risposta: far convergere questi domini agevolerà un modello unificato che può essere eseguito correttamente su diversi domini?
Oggi vi presentiamo
MultiModel
, un'architettura di rete neurale che attinge dal successo delle reti di visione, lingua e audio e consente di risolvere simultaneamente una serie di problemi relativi a molteplici domini, tra cui il riconoscimento delle immagini, la traduzione e il riconoscimento vocale. Anche se in questa direzione sono già stati fatti passi da gigante grazie a
Multilingual Neural Machine Translation System di Google
utilizzato nel Google Traduttore, MultiModel rappresenta il primo vero e proprio passo per far convergere visione, audio e comprensione della lingua in una singola rete.
L'ispirazione per la modalità di gestione di domini multipli di MultiModel deriva dal cervello stesso che trasforma le percezioni provenienti dai sensi (come udito, vista e gusto) in una singola rappresentazione condivisa per poi esprimerle esternamente nella forma di parlato o azioni. Analogamente a queste modalità e alle trasformazioni effettuate, MultiModel dispone di una serie di piccole sottoreti specifiche alla modalità per audio, immagini o testo e un modello condiviso costituito da un encoder, un mixer di input/output e un decodificatore, come viene illustrato qui.
Architettura MultiModel: piccole sottoreti specifiche alla modalità funzionano con un encoder condiviso, un mixer I/O e un decodificatore. Ogni petalo rappresenta una modalità, trasformandosi nella e dalla rappresentazione interna.
Abbiamo dimostrato che MultiModel è in grado di apprendere contemporaneamente otto attività: rilevare oggetti nelle immagini, fornire didascalie, eseguire il riconoscimento vocale, tradurre quattro coppie di lingue e fare l'analisi dei componenti sintattici allo stesso tempo. L'input viene fornito al modello insieme a un segnale molto semplice che determina il tipo di output che vogliamo. Di seguito sono illustrati alcuni esempi tratti da un MultiModel addestrato a eseguire contemporaneamente queste otto attività
1
:
Durante la progettazione di MultiModel è emerso chiaramente che alcuni elementi di ciascun dominio di ricerca (visione, lingua e audio) costituiscono una parte integrante del successo del modello nelle attività correlate. Abbiamo dimostrato che queste primitive computazionali (come le convoluzioni, l'attenzione o Mixture-of-Experts Layer) migliorano chiaramente le prestazioni nel loro dominio di applicazione originario, senza tuttavia ostacolare le prestazioni di MultiModel in altre attività. Non solo è possibile ottenere buone prestazioni nell'addestramento congiunto di attività multiple, ma effettivamente la performance migliora perfino nelle attività con quantità limitate di dati. Con nostra grande sorpresa, questo accade anche se le attività provengono da domini diversi che sembrano avere poco in comune, ad esempio un'attività di riconoscimento delle immagini può migliorare le prestazioni di un'attività linguistica.
Bisogna notare che, anche se MultiModel non stabilisce nuovi record di prestazioni, fornisce informazioni sulle dinamiche dell'apprendimento multidominio multi-task delle reti neurali e offre la potenzialità di un apprendimento ottimizzato in base ad attività con quantità limitate di dati introducendo attività ausiliari. C'è un detto di lunga data nel settore del machine learning: "La miglior regolarizzazione è avere più dati". In MultiModel, questi dati possono essere ricavati da diversi domini e di conseguenza possono essere ottenuti più facilmente di quanto non si pensasse prima. MultiModel fornisce la prova che l'addestramento congiunto di più attività può portare a buoni risultati e migliorare le prestazioni delle attività con quantità limitate di dati.
Molte domande riguardanti il machine learning multidominio rimangono aperte e continueremo a impegnarci per affinare MultiModel e migliorare le sue prestazioni. Perché questa ricerca possa procedere a buon ritmo, abbiamo reso MultiModel open source nella libreria
Tensor2Tensor
. Riteniamo che questi modelli sinergici addestrati su dati ricavati da domini multipli siano il prossimo passo nell'ambito del Deep Learning e che fondamentalmente svolgeranno attività oltre la portata delle attuali reti addestrate in modo più tradizionale.
Riconoscimenti
Il presente lavoro è il risultato della collaborazione con i Googler Łukasz Kaiser, Noam Shazeer, Ashish Vaswani, Niki Parmar, Llion Jones e Jakob Uszkoreit e Aidan N. Gomez della University of Toronto. È stato eseguito quando Aidan lavorava con il
Google Brain team
.
1
Le 8 attività sono: (1) riconoscimento vocale (corpus WSJ), (2) classificazione di immagini (ImageNet), (3) didascalie per immagini (MS COCO), (4) parsing (Penn Treebank), (5) traduzione inglese-tedesco, (7) traduzione inglese-francese, (8) traduzione francese-inglese (tutte utilizzano i set di dati WMT).
↩
Accelerare la ricerca sul Deep Learning con la libreria Tensor2Tensor
19 luglio 2017
Pubblicato da Łukasz Kaiser, Senior Research Scientist, Google Brain Team
Il Deep Learning (DL) ha consentito il rapido avanzamento di molte tecnologie importanti, come ad esempio la
traduzione automatica
, il
riconoscimento vocale
e il
rilevamento degli oggetti
. Nella comunità di ricerca si possono trovare codici open source forniti dagli autori stessi per contribuire a replicare i loro risultati e apportare ulteriori progressi al campo del Deep Learning. Tuttavia la maggior parte di questi sistemi DL utilizza configurazioni particolari che richiedono un notevole impegno ingegneristico e possono dare i risultati desiderati solo in relazione a un problema o un'architettura specifica, rendendo quindi difficile l'esecuzione di nuovi esperimenti e il confronto dei risultati.
Oggi siamo lieti di annunciare la release di
Tensor2Tensor
(T2T), un sistema open source per l'addestramento di modelli di Deep Learning in TensorFlow. T2T facilita la creazione di modelli allo stato dell'arte utilizzabili in un'ampia gamma di applicazioni ML, come la traduzione, il parsing, le didascalie per immagini e molto altro ancora, consentendoti di esplorare idee diverse più velocemente di prima. Questa versione comprende anche una libreria di set di dati e modelli, tra cui i migliori modelli di alcuni paper recenti (
Attention Is All You Need
,
Depthwise Separable Convolutions for Neural Machine Translation
e
One Model to Learn Them All
) per aiutarti a iniziare la tua ricerca DL.
Modello di traduzione
Tempi di addestramento
BLEU (differenza dalla baseline)
Transformer
(T2T)
3 giorni su 8 GPU
28,4 (+7,8)
SliceNet
(T2T)
6 giorni su 32 GPU
26,1 (+5,5)
GNMT + Mixture of Experts
1 giorno su 64 GPU
26,0 (+5,4)
ConvS2S
18 giorni su 1 GPU
25,1 (+4,5)
GNMT
1 giorno su 96 GPU
24,6 (+4,0)
ByteNet
8 giorni su 32 GPU
23,8 (+3,2)
MOSES
(baseline basata su frase)
N/D
20,6 (+0,0)
Punteggi BLEU (valore maggiore preferibile) in un'attività standard di traduzione WMT inglese-tedesco.
Per fare un esempio dei miglioramenti apportati da T2T, abbiamo applicato la libreria alla traduzione automatica. Come indicato nella tabella precedente, due diversi modelli T2T, SliceNet e Transformer, sorpassano il precedente
GNMT+MoE
, finora considerato il più avanzato. Il nostro miglior modello T2T, Transformer, supera di 3,8 punti il modello
GNMT
standard, che a sua volta era superiore di 4 punti a MOSES, il sistema di
traduzione basato su frase
. In particolare, grazie a T2T puoi accedere ai migliori risultati ottenuti in passato con una singola GPU in un giorno: un piccolo modello Transformer (non mostrato sopra) ottiene 24,9 BLEU dopo 1 giorno di addestramento su una singola GPU. Ora chiunque abbia una GPU può "armeggiare" con i propri modelli di traduzione grazie al nostro
repository github
che fornisce le
istruzioni
necessarie per farlo.
Addestramento modulare Multi-Task
La libreria T2T è creata con strumenti di TensorFlow già conosciuti e definisce i diversi componenti necessari in un sistema di Deep Learning: set di dati, architetture di modello, ottimizzatori, schemi di declino dei tassi di apprendimento, iperparametri e così via. Fondamentalmente impone un'interfaccia standard a tutti questi componenti e mette in atto le best practice correnti per ML, permettendoti così di scegliere qualsiasi set di dati, modello, ottimizzatore o insieme di iperparametri per eseguire l'addestramento e verificarne il funzionamento. Abbiamo reso l'architettura modulare, quindi qualsiasi elemento, dai dati di input all'output previsto, è una funzione da tensore a tensore (T2T). Se hai un'idea nuova per l'architettura del modello, non devi sostituire l'intera configurazione. Per tenere la parte incorporante, la perdita e tutto il resto, basta sostituire il corpo del modello con la tua funzione che utilizza un tensore come input e restituisce poi un tensore.
Grazie alla flessibilità di T2T, l'addestramento non richiede necessariamente un determinato modello o set di dati. È così facile che anche le architetture, come il famoso
modello LSTM sequenza per sequenza
, possono essere definite da
qualche riga di codice
. Si può anche addestrare un singolo modello su attività multiple ricavate da domini diversi e addirittura addestrare un solo modello su tutti i set di dati contemporaneamente. Siamo lieti di comunicare che il nostro
MultiModel
, addestrato in questo modo e incluso in T2T, offre ottimi risultati in molte attività, anche quando viene addestrato contemporaneamente su ImageNet (classificazione di immagini),
MS COCO
(didascalie per immagini),
WSJ
(riconoscimento vocale),
WMT
(traduzione) e sul corpus di parsing
Penn Treebank
. È la prima volta che un modello singolo ha dimostrato di poter eseguire tutte queste attività in contemporanea.
Best practice incorporate
Con questa release iniziale, ti forniamo gli script per generare una serie di set di dati ampiamente utilizzati nella comunità di ricerca
1
, una manciata di modelli
2
, una serie di configurazioni di iperparametri e un'implementazione performante di altri importanti trucchi del mestiere. È difficile elencarli tutti ma, se decidi di eseguire il tuo modello con T2T, riceverai gratuitamente la corretta spaziatura interna delle sequenze e la corrispondente perdita di entropia incrociata, parametri ben strutturati per l'ottimizzatore di Adam, il batching adattivo, l'addestramento distribuito sincrono, l'aumento dei dati affinato per le immagini, l'anti-aliasing delle etichette e una serie di configurazioni di iperparametri molto validi, inclusi quelli sopraelencati, che ottengono risultati avanzatissimi nella traduzione e possono aiutare anche te.
Ad esempio, l'attività di analisi delle frasi in inglese secondo gli alberi gerarchici sintattici è un problema decennale, per il quale sono stati sviluppati metodi competitivi ma anche impegnativi. Ora può essere considerato come un
problema sequenza per sequenza
ed essere risolto con le reti neurali, ma in passato richiedeva considerevoli sforzi di regolazione. Grazie a T2T abbiamo impiegato solo pochi giorni ad aggiungere il
generatore di dati di parsing
e a regolare il nostro modello di trasformer di attenzione per l'addestramento su questo problema. Con nostra grande sorpresa, abbiamo ottenuto ottimi risultati in una sola settimana:
Modello di parsing
Punteggio F1 (valore maggiore preferibile)
Transformer
(T2T)
91,3
Dyer et al.
91,7
Zhu et al.
90,4
Socher et al.
90,4
Vinyals & Kaiser et al.
88,3
Punteggi di parsing F1 sul set di test standard, sezione 23 del WSJ. Qui confrontiamo i modelli addestrati solo sul set Penn Treebank WSJ. Per ulteriori dettagli, consulta il
paper
.
Contributo a Tensor2Tensor
Oltre a esplorare modelli e set di dati esistenti, puoi definire facilmente il tuo modello e aggiungere i set di dati desiderati a Tensor2Tensor. Riteniamo che i modelli già inclusi funzionino correttamente con molte attività NLP, quindi anche solo aggiungere il tuo set di dati potrebbe produrre risultati interessanti. Grazie alla modularità di T2T, aggiungere il tuo modello e vedere come si comporta con le diverse attività sarà molto semplice. In tal modo l'intera comunità trarrà vantaggio da una libreria di baseline e la ricerca sul Deep Learning verrà accelerata. Vai al nostro
repository github
, prova i nuovi modelli e contribuisci con il tuo!
Riconoscimenti
La release di
Tensor2Tensor
è stata possibile solo grazie alla collaborazione internazionale di molti ingegneri e ricercatori. Vogliamo ringraziare in particolare il team che ha contribuito maggiormente (in ordine alfabetico):
Samy Bengio, Eugene Brevdo, Francois Chollet, Aidan N. Gomez, Stephan Gouws, Llion Jones, Łukasz Kaiser, Nal Kalchbrenner, Niki Parmar, Ryan Sepassi, Noam Shazeer, Jakob Uszkoreit, Ashish Vaswani.
1
Abbiamo incluso una serie di set di dati per la classificazione di immagini (MNIST, CIFAR-10, CIFAR-100, ImageNet), le didascalie per immagini (MS COCO), la traduzione (WMT con più lingue tra cui inglese-tedesco e inglese-francese), la modellazione linguistica (LM1B ), il parsing (Penn Treebank), l'inferenza del linguaggio naturale (SNLI), il riconoscimento vocale (TIMIT), i problemi algoritmici (oltre una dozzina di attività dall'inversione mediante somma e moltiplicazione all'algebra) e ne aggiungeremo altri. Non vediamo l'ora di ricevere anche i tuoi set di dati.
↩
2
Comprende RNN sequenza per sequenza LSTM, reti convolutive anche con convoluzioni separabili (ad es. Xception), modelli ricercati recentemente come ByteNet o la GPU neurale e i nuovi avanzatissimi modelli citati in questo post, che aggiorneremo costantemente nel repository.
↩
Anteprima per sviluppatori 4.1 di Android Things
17 luglio 2017
Pubblicato da
Wayne Piekarski
, Developer Advocate per IoT
Annunciamo l'uscita dell'Anteprima per sviluppatori 4.1 (DP4.1) di
Android Things
che introduce gli aggiornamenti per il nuovo hardware supportato e le correzioni di bug per la piattaforma. Android Things è la piattaforma di Google ideata per consentire agli sviluppatori Android di creare dispositivi Internet of Things (IoT) e passare con facilità dal prototipo alla produzione.
Nuovo hardware
È stata rilasciata la nuova scheda Pico i.MX6UL revisione B che supporta molte periferiche esterne comuni fornite da partner come Adafruit e Pimoroni. Alcuni dei prototipi della scheda Pico i.MX6UL, che erano disponibili per tester beta in passato, non sono compatibili con la DP4.1.
Miglioramenti
La DP4.1 presenta anche alcuni miglioramenti delle prestazioni rispetto alla DP4, come le ottimizzazioni che riducono il tempo di avvio dell'hardware basato su i.MX7D. L'anteprima per sviluppatori include anche una versione di Google Play Services ottimizzata appositamente per i dispositivi IoT. Questa nuova variante IoT è molto più piccola, è ottimizzata per l'uso con Android Things e richiede play-services 11.0.0 o versione successiva nel build.gradle. Per ulteriori informazioni sulle funzionalità supportate nella variante IoT di Google Play Services, consulta la
pagina informativa
.
Google I/O
La presenza di Android Things si è fatta sentire in occasione dell'ultimo Google I/O con 7 interventi sui diversi aspetti di Android Things per sviluppatori, che sono ora disponibili in formato video in una
playlist
per chi non ha potuto partecipare:
Novità per la piattaforma Google di IoT? Ubiquitous Computing a Google
Produzione di dispositivi disponibile per tutti con Android Things
Dal prototipo alla produzione di dispositivi con Android Things
Sviluppo per Android Things con Android Studio
Sicurezza per IoT su Android Things
Utilizzo di Google Cloud e TensorFlow su Android Things
Creazione per gli utenti d'impresa IoT con Android Things e Google Cloud Platform
Durante Google I/O è stata anche resa disponibile un'area codelab nella quale i partecipanti hanno potuto testare lo sviluppo di Android Things avvalendosi di alcune semplici guide di formazione. Ora chiunque può provare questi codelab su
https://codelabs.developers.google.com/?cat=IoT
Feedback
Ringraziamo tutti gli sviluppatori per il loro feedback sulle precedenti anteprime per sviluppatori. Continua a inviarci il tuo feedback con le
segnalazioni di bug
e le
richieste di funzionalità
e mandaci qualsiasi domanda a
stackoverflow
. Per scaricare le immagini di DP4.1, visita la pagina di
download
Android Things e scopri le ultime modifiche illustrate nelle
note sulla versione
. Puoi anche partecipare alla
Community di sviluppatori IoT di Google
su Google+, un'ottima risorsa per ricevere aggiornamenti e comunicare con oltre 5.600 altri membri.
Google Developers Day Europe, 5 e 6 Settembre a Cracovia
14 luglio 2017
In Google, amiamo avere conversazioni faccia a faccia con voi sviluppatori. Ci aiutano meglio a capire i vostri bisogni e migliorare la nostra offerta, così da rappresentare il mercato variegato in cui operiamo. Organizzare eventi è, per noi, un bel modo per avere queste conversazioni. Oggi apriamo le registrazioni per l’edizione europea della nostra serie di eventi globali - i
Google Developer Days (GDD)
. I Google Developer Days sono eventi in cui mostriamo gli ultimi aggiornamenti sui nostri prodotti e piattaforme, per aiutarvi a sviluppare applicazioni di qualità, far crescere e mantenere una base utente attiva e guadagnare di più.
GDD Europe
avverrà il
5-6 Settembre a Cracovia, in Polonia
. Ci saranno talk tecnici su diversi prodotti, incluso Android, Mobile Web, Firebase, Cloud, Machine Learning e IoT. In aggiunta, ci saranno opportunità per partecipare a sessioni hands-on, e la possibilità di parlare faccia a faccia con i Googlers e i Google Developer Experts.
Se sei interessato a partecipare ai GDD Europe,
la registrazione è aperta
.
Nel caso non riuscissi a venire, nessun problema. Tutti le sessioni saranno trasmesse in live streaming sul canale
YouTube Google Developers
, oltre ad essere registrate e rese disponibili dopo l’evento. E ci saranno anche diversi
GDD Extended
event organizzati in tutta Europa, per assistere all’evento assieme ad altri sviluppatori a te vicini.
Sia se parteciperai con noi di persona, sia da remoto, rimani aggiornato sulle ultime novità usando l'hashtag
#GDDEurope
su
Twitter
,
Facebook
, e
Google+
.
Presentazione di Fastlane precheck: invia la tua app all'App Store in tutta tranquillità
12 luglio 2017
Pubblicato da Joshua Liebowitz, Software Engineer
Può capitare a tutti: lavori incessantemente per creare una bella app, passi ore infinite a fare il testing beta e a risolvere i bug dopo aver creato un piano di marketing completo giusto in tempo per il lancio dell'app. Mesi di febbrile attesa finalmente culminano nell'invio dell'app all'App Store... ma invece di celebrare la nuova release, scopri che l'app non ha soddisfatto i requisiti necessari per l'inserimento negli elenchi ed è stata rifiutata.
Non c'è nulla di più demoralizzante che inciampare proprio prima del traguardo.
Le linee guida dell'App Store possono essere complicate e difficili da ricordare perché cambiano costantemente; ciò non toglie che gli sviluppatori devono rispettarle per far approvare le loro app. A volte è facile trascurare o ignorare queste linee guida nel mezzo di tutte le altre importanti operazioni di prelancio.
Per aiutarti a evitare inutili ritardi e rifiuti, siamo molto contenti di presentare Fastlane precheck per le app iOS!
Ora puoi contare su di noi per rammentare le regole e inviare la tua app in tutta tranquillità.
Ricontrolla la tua app in pochi secondi per evitare giorni di ritardi
Spesso le app vengono rifiutate dagli App Store a causa di problemi semplici e risolvibili riguardanti i metadati (ad esempio titolo, descrizione, changelog, parole chiave ecc.). Una volta respinta, l'app deve essere reinviata e possono passare giorni prima che venga ricontrollata. È uno spreco di tempo e può influire sulla tua tabella di marcia.
Invece di rischiare di ricevere un rifiuto o di dover faticosamente verificare i metadati, da ora puoi utilizzare Fastlane precheck per risparmiare tempo e fatica. Fastlane esaminerà la tua app alla ricerca delle cause più comuni di rifiuto.
Ad esempio i metadati saranno analizzati per controllare che rispettino le seguenti regole dell'App Store iOS:
Nella descrizione non sono menzionate altre piattaforme
Nel testo non sono presenti parolacce
Non sono presenti placeholder
Non sono presenti URL interrotti
Se rileviamo qualche problema, te lo segnaleremo così potrai risolverlo prima di inviare l'app all'App Store
. Visto che Fastlane può scaricare automaticamente i metadati della tua app, tutto questo processo richiederà solo pochi secondi!
Altre novità interessanti in arrivo
Fastlane precheck è il primo strumento nuovo che abbiamo aggiunto al nostro toolkit per l'automazione di app dopo l'ingresso in Google e abbiamo in serbo per te altri aggiornamenti ancora più interessanti! Dopo esserci posizionati in questo nuovo ambito, non vediamo l'ora di rendere disponibile Fastlane alla dinamica community di sviluppatori iOS e Android.
Per il momento
installa Fastlane
o aggiorna la tua versione di Fastlane (basta eseguire `fastlane update_fastlane`) per
provare Precheck
e inviare la tua app in tutta tranquillità.
Originariamente questo post è stato pubblicato nel
blog Fabric
. Fastlane è un set di strumenti per l'implementazione e l'automazione di app entrato a far parte di Firebase a gennaio nell'ambito dell'acquisizione di Fabric.
Google Cloud Launcher per un maggiore supporto dei container
10 luglio 2017
Pubblicato da Quan To, Senior Program Manager
I container sono una metodologia ripetibile e affidabile di implementazione sulla
Google Cloud Platform
(GCP). Visto il numero sempre crescente di richieste di adozione dei container, riscontriamo una chiara necessità di offrire più container preconfezionati, sicuri e mantenuti, che i clienti possano implementare facilmente nel loro ambiente. In occasione di Google Cloud Next '17, abbiamo
lanciato
le immagini base di runtime dei container per Debian, Ruby, OpenJDK, Jetty, Node.js e ASP.NET Core. Oggi siamo lieti di aggiungere i seguenti container gestiti da Google:
Cassandra
ElasticSearch
Jenkins
MongoDB
MySQL
Nginx
PostgreSQL
RabbitMQ
Redis
Wordpress
Le soluzioni container di Google sono gestite dagli sviluppatori di Google. Dal momento che manteniamo le immagini, i container disponibili su Google Cloud Launcher saranno aggiornati in base agli ultimi aggiornamenti delle applicazioni e di sicurezza.
Le soluzioni usate per costruire i container sono disponibili su
GitHub
affinché sia visibile pubblicamente come sono state create. Puoi utilizzare gli script e modificarli per creare la tua particolare versione di container. Ci impegniamo a garantire che i container non siano gonfiati e siano immagini "vanilla" (ossia standard, semplici).
A parte quello per l'infrastruttura, non ci sono costi aggiuntivi per utilizzare questi container, e sono compatibili con Docker e Kubernetes. Le immagini di container possono essere usate sulla GCP con
Google App Engine
,
Google Container Engine
, Docker o persino al di fuori della GCP in un ambiente
Kubernetes
in locale. Sono soluzioni a livello di produzione, ossia puoi implementarle su una macchina virtuale compatibile e gestire la tua attività da lì.
Il nostro team di sviluppatori desidera ricevere i feedback quindi sentiti libero di pubblicare sull'Issue tracker di GitHub in relazione alle soluzioni container, inclusi gli eventuali problemi o le richieste di funzionalità. Guarda l'elenco completo delle soluzioni container open source gestite dai Googler
qui
.
Se ancora non conosci GCP,
puoi facilmente iniziare dai
300 dollari di credito che offriamo per 12 mesi.
Presentazione di Blockly 1.0 per Android e iOS
7 luglio 2017
Pubblicato da Erik Pasternak e il Kids Coding Team
Negli ultimi cinque anni gli sviluppatori hanno creato centinaia di progetti con
Blockly
, la nostra libreria open source per la creazione di esperienze di programmazione basate su blocchi, che spaziano da piattaforme educative come
Code.org
a kit elettronici come
littleBits
e persino a strumenti di creazione di app Android come
MIT App Inventor
. Lo scorso anno
abbiamo annunciato la nostra collaborazione
con lo Scratch Team per sviluppare
Scratch Blocks
, un fork di Blockly ottimizzato per creare app di scrittura di codice per bambini.
Abbiamo finalizzato la release 1.0 di Blockly per Android e iOS. Queste versioni dispongono di tutto ciò che serve per utilizzare Blockly in modalità nativa nelle app mobili, tra cui:
UI standard di Blockly
Blocchi, categorie di toolbox, e layout personalizzati
Funzioni, variabili, mutatori ed estensioni
Generazione di codice in JavaScript, Python, Dart, PHP e Lua
Supporto per internazionalizzazione (anche per le lingue RTL)
Anche se il nostro aggiornamento 1.0 è incentrato sui dispositivi mobili nativi, negli ultimi sei mesi abbiamo creato diversi aggiornamenti anche per il progetto web. Abbiamo apportato importanti modifiche alle prestazioni e al testing e aggiunto API più strutturate e un supporto touch migliorato per il web mobile. Abbiamo anche migliorato il supporto per Internet Explorer e Edge, ora infatti Blockly è completamente supportato su IE10+.
Inoltre ci siamo impegnati molto per cercare di semplificare lo sviluppo multipiattaforma! Ora tutti i blocchi possono essere definiti da JSON, permettendoti così di utilizzare un unico insieme di definizioni in blocco per web, iOS e Android. Per ulteriori dettagli su tutte e tre le piattaforme ti segnaliamo questa
documentazione
.
Inizia subito con il nostro
Codelab iOS
(presto anche Android)! Per saperne di più su Blockly guarda questo
video introduttivo
, visita il nostro
sito web per sviluppatori
, iscriviti alla nostra
mailing list
o inizia subito a scrivere il codice per
web
,
Android
o
iOS
.
Le novità su Analytics
5 luglio 2017
Pubblicato da Krista Seiden, Firebase Analytics
A Firebase sappiamo che il primo passo verso il miglioramento delle app è capire come gli utenti interagiscono con loro: quali parti amano, in quali parti hanno difficoltà e quali parti purtroppo non utilizzano. Per questo motivo abbiamo creato Google Analytics for Firebase partendo da zero e abbiamo ottenuto una soluzione di analisi mobile completa, dotata di analisi delle app gratuita e illimitata, appositamente progettata per app mobili.
Se hai letto bene l'ultima frase, avrai notato che il prodotto precedentemente conosciuto come Firebase Analytics ora si chiama "Google Analytics for Firebase". Non ti preoccupare, si tratta dello stesso prodotto analitico che conosci e ami, e più tardi parleremo di questo cambiamento di nome.
Nell'ultimo anno abbiamo apportato diversi miglioramenti a Google Analytics for Firebase, inclusa l'aggiunta di
StreamView
, che ti dà un'idea di come gli utenti interagiscono con l'app in un preciso momento, e DebugView, che ti consente di visualizzare nel dettaglio quali eventi di analisi (ed errori!) potrebbero verificarsi in un dispositivo di prova.
Quest'anno in occasione di Google I/O, siamo stati contentissimi di
annunciare
molti nuovi miglioramenti che rendono l'analisi dei dati ancora più efficace. Se non hai potuto seguire gli interventi (
guardali su YouTube
), ti offriamo un breve riepilogo delle ultime novità su Google Analytics for Firebase.
Reporting dei parametri personalizzati
Con Google Analytics for Firebase puoi inviare fino a 25 parametri personalizzati insieme a qualsiasi evento che registri nella tua app. Ad esempio, se devi inviare un evento
end_of_round
in un gioco, puoi inviare un parametro
user_score
o
premium_coins_earned
insieme a quell'evento. Analizzando questi diversi valori dei parametri, puoi quindi assicurarti che il tuo gioco abbia la distribuzione di punteggio elevato o di tasso di payout generale che desideri.
Ma finora è stato impossibile visualizzare i risultati della maggior parte di questi parametri evento personalizzati senza prima esportarli in BigQuery per eseguire l'analisi. Essere in grado di visualizzare i riepiloghi di questi parametri evento direttamente nella Console Firebase è la richiesta di funzionalità che abbiamo ricevuto più frequentemente da quando Analytics è stato lanciato l'anno scorso. Quindi siamo molto lieti di annunciare che sono stati intrapresi i primi passi necessari per rendere disponibili questi report.
Per iniziare a utilizzare i parametri evento personalizzati in Firebase, devi comunicare a Google Analytics for Firebase quali sono i parametri che ti interessano. Per fare ciò, vai all'evento desiderato nella Console Firebase e fai clic su "Aggiungi parametri evento" nell'interfaccia. Da lì puoi specificare un parametro, annotare se è un numero o una stringa ed eventualmente aggiungere le unità di misura.
Una volta effettuate queste operazioni, i riepiloghi dei parametri saranno visualizzati direttamente nella console. Ti mostreremo somme e medie dei valori numerici e un elenco dei valori più comuni per le stringhe.
Come per gli altri report di analisi disponibili in Google Analytics for Firebase, è possibile filtrare questi report in base alle proprietà utente o al tipo di pubblico, per comprendere meglio come utenti diversi interagiscono con l'app in modi diversi.
Attualmente puoi generare report di riepilogo con un massimo di 50 parametri evento differenti.
Livello gratuito di archiviazione in BigQuery
Naturalmente se desideri analizzare un maggior numero di parametri evento personalizzati o vuoi eseguire un'analisi più avanzata di quella offerta dalla Console Firebase, ora puoi esportare i dati di Google Analytics direttamente in BigQuery, il data warehouse di Google nel cloud. L'analisi dei dati in BigQuery è molto potente e consente di eseguire qualsiasi tipo di query ad hoc o analisi personalizzata sui dati, pertanto incoraggiamo tutti i nostri sviluppatori a provarla.
Per assisterti in questo processo, abbiamo aggiunto un livello gratuito di archiviazione a BigQuery (10 GB di dati, a essere esatti) per ogni progetto che sfrutta Google Analytics for Firebase. Combina questo livello di archiviazione gratuito con l'utilizzo di 1 TB di query mensili gratuite fornito da BigQuery e potrai eseguire una grande quantità di analisi BigQuery pagando una cifra irrisoria. E con i nuovi modelli di report analitici in Data Studio, rendere eleganti i report sui parametri personalizzati (o su qualsiasi altro valore che puoi misurare in BigQuery) diventa un gioco da ragazzi.
Firebase e AdMob
Abbiamo apportato alcuni importanti miglioramenti alla comunicazione tra Firebase e AdMob. Proprio come il caffellatte e i biscotti, mettere insieme Firebase e AdMob produce una nuova emozionante combinazione di sapori che integra i punti di forza di entrambi i prodotti.
Grazie al collegamento dell'account AdMob con Firebase, l'app registra automaticamente gli eventi di analisi associati ad AdMob (insieme alle
unità pubblicitarie mediate
), proprio come nel caso di qualsiasi altro evento analitico. Ciò consente a Google Analytics for Firebase di creare report su impressioni, clic e tempi di esposizione degli annunci, suddividendoli in base alle caratteristiche importanti, quali schermo, formato dell'annuncio o unità pubblicitaria. Questo rende più facile che mai scoprire quali siano gli annunci più efficaci, più redditizi e visualizzati più a lungo dell'app.
Collegare gli account AdMob e Firebase offre inoltre un quadro completo di quali siano le aree più proficue della tua app. Sia i report APRU del dashboard sia le metriche Lifetime Value dei report di Attribuzione ora includono i ricavi generati dalla pubblicità AdMob nonché dagli acquisti in-app.
Ciò contribuisce a ottenere una migliore comprensione di quali siano le entrate dell'app e a valutare con maggiore precisione quali campagne di crescita attirano gli utenti che spendono di più.
Tracking automatico delle schermate
Se, come nel mio caso, ti piace trascorrere il tempo libero a leggere le ultime note sulla versione di Firebase, avrai notato che alcuni mesi fa Firebase ha iniziato ad aggiungere il supporto per il
tracking delle schermate
agli eventi che stava registrando. Questo mese abbiamo aggiunto i report di tracking delle schermate in Google Analytics for Firebase che ti consentono di vedere le prime tre schermate che gli utenti si soffermano a guardare. Puoi visualizzare queste informazioni nella sezione User Engagement del Dashboard Firebase.
Il reporting sul tracking delle schermate lavora dietro le quinte registrando automaticamente un evento
screen_view
ogni volta che si verifica una transizione di schermata. Gli eventi vengono poi combinati sul server per offrire un quadro più completo del percorso dell'utente nell'ambito dell'app. Proprio come gli altri eventi, puoi visualizzarli in StreamView, DebugView o analizzarli con BigQuery. Se desideri personalizzare questi eventi (ad esempio, sei uno sviluppatore di giochi che dispone di più "schermate", tutte all'interno dello stesso ViewController), puoi farlo utilizzando l'
impostazione manuale di questi eventi
sul client.
Maggiore attribuzione dei partner
Puoi già utilizzare Google Analytics for Firebase per il
monitoraggio delle attribuzioni
che ti aiuta a scoprire, non solo quali reti pubblicitarie ti inviano gli utenti, ma quali inviano gli utenti preziosi che ti interessano di più. Siamo lieti di annunciare una nuova integrazione con DoubleClick Digital Marketing che includerà il monitoraggio dell'attribuzione per DoubleClick Campaign Manager e Bid Manager. Aggiungilo alle oltre 50
reti pubblicitarie di terze parti
(sempre in aumento!) integrate nel nostro sistema e Firebase potrà aiutarti a prendere la decisione giusta su come investire nella pubblicità grazie a dati concreti di attribuzione cross-network.
Nome nuovo, stesso fantastico prodotto
Abbiamo sostituito il marchio Firebase Analytics con Google Analytics for Firebase per rendere chiaro che da ora in poi questa è la soluzione di analisi che consigliamo per tutte le app mobili. In realtà dietro le quinte continuerai a utilizzare l'SDK Firebase Analytics con il suo modello basato su eventi per generare i tuoi dati di analisi.
Se usi il vecchio SDK di Google Analytics Services nelle tue app esistenti, non ti preoccupare: non andrà da nessuna parte, ma ti consigliamo di iniziare ad aggiungere l'SDK Firebase nelle versioni future. L'utilizzo dell'SDK Firebase ti consente di accedere agli ultimi report di Google Analytics for Firebase e alle nuove funzionalità appena diventano disponibili. Se sei un fan di Google Analytics di lunga data, puoi anche sfruttare Google Tag Manager per inviare automaticamente i dati degli eventi a quei report. Per ulteriori informazioni su questo argomento, abbiamo scritto un post del blog qualche mese fa che descrive alcune strategie per far lavorare insieme queste librerie di analisi nella tua app.
Leggilo appena puoi
.
Provalo subito!
Siamo contentissimi di aver apportato questi miglioramenti a Google Analytics for Firebase, che sono ora disponibili nel seguente documento
Leggilo prima o poi
(vai a vedere il progetto demo come esempio). Se ancora non hai aggiunto Analytics al tuo prodotto, puoi trovare
qui
tutta la documentazione necessaria per farlo. Provalo e facci sapere cosa ne pensi!
Conosciamo i cinque sviluppatori Android che si impegnano a migliorare la vita a livello mondiale
3 luglio 2017
Pubblicato da Maxim Mai, Apps Partnerships, Google Play
In occasione di Google I/O 2017, abbiamo annunciato i
vincitori della Google Play Awards di quest'anno
. Prenditi un po' di popcorn e guarda la
cerimonia di premiazione
. Non sarà da meno di quella degli Oscar! Quest'anno abbiamo aggiunto una categoria per celebrare i successi degli sviluppatori che pubblicano app eccezionali dall'impatto sociale positivo.
Nell'introdurre questa categoria di premi, ci siamo ispirati ai
17 Obiettivi di Sviluppo Sostenibile (SDG)
delle Nazioni Unite. Dal momento che sono in grado di raggiungere oltre un miliardo di dispositivi Android attivi in tutto il mondo, riteniamo che gli sviluppatori abbiano un'opportunità fantastica di fare la differenza nei programmi Fame Zero (
SDG n. 2
), Salute e benessere (
SDG n. 3
), Istruzione di qualità (
SDG n. 4
) e molti altri ancora. Continua a leggere per saperne di più sul vincitore e sui finalisti di quest'anno e il loro impatto su questi obiettivi.
Contattaci per parlare della tua app o del tuo gioco d'impatto sociale
Il nostro lavoro nel sostenere il successo degli sviluppatori in quest'area su Android e Google Play è solo all'inizio. Vorremmo incoraggiare gli sviluppatori Android che si impegnano nel sociale a
mettersi in contatto con noi qui a Google Play
e a parlarci della loro app o gioco. Non importa dove ti trovi, quali problemi stai risolvendo o a quali paesi ti rivolgi, vorremmo conoscere la tua storia e magari aiutarti a crescere più velocemente e a migliorare la qualità della tua app.
Vincitore e finalisti d'impatto sociale della Google Play Awards 2017
ShareTheMeal
delle Nazioni Unite
Il vincitore della categoria Google Play Awards, ShareTheMeal, crea una grande consapevolezza globale per il programma "Fame Zero" e le donazioni degli utenti servono a pagare i pasti nelle scuole forniti da World Food Programme nelle regioni di tutto il mondo colpite dall'insicurezza alimentare. Dal suo lancio più di 13 milioni di pasti sono stati donati tramite l'app!
Charity Miles
di Charity Miles
Si tratta di un'app con impatto sociale che monitora la corsa, la camminata e l'andare in bicicletta. Charity Miles raccoglie fondi di beneficenza da parte degli utenti per ogni miglio che percorrono tramite i suoi sponsor di fitness di marca. Gli utenti hanno già donato 2 milioni di dollari in beneficenza, registrando oltre 40 milioni di miglia!
Peek Acuity
di Peak Vision
Peek Acuity consente a chiunque abbia un telefono Android di misurare facilmente l'acutezza visiva, che è una delle abilità visive principali. L'app è stata progettata da professionisti dell'ottica per aiutare a identificare le persone che possono aver bisogno di un ulteriore esame, ad esempio da parte di un optometrista o un oculista. Nei paesi in via di sviluppo, molte sono le persone che lottano con disabilità visive e molti non hanno facile accesso a uno specialista.
Prodeaf Translator
di ProDeaf Tecnologias Assistivas
Questa app permette a chiunque di tradurre frasi e parole dal portoghese alla Lingua dei segni brasiliana (Libras) o dall'inglese alla Lingua dei segni americana (ASL). Ciò riduce notevolmente le barriere di comunicazione tra milioni di persone che dipendono da Libras o ASL come "lingua franca" e per altri che non hanno avuto l'opportunità di imparare questa forma di comunicazione.
Sea Hero Quest
di GLITCHERS
Non è solo un gioco, è una missione per aiutare gli scienziati a combattere la demenza! Sembra troppo bello per essere vero ma è proprio un gioco nel quale, pur divertendoti a inseguire creature che popolano mari magici e paludi, puoi contribuire a combattere una malattia che colpisce attualmente 45 milioni di persone nel mondo. Anzi giocando a SEA HERO QUEST per soli 2 minuti puoi generare l'equivalente di 5 ore di dati di ricerca di laboratorio.
Se stai lavorando su un'app o un gioco con un impatto sociale positivo, non dimenticare di
metterti in contatto con noi tramite questo modulo
e selezionare la casella di controllo "App di impatto sociale".
Quanto ti è stato utile questo post?
★
★
★
★
★
Etichette
Android
Firebase
machine learning
Google Cloud Platform
GDL
Eventi
Google Developers Live
Google Play
TensorFlow
App
Chrome
Cloud
api
GDLItalia
GDE
GDG
Google Assistant
iOS
Kotlin
Actions on Google
Deep Learning
AppEngine
AMP
BigQuery
Cloud Functions
Flutter
Android Studio
Google Developers Expert
Università
Google AppEngine
JavaScript
AI
Android Wear
GAE
Google Play Store
HTML5
Maps
security
Android App Development
AngularJS
IoT
Kubernetes
Annunci
Cloud Firestore
Cloud Machine Learning
Google I/O
Polymer
Android Things
Community
DevTools
Google App Engine
intelligenza artificiale
Entrepreneurship
Firebase Analytics
GSoC
Games
Google Cast
ML
open source
Crashlytics
Dart
Diversity
Drive
Google Data Studio
Google Play Games
TensorFlow Lite
Android Developers
Android O
Cloud Spanner
Cloud TPU
Compute Engine
DevFest
Google Compute Engine
Google Developers
Material Design
Mobile
PWA
Python
Startup
AIY Project
ARCore
Android Jetpack
AndroidDev
Androidq
Apps Script
Artificial Intelligence
Augmented Reality
Firebase Cloud Messaging
Google Cloud
Google Maps
Gsuite
IO19
ML kit
Research
VR
coding
unity
#io19
AR
Android Dev Summit
Android Developer
Android Q
Cardboard
Cloud AI
Coral
Developers
Dialogflow
Firebase Realtime Database
Gmail
Google AI
Google Cloud Messaging
Google ContainerEngine
Google Play Console
Kotlin Coroutines
NLP
Programming
Responsive Design
TensorFlowjs
Testing
WTM
Women
beacons
cloud storage
developer
node JS
student programs
women techmakers
API Cloud Vision
Add-ons
Android P
AndroidDevStory
Animation
AutoML
Brillo
Classroom
DSC
Database
Developer Student Clubs
Edge TPU
Fabric
Featured
Flutter Web
G Suite
GWT
GoLang
Google
Google Brain
Google Cloud Next
Google Container Engine
Google Developer Groups
Google I/O Extended
Graph
Hosting
Instant Apps
Keras
Livedata
Mobile Sites
Prediction
Privacy
Project Tango
SDK
Stackdriver
Tales
UI
Udacity
Virtual Reality
Web
Web Development
YouTube
analytics
android security
api.ai
courses
google io
indies
natural language processing
reti neurali
sign-in
young developers
2d Animation
3d
AIY
ARkit
Adversarial Learning
Alpha
Android App
Android App Developmen
Android App bundle
Android Architecture
Android Architecture Components
Android Auto
Android Automotive OS
Android Dev Summit Android Developer
Android Developer Challenge
Android Developers GooglePlayAwards
Android Development
Android Go
Android Instant App
Android Pie
Android Q Scoped Storage
Android Q audio
Android Styles
Android audio playback capture
Android codelabs
AndroidTV
AndroidX
Angular
Aogdevs
Api Design
App Development
App Distribution
Apps
Architecture
Architecture Components
Arduino
Best Practices
Betatesting
Bugs
C++
Certification
Cloud Anchors
Cloud Next
Cloud Run
Cloud Service Platform
Cloud Shell
Cloud Study Jam
Coached Conversational Preference Elicitation
Commerce
Community Connector
Computer Science
Consistency
Containers
Converge
Conversation Design
Crash Reporting
DLS Design
Dagger
Data Science
Databases
Dependency Injection
Design
Developer Communities
Developer Community
Developer Culture
Developer Story
Developing Media Apps
Development
Eager
Edge TPU Dev Board
Education
Emulatore Android
Error Message
Eslint
Europe
Firebase Extensions
Firebase Summit 2019
Firebasehosting
Flutter 1.5
Flutter at IO
FlutterDark
GCE
GDD
Game Development
Gboard
Gesture Navigation
Glass
Go
Google AI Quantum
Google App Script
Google Cloud Functions
Google Cloud billing
Google Coral
Google Developer Days
Google Home Hub
Google IOS Android
Google Identity Platform
Google Launchpad
Google Lens
Google Now
Google Photos
Google Play Devs
Google Play Indie Games Festival
Google Play Instant
Google Plus
Google codelabs
Google+
GoogleDevWeekly
GoogleLaunchpad
GooglePlay
Graphics
Healthcare
I/O
IO
IO19 Flutter
In-app Billing
Indie Games
Indie Games Festival
Indie games showcase
Indie showcase
Ingress
Instant Games
Issues
Java
Jetpack
Knative
Kotlin Beginners
Kotlin Everywhere
Kotlin codelabs
Lighthouse
Live Caption
Live Streaming
Localization
Location
M-Theory
Mondaygram
Monetization
NYT
NativeScript
Navigation
Neural Graph Learning
Neural Structured
Nodejs
OS
OS Updates
Olivex
One Time Codes
Online Education
PHA
Performance Monitoring
Policy
Posenet
Project Mainline
Project Treble
Quantum Computing Theory
Reactive Programming
Regression
Remote Config
Resonance Audio
Room
Scoped Storage
Semantics
Semi Supervised Learning
Serverless
Sms Retriever Api
Sms Verification
Speech Recognition
Swift
Tensorflow Core
Tensorflow Hub
Test Lab
Text
Tokenizer
Tpu
Transformers
UX
UX Design
UX Research
Universal Sentence Encoder
Unsupervised Data Augmentation
Unsupervised Learning
User Experience
Viewmodel
Voice
WWW
Wear OS
WebAssembly
Widget
Women in Tech
WomenTechmakers
android kotlin
app stability
assistant
audio recording
augmented faces
authsub
best practices and updates
billing
botnet
business
c++ games
cancer
chatbot
chrome privacy
codelab
codelabs
competition
daydream
designer
dominio .dev
error handling
event
firebase games
firebase gdc
firebase hosting
firebase unity
game center authentication
game testing
games authentication
gdc
google summer of code
googledevelopers
grow
hashcode
indie
indie developers
internship
kids
machine intelligence
machine learning accelerator
maker
multi-platform
nearby
oauth
openid
performance
persistent AR
privacy sandbox
prizes
prototype
purchase flows
queries
realtime
responsible AI
security rules
showcase
solutions challenge
startup africa roadtrip
startup times
students
summer of code
unity crashlytics
verify apps
win
Archivio Blog
2020
feb
gen
2019
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2018
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2017
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2016
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2015
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2014
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2013
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
Feed
Follow @GoogleDevsItaly