Por Amit Litsur, gerente de Producto, Google Maps Platform
Hace trece años, en el primer mashup de Google Maps se combinaron datos de alojamiento de Craigslist con nuestros mosaicos de mapas, antes de que existiera incluso una API para acceder a ellos. Hoy, las Google Maps API se encuentran entre las más populares en Internet, y sustentan millones de sitios web y apps que generan miles de millones de solicitudes por día.Read More
Por Amit Litsur, gerente de Producto, Google Maps Platform
Hace trece años, en el primer mashup de Google Maps se combinaron datos de alojamiento de Craigslist con nuestros mosaicos de mapas, antes de que existiera incluso una API para acceder a ellos. Hoy, las Google Maps API se encuentran entre las más populares en Internet, y sustentan millones de sitios web y apps que generan miles de millones de solicitudes por día.
Durante este mismo mes, presentamos la nueva generación de nuestro negocio de Google Maps, Google Maps Platform; esta incluyó una serie de actualizaciones que te ayudarán a aprovechar las funciones y los productos nuevos basados en la ubicación. Simplificamos nuestras API en tres categorías de productos (Maps, Routes y Places), para facilitar la búsqueda, la exploración y la adición de nuevas características a tus apps y sitios. También fusionamos nuestros planes de precios en un plan de pago por uso destinado a nuestros productos principales. Con este nuevo plan, recibirás gratis los primeros USD 200 de uso mensual para que puedas probar las API sin riesgo.
Además, Google Maps Platform incluye productos simplificados, una mejor integración con los servicios y las herramientas de Google Cloud Platform (GCP) y una oferta única de pago por uso. Al interactuar con GCP, podrás escalar tu negocio y utilizar servicios de ubicación a medida que crezcas. Ya no imponemos límites de uso, como cualquier otro servicio de GCP.
También puedes administrar Google Maps Platform desde Google Cloud Console, la misma interfaz que usas para administrar y controlar otros servicios de GCP. Esta integración ofrece una vista más personalizada para administrar la implementación de tu Google Maps Platform, de modo que puedas controlar el uso de API individuales, establecer cuotas de uso, configurar alertas para obtener más visibilidad y control, y acceder a informes de facturación. Todos los clientes de Google Maps Platform ahora reciben atención gratuita para clientes de Google Maps Platform, a la que también puedes acceder desde la GCP Console.
Visita el sitio web de Google Maps Platform, donde podrás encontrar más información sobre nuestros productos y también explorar el asistente de integración guiado desde el sitio web o la consola. Estamos ansiosos por ver cómo usarás Google Maps Platform con GCP para ofrecer servicios nuevos e innovadores a tus clientes.
Hoy
todos esperamos que haya WiFi en cualquier lugar, desde el café más
pequeño hasta el aeropuerto más concurrido. Pero el reto de
implementarlo, administrarlo y hacerlo sostenible no siempre es fácil
para los negocios, que se enfrentan a una complejidad técnica y
administrativa para la que no están preparados.
Esa
es la oportunidad que encontró DataWiFi,
una startup colombiana que ofrece soluciones de analítica,
monetización y mercadeo de las redes de WiFi para empresas. La
compañía comenzó tímidamente, “apenas con una definición de
producto y un mercado por explorar a corto y mediano plazo”, como
recuerda Edwin G. Pardo, Senior Advisor de la compañía.
Luego
de entrar a Google Launchpad, DataWifi descubrió el potencial que
tenía su producto y se concentró en explotarlo al máximo. Lo
primero, dice Pardo, fue concentrarse en identificar y fortalecer los
productos que tenían más posibilidades en el mercado. Eso, asegura,
“nos permitió diseñar funcionalidades para entornos como retail,
Gobierno y hotelería”.
Pero
lo más importante que DataWiFi descubrió tras su paso por un
Launchpad Start fue una oportunidad de negocio real, sostenible y
escalable. Las empresas que buscan ofrecer una mejor experiencia a
sus visitantes con zonas Wi-Fi gratis tienen un problema recurrente:
“este tipo de iniciativas, por lo general, o no tienen un inicio
exitoso, o simplemente mueren durante el tiempo por falta de recursos
que ayuden a hacerlas sostenibles”. En pocas palabras: el WiFi es
una carga para los negocios.
DataWiFi
se concentró en crear un producto que ayuda a sus clientes a
solucionar esa situación convirtiendo al WiFi en un canal de
mercadeo para los negocios “que les permite llegar a sus clientes
de una manera más eficaz, ya que llegan a personas con intereses de
compra” Además, DataWifi les permite a sus clientes generar
ingresos con sus redes de WiFi desde el día cero a través de pauta
programática, lo que les permite aliviar el costo financiero de
ofrecer y mantener una conexión inalámbrica de buena calidad y
velocidad.
Además,
DataWifi logró acelerar sus procesos de diseño y desarrollo de
producto por medio de metodologías ágiles, lo que le permitió
ofrecerles herramientas especializadas a sus clientes en el sector
hotelero y cumplir con los estándares de seguridad requeridos para
ofrecer sus servicios en el sector bancario.
Con
esta nueva forma de pensar y trabajar, DataWifi ha logrado expandir
su operación a Colombia, Ecuador, Perú y Panamá, y se ha
convertido en la plataforma de WiFi de alta capacidad más usada en
Latinoamérica. Entre sus clientes tiene nombres grandes, como los
operadores Claro, ETB, Movistar o UNE, pero hay uno que especialmente
los llena de orgullo: son los operadores de las Zonas
WiFi
gratis para la gente, del Ministerio de las TIC, en
Colombia.
Este
programa gubernamental ofrece acceso gratuito a WiFi en todo el
territorio nacional, especialmente en zonas apartadas con escasas
conexiones domiciliarias y redes de datos de poca capacidad. Lo hace
a través de cerca de 2.000 zonas wifi distribuidas en toda Colombia,
cada una capaz de soportar hasta a 200 usuarios al mismo tiempo.
Según cifras de la startup, más de 5 millones de personas se han
beneficiado del programa, y han llevado a cabo 40 millones de
sesiones al mes.
DataWiFi
logró tener ese impacto gracias a las lecciones más relevantes de
sus mentores en el Launchpad Start. Primero, conocer las necesidades
de sus clientes, lo que les permitió entender cómo ajustar su
producto a diferentes nichos y mercados. Segundo, entender el
problema completamente y con todos sus matices, gracias a lo cual
encontraron una oportunidad de negocios que tiene sentido en el
mercado y le soluciona un problema real a sus clientes. Y tercero,
ejecutar rápido, para traducir oportunamente todos los insights y
aprendizajes en productos y negocios.
Por Mary Koes, gerente de Producto, y Bryan Moyles, ingeniero de Software
Los registros contienen algunos de los datos más valiosos disponibles para desarrolladores, practicantes de DevOps, Ingenieros de confiabilidad en planta (SRE) y equipos de seguridad, especialmente cuando se busca solucionar un incidente. Sin embargo, extraerlos no siempre es fácil. Un inconveniente común surge de que muchas entradas de registro son blobs de texto no estructurado, lo cual dificulta la extracción de información relevante cuando se necesita. Sin embargo, los datos de registro estructurados son mucho más potentes, y te permiten extraer los datos más valiosos de tus registros.Read More
Por Mary Koes, gerente de Producto, y Bryan Moyles, ingeniero de Software
Los registros contienen algunos de los datos más valiosos disponibles para desarrolladores, practicantes de DevOps, Ingenieros de confiabilidad en planta (SRE) y equipos de seguridad, especialmente cuando se busca solucionar un incidente. Sin embargo, extraerlos no siempre es fácil. Un inconveniente común surge de que muchas entradas de registro son blobs de texto no estructurado, lo cual dificulta la extracción de información relevante cuando se necesita. Sin embargo, los datos de registro estructurados son mucho más potentes, y te permiten extraer los datos más valiosos de tus registros. Google Stackdriver Logging ha simplificado como nunca el envío y el análisis de datos de registro estructurados.
Recientemente, anunciamos nuevas funciones para que puedas usar mejor datos de registro estructurados. Nos has contado que te gustaría personalizar los campos que ves cuando realizas búsquedas en los registros. Ahora puedes agregar campos personalizados en el visor de registros de Stackdriver. También es más fácil generar datos de registro estructurados usando el agente Stackdriver Logging.
¿Por qué los datos estructurados son mejores?
El uso de datos de registro estructurados tiene algunos beneficios claves; entre otros, la posibilidad de analizar y comprender de manera más sencilla y rápida los datos de tu registro. En el cuadro siguiente se muestran las diferencias entre datos de registro estructurados y no estructurados.
Aquí puedes ver rápidamente la cantidad de información disponible:
Cómo lograr que los registros estructurados te den resultado
Puedes enviar datos de registro estructurados y no estructurados a Stackdriver Logging. La mayoría de los registros que los servicios de Google Cloud Platform (GCP) se encargan de generar, como Cloud Audit Logging, Google App Engine logs o VPC Flow Logs, se envían a Stackdriver automáticamente como datos de registro estructurados.
Debido a que Stackdriver Logging también pasa los datos de registro estructurados a través de receptores de exportación, el envío de registros estructurados facilita el trabajo con los datos estructurados descendentes si los procesas con servicios como BigQuery y Cloud Pub/Sub.
El uso de datos de registro estructurados permite alertar más fácilmente sobre datos de registros o crear paneles a partir de tus registros, en especial cuando creas una etiqueta o extraes un valor con una métrica de distribución; ambos corresponden a un campo individual. (Si deseas más información, lee la entrada anterior sobre técnicas para extraer valores de registros de Stackdriver).
Prueba Stackdriver Logging tú mismo
Para comenzar a usar el registro estructurado de Stackdriver hoy mismo, simplemente debes instalar (o volver a instalar) el agente Stackdriver Logging con el indicador estructurado. Este también habilita el análisis automático de formatos de registro comunes, como syslog, Nginx y Apache.
Para probar Stackdriver Logging y observar la potencia de los registros estructurados por ti mismo, puedes realizar uno de nuestros cursos Qwiklab más solicitados, Creación de métricas basadas en registros y emisión de alertas sobre estas, de forma gratuita usando una oferta especial de 15 créditos. Esta oferta es válida hasta fines de mayo de 2018. También puedes probar nuestras nuevas funciones de registros estructurados en tu proyecto de GCP existente; para ello, consulta nuestra documentación.
Publicado por Yonghui Wu, ingeniero principal, equipo de Google Brain
La semana pasada, en Google I/O, presentamos Smart Compose: una nueva función en Gmail que usa aprendizaje automático a fin de ofrecer, de forma interactiva, sugerencias para completar oraciones a medida que escribes, lo que te permite crear borradores de correos electrónicos rápidamente. Smart Compose, creado con tecnología desarrollada para ...Read More
Publicado por Yonghui Wu, ingeniero principal, equipo de Google Brain
La semana pasada, en Google I/O, presentamos Smart Compose: una nueva función en Gmail que usa aprendizaje automático a fin de ofrecer, de forma interactiva, sugerencias para completar oraciones a medida que escribes, lo que te permite crear borradores de correos electrónicos rápidamente. Smart Compose, creado con tecnología desarrollada para Smart Reply, ofrece una nueva manera de ayudarte a redactar mensajes, ya sea para responder un correo electrónico entrante o escribir uno nuevo desde el principio.
Durante el desarrollo de Smart Compose, enfrentamos algunos desafíos claves:
Latencia: debido a que Smart Compose proporciona predicciones según la pulsación de teclas, lo ideal es que responda dentro de 100 ms para que el usuario no note demoras. Equilibrar la complejidad del modelo y la velocidad de interferencia fue un aspecto crucial.
Escalamiento: Gmail tiene más de 1400 millones de usuarios. A fin de poder proporcionar una función de compleción automática que resulte útil para todos los usuarios de Gmail, el modelo debe tener la capacidad de modelado suficiente para poder realizar sugerencias personalizadas en contextos ligeramente diferentes.
Equidad y privacidad: al desarrollar Smart Compose, debimos abordar las causas de posibles compensaciones en el proceso de preparación y cumplir con las mismas normas estrictas de privacidad del usuario de Smart Reply, para lo cual tuvimos que asegurarnos de que nuestros modelos nunca expusieran la información privada del usuario. Además, los investigadores no pudieron acceder a correos electrónicos, lo cual significó que debieron desarrollar y preparar un sistema de aprendizaje automático para trabajar en conjuntos de datos que ellos mismos no pueden leer.
Búsqueda del modelo correcto
Los modelos típicos de generación de lenguaje, como los de ngram, bolsa de palabras neuronal (BoW) y lenguaje RNN (RNN-LM), aprenden a predecir la siguiente palabra según la secuencia de palabras que la anteceden. No obstante, en un correo electrónico las palabras que ya escribió el usuario en la sesión de redacción actual de este son solo una “señal” que un modelo puede usar para predecir la siguiente palabra. Para incorporar más contexto sobre lo que el usuario quiere decir, nuestro modelo también está condicionado por el asunto del correo electrónico y el cuerpo del correo electrónico anterior (si el usuario responde a un correo electrónico entrante).
Un enfoque para incluir ese contexto adicional consiste en detectar el problema como una tarea de traducción automática de un modelo secuencial (seq2seq), en la cual la secuencia de origen es la concatenación del asunto y el cuerpo del correo electrónico anterior (si hubiera uno), y la secuencia de destino es el correo electrónico actual que el usuario está redactando. Si bien este enfoque funcionó bien en términos de calidad de la predicción, no pudo satisfacer nuestras limitaciones estrictas de latencia en varios órdenes de magnitud.
Para mejorar esto, combinamos un modelo BoW con uno RNN-LM, que es más rápido que los modelos seq2seq, y se hizo un pequeño sacrificio en la calidad de predicción del modelo. En este enfoque híbrido, codificamos el asunto y el correo electrónico previo promediando la incorporación de palabras en cada campo. Luego unimos esas incorporaciones promediadas y las insertamos en el modelo secuencial de destino RNN-LM en cada paso de decodificación, como se muestra en el diagrama del modelo, a continuación.
Arquitectura del modelo RNN-ML de Smart Compose El asunto y el correo electrónico previo se codifican promediando la incorporación de palabras en cada campo. Luego, las incorporaciones promediadas se insertan en el modelo RNN-LM en cada paso de decodificación.
Aceleración de la preparación y del servicio del modelo
Por supuesto, una vez que decidimos seguir este enfoque de modelado, todavía debíamos ajustar varios hiperparámetros de modelos y preparar los modelos con miles de millones de ejemplos, lo que puede llevar mucho tiempo. Para acelerar el procedimiento, realizamos experimentos con un pod TPUv2. De este modo, podemos preparar un modelo por completo en menos de un día.
Incluso después de preparar nuestro modelo híbrido más rápido, la versión inicial de Smart Compose en una CPU estándar tuvo una latencia de servicio de cientos de milisegundos, lo que aún es inaceptable de cara a un futuro en el que se apunta a ahorrar tiempo para los usuarios. Por suerte, también se pueden usar TPU en el punto de interferencia para acelerar enormemente la experiencia del usuario. Al descargar la totalidad de los cómputos en TPU, mejoramos la latencia promedio a decenas de milisegundos y también aumentamos notablemente la cantidad de solicitudes que puede abordar una sola máquina.
Equidad y privacidad La equidad en el aprendizaje automático es muy importante, ya que los modelos de comprensión de lenguaje pueden reflejar sesgos cognitivos humanos que generen asociaciones de palabras no deseadas y oraciones mal completadas. Como señalan Caliskan y otros en su ensayo reciente: “La semántica derivada automáticamente de cuerpos lingüísticos contiene sesgos similares a los humanas”; estas asociaciones están profundamente enredadas en datos del lenguaje natural, lo que representa un desafío importante para la compilación de cualquier modelo de lenguaje. Investigamos activamente formas de continuar reduciendo los posibles sesgos en nuestros procedimientos de preparación. Asimismo, debido a que Smart Compose se prepara con miles de millones de frases y oraciones, tal como lo hacen los modelos de aprendizaje automático de spam, hemos realizado muchas pruebas para asegurarnos de que nuestro modelo solo memorice las frases comunes que utilizan varios usuarios, para lo que nos basamos en los hallazgos de este documento.
Trabajo a futuro
Trabajamos constantemente con el objetivo de mejorar la calidad de sugerencia del modelo de generación de lenguaje, para lo cual aplicamos arquitecturas de última generación (como Transformer y RNMT+, entre otras) y experimentamos con las técnicas de preparación más recientes y avanzadas. Una vez que logremos atenernos a nuestras estrictas limitaciones de latencia, implementaremos esos modelos más avanzados para producción. También estamos trabajando para incorporar a nuestro sistema modelos de lenguaje personales, diseñados para emular con mayor precisión el estilo de escritura de una persona.
Agradecimientos El modelo de generación de lenguaje Smart Compose fue desarrollado por Benjamin Lee, Mia Chen, Gagan Bansal, Justin Lu, Jackie Tsay, Kaushik Roy, Tobias Bosch, Yinan Wang, Matthew Dierker, Katherine Evans, Thomas Jablin, Dehao Chen, Vinu Rajashekhar, Akshay Agrawal, Yuan Cao, Shuyuan Zhang, Xiaobing Liu, Noam Shazeer, Andrew Dai, Zhifeng Chen, Rami Al-Rfou, DK Choe, Yunhsuan Sung, Brian Strope, Timothy Sohn, Yonghui Wu y muchos más.
Publicado por Wesley Chun (@wescpy), representante de programadores, G Suite
Recientemente, presentamos la disponibilidad general deHangouts Chat. Esta plataforma de mensajería de última generación ofrece a los usuarios de G Suite un nuevo lugar para comunicarse y colaborar en equipo. Incluye archivo y búsqueda, una mejor integración con G Suite y la capacidad de crear salas de chat independientes con subprocesos. La nueva función clave para los desarrolladores es un marco de trabajo para bots y una API. Ya sea para automatizar tareas comunes, consultar información o realizar otras tareas complejas, los bots pueden transformar notablemente la manera en la que trabajamos.Read More
Publicado por Wesley Chun (@wescpy), representante de programadores, G Suite
Recientemente, presentamos la disponibilidad general deHangouts Chat. Esta plataforma de mensajería de última generación ofrece a los usuarios de G Suite un nuevo lugar para comunicarse y colaborar en equipo. Incluye archivo y búsqueda, una mejor integración con G Suite y la capacidad de crear salas de chat independientes con subprocesos. La nueva función clave para los desarrolladores es un marco de trabajo para bots y una API. Ya sea para automatizar tareas comunes, consultar información o realizar otras tareas complejas, los bots pueden transformar notablemente la manera en la que trabajamos.
Además de respuestas en texto sin formato, Hangouts Chat también puede mostrar respuestas del bot con interfaces de usuario (IU) mejoradas llamadas tarjetas que pueden exhibir información de encabezado, datos estructurados, imágenes, vínculos y botones, entre otros elementos. Además, los usuarios pueden interactuar con estos componentes y, posiblemente, actualizar la información que se muestra. En este último episodio del G Suite Dev Show, los desarrolladores aprenden a crear un bot que contiene una tarjeta de actualización interactiva.
Como puedes ver en el video, lo más importante cuando los bots reciben un mensaje es determinar el tipo de evento y tomar la medida adecuada. Por ejemplo, un bot realizará todo el “papeleo” requerido cuando se agregue a una sala o un mensaje directo (MD) o se quite de ellos, lo que normalmente se denomina “espacio” en la jerga.
La situación más probable implica recibir un mensaje común enviado por los usuarios; la mayoría de los bots “hacen lo suyo” para abordar la solicitud. El último tipo de evento ocurre cuando un usuario hace clic en una tarjeta interactiva. De forma similar a cuando se recibe un mensaje estándar, un bot realiza las tareas requeridas, que incluyen la posible actualización de la tarjeta. A continuación, te mostramos un seudocódigo que resume estos cuatro tipos de eventos y representa lo que haría un bot según el tipo de evento:
function processEvent(req, rsp) {
var event = req.body; // event type received
var message; // JSON response message
if (event.type == 'REMOVED_FROM_SPACE') {
// no response as bot removed from room
return;
} else if (event.type == 'ADDED_TO_SPACE') {
// bot added to room; send welcome message
message = {text: 'Thanks for adding me!'};
} else if (event.type == 'MESSAGE') {
// message received during normal operation
message = responseForMsg(event.message.text);
} else if (event.type == 'CARD_CLICKED') {
// user-click on card UI
var action = event.action;
message = responseForClick(
action.actionMethodName, action.parameters);
}
rsp.send(message);
};
El seudocódigo del bot y el bot que se muestran en el video responden de forma síncrona. Los bots que realizan las operaciones más lentas o aquellos que emiten notificaciones fuera de banda pueden enviar mensajes a espacios de forma asíncrona . Esto incluye mensajes, como notificaciones de tareas terminadas, alertas si se cae un servidor y envíos de pings al equipo de ventas cuando se agrega un nuevo líder al sistema de CRM (administración de relaciones con clientes).
Hangouts Chat supera en compatibilidad a JavaScript o Python y a Google Apps Script o Google App Engine. Si bien usar JavaScript en la secuencia de comandos de las apps es una de las maneras más rápidas y sencillas de poner en línea un bot dentro de tu organización, puede extraerse fácilmente a Node.js para acceder a una amplia variedad de opciones de hosting. De igual manera, App Engine permite una mayor escalabilidad y admite otros lenguajes (Java, PHP, Go, etc.) además de Python. El bot también puede extraerse a Flask para acceder a más opciones de hosting. Una ventaja clave es la flexibilidad de la plataforma: los desarrolladores pueden usar cualquier lenguaje, pila o nube para crear y alojar sus implementaciones de bots. Para funcionar, los bots solo deben poder aceptar solicitudes HTTP POST provenientes del servicio Hangouts Chat.
En Google I/O 2018 la semana pasada, los líderes del equipo de Hangouts Chat y yo proporcionamos una descripción general del marco de trabajo para bots más extensa y de nivel superior. Este recorrido integral del marco de trabajo incluye varias demostraciones de ejemplos de bots en tiempo real en diferentes lenguajes y plataformas. Mira nuestra sesión de aproximadamente 40 minutos, a continuación.
Para comenzar, mira la entrada sobre el lanzamiento del marco de trabajo para bots. Mira también esta entrada para obtener información más detallada sobre la versión de Python App Engine del bot de votación que se muestra en el video. Si deseas más información sobre el desarrollo de bots para Hangouts Chat, lee las guías de conceptos y la guía práctica para crear bots. Puedes compilar bots para tu organización, para tus clientes o para el mundo. ¡Esperamos ansiosos conocer los fantásticos bots que compilarás!
Por Steren Giannini, gerente de Producto, Google Cloud Platform
Uno de los principales beneficios de Google App Engine es el escalamiento automático de tus aplicaciones. En segundo plano, App Engine monitoriza continuamente tu capacidad de crear instancias y el tráfico para garantizar la ejecución de la cantidad correcta de instancias. Hoy, implementaremos la próxima generación del programador para el entorno estándar de App Engine. Nuestras pruebas muestran que ofrece un mejor rendimiento de escalamiento y un consumo de recursos más eficiente, además de costos más bajos para ti.Read More
Por Steren Giannini, gerente de Producto, Google Cloud Platform
Uno de los principales beneficios de Google App Engine es el escalamiento automático de tus aplicaciones. En segundo plano, App Engine monitoriza continuamente tu capacidad de crear instancias y el tráfico para garantizar la ejecución de la cantidad correcta de instancias. Hoy, implementaremos la próxima generación del programador para el entorno estándar de App Engine. Nuestras pruebas muestran que ofrece un mejor rendimiento de escalamiento y un consumo de recursos más eficiente, además de costos más bajos para ti.
El nuevo programador de App Engine ofrece las siguientes mejoras en comparación con el programador de App Engine anterior:
reducción promedio del 5% en las latencias de solicitud media y final;
reducción promedio del 30% en la cantidad de solicitudes que experimentan un “arranque en frío”;
reducción promedio del 7% en los costos.
Mejoras observadas en todos los servicios y clientes de App Engine. El color azul representa la referencia, o el programador anterior, y el verde el nuevo programador.
Además, si necesitas controlar más la manera en que App Engine ejecuta tus aplicaciones, el nuevo programador incluye algunos parámetros de ajuste de escala automático nuevos. Por ejemplo:
Max Instances te permite establecer un límite para la cantidad total de instancias, y
Target CPU Utilization representa el umbral de uso de la CPU utilizado para determinar si se debe aumentar o disminuir la cantidad de instancias. Retoca este parámetro para optimizar la relación de rendimiento y costos.
El nuevo programador para el entorno estándar de App Engine ya está disponible y se ha implementado en todas las regiones y aplicaciones. Estamos muy entusiasmados por las mejoras que ofrece.
La integración continua se ha convertido en una práctica estándar para muchas organizaciones que desarrollan software, ya que detecta automáticamente los cambios guardados en tus repositorios de software, los ejecuta a través de la unidad, realiza pruebas de integración y funcionales, y por último crea un artefacto (JAR, imagen de Docker o binario). Entre las herramientas de integración continuas ...Read More
Por Vic Iglesias, arquitecto de Cloud Solutions
La integración continua se ha convertido en una práctica estándar para muchas organizaciones que desarrollan software, ya que detecta automáticamente los cambios guardados en tus repositorios de software, los ejecuta a través de la unidad, realiza pruebas de integración y funcionales, y por último crea un artefacto (JAR, imagen de Docker o binario). Entre las herramientas de integración continuas, Jenkins es una de las más populares, por lo que creamos el complemento Compute Engine, que te permite proporcionar, configurar y ajustar a escala entornos de compilación de Jenkins en Google Cloud Platform (GCP).
Jenkins te permite definir tu compilación y el proceso de prueba, y luego ejecutarlo continuamente para probar los últimos cambios realizados al software. Pero a medida que avanzas en la práctica de integración continua, podrías necesitar ejecutar compilaciones en grupos de equipos en lugar de hacerlo en un solo servidor. Con el complemento Compute Engine, tus equipos de DevOps pueden administrar de forma intuitiva plantillas de instancias e iniciar instancias de compilación que se registren automáticamente en Jenkins. Cuando Jenkins necesite ejecutar trabajos pero no cuente con una cantidad suficiente de nodos, proporcionará las instancias necesarias en función de tus plantillas. Una vez que disminuya el trabajo en el sistema de compilación, el complemento borrará automáticamente las instancias que no se utilice, de modo que solo pagues por las instancias que necesites. Esta funcionalidad de ajuste de escala automático es una característica importante de un sistema de compilación continua, que se usa mucho durante las horas laborales principales y menos cuando los desarrolladores toman tiempo libre. Si quieres evitar aún más costos, también puedes configurar el complemento Compute Engine para crear tus instancias de compilación como Máquinas virtuales no garantizadas, que pueden ahorrarte hasta el 80% del precio por segundo de tus compilaciones.
La seguridad es otra preocupación en el caso de los sistemas de integración continua. Una falla de este sistema administrativo clave puede poner en riesgo la integridad de tu software. El complemento Compute Engine usa la última versión, y la más segura, del protocolo remoto Java Network Launch Protocol (JNLP) de Jenkins. Al iniciar las instancias de compilación, el complemento Compute Engine crea una clave SSH por única vez y la inyecta en cada instancia de compilación. De esa manera, el impacto de esas credenciales afectadas se limita a una sola instancia.
El complemento Compute Engine te permite configurar tus instancias de compilación como quieras, incluso en las redes. Por ejemplo, puedes:
Inhabilitar IP externas de modo que no se pueda acceder públicamente a las VM del proceso de trabajo
Aplicar etiquetas de red personalizadas para acceder a una mejor ubicación en las reglas de firewall
El complemento también te permite adjuntar aceleradores, como GPU y SSD locales, a tus instancias para ejecutar más rápido las compilaciones. También puedes configurar el complemento de modo que use nuestra amplia gama de tipos de máquina que cumplan con los requisitos de CPU y memoria de tu instancia de compilación para la carga de trabajo, y así lograr una mejor utilización. Por último, el complemento te permite configurar secuencias de comandos de inicio para las plantillas de tu instancia, en las cuales puedes realizar la configuración final de tus imágenes básicas antes de ejecutar las compilaciones.
Si usas Jenkins en tus instalaciones, puedes usar el complemento Compute Engine para crear una granja de compilación efímera en Compute Engine sin perder tu patrón de Jenkins ni ninguna otra dependencia de compilación necesarias detrás del firewall. Luego puedes usar esta extensión de tu granja de compilación cuando no puedas cumplir con la demanda de capacidad de compilación, o para trasladar tus cargas de trabajo a la nube de forma práctica y con bajo riesgo.
Aquí podrás ver un ejemplo de la página de configuración para la plantilla de una instancia:
A continuación, te mostramos la arquitectura de alto nivel de un sistema de compilación escalable compilado con los complementos Compute Engine de Jenkins y Google Cloud Storage. El administrador de Jenkins configura una cuenta de servicio de IAM que Jenkins usa para proveer tus instancias de compilación. Una vez que se ejecutan las compilaciones, puede cargar alteraciones a Cloud Storage para archivarlas (y moverlas a un espacio de almacenamiento menos costoso después de un período determinado).
Jenkins y la integración continua son herramientas potentes para las tiendas de desarrollo de software modernas, y esperamos que este complemento facilite el uso de Jenkins en GCP. Para aprender a configurarlo en tu proyecto de Google Cloud, consulta nuestra guía de soluciones.
Gerente de producto
En el mundo vertiginoso de hoy, las personas esperan que las apps para dispositivos móviles sean inteligentes, se adapten a la actividad de los usuarios o los deleiten con sorprendentes funciones inteligentes. Como consecuencia, creemos que el aprendizaje automático se convertirá en una herramienta esencial en el desarrollo para dispositivos móviles. Por ello, el martes en Google I/O ...Read More
Sachin Kotwani
Gerente de producto
En el mundo vertiginoso de hoy, las personas esperan que las apps para dispositivos móviles sean inteligentes, se adapten a la actividad de los usuarios o los deleiten con sorprendentes funciones inteligentes. Como consecuencia, creemos que el aprendizaje automático se convertirá en una herramienta esencial en el desarrollo para dispositivos móviles. Por ello, el martes en Google I/O, presentamos el kit ML en versión beta: un nuevo SDK que acerca la experiencia de Google en materia de aprendizaje automático a los desarrolladores para dispositivos móviles a través de un paquete potente y fácil de usar en Firebase. ¡El entusiasmo nos desborda!
Aprendizaje automático para todos los niveles de habilidad
Dar los primeros pasos en el aprendizaje automático puede ser difícil para muchos desarrolladores. Generalmente, los nuevos desarrolladores de ML pasan incontables horas aprendiendo las complejidades de la implementación de modelos de bajo nivel y usando marcos de trabajo, entre otras tareas. Aun en el caso de un experto avanzado, adaptar y optimizar modelos para que funcionen en dispositivos móviles puede ser un desafío enorme. Además de las complejidades del aprendizaje automático, la provisión de datos de preparación puede ser un proceso costoso y demandar mucho tiempo, en especial al considerar un público a escala mundial.
Con el kit ML, puedes usar aprendizaje automático para compilar características atractivas, en Android e iOS, independientemente de tu experiencia en aprendizaje automático. ¡Más detalles a continuación!
Listo para producción para casos de uso comunes
Si eres principiante o quieres implementar una solución rápidamente, el kit ML te ofrece cinco API (“básicas”) listas para usar que abordan casos de uso comunes en dispositivos móviles:
Reconocimiento de texto
Detección de rostros
Escaneo de códigos de barras
Etiquetado de imágenes
Reconocimiento de puntos de referencia
Con estas API básicas, simplemente se pasan datos al kit ML y se recibe una respuesta intuitiva. Por ejemplo: Lose It!, uno de nuestros primeros usuarios, utilizó el kit ML para compilar varias funciones en la última versión de su app para controlar calorías. Al usar la API basada en reconocimiento de texto y un modelo de compilación personalizado, la app puede capturar rápidamente información nutricional de las etiquetas de productos para ingresar el contenido de un alimento a partir de una imagen.
El kit ML te proporciona API en el dispositivo y en la nube, todo en una interfaz común y sencilla, lo que te permite elegir las que mejor se adapten a tus requisitos. Las API en el dispositivo procesan datos rápidamente y funcionarán aunque no haya conexión de red, mientras las API basadas en la nube aprovechan el poder de la tecnología de aprendizaje automático de Google Cloud Platform para proporcionar mayor un nivel de precisión.
Mira estás API listas para usar en Firebase console:
Aviso: Estamos planeando lanzar dos API más en los próximos meses. La primera es una API de respuesta inteligente que admite respuestas de mensajería contextual en tu app, y la segunda es una adición de contorno de rostro de alta densidad a la API de detección de rostro. ¡Regístrate aquí para probarlas!
Implementar modelos personalizados
Si tienes experiencia en aprendizaje automático y no encuentras una API básica que contemple tu caso de uso, el kit ML te permite implementar tus propios modelos de TensorFlow Lite. Simplemente debes cargarlos a través de Firebase console; nosotros nos ocuparemos de alojarlos y proporcionarlos a los usuarios de tu app. De esta manera, puedes mantener tus modelos fuera de tu APK o conjuntos, lo que reduce el tamaño de instalación requerido por tu app. Además, debido a que el kit ML funciona dinámicamente en tu modelo, siempre puedes actualizar el modelo sin tener que volver a publicar tus apps.
Pero hay más. A medida que las apps se desarrollaron para ampliar sus funciones, el tamaño también aumentó; esto afectó los índices de instalación desde la tienda de aplicaciones y posiblemente implique mayores costos para los usuarios ante excesos de datos. El aprendizaje automático puede acentuar esta tendencia, ya que los modelos pueden llegar a ocupar decenas de megabytes. Por eso decidimos invertir en la compresión de modelos. Específicamente, estamos experimentando con una función que te permite cargar un modelo de TensorFlow completo, junto con datos de preparación, y recibir un modelo TensorFlow Lite comprimido. La tecnología que hace posible esto evoluciona rápidamente, y estamos buscando algunos desarrolladores que la prueben y nos envíen comentarios. Si estás interesado, regístrate aquí.
Mejor junto con otros productos Firebase
Debido a que el kit ML está disponible a través de Firebase, te resultará fácil aprovechar toda la plataforma Firebase. Por ejemplo, Remote Config y las pruebas A/B te permiten experimentar con varios modelos personalizados. Puedes cambiar valores de forma dinámica en tu app, lo cual representa una excelente opción para alternar al instante los modelos personalizados que quieras que usen tus usuarios en el momento. Incluso, puedes crear segmentos de población y experimentar con varios modelos en paralelo.
Comprender el impacto de la interacción de los usuarios con Google Analytics;
y más.
¡Pon manos a la obra!
Queremos ver las compilaciones que harás con el kit ML. Esperamos que te guste el producto tanto como a nuestros primeros clientes:
Visita hoy mismo tu Firebase console para empezar a usar la versión beta del kit ML. Si tienes ideas o comentarios, no dudes en comunicarte con nosotros. ¡Siempre esperamos comentarios!
La idea detrás de Visual Progress es sencilla: "la mejor forma de monitorear el progreso de un proyecto es, literalmente, verlo crecer día a día". Pero no es suficiente con instalar una cámara y sentarse a mirar; hay que saber qué ver y qué monitorear.
Para lograrlo, Visual Progress creó una inteligencia artificial que captura y analiza los videos capturados con las cámaras, los procesa y genera, automáticamente, indicadores útiles para conocer el progreso y estado de los proyectos a través de una aplicación.
Visual Progress se dio cuenta de que muchas compañías necesitan ayuda para entender y mejorar su trabajo. “A pesar de todos los mecanismos de control que tienen las empresas para llevar sus procesos, hay carencia de información en línea, clara y veraz para la toma de decisiones oportunas y la optimización del uso de recursos”, dice Christian Peña, CTO de Visual Progress.
Tras cuatro años de trabajo, Visual Progress ha consolidado su mercado en el sector de la construcción en Chile, y planea su salida a los mercados de Perú y Ecuador.
Para eso, la startup necesita un aliado que le permita crear, mantener y administrar una plataforma capaz de procesar millones de imágenes al día, y al tiempo, generar métricas en línea rápidamente. “También debemos ir mejorando los algoritmos con el tiempo, y el sistema debe poder ser administrado de una forma sencilla y con un uso de recursos computacionales óptimo”, añade Peña.
¿Cómo le está ayudando Google Cloud Platform a lograr ese objetivo?
El cerebro detrás de los ojos
Las herramientas de inteligencia artificial que hacen parte de Google Cloud Platform (GCP) les han ayudado a crecer y consolidarse. Por una parte, las herramientas de machine learning de TensorFlow les han ayudado a automatizar y optimizar la generación de indicadores a partir de imágenes, y a hacerlos más precisos. Por otra parte, Kubernetes les ha permitido gestionar recursos computacionales de una manera eficiente y lograr un crecimiento equilibrado y sostenido.
Visual Progress ha usado Google Cloud Platform desde sus inicios. “Fue nuestra primera opción al momento de buscar un stack de tecnologías que nos permita resolver el problema”, explica Peña. “Al comenzar a diseñar la plataforma vimos que teníamos en GCP todos los servicios y recursos necesarios para llevar a cabo nuestro proyecto”, añade.
Gracias a esas herramientas, Visual Progress ha logrado desplegar una solución tecnológica poderosa y eficiente, encontrar un mercado y consolidarse. “Estamos emocionados con la nuevas posibilidades que se nos abren, principalmente en expandirnos hacia otros rubros y posibilitar nuestra internacionalización”, concluye Peña.
La Web es un tesoro global, y tiene muchas ventajas que todos disfrutamos. Es una plataforma de distribución sin igual, que proporciona a las personas en todo el mundo acceso a una amplia variedad de contenido y permite a las empresas llegar a los clientes dondequiera que estén. Detrás del éxito de la Web se encuentran su comunidad y un conjunto de estándares esencialmente abiertos que garantizan que permanezca dinámica y disponible para todos.Read More
La Web es un tesoro global, y tiene muchas ventajas que todos disfrutamos. Es una plataforma de distribución sin igual, que proporciona a las personas en todo el mundo acceso a una amplia variedad de contenido y permite a las empresas llegar a los clientes dondequiera que estén. Detrás del éxito de la Web se encuentran su comunidad y un conjunto de estándares esencialmente abiertos que garantizan que permanezca dinámica y disponible para todos.
Desde PageRank hasta Chromium, Google ha invertido mucho en el éxito continuo de la Web. Esta semana en Google I/O, nuestra conferencia anual para desarrolladores, realizamos una presentación formal para catalogar algunos de los esfuerzos recientes orientados a permitir que la Web continúe prosperando y funcionando bien. Repasamos los temas claves que se mencionan a continuación, pero te recomendamos que veas todas las conferencias en YouTube.
Service Worker
La introducción de la Service Worker API es una de las mejoras más importantes realizadas a la Web en la historia reciente. Libera a los desarrolladores del ciclo de vida limitado de las páginas, de tener que trabajar en segundo plano para interceptar solicitudes de red y de controlar los eventos entrantes para permitir que las aplicaciones web funcionen sin conexión. Con service workers, tu sitio puede recibir notificaciones push, sincronizar datos en segundo plano y procesar muchas más tareas. Apple implementó compatibilidad con service workers en Safari 11.1 para iOS y MacOS en marzo, y Microsoft Edge integró service workers la semana pasada; esto significa que todos los navegadores modernos más utilizados serán compatibles con el estándar. El uso de service workers puede implicar un gran cambio en tu arquitectura, de modo que para facilitarlo creamos Workbox, que incluye muchos patrones potentes de service worker en una API fácil de usar. Acabamos de lanzar la versión 3 de esta biblioteca, compilada en módulos que te permiten usar solo las funciones que necesites.
App Web Progresiva (PWA)
Service workers proporciona la columna vertebral para muchas de las capacidades de una AWP. Empresas de todo el mundo, en diferentes sectores, han tenido un éxito increíble compilando AWP. Starbucks, quienes lanzaron su sitio de AWP el año pasado, duplicaron sus usuarios activos diarios. De hecho, entre los sitios de publicidad que medimos, cuando un sitio cambia a una AWP se observa un aumento promedio del 20% en la tasa de conversión móvil.
Muchas de las primeras AWP se centraban en dispositivos móviles, y hoy los beneficios también se extienden a equipos de escritorio. Chrome pronto ofrecerá a sus usuarios instalar AWP en sus escritorios. El sitio tendrá su propio ícono, se iniciará en una ventana independiente y conservará las características eficaces que se esperan de un navegador, como búsquedas en páginas, URL que se puedan compartir y compatibilidad con Google Cast, entre otras. En I/O mostramos la manera en que Spotify implementa su experiencia rich media como una AWP de escritorio. La compatibilidad de instalación para AWP de escritorio llegará a ChromeOS en Chrome 67 a principios de junio, y a Windows y macOS posteriormente durante el año.
WebAssembly WebAssembly permite a los sitios web ejecutar códigos de alto rendimiento escritos en lenguajes como C o C++, y ofrece clases de contenido completamente nuevas en la plataforma web. En marzo, AutoCAD de Autodesk tomó una base de código de 35 años (anterior a la mismísima Web) y la compiló para ejecutarla directamente en un navegador usando WebAssembly. AutoCAD está ahora a un vínculo de distancia, lo que significa que puedes modificar tu dibujo en CAD directamente en un navegador, independientemente del dispositivo o el sistema operativo. El equipo de ingeniería de AutoCAD tiene una sola base de código C++ compartida, y cuando el equipo de escritorio realiza cambios, estos se integran fácilmente a la app web de AutoCAD.
Si quieres aprender a portar código o escribir el tuyo, échale un vistazo al codelab de WebAssembly, que demuestra la interacción entre las bibliotecas C y el DOM. Ya sea que estés usando una biblioteca compleja escrita en C, que quieras incorporar un nuevo códec a la plataforma web o usar un motor como Unity o Unreal Engine, WebAssembly está aquí para ayudarte.
Lighthouse Lighthouse es una herramienta que te permite analizar la calidad de tu sitio web, y proporciona mediciones claras del rendimiento de este además de orientación para mejorar la experiencia de tus usuarios. Se puede acceder directamente desde DevTools de Chrome, ejecutarse desde la línea de comandos o integrarse con otros productos de desarrollo. Solo en 2018, medio millón de desarrolladores están ejecutando Lighthouse en sus sitios con frecuencia. Sabemos que la Web cambia rápido y Lighthouse puede ayudarte a permanecer actualizado con las últimas prácticas recomendadas de rendimiento. Lighthouse 3.0, anunciado en I/O, estará disponible en general más adelante durante esta semana.
Lighthouse te brinda claridad con respecto al rendimiento de carga del sitio en un entorno controlado. No obstante, si quieres ver cómo se comporta el sitio para los usuarios reales en el mundo real, lee el Informe sobre la experiencia del usuario en Chrome. El informe ahora proporciona métricas de rendimiento a nivel de origen para los cuatro millones de sitios web más visitados. Para obtener más información sobre cómo éstas y otras herramientas pueden ayudarte a obtener un panorama completo del rendimiento de tu sitio, lee nuestra infografía rápida sobre herramientas.
AMP AMP es una biblioteca y un ecosistema de componentes web para compilar sitios web rápidos y confiables con una excelente experiencia del usuario a escala. Hoy hay más de seis mil millones de páginas AMP de 46 millones de dominios cuyo tiempo de carga promedio desde la búsqueda de Google es inferior a un segundo. Las empresas están teniendo éxito con AMP: AliExpress, el mercado minorista global en línea, recientemente lanzó un nuevo sitio móvil como app web progresiva impulsada por AMP. El nuevo sitio logró un increíble aumento del 31% en su tasa de conversión para el tráfico que no proviene de búsquedas.
El consumo de contenido en dispositivos móviles está cambiando, y los formatos diminutos para contar historias en pantalla completa se vuelven cada vez más populares. Para ayudarte a satisfacer las necesidades de los editores web, el proyecto AMP recientemente anunció el desarrollo de AMP stories, un conjunto interesante de componentes web creados para contar historias en dispositivos móviles. El formato se encuentra en continuo desarrollo, y te recomendamos intentar crear tus propias historias y enviar tus comentarios al equipo de AMP.
Web Packaging Web Packaging es un conjunto de tecnologías emergentes que creemos que redefinirán la manera en que el contenido web se distribuye en la red y se comparte entre los usuarios. Permite a los editores agrupar su contenido para la distribución a cargo de otras partes y, al mismo tiempo, conservan las garantías de integridad de HTTPS. Como parte de la exploración de casos de uso nuevos a través de Web Packaging, nos dimos cuenta de que existía una oportunidad interesante para AMP. Mediante colaboración con el equipo de AMP y la comunidad web, pudimos diseñar una solución a través de la cual los documentos AMP pueden conservar la URL original del editor al obtenerla del caché de AMP.
Como muestra de nuestros esfuerzos, los colaboradores del proyecto AMP Food Network y Pinterest han compilado demostraciones de Web Packaging, como la que te mostramos a continuación. Si quieres obtener más información, el equipo de AMP escribió un artículo en el que se aborda en detalle la manera en que Web Packaging beneficia a usuarios y editores. Más allá de la aplicación AMP, estamos entusiasmados con las tecnologías que Web Packaging habilitará y esperamos poder definir mejor nuestras ideas con tu ayuda.
Demostración de Web Packaging con una página AMP a partir de una búsqueda de Google.
Polymer
Polymer es una biblioteca JavaScript que te ayuda a crear componentes web personalizados reutilizables que podrás compartir con otros desarrolladores o combinar entre sí para compilar apps de mantenimiento eficaces. En I/O lanzamos la versión 3.0 de la biblioteca, que incorpora algunas actualizaciones importantes al ecosistema de Polymer. Completamos la compatibilidad para usar npm como el sistema de administración de paquetes y módulos ES6 como la unidad de composición, facilitando el uso de componentes web basados en Polymer junto con los demás marcos de trabajo y herramientas de desarrollo web que prefieras.
También incorporamos LitElement, una clase básica de componentes web nueva en la que se combinan el poder expresivo de Lit-HTML con componentes web que facilitan aún más la creación de componentes reactivos livianos usando sintaxis de plantilla moderna y expresiva.
También lanzamos el PWA Starter Kit, un punto de partida integral para compilar PWA basadas en componentes web que sean rápidas, confiables y receptivas, que admitan la incorporación de temas y que ofrezcan el punto más alto en nuestros criterios de rendimiento y de AWP Lighthouse.
Angular
Este año en I/O, el equipo de Angular brindó una descripción general del crecimiento de la comunidad y abordó algunas de las nuevas e interesantes capacidades que se han incorporado en el marco de trabajo central, CLI y la biblioteca de Angular Material en la versión 6. Millones de desarrolladores usan Angular, que ha tenido un impulso enorme y ha creado un ecosistema fantástico. Los nuevos comandos que se incorporan en la versión 6, como “ng update” y “ng add”, mantendrán tu aplicación actualizada y ayudarán a los desarrolladores a avanzar más rápido a medida que el equipo de Angular continúa equilibrando estabilidad e innovación.
El equipo de Angular también comentó algo sobre las mejoras que prevé implementar en Angular con Project Ivy. Esto facilitará la depuración de Angular y acelerará su compilación y ejecución de un modo que funcione con las aplicaciones existentes. El equipo demostró la utilidad de estas mejoras en una aplicación Hello World pequeña, en la cual las funciones de Angular que no se usaron se eliminaron automáticamente del conjunto JavaScript.
Nuestra misión en Google y en Chrome es trabajar con la comunidad para crear experiencias que sean rápidas, integradas, confiables y atractivas. Estamos entusiasmados con las nuevas capacidades disponibles para la plataforma web abierta, y con el conjunto completo de herramientas que te permiten compilar rápidamente sitios de alta calidad para tus usuarios. Para recibir información actualizada sobre los últimos avances en la Web, visita nuestro portal para desarrolladores o mira las charlas del evento I/O de este año en el canal de Google Developers de YouTube. Nos complacerá verte en la próxima Chrome Dev Summit más adelante, este año.
Publicado por Christina Chiou Yeh, Registro de dominios
El 1 de mayo anunciamos .app, el más nuevo dominio de nivel superior (TLD) del Registro de dominios. Ahora está disponible para registro general, por lo que puedes registrar el nombre .app que quieras en este momento. No te pierdas lo que algunos de nuestros usuarios pioneros ya están haciendo en .app en todo el mundo.
Comenzamos nuestra travesía con sitata.app, que proporciona información para viajes en tiempo real vinculada a eventos como protestas o cortes de tránsito. Todo parece despejado; nuestra primera parada es el Caribe, donde usaremos thelocal.app para comenzar la exploración. Después de tomar un poco de sol, volamos a los Países Bajos, donde comenzamos a sentir hambre. Por suerte, picnic.app permite recibir alimentos directamente en el hotel. Con el estómago satisfecho, es hora de dirigirnos a la India, donde usamos myra.app para pedir los medicamentos, productos de higiene y productos para bebés que olvidamos empacar. ¿Dijimos que se trataba de un viaje de negocios? Qué bueno que lola.app ayudó a que un viaje tan complejo fuera relajado. Hora de volver a casa; nos ponemos un buzo con capucha que compramos en ov.app y disfrutamos el viaje.
Esperamos que estas apps te inspiren para que también puedas encontrar tu lugar en .app. Visita get.app para seleccionar un registrador para ingresar tu dominio.
Director de Producto
Cuesta creer que solo han pasado dos años desde que, en I/O 2016, expandimos Firebase de un conjunto de servicios de backend a una plataforma completa para el desarrollo de apps. Desde entonces, ha sido aleccionador observar a la comunidad de desarrolladores adoptar Firebase. Hoy contamos con 1,2 millones de apps que usan activamente Firebase todos los meses.Read More
Francis Ma
Director de Producto
Cuesta creer que solo han pasado dos años desde que, en I/O 2016, expandimos Firebase de un conjunto de servicios de backend a una plataforma completa para el desarrollo de apps. Desde entonces, ha sido aleccionador observar a la comunidad de desarrolladores adoptar Firebase. Hoy contamos con 1,2 millones de apps que usan activamente Firebase todos los meses.
Independientemente de cuánto crezcamos, nuestra misión continúa siendo la misma: ayudar a los equipos de apps para dispositivos móviles a avanzar satisfactoriamente en todas las etapas del ciclo de desarrollo, desde la compilación de las apps hasta el mejoramiento de su calidad y el crecimiento de los negocios.
Contar con esta fantástica comunidad de desarrolladores es un gran honor y una responsabilidad enorme. Gracias por confiarnos tus apps. Es inspirador escuchar las historias de compilación con Firebase, y tu éxito es el motivo por el que nos entusiasma venir a trabajar todos los días.
Hoy anunciamos una serie de mejoras para Firebase. Repasémoslas.
Presentación del kit ML en beta público
Aprendizaje automático simplificado para desarrolladores móviles. Nos entusiasma anunciar el kit ML, un SDK disponible en Firebase que ofrece funciones potentes de aprendizaje automático para tus apps, tanto para Android como iOS, e independientemente de que tengas experiencia en ML o recién empieces a usarlo.
El kit ML incluye un conjunto de API listas para usar para casos de uso comunes: reconocimiento de texto, detección de rostros, escaneo de códigos de barra, etiquetado de imágenes y reconocimiento de puntos de referencia. Estas API pueden ejecutarse en el dispositivo o en la nube, según la funcionalidad. Las API en el dispositivo procesan datos rápidamente y funcionarán aunque no haya conexión de red, mientras que las API basadas en la nube aprovechan el poder de la tecnología de aprendizaje automático de Google Cloud Platform para proporcionar un mayor nivel de precisión. También puedes incorporar tus propios modelos TensorFlow Lite para casos de uso avanzados, y el kit ML se ocupará del alojamiento y el servicio, lo cual te permitirá concentrarte en la compilación de tu app.
Independientemente de que realices compilaciones en Android o iOS, puedes mejorar la experiencia para tus usuarios aprovechando el aprendizaje automático. Con el kit ML, esperamos simplificar los primeros pasos para desarrolladores con todos los niveles de experiencia. Revisa nuestros documentos para obtener más información.
Mejorar Performance Monitoring
En I/O el año pasado, lanzamos Performance Monitoring en versión beta para ayudarte a conocer mejor el rendimiento de tu app, de modo que pudieras hacerla funcionar de forma rápida y receptiva. Desde entonces, hemos observado una fabulosa aceptación. Algunas de las apps más importantes del mundo, como Flipkart, Ola y Swiggy, han comenzado a usar Performance Monitoring y ahora reportamos 100 mil millones de métricas de rendimiento todos los días, lo que ayuda a los desarrolladores a mejorar la calidad de sus apps y hacer felices a sus usuarios.
Ahora que ya probamos el SDK, decidimos retirar gradualmente la versión beta de Performance Monitoring. Este cambio viene acompañado de un par de mejoras que implementaremos hoy en la consola.
En primer lugar, verás un feed de problemas en la parte superior del panel de Performance Monitoring. Este feed te ofrece un panorama rápido y sencillo de los problemas de tu app, y la opinión de Firebase sobre la gravedad del problema.
En segundo lugar, ahora podrás identificar partes de tu app que se entrecorten o se congelen. Performance Monitoring identifica problemas de representación y te indica la cantidad de fotogramas perdidos por pantalla en tu app, de modo que puedas solucionar el problema rápidamente. Si tienes apps en la Play Store, es una excelente manera de obtener información detallada sobre problemas de representación informados en Android Vitals sin necesidad de escribir código adicional. Puedes comenzar a usar Performance Monitoring hoy mismo; para ello, consulta nuestra documentación.
Mejores análisis y controles de administración de acceso
Con Google Analytics para Firebase, siempre has podido ver métricas para cada una de las apps de tu proyecto. El año pasado, agregamos la capacidad de ver tus datos en tiempo real, con la incorporación de informes de StreamView y DebugView. Ahora, observarás que sumamos tarjetas en tiempo real en todos los informes de Analytics para brindarte una mejor idea de lo que los usuarios están haciendo en el momento.
Analytics también recibirá dos actualizaciones más: la incorporación de informes a nivel de proyecto y filtros flexibles. El informe a nivel de proyecto te permite observar lo que ocurre en todas las apps de un proyecto, de modo que puedas tener una visión más integral del negocio de tu app, mientras que los filtros flexibles te permiten dividir tus datos con más precisión para producir estadísticas claves. Estas actualizaciones se implementarán en las próximas semanas.
Hoy también lanzaremos otra actualización para la Firebase console: una mejora en la administración de acceso e identidad. Esto te permitirá invitar a otros, de forma más sencilla, a colaborar con tus proyectos y controlar sus derechos de acceso, todo desde la Firebase console.
Expansión de Firebase Test Lab para iOS
En Firebase, siempre ha sido muy importante compilar productos que funcionen para el desarrollo en Android e iOS. Por eso nos entusiasma especialmente anunciar que expandiremos el Test Lab para incluir iOS, además de Android.
Test Lab te proporciona dispositivos físicos y virtuales que te permiten ejecutar pruebas para simular entornos de uso reales. Con la adición de Test Lab a iOS, te ayudamos a llevar tu app a un estado de alta calidad, en Android y iOS, antes de lanzarla.
Test Lab for iOS se implementará en los próximos meses. Si quieres ser uno de los primeros evaluadores del producto, puedes registrarte con este formulario para ingresar hoy mismo a la lista de espera.
Solo el comienzo
La experiencia de Firebase hasta ahora ha sido increíble, y creemos que este es solo el comienzo. Al continuar profundizando nuestras integraciones con Google Cloud Platform, apuntamos a facilitar el aprovechamiento de la enorme escala de la infraestructura de Google. También nos entusiasman enormemente las posibilidades que ofrece el aprendizaje automático para capacitar a desarrolladores como tú. Predictions y el kit ML son los dos primeros pasos, pero queda mucho por hacer.
Gracias, como siempre, por ser parte de esta experiencia con nosotros. Si deseas obtener información sobre muchos de estos anuncios y enterarte de los pormenores, puedes ver nuestra lista de reproducción en YouTube para acceder a grabaciones de todas nuestras charlas en Google I/O. Si todavía no formas parte del programa Alfa de Firebase, únete y ayuda a diseñar el futuro de la plataforma. Estamos ansiosos por ver tus próximas compilaciones.