Nell'ultimo anno ho incontrato centinaia di clienti per parlare di come l'intelligenza artificiale abbia modificato il concetto di ciò che è possibile. Abbiamo analizzato il modo in cui gli algoritmi riducono i carichi di lavoro per medici e infermieri classificando in modo intelligente i pazienti, creando un ponte tra i giornalisti e un pubblico globale grazie a una traduzione linguistica accurata e persino riducendo i tempi di attesa del servizio clienti attraverso una funzione di risposta automatica alle richieste più comuni. Sono stato colpito dalle innumerevoli applicazioni dell'intelligenza artificiale per risolvere tantissimi problemi aziendali per i nostri clienti, i quali tuttavia esprimono un certo grado di incertezza e preoccupazione riguardo all'IA.
Se da un lato questa tecnologia consente di realizzare cose straordinarie, dall'altro implica il rischio di conseguenze indesiderate. Questo ha spinto molti dei nostri clienti a porsi una domanda: "Come possiamo beneficiare dell'intelligenza artificiale evitandone i rischi?"
Per mettere queste considerazioni in prospettiva, spesso inizio presentando l'immagine in alto. Si tratta del Web browser Mosaic come appariva nel 1993, penso che sia una metafora appropriata per rappresentare la posizione dell'IA nel 2018. Come il Web della metà degli anni Novanta, l'IA di oggi sta rapidamente passando da una nicchia accademica a essere una tecnologia mainstream. La rivoluzione di Internet ha comportato vantaggi e rischi, di conseguenza siamo tenuti a considerare l'intera gamma di possibilità che abbiamo di fronte. Dopotutto, se era facile comprendere che tecnologie come la posta elettronica e l'invio di messaggi di testo ci avrebbero aiutato a rimanere in contatto, non lo era altrettanto immaginare il loro ruolo nella diffusione di software dannosi o del cyberbullismo.
Il prossimo decennio probabilmente porrà sfide ancora più complesse di quelle del vecchio Web, ma sono rincuorato dall'entusiasmo che i nostri clienti hanno dimostrato nell'affrontare queste sfide in modo proattivo. In realtà, continuiamo a porci le stesse domande:
Pregiudizi: Come possiamo essere sicuri che i nostri modelli di machine learning trattino ogni utente in modo equo e giusto?
Interpretabilità: Come possiamo rendere l'intelligenza artificiale più trasparente, in modo da avere una migliore comprensione delle relative raccomandazioni?
Evoluzione della forza lavoro: Come possiamo sfruttare responsabilmente il potere dell'automazione, assicurando al contempo che la forza lavoro di oggi sia preparata per ciò che verrà domani?
Buoni propositi: Infine, come possiamo essere sicuri di utilizzare l'intelligenza artificiale per fare del bene?
Siamo portati a immaginare algoritmi infallibili e oggettivi, ma la verità è che i modelli di machine learning sono affidabili quanto i dati su cui sono addestrati. E poiché sono gli esseri umani i responsabili di trovare, organizzare ed etichettare tali dati, è fin troppo facile che anche la minima irregolarità produca una differenza significativa nel risultato. Ancor più grave, dal momento che gli algoritmi lavorano a velocità sovrumane e su scale globali, i pregiudizi che ne derivano non vengono solo duplicati, vengono ingigantiti.
Sebbene questi pregiudizi possano essere il prodotto di un pregiudizio deliberato, i nostri punti ciechi giocano un ruolo decisamente più pervasivo. Ad esempio, abbiamo una tendenza naturale a gravitare verso le persone e le idee che confermano le nostre convinzioni, evitando quelle che li mettono in discussione. È un fenomeno noto come pregiudizio di conferma, che può alterare anche la percezione degli sviluppatori più benintenzionati.
Inoltre, poiché i pregiudizi sono già presenti nel mondo che ci circonda, anche i dati raccolti in modo fedele possono rispecchiarli. Ad esempio, i volumi di testo più antichi, spesso utilizzati per addestrare i modelli di machine learning che si occupano di elaborare e tradurre linguaggio naturale, possono perpetuare stereotipi dannosi se non vengono corretti. Il lavoro seminale condotto da Bolukbasi et al. ha quantificato questo fenomeno con inquietante chiarezza, dimostrando quanto facilmente i modelli linguistici statistici possano "apprendere" assunti obsoleti sul genere, come ad esempio accade per la lingua inglese con i termini "doctor" (dottore/dottoressa), inteso unicamente come "maschile", e "nurse" (infermiere/infermiera), inteso unicamente come "femminile". Problemi simili, noti come pregiudizi intrinseci, sono stati dimostrati anche in relazione alla razza.
Stiamo affrontando questi problemi su diversi fronti e la consapevolezza è tra i più importanti. Per promuovere una più ampia comprensione della necessità di equità in tecnologie come l'apprendimento automatico, abbiamo creato risorse educative come ml-fairness.com e il modulo sull'equità recentemente annunciato nel nostro corso intensivo sulla conoscenza dei sistemi di ML.
Abbiamo anche visto una tendenza incoraggiante verso la documentazione come mezzo per capire meglio cosa succede all'interno di una soluzione di machine learning. All'inizio di quest'anno, i ricercatori hanno suggerito un approccio formale alla documentazione dei set di dati, specialmente quando contengono informazioni incentrate sull'uomo o demograficamente sensibili. Basandosi su questa idea, i ricercatori di Google hanno proposto delle "schede modello", ovvero un formato standardizzato per descrivere gli obiettivi, le ipotesi, le metriche delle prestazioni e persino le considerazioni etiche di un modello di machine learning. Già a prima vista risulta evidente che le schede modello sono pensate per aiutare gli sviluppatori, indipendentemente dalle competenze in ambito di machine learning, a prendere decisioni consapevoli sull'utilizzo responsabile di un determinato componente.
Naturalmente, ci siamo sempre impegnati a fornire agli sviluppatori strumenti affidabili, e la sfida posta dai pregiudizi non è diversa. Questo processo inizia dalla documentazione integrata, come la nostra Guida inclusiva all'ML integrata in AutoML, e si estende a strumenti come TensorFlow Model Analysis (TFMA) e What-If Tool, che forniscono agli sviluppatori le informazioni analitiche di cui hanno bisogno per essere sicuri che i loro modelli si rivolgeranno a tutti gli utenti in modo equo. TFMA semplifica il modo di visualizzare le prestazioni di un modello in una serie di circostanze, caratteristiche e sottoinsiemi della relativa popolazione di utenti, mentre What-If consente agli sviluppatori di eseguire facilmente analisi controfattuali, facendo luce su ciò che potrebbe accadere se le caratteristiche chiave venissero scambiate, come i dati demografici di un determinato utente. Entrambi gli strumenti forniscono modalità interattive e coinvolgenti per esplorare nel dettaglio il comportamento del machine learning, consentendo di identificare errori in termini di equità e rappresentazione.
Infine, stiamo sfruttando il potere della comunità attraverso Kaggle, la nostra piattaforma di data science. L'Inclusive Images Challenge che abbiamo recentemente annunciato affronta il tema della diversità geografica distorta nei set di training per immagini, che comporta delle difficoltà per i classificatori i quali spesso si trovano ad avere a che fare con raffigurazioni di persone provenienti da regioni sottorappresentate. I concorrenti sono sfidati a creare modelli con un grado di generalizzazione geografica maggiore, senza incorporare nuovi dati, in modo da rendere realizzabili strumenti più inclusivi e solidi che possano soddisfare una base di utenti globale. Siamo ottimisti sul fatto che i progressi raggiunti con questo compito potranno essere applicati anche ad altri contesti, e siamo entusiasti di presentarne i risultati alla Conference on Neural Information Processing Systems del 2018.
Sono orgoglioso della strada che stiamo intraprendendo e credo che le conoscenze e gli strumenti che stiamo sviluppando svolgeranno un ruolo importante nel rendere l'intelligenza artificiale più equa. Ma nessuna azienda può risolvere da sola un problema così complesso. La lotta contro i pregiudizi richiederà un impegno collettivo modellato sugli input forniti da una serie di parti interessate, che noi ci impegniamo ad ascoltare. Mentre il nostro mondo continua a cambiare, noi continueremo a imparare.
Per quanto pressante sia la sfida posta dai pregiudizi, questa fa parte di una domanda ancora più importante: "In che modo l'intelligenza artificiale può ottenere la nostra fiducia?" Poiché il machine learning svolge un ruolo sempre più importante nelle decisioni che erano un tempo dominio esclusivo degli esseri umani, la risposta dipenderà sempre più da un fattore cruciale: la responsabilità.
Fin dalla loro creazione, molti algoritmi di deep learning sono stati trattati come scatole nere, poiché anche i loro creatori hanno difficoltà a delineare con precisione ciò che accade tra input e output. Non possiamo aspettarci di ottenere la fiducia delle persone se continuiamo a trattare l'IA come una scatola nera, poiché la fiducia deriva dalla comprensione. Mentre la logica dei software tradizionali può essere messa a nudo con un esame riga per riga del codice sorgente, una rete neurale è una fitta rete di connessioni modellate sull'esposizione a migliaia o addirittura milioni di esempi di addestramento. Il risultato è un compromesso in cui si ottiene flessibilità al costo di una spiegazione intuitiva.
Grazie all'istituzione di una serie di best practice, a un insieme di strumenti sempre più ampio e all'impegno collettivo a puntare a risultati interpretabili sin dall'inizio del ciclo di sviluppo, si sono ottenuti dei progressi. In realtà, già quando all'inizio di quest'anno abbiamo pubblicato i nostri principi per lo sviluppo di sistemi di IA responsabili, l'interpretabilità era tra i quattro pilastri fondamentali.
Stiamo già assistendo a diversi sforzi perché l'interpretabilità venga applicata ai problemi del mondo reale. Nel caso della classificazione delle immagini, ad esempio, il recente lavoro di Google AI si basa su un metodo per rappresentare concetti relativi alla sfera umana, come una pelliccia a strisce o i capelli ricci, per poi quantificare la prevalenza di quei concetti all'interno di una determinata immagine. Il risultato è un classificatore che articola il suo ragionamento in termini di caratteristiche più significative per un utente umano. Un'immagine potrebbe essere classificata come "zebra", ad esempio, in parte per gli alti livelli di "strisce" e in parte per i livelli relativamente bassi di "pois". Di fatto, i ricercatori stanno sperimentando l'applicazione di questa tecnica alla diagnosi di retinopatia diabetica, rendendo il risultato più trasparente e persino consentendo la modifica del modello quando uno specialista non è d'accordo con il suo ragionamento.
Non si può negare che la nostra relazione con il lavoro stia cambiando, e molti dei nostri clienti si stanno chiedendo come dovrebbero bilanciare il potenziale dell'automazione con il valore della loro forza lavoro.
Tuttavia, non vedo il futuro dell'automazione come un gioco a somma zero. Un recente rapporto di PwC ha evidenziato che il 67% dei dirigenti afferma che l'intelligenza artificiale aiuterà gli esseri umani e le macchine a lavorare insieme per essere più forti grazie alla combinazione di intelligenza artificiale e umana.
Inoltre, è importante ricordare che i lavori raramente sono monolitici. La maggior parte consiste di innumerevoli compiti distinti che vanno da un alto livello di creatività a compiti ripetitivi, ognuno dei quali sarà influenzato dall'automazione in modo diverso. In radiologia, ad esempio, gli algoritmi svolgono un ruolo di supporto; automatizzando la valutazione di sintomi semplici e ben noti, uno specialista umano può concentrarsi su compiti più impegnativi, potendo lavorare più velocemente e in modo più coerente.
Tuttavia, alcune categorie di lavoro affrontano cambiamenti più immediati di altre, ma si può fare molto per facilitare questa transizione. A questo scopo, Google.org ha creato un fondo di 50 milioni di dollari a sostegno delle organizzazioni non profit che si preparano per il futuro del lavoro attraverso tre grandi sforzi:
Fornire formazione e istruzione costanti per fare in modo che il personale umano sia sempre necessario
Individuare opportunità di lavoro ideali per potenziali dipendenti in base alle competenze e all'esperienza
Sostenere i lavoratori con bassi livelli retributivi
Naturalmente, questo è solo il primo passo e non vediamo l'ora di sostenere una serie di iniziative simili sempre più ampia nei prossimi anni.
Infine, ecco la domanda che trascende tutto: "Come posso essere sicuro di usare l'intelligenza artificiale per fare una differenza positiva nella vita delle persone?"
Questa è una domanda difficile a cui rispondere, resa ancora più difficile dalla nostra tendenza a concentrarci su come l'IA si comporti in casi estremi. Per esempio, pochi negherebbero che usare AutoML per monitorare in modo economico le specie in via di estinzione, come ha fatto la Zoological Society di Londra, sia inequivocabilmente un'iniziativa positiva. Abbiamo anche visto come TensorFlow, il framework di machine learning open source di Google, stia aiutando Rainforest Connection a combattere la deforestazione illegale, gli agricoltori a identificare le piante malate e a prevedere la probabilità di incendio in una foresta. Inoltre, il nostro programma AI for Social Good ha recentemente annunciato una donazione di 25 milioni di dollari per aiutare a finanziare la ricerca sull'intelligenza artificiale che consentirà di affrontare le sfide umanitarie e ambientali. Inoltre, il nostro programma Data Solutions for Change continua ad aiutare le organizzazioni non profit e le ONG a utilizzare processi analitici mirati a combattere la disoccupazione, diagnosticare l'Alzheimer, creare sistemi alimentari più sostenibili e ottimizzare la programmazione comunitaria.
Ma c'è un'enorme area grigia, specialmente su temi controversi come la relazione tra l'IA e le armi, che rappresenta un'applicazione di questa tecnologia che abbiamo deciso di non perseguire, come affermato nei nostri Principi IA. I nostri clienti sono distribuiti in diversi punti dello spettro delle possibilità in relazione ai casi d'uso più controversi e stanno chiedendo il nostro aiuto per comprendere cosa significhi l'intelligenza artificiale per la loro attività.
Insieme ai nostri team di gestione dei clienti e dei prodotti stiamo lavorando su queste aree. Per analizzare la questione da una prospettiva informata e oggettiva, abbiamo chiesto aiuto all'esperta di etica tecnologica Shannon Vallor, che attraverso Cloud AI contribuisce a plasmare la nostra comprensione di questa area grigia in continua evoluzione e il modo in cui il nostro lavoro si adatti a essa. Dai programmi educativi interni sulle best practice in tema di etica dell'IA alla consultazione sulle implementazioni nel mondo reale dei nostri Principi IA, Shannon Vallor mette a disposizione del Cloud AI una prospettiva esperta sul modo in cui questa tecnologia possa essere guidata da una progettazione, un'analisi e un processo decisionale etici. Ad esempio, i principi di progettazione etica possono essere usati per aiutarci a costruire modelli di machine learning più equi. Un'attenta analisi etica può aiutarci a capire quali potenziali utilizzi della tecnologia visiva sono inappropriati, dannosi o indiscreti. Inoltre, le pratiche decisionali etiche possono aiutarci a ragionare meglio sui dilemmi più impegnativi e sui complessi compromessi in tema di valori, ad esempio se dare priorità alla trasparenza o alla privacy in un'applicazione dell'IA, dove prediligere l'uno può significare rinunciare all'altro.
Nonostante tutte le incertezze che ci attendono, una cosa è chiara: il futuro dell'IA verrà costruito non soltanto sulla tecnologia. Sarà necessario uno sforzo collettivo, basato in egual misura su strumenti, informazioni e sul desiderio condiviso di avere un impatto positivo sul mondo.
Ecco perché questa non è una dichiarazione, ma un dialogo. Sebbene desideriamo condividere ciò che abbiamo imparato dopo anni in prima linea in questa tecnologia, nessuno conosce le esigenze dei tuoi clienti meglio di te ed entrambe le prospettive giocheranno un ruolo vitale nella costruzione di un'intelligenza artificiale equa, responsabile e affidabile. Dopotutto, ogni settore sta affrontando la propria rivoluzione dell'intelligenza artificiale, motivo per cui ogni industria merita un ruolo di guida in questo senso. Non vediamo l'ora di capire insieme a te come trasformare questa promessa in realtà.
Flutter Live si terrà il 4 dicembre, con un piccolo evento al Science Museum di Londra e un grande evento per il pubblico sul livestream globale. Celebriamo Flutter, l'SDK gratuito e open source di Google per la creazione delle app Android e iOS native di alta qualità, ottenute da una singola codebase.
Vai su g.co/FlutterLive e iscriviti agli aggiornamenti livestream. L'evento sarà trasmesso sul sito Web il 4 dicembre con un pre-show che inizia alle 16:00 GMT seguito poi dal keynote delle 17:00 GMT.
Puoi aggiungerlo direttamente al tuo Google Calendar facendo clic qui.
Organizzazioni in tutto il mondo ospitano feste gratuite per guardare e parlare di Flutter Live. Fra queste sessanta feste, trova quella più vicina a te, ed ecco la lista completa.
Flutter Live viene trasmesso dal Science Museum di Londra e stiamo cercando di ottimizzare l'esperienza in modo che possa raggiungere il più vasto pubblico di sviluppatori di dispositivi mobili possibile e offrire tutta la precisione e l'entusiasmo di un'esperienza personale al pubblico online globale. Indipendentemente da dove segui l'evento, ci sono tre modi per partecipare.
Flutter è open source e guidato dalla community. Apprezziamo la nostra community e vogliamo condividere le sue storie con il resto del mondo. Ecco perché ti diamo l'opportunità di farci conoscere la tua #MyFlutterStory. Queste sono le linee guida per inviarci la tua storia, che potrebbe essere presentata all'evento! Ti incoraggiamo anche a inviare un tweet del tuo video con l'hashtag #MyFlutterStory.
Andrew Brogdon del nostro team sarà presente per rispondere in tempo reale alle domande pubblicate con #AskFlutter. Twitta le tue domande e i tuoi commenti con questo hashtag e il tuo tweet potrebbe apparire sul livestream globale subito dopo il keynote.
Questo è l'hashtag generale per l'evento. Avremo un social wall che mostra costantemente i tweet in arrivo con #FlutterLive sia sul sito sia sul livestream. Assicurati di twittare con immagini, commenti, video e domande durante Flutter Live.
Siamo davvero contenti che parteciperai a Flutter Live con noi il 4 dicembre. Nel frattempo, seguici su Twitter all'indirizzo @flutterio e, per conoscere meglio Flutter, vai su flutter.io.
Pubblicato da Leo Sei, Product Manager di Android
Come probabilmente avrai sentito, in occasione di Android Dev Summit abbiamo annunciato l'espansione del supporto Android in modo che possa includere i Foldable, in attesa dei dispositivi prodotti dai nostri partner hardware, come ad esempio Samsung.
Ecco una serie di consigli e informazioni per garantire che la tua app offra un'esperienza utente eccezionale in relazione a questo nuovo fattore di forma (puoi anche vedere la specifica talk di Android Dev Summit qui).
Con questo nuovo fattore di forma, la tua app può passare automaticamente da uno schermo all'altro (ad esempio, quando pieghi o apri il telefono foldable).
Durante questa transizione, l'app riceverà una modifica della configurazione per il nuovo layout (e probabilmente anche della densità, in alcuni casi).
Per offrire un'esperienza utente ottimale passando da uno schermo all'altro, assicurati che l'app supporti correttamente la modifica della configurazione di runtime.
Come testarla: gli emulatori per i diversi dispositivi saranno disponibili a breve (ad esempio, in Q4 Samsung pubblicherà un APK per emulatori che si piegano/aprono, che dovrebbe funzionare sui tablet Samsung Galaxy S4 e sull'emulatore AOSP di Android Studio).
Attualmente se un'app è in modalità multi-finestra, ma non attivata, si trova nello stato OnPause.
Anche se offriamo indicazioni su come supportare la modalità multi-finestra, abbiamo notato che un notevole numero di app non gestisce lo stato onPause in base a queste indicazioni (video in pausa o interrotto, SMS non visualizzati ecc.).
Per aiutare gli sviluppatori a fornire la migliore esperienza multi-finestra possibile, e con il minimo sforzo, stiamo consentendo ai produttori di dispositivi di mantenere tutte le app in stato "resumed" quando adottano questa modalità in Android P.
Per attivare questo comportamento in Android P, aggiungi i seguenti metadati nel manifest dell'app:
<meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" />
Nota: stiamo cercando di ottimizzare la compatibilità di questo comportamento nella prossima versione di Android.
Come testarlo: al momento non ci sono dispositivi che offrano questo comportamento, ma i produttori si stanno impegnando per aggiornare i dispositivi esistenti in modo che gli sviluppatori possano testarli. Resta sintonizzato per ulteriori novità da parte dei produttori di dispositivi.
A partire da Android 8.0 (API di livello 26), la piattaforma offre il supporto avanzato per display multipli. Se un'attività supporta la modalità multi-finestra ed è in esecuzione su un dispositivo con display multipli, gli utenti possono spostare l'attività da un display all'altro. Quando viene avviata un'attività, l'app può specificare su quale display eseguirla. Consulta qui la documentazione completa.
Come testarlo: puoi provarlo utilizzando l'opzione Developer options > Simulate secondary displays. Tieni presente che i display simulati non elaborano gli input.
Pubblicato da Leo Sei, Product Manager di Android Studio e R8
Gli sviluppatori Android sanno che le dimensioni dell'APK sono un fattore importante nel coinvolgimento degli utenti. Il code shrinking (compattazione del codice) consente di ridurre le dimensioni dell'APK eliminando il codice e le risorse inutilizzati, e di occupare meno spazio per il codice vero e proprio (noto anche come minification o obfuscation).
Ecco perché ci stiamo impegnando per migliorare il code shrinking e renderlo più veloce ed efficiente. Siamo felici di annunciare che il code shrinker di nuova generazione, R8, è disponibile in anteprima nella versione Android Studio 3.3 beta.
R8 esegue lo shrinking, il desugaring e il dexing, tutto in un solo passaggio. Se confrontato con l'attuale soluzione di shrinking Proguard, R8 compatta il codice più velocemente e migliora le dimensioni dell'output al tempo stesso.
I seguenti dati provengono dal benchmark dell'app Santa Tracker e i dettagli del benchmark relativi a questo progetto sono disponibili nel repository GitHub.
R8 è disponibile nella versione Android Studio 3.3 beta e segue le stesse regole di Proguard. Per provarlo, utilizza le seguenti impostazioni nel file gradle.properties del tuo progetto:
android.enableR8=true
Per i più audaci, R8 offre anche una modalità completa, che non è direttamente compatibile con Proguard. Per provarla utilizza le seguenti impostazioni nel file gradle.properties:
android.enableR8.fullMode=true
Questa modalità attiva altre ottimizzazioni, che possono ridurre ulteriormente le dimensioni dell'app. Tuttavia, potresti aver bisogno di alcune regole di mantenimento supplementari perché funzioni.
Abbiamo testato la correttezza e le prestazioni di R8 su un certo numero di app e i risultati sono stati promettenti, quindi prevediamo di adottare R8 al più presto come shrinker predefinito in Android Studio.
Ti invitiamo a provare R8 e a mandarci il tuo feedback. Puoi inviare un report sui bug utilizzando questo link.
Pubblicato da Erica Hanson, Developer Relations Program Manager
Siamo felici di annunciare la prima DevFest OnAir ufficiale! DevFest OnAir è una conferenza online che si terrà l'11 dicembre 2018 e offrirà le sessioni degli eventi DevFest in tutto il mondo. Queste sessioni per sviluppatori della community sono organizzate dai GDG (Google Developer Group) e sono incentrate sul networking, sulla community e sull'apprendimento delle tecnologie Google. Con oltre 500 community ed eventi DevFest in tutto il mondo, DevFest OnAir offre questa incredibile esperienza globale online per la prima volta!
DevFest OnAir offre contenuti esclusivi di Google oltre agli altri argomenti trattati dalla community DevFest. Puoi seguirli in qualsiasi momento in tre diverse modalità:
Le sessioni riguardano molti prodotti, come ad esempio Android, Google Cloud Platform, Firebase, Assistente Google, Flutter, machine learning con TensorFlow e Web mobile.
Chiunque può iscriversi, non importa dove sia. Con tre trasmissioni ventiquattr'ore su ventiquattro in tutto il mondo, puoi trovare sempre il momento giusto per connetterti, ovunque tu sia, a casa o al lavoro.
Il nostro forum di domande e risposte dal vivo sarà aperto durante l'evento online per stimolare la conversazione e darti le risposte che cerchi.
Partecipa ai quiz interattivi durante DevFest OnAir per ricevere qualcosa di davvero speciale!
Ogni partecipante che si sintonizza dal vivo l'11 dicembre riceverà un mese di apprendimento gratuito su Qwiklabs.
La registrazione è gratuita. Iscriviti qui.
Puoi trovare qui maggiori informazioni sul DevFest 2018 e qui sull'evento DevFest più vicino a te.
I GDG sono gruppi locali di sviluppatori interessati ai prodotti e alle API Google. Ogni gruppo GDG può ospitare attività tecniche di vario tipo per gli sviluppatori, da poche persone che si riuniscono per guardare gli ultimi video di Google Developers a grandi incontri con demo, tech talk e hackathon. Puoi trovare qui ulteriori informazioni sui GDG.
Seguici su Twitter e YouTube.
Il Node.js Release Working Group ha avviato il Long Term Support (LTS) di Node.js 10.x, indicandolo come la versione stabile e preferita del runtime. App Engine, la nostra piattaforma applicativa serverless completamente gestita, ha supportato Node.js come runtime dal 2016 e stiamo introducendo la disponibilità beta di Node.js 10 nell'ambiente standard App Engine e rendendo Node.js 10 la versione predefinita sull'ambiente flessibile.
Node.js 10 sull'ambiente standard App Engine è un runtime di seconda generazione, il che significa che utilizza una versione non modificata di Node.js in esecuzione su una normale distribuzione Ubuntu e che è possibile utilizzare qualsiasi modulo disponibile su npm. Inoltre, abbiamo ricevuto il tuo feedback sull'esecuzione delle app Node.js esistenti nell'ambiente standard App Engine e abbiamo aggiunto nuove funzionalità per supportare meglio Node.js 8 e 10 (consulta le note di rilascio):
Gestione pacchetti Yarn: se è presente un file yarn.lock insieme al tuo sorgente, le dipendenze verranno installate usando yarn.
yarn.lock
yarn
Dipendenze locali: package.json ora può fare riferimento alle dipendenze locali, ad es. "my-local-module: "file:./my-path".
package.json
"my-local-module: "file:./my-path"
Fase di creazione personalizzata: se uno script denominato gcp-build è presente in package.json, questo script verrà eseguito al momento della distribuzione con accesso alle dipendenze dichiarate in devDependencies.
gcp-build
devDependencies
Molti clienti Node.js come JDA Software sono entusiasti di distribuire le loro applicazioni Node in modo rapido e semplice su App Engine:
"Node.js sull'ambiente standard App Engine ci consente di creare e distribuire soluzioni rapidamente, senza dover gestire la piattaforma sottostante. Inoltre, la nuova tecnologia sandbox standard di App Engine riduce al minimo i tempi di avvio, consentendoci di gestire meglio i picchi di domanda per una scalabilità più rapida, nonché di ridurre fino a 0 quando necessario, con conseguente risparmio sui costi. Inoltre, la gestione e la configurazione server assenti di App Engine ci consentono di concentrare i nostri sforzi sulle nostre competenze nel settore e non sulla manutenzione della piattaforma." - Gabriel Kohen, Enterprise Architect & Technical Fellow, JDA Software
Ricorda inoltre che il Node.js Project terminerà il Long Term Support per Node 8.x a dicembre 2019 e che contemporaneamente smetteremo di supportare Node 8.x in App Engine. Per assicurarti di poter continuare a distribuire le tue app Node.js, ti invitiamo a iniziare a pianificare la migrazione a Node.js 10 oggi stesso. Puoi iniziare a utilizzare l'App Engine free tier (segui il nostro Quickstart per scoprire come distribuire la tua app).
Di Marcus Chang, Developer Relations Program Manager
A settembre, il team di TensorFlow ha tenuto due giorni di conferenze incentrate su TensorFlow in occasione della O'Reilly AI Conference di San Francisco, trattando vari argomenti tra cui TensorFlow Lite, TensorFlow.js, TFX (Extended) e Hub, Distributed TensorFlow e molti altri! Le registrazioni delle sessioni possono ora essere visualizzate sul nostro canale YouTube TensorFlow.
Visualizza l'intera playlist qui.
Sessioni:
Costruire l'intelligenza artificiale con TensorFlow: panoramica
TensorFlow è uno dei più grandi progetti open source al mondo e adozione e funzionalità sono in continua crescita. Abbiamo condiviso importanti sviluppi recenti ed evidenziato alcune indicazioni future, oltre a illustrare come poter essere maggiormente coinvolti nella community TensorFlow.
TensorFlow: machine learning per programmatori
In questa conferenza, Laurence Moroney di Google ha parlato di machine learning, AI, deep learning e altro, e di come queste tecnologie si integrino nel kit di strumenti per i programmatori. Ha presentato le varie soluzioni, descrivendole in dettaglio, per mostrare le opportunità disponibili nel machine learning. Ha anche introdotto TensorFlow e spiegato che si tratta di un framework progettato per rendere il machine learning facile e accessibile e di come le app intelligenti che utilizzano il machine learning possano essere eseguite in vari ambienti, tra cui dispositivi mobili, Web e IoT.
TensorFlow per JavaScript
TensorFlow.js è la versione JavaScript di TensorFlow rilasciata di recente che viene eseguita nel browser e in Node.js. In questa conferenza, il team ha introdotto il framework di machine learning TensorFlow.js e ha dimostrato come eseguire il flusso di lavoro completo di machine learning, inclusi la formazione, la distribuzione lato client e il transfer learning.
Swift per TensorFlow
Swift per TensorFlow combina la flessibilità di Eager Execution con le alte prestazioni di Graphs e Sessions. Dietro le quinte, Swift analizza il codice Tensor e crea automaticamente grafici. Inoltre, Swift rileva errori di tipo e mancate corrispondenze di forma prima dell'esecuzione del codice, ha la capacità di importare qualsiasi libreria Python e ha una differenziazione automatica integrata nel linguaggio. Riteniamo che gli strumenti di machine learning siano così importanti da meritare un linguaggio e un compilatore di prim'ordine.
TensorFlow Lite
TensorFlow Lite è un framework di machine learning leggero che può eseguire inferenze su diversi dispositivi mobili e di piccole dimensioni (da telefoni cellulari, Raspberry Pis e microcontroller). Fornisce inoltre una semplice astrazione che consente di accedere agli acceleratori di AI. Il team ha illustrato le basi dei framework, dallo stato attuale di sviluppo agli ultimi progressi. In questa sessione imparerai come preparare il tuo modello per dispositivi mobili e come scrivere codice che lo esegua su piattaforme diverse.
TensorFlow Extended (TFX) e Hub
In questa sessione il team ha introdotto TensorFlow Extended (TFX), la piattaforma di machine learning end-to-end per TensorFlow che alimenta i prodotti di Alphabet. Poiché il machine learning si sta evolvendo, dalla sperimentazione al serving di carichi di lavoro di produzione, aumenta anche la necessità di gestire in modo efficace il flusso di lavoro di formazione e produzione end-to-end, compresa la gestione dei modelli, il controllo delle versioni e il serving.
Cloud TPU
Questa conferenza è un approfondimento tecnico sugli acceleratori Cloud TPU di Google e su come programmarli. Tratta inoltre le astrazioni di programmazione che consentono di eseguire i modelli su CPU, GPU e Cloud TPU, da singoli dispositivi fino a interi pod Cloud TPU.
TensorFlow Autograph
TensorFlow AutoGraph converte automaticamente codice Python semplice nei suoi equivalenti TensorFlow, utilizzando la trasformazione del codice sorgente. Il nostro approccio è complementare al nuovo progetto TensorFlow Eager e consentirà di utilizzare lo stile imperativo della modalità Eager, pur mantenendo i vantaggi della modalità grafico. Utilizzando la conversione automatica del codice, gli sviluppatori possono scrivere codice più conciso, efficiente e solido.
TensorFlow Probability
TensorflowProbability (TFP) è una libreria TF/Python che offre un approccio moderno agli strumenti di probabilità/statistici emergenti e tradizionali. Statisti/data scientist di dati troveranno funzionalità simili al linguaggio R che sfruttano in modo naturale l'hardware moderno. I ricercatori/professionisti del machine learning troveranno potenti building block per la specifica e il deep learning di modelli probabilistici. In questa conferenza, vengono presentate le astrazioni TFP principali e verranno dimostrate alcune delle caratteristiche di modellazione e convenienza.
Deep learning per le scienze fondamentali utilizzando il calcolo ad alte prestazioni
Le scienze fondamentali (compresa la fisica delle particelle e la cosmologia) generano exabyte di dati da strumenti complessi e li analizzano per scoprire i segreti dell'universo. Il deep learning consente di utilizzare direttamente dati di strumenti di dimensioni maggiori rispetto a quanto fosse possibile in precedenza, migliorando così la probabilità di nuove scoperte. In questa conferenza, il nostro relatore ospite Wahid Bhimji (NERSC) descrive la recente attività in questo campo, in particolare quella del NERSC, il centro di supercomputing per le scienze fondamentali negli Stati Uniti, con sede al Berkeley National Lab. Questo lavoro utilizza e si basa su Tensorflow per esplorare nuovi metodi e applicazioni, sfrutta scale di calcolo ad alte prestazioni e fornisce ambienti di deep learning produttivi per gli scienziati delle scienze fondamentali.
Tensor2Tensor
Tensor2Tensor è una libreria di modelli e set di dati di deep learning che facilita la creazione di modelli all'avanguardia per un'ampia varietà di applicazioni di machine learning, come traduzione, analisi, didascalie e altro, consentendo l'esplorazione di varie idee molto più velocemente di quanto fosse possibile in precedenza.
TensorFlow distribuito
Questa conferenza dimostra come eseguire una formazione TensorFlow distribuita usando le API di alto livello di Keras. Il team ti guida attraverso l'architettura distribuita di TensorFlow, come configurare un cluster distribuito utilizzando Kubeflow e Kubernetes e come distribuire i modelli creati in Keras.
Il 7 e l'8 Novembre al Computer History Museum di Mountain View, in California, è stato dato il via all'Android Dev Summit, partendo da uno sguardo agli ultimi 10 anni di Android per poi passare ad alcune importanti nuove funzionalità per gli sviluppatori Android. Ecco alcune delle notizie che abbiamo condiviso!
Già da Android 1.6, Android e i nostri partner avevano preso in considerazione diverse dimensioni e densità dello schermo, consentendo alla piattaforma di alimentare un'ampia categoria di fattori di forma e nuove esperienze come Android TV, Android Auto, Wear OS e persino app Android su Chromebook. Gli schermi del telefono sono un'area in cui i partner Android hanno definito lo standard, introducendo i "phablet" quando gli schermi del telefono erano piccoli. Fino ad arrivare a oggi, quando un phablet è... semplicemente un telefono, una dimensione standard che gli utenti hanno imparato ad amare.
Ora un produttore di dispositivi Android sta creando una nuova categoria: i foldable Sfruttando la nuova tecnologia dei display flessibili, lo schermo può letteralmente ripiegarsi.
In senso generale, esistono due varianti: dispositivi a due schermi e dispositivi a schermo singolo. Quando ripiegati, i foldable sembrano dei telefoni, adatti alla tasca o alla borsa. Ma, una volta spiegati, la loro caratteristica è ciò che chiamiamo continuità dello schermo. Ad esempio, puoi avviare un video con lo schermo più piccolo ripiegato, per poi sederti e aprire il dispositivo in modo da ottenere uno schermo di dimensioni tablet più grande e vivere un'esperienza bellissima e coinvolgente. Quando apri il dispositivo, l'app si trasferisce senza problemi sullo schermo più grande senza perdere un colpo. Stiamo ottimizzando Android per questo nuovo fattore di forma. Inoltre, stiamo apportando modifiche per aiutare gli sviluppatori di tutto il mondo a sfruttare le possibilità che questo crea per nuove incredibili esperienze e nuovi modi per coinvolgere e affascinare gli utenti. Sintonizzati per la sessione Foldables del Dev Summit questa settimana per saperne di più. Prevediamo che i foldable saranno proposti da diversi produttori Android, tra cui Samsung, che ne ha presentato uno in anteprima e che prevede di commercializzarlo il prossimo anno.
Nel 2017, abbiamo reso Kotlin un linguaggio di prima classe su Android. Questo mese oltre 118.000 nuovi progetti utilizzando Kotlin sono stati avviati in Android Studio. I dati si riferiscono solo agli utenti che hanno optato per condividere le metriche. Questo rappresenta un aumento di 10 volte rispetto all'anno scorso. È diventato il linguaggio in più rapida crescita in termini di aumento del numero di contributori su GitHub ed è stato votato come il secondo linguaggio più amato su Stack Overflow. Nei nostri sondaggi, maggiore è il numero di sviluppatori che usano Kotlin, maggiore è la loro soddisfazione.
La scorsa settimana, JetBrains ha rilasciato l'ultima versione di Kotlin, 1.3, che offre nuove funzionalità, API, correzioni di bug e miglioramenti delle prestazioni:
Tutte queste nuove funzionalità di Kotlin 1.3 saranno integrate nelle API specifiche di Kotlin fornite da noi, la maggior parte delle quali sono tramite estensioni KTX come parte di Jetpack.
Nel Google I/O, abbiamo annunciato Jetpack, la nuova generazione di strumenti e API Android per accelerare lo sviluppo di applicazioni Android. Jetpack si basa sui fondamenti di Support Library e Architecture. Già l'80% delle 1.000 app e giochi migliori utilizza una delle nuove librerie Jetpack in produzione.
Questa estate abbiamo spostato AndroidX, l'evoluzione di Jetpack della libreria Android Support originale, su AOSP pubblico. Ciò significa che puoi vedere le funzionalità e le correzioni dei bug implementate in tempo reale e contribuire a una qualsiasi delle librerie AndroidX. Puoi saperne di più su come contribuire qui.
Abbiamo lavorato per ottenere quanto più feedback e perfezionamento possibili su due nuove librerie di Architecture Component: Navigation e Work Manager, e prevediamo di passare entrambi alla Beta questo mese. Il Navigation Architecture Component offre un modo semplificato per implementare i principi di navigazione di Android nella tua applicazione, utilizzando una singola Activity. Inoltre, il nuovo Navigation Editor in Android Studio crea e modifica la tua architettura di navigazione. Ciò elimina il boilerplate di navigazione, offre operazioni di navigazione atomiche, transizioni animate più semplici e altro ancora. WorkManager semplifica l'esecuzione delle attività in background nel modo più efficiente possibile, scegliendo la soluzione più appropriata in base allo stato dell'applicazione e al livello dell'API del dispositivo.
Editor di navigazione
Siamo inoltre entusiasti di vedere che Android Slices si sposta su esperimenti Search pubblici! All'I/O quest'anno abbiamo introdotto Slices, un nuovo modo per portare gli utenti sulla tua app. Le Slices sono come mini snippet della tua app, in cui puoi visualizzare contenuti e azioni. Puoi prenotare un volo, riprodurre un video o prenotare un passaggio. Slices è un altro esempio che intendiamo aprire molto presto, ma vogliamo prenderci il tempo necessario perché tutto sia perfetto. Questo mese stiamo passando all'EAP pubblico con Doist, Kayak e altri. Eseguiremo esperimenti facendo apparire Slices nei risultati di ricerca di Google.
Android Studio è il nostro IDE ufficiale per lo sviluppo Android. Ti abbiamo chiesto dove trascorri la maggior parte del tempo. Quando raccogliamo dati dagli utenti di Android Studio che hanno fornito l'autorizzazione alla raccolta, vediamo che i tempi di build accelerano con ogni versione, a volte anche del 20%, ma vediamo anche che diventano in altri casi sempre più lenti. Come possono verificarsi entrambe le situazioni? Siamo andati a fondo per capire.
Abbiamo scoperto che il build è un ecosistema piuttosto complicato. Le scelte degli sviluppatori fanno una grande differenza. I nostri sviluppatori utilizzano una combinazione molto ampia (e in continua crescita) di sistemi operativi, plug-in personalizzati, processori di annotazione, lingue. Tutti questi elementi possono influenzare in modo significativo i tempi. In un caso, un plug-in che ad alcuni utenti piace aggiungere stava rallentando silenziosamente le velocità di build fino al 45%. Dopo aver scoperto ciò, ci siamo resi conto che dobbiamo creare strumenti di analisi e di profilazione, in modo che tu possa facilmente capire cosa rallenta il tuo accumulo. Stiamo anche investendo di più nei nostri plug-in per accelerare le prestazioni e assicurarci di continuare a migliorare le prestazioni del core build.
Abbiamo lanciato la beta 3 di Android Studio 3.3. Nelle prossime versioni prevediamo che l'attenzione sarà rivolta alla qualità e ai fondamentali: ridurre il numero di arresti anomali e blocchi, ottimizzare l'utilizzo della memoria e correggere i bug che hanno un impatto sull'utente. Abbiamo inoltre annunciato che Android Studio sarà un IDE ufficialmente supportato su Chrome OS a partire dall'inizio del prossimo anno; puoi saperne di più qui.
Dal 2012, le dimensioni delle app sono aumentate notevolmente, fino a 5 volte. Ma le app più grandi hanno aspetti negativi: minori tassi di conversione dell'installazione, tassi di aggiornamento più bassi e disinstallazione più elevata. Questo è il motivo per cui abbiamo creato l'Android App Bundle, il nuovo formato di pubblicazione che serve solo il codice e le risorse di cui un utente ha bisogno per eseguire l'app sul proprio dispositivo specifico; in media per le app vi è un risparmio di dimensioni del 35% rispetto a un APK universale. L'app bundle consente inoltre di risparmiare tempo e fatica con ogni versione poiché non è necessario utilizzare soluzioni incomplete come il multi-APK. In Android Studio 3.2 è incluso il supporto IDE completo degli app bundle e ora ci sono migliaia di app bundle in produzione, per un totale di miliardi di installazioni, incluse le app di Google come YouTube, Google Maps, Google Foto e Google News.
L'app bundle ora supporta librerie native non compresse; senza che sia necessario lavoro di sviluppo aggiuntivo, l'app bundle rende le app che utilizzano le librerie native in media dell'8% più piccole per il download e del 16% più piccole su disco su dispositivi M+.
Una volta passato all'app bundle, puoi anche iniziare a modulare la tua app. Con i i moduli di funzionalità dinamici, è possibile caricare qualsiasi funzionalità dell'app su richiesta anziché al momento dell'installazione. Non è necessario mantenere le funzionalità di grandi dimensioni che vengono utilizzate una sola volta su ogni singolo dispositivo per sempre; le funzionalità dinamiche possono essere installate e disinstallate dinamicamente quando l'app le richiede.
Abbiamo appreso che desideri avere più controlli per garantire che gli utenti eseguano la versione più recente e migliore della tua app. Per risolvere questo problema, stiamo lanciando un'API per gli aggiornamenti in-app. Stiamo testando l'API con i partner con accesso anticipato e la lanceremo presto per tutti gli sviluppatori.
Avrai due opzioni con questa API; la prima è un'esperienza a schermo intero per gli aggiornamenti critici quando ci si aspetta che l'utente attenda che l'aggiornamento venga applicato immediatamente. La seconda opzione è un aggiornamento flessibile, il che significa che l'utente può continuare a utilizzare l'app mentre viene scaricato l'aggiornamento. Puoi personalizzare completamente il flusso di aggiornamento in modo che appaia come parte della tua app.
Stiamo inoltre rendendo più facile che mai l'adozione delle app istantanee. Di recente abbiamo reso opzionale l'utilizzo di URL Web, che ti consentono di prendere il traffico di deep link al Play Store esistente e di inviare agli utenti la tua esperienza istantanea, se disponibile. Inoltre, abbiamo aumentato il limite di dimensione delle app istantanee a 10 MB per il pulsante Prova ora sul Play Store e sui banner Web, per semplificare ancora di più l'adozione.
Nella versione beta di Android Studio 3.3, ora puoi creare un app bundle abilitato per app istantanee. Ciò significa che ora puoi creare e distribuire le tue esperienze istantanee e quelle installate da un singolo progetto di Android Studio e includerle in un unico App Bundle Android. Devi solo caricare UN artefatto per l'app istantanea e per quella installata.
In qualità di sviluppatori, il tuo feedback è stato fondamentale nel modellare queste aree di investimento; sei parte di come lavoriamo, dalle prime idee, agli EAP e ai canary, alle beta, fino all'iterazione dopo il lancio. Ci auguriamo che tu ti unisca a noi, guardando le oltre 30 sessioni in livestream. Dal team, un sincero ringraziamento per tutti i feedback e i contributi. Ci auguriamo che tutte le novità annunciate all'Android Dev Summit ti siano piaciute.
Dan Lavelle, Head of Learning Operations, Google Play
Avere una grande idea per un'app o un gioco è solo l'inizio. In Google Play, il nostro obiettivo è fornirti gli strumenti e le competenze per creare app e giochi per dispositivi mobili di successo. La formazione continua ad essere tra i servizi più richiesti dagli sviluppatori Android.
Per soddisfare tali richieste, stiamo lanciando una piattaforma di e-learning completamente nuova per aiutarti a sfruttare a pieno il potenziale della tua attività su Google Play.
Se stai cercando di aumentare il tuo pubblico, comprendere le metriche sulle performance o aumentare il fatturato, Play Academy ti aiuterà a conoscere le best practice e le funzionalità di Play Console per avere successo su Google Play. Abbiamo creato Play Academy in modo che fosse possibile adattarla ai tuoi impegni. Puoi apprendere dal computer di casa o dell'ufficio o seguire i corsi direttamente dal tuo dispositivo mobile.
Scegli tra 10 raccolte di corsi di piccole dimensioni incentrati su funzionalità e best practice, tra cui: Test della tua app prima del rilascio; Valutazione delle performance tecniche della tua app e Monetizzazione della tua app.
Impara attraverso una ricca esperienza e-learning multimediale e interattiva.
Metti alla prova le conoscenze acquisite sulle principali funzionalità di Play Console e sulle best practice delle app per dispositivi mobili.
Ottieni un riconoscimento per le nuove competenze acquisite. Indossa con orgoglio i badge di riconoscimento sul tuo profilo Play Academy.
È facile iniziare grazie ai contenuti e-learning gratuiti di Google Play. Vai all'indirizzo g.co/play/academy per iscriverti e iniziare il viaggio destinato agli sviluppatori. Inoltre, assicurati di tenere d'occhio le imminenti novità di Play Academy: aggiorneremo regolarmente i nostri corsi per tenere il passo con le funzionalità e i programmi più recenti, in modo che tu possa rimanere sempre aggiornato sulle informazioni necessarie per far crescere il business della tua app o del tuo gioco.
Quanto hai trovato utile questo post del blog?
★ ★ ★ ★ ★
Noi di Firebase crediamo che le app migliorino il modo in cui le persone vivono, lavorano, apprendono e socializzano. Questo è il motivo per cui la nostra missione consiste nel semplificare al massimo lo sviluppo delle app, offrendo una piattaforma in grado di risolvere le principali sfide in tutto il ciclo di vita delle app. Indipendentemente dal fatto che tu sia una startup emergente o un’impresa consolidata, Firebase può esserti di aiuto per creare la tua app, migliorarne la qualità e far crescere la tua attività.
È entusiasmante veder crescere Firebase insieme alla nostra appassionata community. In questo momento, oltre 1,5 milioni di app utilizzano Firebase in modo attivo ogni mese. Adoriamo ascoltare storie e testimonianze degli nostri utenti: ci ispirano a migliorare ancor di più Firebase per consentire loro di continuare a ottenere risultati positivi. Una storia di cui siamo venuti a conoscenza di recente è quella di Hotstar, la più grande app per l’intrattenimento in India, con oltre 150 milioni di utenti attivi ogni mese provenienti da tutto il mondo.
Alcuni mesi fa, il team di Hotstar ha distribuito nuove funzionalità per la schermata di visualizzazione dei video durante un importante evento sportivo in live streaming. Queste modifiche, insieme agli aggiornamenti al flusso di onboarding, hanno migliorato l'interazione degli utenti del 38%! È stato un risultato straordinario: utilizzando una combinazione di prodotti di Firebase, l’app Hotstar è stata in grado di raggiungere questo obiettivo senza un impatto negativo sull'esperienza gli utenti, sacrificare la stabilità o dover rilasciare una nuova build.
Ulteriori informazioni sulla storia sono disponibili qui:
Qualche giorno fa si è tenuto il terzo Firebase Summit annuale a Praga dove abbiamo incontrato molti altri membri della nostra community di sviluppatori e scoperto le idee straordinarie a cui stanno lavorando. Tutte le sessioni saranno pubblicate sul nostro canale YouTube. In alternativa, potete continuare a leggere per scoprire tutti i nuovi aggiornamenti entusiasmanti di questo summit!
Ci stiamo impegnando molto per semplificare l’utilizzo di Firebase da parte dei team di sviluppo di app complesse. Siamo lieti di condividere questa notizia: aggiungeremo il supporto per Firebase ai nostri pacchetti di assistenza della Google Cloud Platform (GCP), disponibili in versione beta entro la fine di quest’anno.
Se hai già un pacchetto di assistenza GCP a pagamento, la nostra versione beta ti consentirà di avere le risposte alle tue domande su Firebase tramite il canale di assistenza GCP senza costi aggiuntivi. Quando questo nuovo supporto sarà accessibile a tutti, includerà tempi di risposta target, gestione tecnica degli account (per livello aziendale) e altro ancora. Puoi ottenere ulteriori informazioni sull’assistenza GCP qui.
Se hai intenzione di mantenere l’assistenza gratuita di Firebase, non preoccuparti: non abbiamo previsto di modificare nulla in merito al nostro modello di assistenza esistente. Se ne dovessi aver bisogno, continua a contattare il nostro team di assistenza sempre disponibile per ottenere aiuto.
Oltre all’assistenza per Cloud, abbiamo apportato alcuni miglioramenti a Firebase su tutta la linea. Maggiori informazioni di seguito.
Gestisci facilmente i progetti tramite l’API Firebase Management
Ci siamo impegnati molto per ottenere l’open access alle nostre API lato server, in modo da consentirti di integrare agevolmente i servizi di Firebase con i sistemi esistenti. Abbiamo rilasciato l’API Firebase Management, un’API REST che ti permette di creare e gestire progetti e app sistematicamente. Adesso puoi creare e distruggere gli ambienti Firebase come parte del flusso di lavoro esistente degli sviluppatori.
Inoltre, l’API Management consente ai partner di creare nuove fantastiche esperienze. Siamo entusiasti di condividere questa notizia: ora puoi distribuire su Firebase Hosting direttamente da StackBlitz e Glitch, due IDE basati sul Web. Adesso le loro piattaforme rileveranno automaticamente quando stai creando un’app Firebase e ti permetteranno di distribuire su Firebase Hosting con il clic di un pulsante, senza lasciare mai le loro piattaforme.
L'aspetto particolarmente interessante è che questa funzionalità non è riservata esclusivamente ai partner. Si tratta di una nuova API estensibile e non vediamo l’ora di vedere cosa riuscirai a creare. Puoi ottenere ulteriori informazioni e iniziare da qui.
Miglioramento del riconoscimento facciale con ML Kit
Lanciato in occasione del Google I/O a maggio, ML Kit semplifica il machine learning e lo rende accessibile per tutti gli sviluppatori di app, indipendentemente dalla loro esperienze con il ML. Se sei un principiante, puoi utilizzare le API pronte all’uso di ML Kit, come il riconoscimento di testo o il riconoscimento facciale, oppure se sei più esperto puoi portare i tuoi modelli personalizzati TensorFlow Lite e fornirli attraverso Firebase.
Stiamo ampliando l’API di riconoscimento facciale con il lancio della versione beta di face contours, che ti consente di rilevare oltre 100 punti dettagliati all’interno e intorno al volto di un utente La funzionalità di face contours consente alle app di sovrapporre facilmente maschere o accessori ai lineamenti del viso con la massima fedeltà e un posizionamento preciso, o di aggiungere elementi di abbellimento, levigando o colorando la pelle. Consulta i nostri documenti per saperne di più.
Maggiore sicurezza in termini di distribuzione grazie a Cloud Firestore
In passato, alcuni utenti ci hanno segnalato difficoltà con l'esecuzione del testing su Firebase. Ad esempio, a volte è difficile impostare le regole giuste per garantire che le app siano sicure. Per risolvere questo problema, stiamo rilasciando emulatori locali per Cloud Firestore e Realtime Database. Questi emulatori ti consentono di sviluppare ed eseguire test a livello locale e possono essere incorporati nel flusso di lavoro di integrazione continua in modo da poter essere distribuiti con maggiore sicurezza e tranquillità. Ottieni ulteriori informazioni sugli emulatori qui.
Diffusione degli aggiornamenti di Remote Config quasi in tempo reale + integrazione con Cloud Functions
Gli sviluppatori adorano utilizzare Remote Config perché dà loro la possibilità di modificare le app, personalizzare l’UI o rilasciare una nuova funzionalità senza distribuire una nuova versione che potrebbe avere un impatto negativo sull'esperienza degli utenti. Tuttavia, non esisteva un modo semplice per sapere quando veniva aggiornata la Remote Config di un’app. Bisognava recuperare gli aggiornamenti da Remote Config a intervalli di qualche ora per assicurarsi che gli utenti vedessero sempre le ultime modifiche nella loro app.
Siamo lieti di annunciare che adesso Remote Config si integra con Cloud Functions e Firebase Cloud Messaging in modo che tu possa indicare alle tue app quasi in tempo reale quando pubblichi (o esegui il rollback di) una nuova configurazione. Questa funzionalità riduce la complessità della configurazione di Remote Config e utilizza una quantità inferiore di larghezza di banda sui dispositivi, poiché le app devono recuperare le informazioni solo quando è disponibile una nuova configurazione.
Inoltre, adesso Remote Config può attivare funzioni definite dallo sviluppatore quando pubblichi o esegui il rollback della tua configurazione. In questo modo, puoi mantenere sincronizzati diversi progetti di Remote Config (per i flussi di lavoro degli ambienti di sviluppo/staging/produzione) e inviare messaggi Slack al team quando viene pubblicata una nuova configurazione. Per ulteriori informazioni, consulta i nostri documenti
Dal nostro partner con accesso in anteprima eBay:
“La combinazione di Cloud Functions con l’API REST di Firebase Remote Config ha permesso al mio team distribuito presso eBay di ricevere immediatamente notifiche in merito a eventuali modifiche alla configurazione della nostra applicazione. L’utilizzo di questi strumenti per creare una funzione che promuova le modifiche su Slack assicura che tutti coloro che hanno bisogno di essere informati su una modifica alla configurazione, ricevano immediatamente queste informazioni”.
- Jake Hall, eBay Classifieds Group Mobile Architect
Test Lab per iOS sarà accessibile da tutti
In occasione del Google I/O, abbiamo anche reso disponibile la versione beta di Test Lab Firebase per iOS. Negli ultimi mesi, abbiamo ampliato la farm di dispositivi iOS, aggiunto l’assistenza per iOS 12 e per le versioni iOS precedenti e integrato l’interfaccia utente per iOS nella console Firebase. Grazie a questi aggiornamenti, Test Lab per iOS presto uscirà dalla versione beta e diventerà accessibile a tutti. Scopri di più e inizia a utilizzare Test Lab già da oggi!
Monitoraggio delle prestazioni: informazioni sulle sessioni e gestione dei problemi
Anche se esegui test approfonditi durante tutto il ciclo di vita dello sviluppo, di tanto in tanto nella tua app in produzione appariranno bug e problemi di prestazioni. Il monitoraggio delle prestazioni fornisce informazioni dettagliate su questi problemi e risolve automaticamente i problemi più critici in una determinata istanza trace (ovvero un particolare avvio dell'app o flusso di pagamento). Ora puoi analizzare una singola sessione trace per vedere esattamente cosa stava succedendo quando si è verificato un problema di prestazioni.
Ad esempio, nella seguente dashboard, come vedi l'utilizzo della CPU è aumentato dopo che l'app ha recuperato e restituito l'immagine di un prodotto, e ciò indica la parte specifica del codice da analizzare.
Con tutti i dati e i problemi messi in evidenza dal Monitoraggio delle prestazioni, può essere difficile definire la priorità degli interventi. Ecco perché stiamo anche lanciando la possibilità di "disattivare", "chiudere" e "riaprire" i problemi nella console. La disattivazione silenzia temporaneamente il problema, in modo che tu possa concentrarti su altre attività finché non sei pronto a lavorarci. Contrassegnare un problema come chiuso indica che è stato risolto, ma Firebase ti avviserà se si ripresenta.
Scopri di più sugli approfondimenti delle sessioni e sulla gestione dei problemi qui.
Crashlytics è ora integrato con PagerDuty
I problemi di prestazioni e stabilità delle app possono verificarsi in qualsiasi momento. Per aiutarti a mantenere la stabilità, anche quando sei lontano dalla tua scrivania, stiamo introducendo un'e-mail di digest di stabilità Firebase Crashlytics e una nuova integrazione con PagerDuty. Il digest sulla stabilità evidenzia problemi emergenti che potrebbero diventare problematici in futuro, mentre l'integrazione di PagerDuty ti consente di avvisare il tuo team di un arresto anomalo ad alto impatto a qualsiasi ora del giorno. Per connettere Crashlytics con PagerDuty, segui i passaggi qui.
Fai di più con i tuoi dati con BigQuery + Data Studio
All'inizio di quest'anno, abbiamo integrato Crashlytics con BigQuery per consentirti di eseguire analisi più approfondite sui dati relativi agli arresti anomali. Per aiutarti a muovere i primi passi con BigQuery, abbiamo creato un modello Data Studio, in modo che tu possa produrre rapidamente un report condivisibile. Puoi visualizzare un'anteprima del modello con dati fittizi, quindi personalizzare il report in base alle tue esigenze. Scopri di più qui.
Predictions esce dalla beta e diventa disponibile per tutti
Lo scorso anno, in occasione del Firebase Summit, ti abbiamo presentato Firebase Predictions. Predictions applica il machine learning di Google ai dati di analisi delle app per creare segmenti di utenti in base al comportamento previsto. Anche se nessun membro del tuo team ha esperienza con il ML, Predictions ti fornisce informazioni su quali segmenti di utenti hanno maggiori probabilità di abbandonare o spendere (o completare un'altra azione di conversione) in modo che tu possa prendere decisioni informate sul prodotto. Quest'anno, siamo lieti di annunciare che Predictions sta per uscire dalla beta e sarà disponibile per tutti con una serie di nuove funzionalità progettate per rendere le Predictions più utili.
Ti stai chiedendo quali sono le informazioni contenute in una determinata previsione? Abbiamo aggiunto una nuova pagina dei dettagli che mostra quali fattori ha preso in considerazione il modello ML (come azioni, dispositivi, dati dell'utente, ecc.) per effettuare la previsione specifica. Ora esaminiamo anche le metriche di rendimento per ogni previsione, consentendoti di vedere quanto la previsione storicamente sia stata accurata rispetto al comportamento effettivo degli utenti, in modo che tu possa calibrare meglio il livello di tolleranza al rischio. Inoltre, se desideri eseguire un'analisi più approfondita dei dati di previsione o utilizzarli in servizi di terze parti, puoi esportare il set di dati di previsione completo su BigQuery.
Dai un'occhiata ai nostri documenti per saperne di più!
Raggiungi gli utenti in modo più efficace con i segmenti di pubblico dinamici in Google Analytics
Google Analytics per Firebase ti ha sempre offerto la possibilità di suddividere gli utenti in segmenti di pubblico in base ad azioni, tipo di dispositivo e altri parametri. Ora stiamo migliorando il generatore di segmenti di pubblico con alcuni aggiornamenti importanti: valutazione del pubblico dinamico, esclusione del pubblico e durata dell'iscrizione.
Innanzitutto, i segmenti di pubblico ora sono dinamici per impostazione predefinita, ovvero Firebase attirerà nuovi utenti che soddisfano i criteri e rimuoverà automaticamente gli utenti che non soddisfano più tali criteri. Se, ad esempio, imposti un pubblico di utenti che si trovano al livello 5 del gioco, quando questi utenti superano il livello e passano al livello 6 verranno automaticamente rimossi dal pubblico. Al contrario, man mano che altri utenti avanzano al livello 5 verranno automaticamente aggiunti al pubblico di livello 5 che hai definito.
In secondo luogo, puoi perfezionare il tuo pubblico aggiungendo criteri di esclusione usando istruzioni and/or che ti consentono di creare segmenti di pubblico come "utenti che hanno aggiunto al loro carrello degli acquisti ma non hanno effettuato un acquisto".
Infine, i segmenti di pubblico ora possono includere la durata dell'iscrizione, consentendoti di garantire che rimangano sempre aggiornati. Ciò consente di indirizzare gli utenti che hanno completato un'azione in un determinato periodo di tempo, ad esempio "effettuato un acquisto nelle ultime due settimane".
I segmenti di pubblico dinamici ti consentono di raggiungere i tuoi utenti in modo più efficace con messaggi pertinenti e un'esperienza nell'app più personalizzata. Scopri di più e inizia a creare segmenti di pubblico dinamici qui.
Esegui automaticamente le campagne ricorrenti con Cloud Messaging
Dopo aver definito i segmenti utente utilizzando Analytics o Predictions, puoi utilizzare Firebase Cloud Messaging (FCM) per inviare notifiche agli utenti latenti per riportarli nella tua app. Abbiamo ridisegnato la console delle notifiche affinché supporti campagne più complesse. Questa nuova UI ti dà la possibilità di impostare campagne di notifica ricorrenti che automaticamente inviano messaggi ai nuovi utenti che soddisfano i criteri di targetizzazione. In precedenza, era possibile pianificare solo invii una tantum.
Inoltre, la nuova UI di notifica ti consente di targetizzare facilmente gli utenti in base alla data della loro prima sessione o al numero di giorni dall'ultima volta in cui hanno aperto un'app. Inoltre, ultimo ma non meno importante, abbiamo aggiornato la visualizzazione dei risultati della campagna in modo che tu possa monitorare l'efficacia delle campagne di notifica ricorrenti giorno per giorno.
Dai un'occhiata alla nuova UI sulla tua console!
Siamo entusiasti di tutti gli aggiornamenti di Firebase che abbiamo annunciato. Mentre continuiamo a crescere e migliorare la piattaforma, ci piacerebbe avere il tuo feedback. Unisciti al nostro programma Alpha per avere un'anteprima di ciò a cui stiamo lavorando, condividere le tue opinioni e modellare il futuro di Firebase.
Se non sei riuscito a raggiungerci di persona a Praga, tutte le nostre sessioni sono registrate e pubblicate sul nostro canale YouTube. Grazie per essere parte della nostra community e felice programmazione!