4. Inteligência Artificial
Foi um dos grandes temas da conferência. Todos os produtos da
Google estão utilizando algum tipo de camada de inteligência
artificial agora e vão usar cada vez mais no futuro.
5. Inteligência Artificial
• Iniciativa Google.IA para compartilhar documentos de pesquisa, ferramentas e
diversos outros tópicos sobre inteligência artificial.
• Segunda geração do Tensor Processing Units (TPU), um processador projetado
especificamente para aprendizado de máquina utilizado principalmente no produto
Tensor Flow.
• Com esse novo parque de equipamentos a Google espera conseguir entregar 180
teraflops de performance.
• A Google está efetivamente transformando sua plataforma de computação em
nuvem para dar total suporte a Inteligência Artificial (https://blog.google/topics/
google-cloud/google-cloud-offer-tpus-machine-learning/)
6. Google Assistent & Google Lens
• Teve melhorias significativas.
• O Google Assistent começou no celular Pixel mas agora já está em mais de 100 milhões
de dispositivos Android.
• A nova versão do assistente agora pode analisar o mundo à sua volta com a ajuda da
câmera do smartphone e a tecnologia Google Lens. O assistente irá analisar o seu
entorno e exibir conteúdo relevante em sua tela.
• Será possível ver a classificação de um restaurante ao direcionar a câmera do telefone
para ele, apontar para uma flor e identificar a espécie, ou até encontrar a música de uma
banda ou vídeos apontando Lens para um cartaz de show.
• Outro exemplo apresentado foi reconhecer as credenciais de login WiFi em uma imagem
e o assistente usar essa informação para fazer login na rede.
7. Google Assistent & Google Lens
• Além disso, novos recursos estão tornando o assistente mais conversacional:
• Outros idiomas estão sendo incorporados a plataforma (inclusive o Português);
• Agora é possível pode digitar sua consulta em vez de dizê-lo em voz alta;
• O Google Assistent está sendo lançado também para a plataforma iOS (uma
alternativa ao Siri);
• É possível usar o Google Assistent para enviar dinheiro para outras pessoa
(inclusive dentro de um chat);
• Integração com o Google Home, smartwatchs e outros devices;
• Disponibilização do Google Assistent SDK.
• https://blog.google/products/assistant/your-assistant-getting-better-on-google-home-
and-your-phone/
8. Google Home v2
• Chamadas telefônicas gratuitas para os Estados Unidos e Canadá. Por padrão, o Google irá
usar um número privado para esse recurso - mas você tem a opção de vinculá-lo ao seu
próprio número de telefone celular (similar ao que já faz o Amazon Echo);
• Integração com HBO Now, Hulu, SoundCloud, Deezer e outros;
• Mais proativo (utilizando inteligência artificial) para sugerir algo;
• Respostas visuais integração com smart TVs ou Chromecast. Exemplos:
• "OK Google, mostre o meu calendário para hoje" e o Google Home pode exibir
instantaneamente os eventos do seu dia em uma TV conectada ao Chromecast.
• Peça ao Google Home para obter instruções sobre um local ou evento e enviará as
direções diretamente para o aplicativo do Google Maps em seu telefone.
9. Google Photos
• O Google Photos recebeu uma série de novos recursos.
• Compartilhamento de álbuns.
• Sugestão de compartilhamento de fotos com pessoas que aparecem nas fotos
(utilizando reconhecimento facial).
• Compartilhamento automático de fotos (também utilizando reconhecimento facial).
• E no futuro irá permitir a remoção de itens indesejados das fotos como, por exemplo,
uma grade que atrapalha a imagem onde aparece de uma pessoa ao fundo.
• Também foi lançado uma feature para impressão de fotos (entrega em domicílio).
10. Android O
• O lançamento da versão beta do Android O ocorreu durante o evento.
• Foi revelado que a contagem de dispositivos ativos do Android ultrapassa 2
bilhões.
• A nova versão do Android tem as principais características com foco em
segurança, otimizações (de consumo de bateria) e ferramentas para
desenvolvimento. Para isso criaram a iniciativa Android Vitals https://
developer.android.com/topic/performance/vitals/index.html.
11. Android Go
• Mirando no próximo bilhão de usuários on-line para a plataforma, está sendo
desenvolvida a versão Android Go. Que tem como objetivo conseguir funcionar
em celulares com poucos recursos e deverá ser lançada em 2018.
• O Android Go aceita apps pequenos e será voltado principalmente para devices
de até 1GB de RAM.
• Android for Entry-Level Devices https://www.youtube.com/watch?
v=CHKfKChZSE0
12. Outras Novidades
• Também ocorreram algumas outras novidades, como YouTube 360, nova
versão do Google Tango e o lançamento do Google for jobs.
• No geral o Google I/O 2017 foi bem denso em conteúdo. Ocorreram 155
sessões, 100 office hours, 85 code labs e 19 sandboxes
14. API.AI
• Em 2016 a Google adquiriu a Api.ai (https://api.ai) uma plataforma de
conversação, que facilita a criação de bots, incluindo compreensão de
linguagem natural em diversos idiomas e aprendizado de máquina.
• A plataforma evoluiu e agora disponibiliza um SDK bem evoluído que facilitar
integração.
• https://developers.google.com/actions/apiai/
• https://developers.google.com/actions/apiai/tutorials/getting-started
15. Tensor Flow
• Diversos produtos do Google utilizam TensorFlow, incluindo Search, Gmail, Translate, Maps, Android,
Photos, Speech, YouTube, Play e muitos outros.
• O foco no Tensor Flow esta bastante elevado:
• Ocorreram mais de 17500 commits desde Nov 2015;
• +475 contribuidores não-Google;
• +6400 repositorios com "TensorFlow" (no github);
• +5000 perguntas respondidas no Stack Overflow.
• O suporte a novas linguagens de programação foi incorporado ao Tensor Flow. Suportando agora Haskell,
C++, Java, Python, Go, etc.
• Durante o evento foi anunciado o TensorFlow Lite uma versão do TensorFlow para mobile.
• https://www.tensorflow.org/get_started/
16. Cloud Tensor Processing Units (TPU)
Durante as sessões foi apresentado a Cloud TPU. Aparentemente bem poderosa, mas
ainda na versão Alpha. A cloud pode se integrar com um conjunto de clusters heterogêneos,
e diversas otimizações de performance para aplicações de machine learning já vem por
padrão.
https://cloud.google.com/tpu/
https://www.tensorflow.org/performance/xla/developing_new_backend
https://www.tensorflow.org/performance/xla/
https://g.co/tpusignup
https://cloudplatform.googleblog.com/2017/04/quantifying-the-performance-of-the-TPU-our-
first-machine-learning-chip.html
18. Machine Learning REST APIs
• Cloud Vision API
• Cloud Speech API
• Cloud Natural Language API
• Cloud Translation API
• Cloud Video Intelligence
19. Machine Learning
• Cloud Vision API: Reconhecimento de faces, logo, emoções, pontos de interesse, labels,
conteúdo explícito, etc. (cloud.google.com/vision)
• Cloud Speech API: Transcreve o que é dito.
• Cloud Natural Language API: extrai sentimentos, categorias, principais palavras de textos,
como respostas abertas de questionários, etc.
• Cloud Translation API: Tradução contextualizada.
• Cloud Video Intelligence: Busca e marca pontos do vídeo que aparece determinada coisa.
• Machine Learning By Examples (Google IO’17): https://www.youtube.com/watch?
v=ETeeSYMGZn0
21. Kotlin
• O principal novidade sobre a plataforma Android foi o
suporte a linguagem de programação Kotlin.
• https://android-developers.googleblog.com/2017/05/android-
announces-support-for-kotlin.html
• https://kotlinlang.org/
• Introduction to Kotlin (Google I/O '17) - https://
www.youtube.com/watch?v=X1RVYt2QKQE
22. Kotlin
• O suporte oficial a linguagem Kotlin está disponível no Android Studio a
partir da versão 3.0.
• A equipe de desenvolvimento do Android Studio é a mesma do Kotlin.
Facilitando assim a implementação de features como copiar um trecho
de código Java e colar como um trecho de código Kotlin e vice e versa.
• Aplicativos como Pinterest, Flipboard e Expedia já migraram para Kotlin.
• Diversas novas features do Java 8 foram incorporadas ao Android,
incluindo java.time, java.nio.file, java.lang.invoke e muitos outras.
23. Novidades no Android O
• Suporte a fonts no XML. Podendo carregar tanto do código quanto do XML (já esta em beta);
• TextView com Auto-Sizing;
• Adaptative icons;
• Fim da necessidade de cast do findViewById;
• Castaway, não mais cast com findViewById
• Lançamento do Google Play Protect;
• https://www.android.com/play-protect/
• https://blog.google/products/android/google-play-protect/
• Melhorias no gerenciador de dependências;
• Mudanças nas solicitações sobre locations & scan WIFI pelos apps com objetivo de melhorar o
consumo de bateria;
24. Novidades no Android O
• Novas restrições a serviços que rodam em background com objetivo de reduzir o consumo
de bateria;
• AlarmManager, SyncAdapter e JobScheduler ainda não possuem limitação nesta API;
• SYSTEM_ALERT_WINDOW agora é ordenado de acordo com o app em foreground;
• APK Analyser: Otimizador de APK com objetivo de diminuir o tamanho dos APKs
(divulgado no ano passado este ano teve muitas melhorias);
• Suporte WebP;
• Android Vitals (https://developer.android.com/topic/performance/vitals/index.html)
• No futuro (ainda está em review) o usuário poderá definir o limite de agressividade do app
no consumo de bateria - podendo facilmente pausar serviços em background. Deverão ser
incorporados limites para consumo de bluetooth, wifi, etc
25. Android Studio 3.0
A versão 3.0 do Android Studio recebeu uma série de melhorias:
• Incorporação de profilers: CPU, Memória e Rede;
• Com o Network Profiler é possível analisar e investigar cada request individualmente;
• Com o Memory Profiler é possível acompanhar a alocação de memória feita pelo app ao longo do
tempo. Facilitando a identificação de pontos de alto consumo de memória ou mesmo leaks de
memória.
• Com o Rede Profiler é possível ver toda a request, inclusive HEAD e BODY de dentro do Android
Studio.
• Melhoria significativa no tempo de build do app;
• Android Debug APK para debugar o código de bibliotecas usadas no app;
• Google Play Store voltou ao Android Emulator.
• https://android-developers.googleblog.com/2017/05/android-studio-3-0-canary1.html
26. Notificações Android
• Ocorreram mudanças significativas no modelo de notificações no Android O. Antes de
apresentar as mudança, tanto de comportamento quanto de usabilidade, foram
apresentados dados e resultados de uma grande pesquisa que conduziram sobre
notificações.
https://android-developers.googleblog.com/2017/05/whats-new-in-android-o-developer.html
Notifications UX: What's New for Android O (Google I/O '17) https://www.youtube.com/
watch?v=vwZi56I0Mi0
• O novo modelo de notificações tem como base entender o que é prioridade para o usuário e
qual é o melhor momento para ele receber a notificação.
• O principal componente do novo modelo são os channels os quais possuem níveis de
prioridade (Min, Low, Default e High). Os channels e seus níveis de prioridade serão
utilizados para definir quando e como uma notificação será apresentada para o usuário.
27. System Notifications Settings for an App
• O usuário poderá definir quais notificações deseja continuar recebendo, de determinado aplicativo, e
quais serão as prioridades para cada tipo de notificação. Desta maneira, todos os desenvolvedores
(ou fornecedor) de aplicativos serão obrigados a implementar suporte a configurações de notificações
por channel (ou as notificações serão removidas na versão 11).
• A apresentação das notificações também será atualizada. Existirá uma hierarquia visual, onde o mais
crítico vai aparecer no topo. Notificações poderão aparecer em uma single line se tiverem prioridade
inferior às demais.
• Caso o usuário tenha muitas notificações pode gerar um "scroll de notificações". Sendo que durante
o scroll os ícones dos aplicativos acabam fornecendo uma relevância adicional para notificações.
• Outra característica é que notificações poderão ser postergadas. Por exemplo adiar 1 hora. Se for
postergado mais do que X vezes as notificações não serão entregues mais.
• Do ponto de vista do Firebase/GCM existem dois níveis de prioridade agora: High Priority e Normal
Priority.
28. Instant App
• Diversas palestras sobre Instant App foram apresentadas durante o evento e sua adoção foi
encorajada durante as sessões.
• O suporte a Instant App foi oficializado no Android Studio 3.0.
• Zillow, CastBox, Twitter e outras empresas apresentaram casos sobre o uso de Instant App.
• https://developer.android.com/topic/instant-apps/index.html
• Introduction to Android Instant Apps (Google I/O '17) https://www.youtube.com/watch?
v=oispNrpGnIY
• Building an Android Instant App (Google I/O '17) https://www.youtube.com/watch?
v=9Jg1D07NgeI
• Android Instant Apps Best Practices Fireside Chat (Google I/O '17) https://www.youtube.com/
watch?v=F42Rbi3WIlA
29. Melhores Práticas para Apps
• Fluxos críticos no mobile, como logins, pagamentos e
outros formulários foram temas explorados no evento.
Autofill, Smart Lock e Backup and Restore foram
apresentados com o intuito de auxiliar o tratamento
destes fluxos críticos.
• Best Practices to Improve Sign-In, Payments, and Forms
in Your Apps (Google I/O '17) https://www.youtube.com/
watch?v=oZxwTiMH0FM
30. Android Autofill
• O suporte ao Android Autofill foi incorporado ao Android O e já é usado por alguma
empresas (Keeper, LastPass, iPassword, dashlane, etc).
• O Autofill permite que os usuários economizem tempo preenchendo os formulários
usando o preenchimento automático em seus devices em apps nativos.
• O Android O torna mais fácil o preenchimento de formulários de cartões de crédito
e de contas.
• Na prática o Autofill Framework gerencia a comunicação entre o aplicativo e um
serviço de preenchimento automático.
• A recomendação oficial é otimizar os apps para utilizar Autofill.
• https://developer.android.com/preview/features/autofill.html
31. Android Smartlock for Password
• Ao utilizar Smart Lock for Passwords no app é possível logar automaticamente os usuários
usando as credenciais previamente salvas.
• É possível salvar tanto as credenciais de username e senha quanto as credenciais de identidade.
• As credenciais podem ser salvas durante o processo de login usando Crentials API. A experiência
para o usuário final, quando corretamente implementado, fica bem fluida.
• https://developers.google.com/identity/smartlock-passwords/android/
• Diversos exemplos de empresas que usam Smart Lock: https://g.co/SmartLockCaseStudies
• O Pinterest afirmou que o uso do Smart Lock melhorou significativamente seus apps.
• https://developers.google.com/identity
• https://developers.google.com/identity/smartlock-passwords/android/overview
• https://developers.google.com/android/reference/com/google/android/gms/auth/api/credentials/
package-summary
32. Android Auto Backup
• É possível utilizar os serviços de backup e restore sem depender
de contas do Google
• https://developer.android.com/guide/topics/data/autobackup.html
• https://developer.android.com/guide/topics/data/
keyvaluebackup.html
• Documento com links sobre Autofill, Smart Lock e Auto Backup:
https://docs.google.com/document/d/
15Krx0ml8qRPH5RfzgabHUYd3UqUOE11wYfOJ2PPb5QI/pub
33. Android Wear 2.0
• Google Assistant available.
• Will be integrated to Google Home.
• It is possible to custom the data showed on watchface (Android Wear
Complication API)
• Provide a design guide and core APIs.
• Play Store direct on watch
• Many updates in notifications.
• All other than forground apps are considered idle and are disabled.
• Location updates were limited to some in an hour.
34. Android Wear 2.0
• The key to save battery on watch is the display as shown in image about
consumption battery with different uses of display (off display, on and
interactive, animations).
• To improve: use dark themes, animations are expensive, so don't use it.
Avoid background sync. Batch data transfer once a day is better than a lot
of little packages data and do it over wifi because bluetooth is so much
more battery expensive. Vibration, location and music is also expensive.
• Android Wear: What's new & Best Practices (Google IO’17) https://
www.youtube.com/watch?v=97U6W-5iF_o
35. Outras novidades
• Improvements on design and Constraint Layout 2.1
• Added sample resource file to see lists in development time like will be at runtime.
• Download fonts in development time too.
• Device explore option to navigate into device directories from Android Studio.
• Refactors tools to organizing your code into features packages.
• Android Debug APK
• Google maven repo (no more maven repo at manifest or build.gradle)
• Parallel build.
• Simulador voltou a ter Google Play Store
• Updates to APK AnalyzerS
37. Progressive Web Pages (PWA)
• Durante diversas sessões os palestrantes incentivaram fortemente o
uso de AMP (Accelerated Mobile Pages (https://www.ampproject.org/
pt_br) e PWA. Além de reforçarem que Mobile Web é mainstream.
• Um Product Manager do Twitter apresentou casos de sucesso com
PWA. Onde seu uso incrementou 65% de pages/sessions e 75%
mais tweets.
• Forbes, Expedia, Pinterest, Lyft, Airbnb, Trivago, Lacôme, entre
outros já utilizam PWA's. Sendo que a Lacôme teve um incremento
de 53% de tempo de sessão após a adoção da tecnologia.
38. Progressive Web Pages (PWA)
• O Trivago pergunta se o usuário deseja adicionar um atalho na home
(apresentando de maneira idêntica a um app aplicativo nativo).
• O Head de Web Products do Olacabs (https://www.olacabs.com/)
apresentou um caso de sucesso do uso de PWA (com web
components). Sendo que atualmente o Olacabs tem mais de 1 milhão
de corridas diárias, em mais de 110 cidades, com mais de 600 mil
motoristas.
• A versão com PWA teve cerca de 30% mais conversão que o app
nativo. 20% das reservas usando PWA foram de usuários que tinham
desinstalado o app.
39. Web Payments
• Foram apresentados os casos de uso de Web Payments com Wego (https://www.wego.com/)
e Kogan (https://www.kogan.com) focando no checkout na versão web mobile.
• Web Payments já esta pronto para utilização e diversas empresas já implementaram: Monzo,
Kogan, Groupon, Nivea, Wego, Washington Post, Mobify, Shopify, WooCommerce,
BigCommerce, WompMobile, Weebly, etc.
• O time do Alipay & Alibaba (https://www.alipay.com/webpay) apresentaram um caso de
sucesso da utilização de Web Payments. A versão mobile web deles é a que melhor atende
sua audiência global. Sendo que o Alipay possibilita a utilização de fingerprint (impressão
digital) para autorizar uma compra.
• A integração de pagamento com Web Payments com PaymentRequest é feita de maneira
simples utilizando uma API JavaScript cross-browser.
• Navegadores que tem suporte a API: Chrome, IE, Samsung Internet e, em breve, Firefox.
40. Web Payments
Por enquanto o número de parceiros de pagamento é limitado: PayPal, Samsung Pay e Alipay.
Entretanto outras alternativas serão adicionadas em breve. O Android Pay chegará ao Brasil até o
fim de 2017.
Continuando no tema foi apresentado o resultado de uma pesquisa sobre transações mobile.
Cerca de 80% das transações de compra no mobile só possuem 1 produto. E apresentar a opção
para o usuário "Buy Now" ao além de "Add to Cart" aumenta significativamente a conversão.
https://g.co/PaymentRequesgtGuide
https://g.co/PayAppIntegration
https://g.co/PaymentRequestCodeLab
41. V8
Foram apresentados diversos dados sobre a evolução da tecnologia V8 https://developers.google.com/v8/ e
como essa evolução impacta positivamente o usuário final. Incluindo a redução do consumo de memória, a
melhora na performance do setup inicial e as otimizações feitas em tempo de execução (JIT) para múltiplas
execuções da mesma chamada.
• Tópicos recomendados para uma boa compreensão:
• Conhecer bem JavaScript é fundamental;
• Entender o comportamento entre uma execução e múltiplas execuções da mesma chamada em JS;
• TurboFan https://github.com/v8/v8/wiki/TurboFan
• Ignition Interpreter https://github.com/v8/v8/wiki/Interpreter
• Orinoco https://v8project.blogspot.com.br/2016/04/jank-busters-part-two-orinoco.html
• Speedometer 2 http://browserbench.org/Speedometer/
42. Outros tópicos relevantes
A ferramenta Lighthouse foi integrada ao DevTools do Chrome https://
www.chromestatus.com/features
Lançamento do Polymer 2.0 p/ Web Components https://www.polymer-
project.org/
https://developers.google.com/web/tools/lighthouse/
https://www.chromestatus.com/features
https://developers.google.com/web
http://bit.ly/pwa-media
44. Firebase
Diversas sessões sobre Firebase ocorreram durante o evento. Focando
principalmente em Autenticação por número de telefone, hosting e
realtime.
https://firebase.google.com/
45. Todas as sessões foram gravadas e disponibilizadas em:
https://events.google.com/io/schedule
Docs com EXATAMENTE essas informações: https://
docs.google.com/document/d/1Kj8fDvu-
YCLG8AMXIWb6Ag24huj06zP5asze1ea-qKo/edit?usp=sharing