Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Google IO'17

142 views

Published on

A resume about Google IO'17

Published in: Technology
  • Be the first to comment

Google IO'17

  1. 1. Google IO '17 @SuelenGC
  2. 2. 155 sessões, 100 office hours, 85 code labs e 19 sandboxes
  3. 3. Overview Geral do IO
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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
  13. 13. Inteligência Artificial
  14. 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. 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. 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
  17. 17. Machine Learning
  18. 18. Machine Learning REST APIs • Cloud Vision API • Cloud Speech API • Cloud Natural Language API • Cloud Translation API • Cloud Video Intelligence
  19. 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
  20. 20. Android
  21. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  36. 36. Web
  37. 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. 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. 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. 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. 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. 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
  43. 43. Cloud + Firebase
  44. 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. 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

×