Las Historias AMP son un nuevo y emocionante medio para las narraciones en la Web. El formato se basa en el concepto de las conocidas funciones de historias de otras apps de redes sociales populares, pero está pensado para contenidos más generales, desde "Cómo aplicarse brillo labial correctamente" hasta "Guía de viaje por el Himalaya". Resulta importante destacar que las Historias AMP no son sino páginas web. Tienen una URL en el servidor web, se pueden compartir mediante un enlace y pueden incluir enlaces a otras páginas web. Entonces, la conclusión más importante en relación con la SEO de las historias es la siguiente ...




Las Historias AMP son un nuevo y emocionante medio para las narraciones en la Web. El formato se basa en el concepto de las conocidas funciones de historias de otras apps de redes sociales populares, pero está pensado para contenidos más generales, desde "Cómo aplicarse brillo labial correctamente" hasta "Guía de viaje por el Himalaya". Resulta importante destacar que las Historias AMP no son sino páginas web. Tienen una URL en el servidor web, se pueden compartir mediante un enlace y pueden incluir enlaces a otras páginas web. Entonces, la conclusión más importante en relación con la SEO de las historias es la siguiente:
Usa todas las tácticas de SEO que usarías para cualquier otra página de tu sitio web. Si te ayuda a mejorar la clasificación de tus páginas que no son historias, es probable que también sea positivo para las historias.
En particular, tal como harías con las demás páginas del sitio, asegúrate de sea posible llegar a las historias mediante enlaces del sitio web de modo de que los usuarios y los bots puedan encontrarlas. Si usas un mapa del sitio, procura incluir las historias allí. Si publicas tus páginas web normales en redes sociales, publica también tus historias. Podríamos seguir, pero la idea básica es esta: usa las prácticas recomendadas que ya aplicas en el resto del sitio web.

Tácticas de SEO específicas para las historias

Dado el carácter relativamente novedoso del formato en la web y sus características únicas, existen algunas tácticas de SEO específicas para las historias. Esta lista de tácticas no es exhaustiva y debe complementarse con todo el trabajo de SEO estándar que se aplica en tu sitio web, según se indicó antes.

Metadatos

Las Historias AMP tienen un mecanismo incorporado para adjuntar metadatos a una historia. Procura que todas tus historias cumplan con estas normas referidas a los metadatos. Así te aseguras de lograr la máxima compatibilidad con los motores de búsqueda y las funciones de exploración que recurren a los metadatos.
Además, recuerda agregar todas las marcas (título, descripción, schema.org, OGP, tarjeta de Twitter, etc.) que incluirías en otra página web.

Enlaces a historias

Te recomendamos una integración profunda de las historias en tu sitio web. Por ejemplo, incluye enlaces a las historias en tu página principal o en las páginas de categorías según corresponda. Por ejemplo, si tu historia es sobre un destino de viaje y tienes una página en la que enumeras todos tus artículos de viaje, incluye un enlace a las historias en esa página de categoría. También podría ser recomendable usar una página de destino especial adicional, como www.ejemplo.com/historias, a la que podría llegarse desde páginas clave, como tu página principal.
Los enlaces desde tu sitio y los que llevan a otros sitios son un componente central del funcionamiento de la web y de la optimización de la visibilidad. Como las historias son páginas web, eso también se cumple en su caso.

Formato URL

No es necesario indicar en la URL de una historia que usa el formato de Historias AMP. Idealmente, tus historias se integran en una estrategia de URL más amplia. Por ejemplo, si tus artículos sobre "viajes a Nueva York" usan un formato como "/nueva-york/viaje/título-del-artículo.html", contempla la posibilidad de usar la misma estructura de directorio y el mismo formato de URL en tus historias.

Páginas adjuntas

Es posible usar páginas adjuntas para presentar información adicional en un "formato de artículo clásico" junto a una historia. Puede ser una forma práctica de ofrecer detalles adicionales, análisis exhaustivos o "próximos pasos" del contenido presentado en la historia.

Descripciones de imágenes

Si bien esta práctica recomendada se aplica técnicamente a todas las páginas web, notamos que a veces se omite el texto alternativo de las historias. Recomendamos enfáticamente agregar un texto alternativo significativo, según corresponda, a fin de optimizar la accesibilidad del contenido y la capacidad de indexarlo.

Subtítulos de video

Contempla la posibilidad de incluir subtítulos en los videos de tus historias.

Historias que solo incluyen video

Te recomendamos que aproveches al máximo el HTML semántico para desarrollar tu historia. Sin embargo, es posible que algunas herramientas diseñadas para el caso de uso de las redes sociales exporten una historia de modo tal que cada diapositiva se represente como un archivo de video que incorpora todo el texto en el video. En ese caso, se recomienda agregar el texto que se muestra en el video como un atributo "title" en el elemento amp-video. Recuerda que solo debes hacer esto si es absolutamente imposible usar marcas semánticas en la generación de la historia.

Computadora

Si bien el formato de historias suele asociarse con el consumo en dispositivos móviles, las Historias AMP también funcionan en computadoras y brindan compatibilidad óptima con pantallas horizontales. Eso significa que tus historias pueden aparecer en los resultados de búsqueda en computadora sin trabajo adicional.

La sincronización de AMP con la versión canónica no es compatible

Si bien las historias AMP se crean con el marco AMP, deben ser canónicas en sí mismas. En otras palabras, la sincronización <link rel="amphtml"..> que suelen usar las páginas de AMP no está disponible para las historias. Asegúrate de validar en relación con AMP tus historias web.

El secretode la SEO

A modo de recordatorio final, ¡el contenido es lo más importante! Como en cualquier página web, ofrecer contenido de calidad que sea útil e interesante para los usuarios es y siempre será la "táctica de SEO" más importante, que no puede ignorarse y que tiene prioridad por sobre todo lo demás. Incluye una narración completa y aplica estas prácticas recomendadas para aprovechar las características únicas del formato y mantener el interés de los usuarios.

Resumen

Las acciones de SEO para las historias son las mismas que para cualquier otra página web. Puedes utilizar tus habilidades de SEO en las historias sin modificaciones. Existen unas pocas prácticas recomendadas de SEO específicas de las historias, que se documentan en esta entrada de blog. Por último, recuerda incluir contenido de alta calidad. ¡Buena suerte optimizando las historias!
Publicado por Flavio Palandri Antonelli, ingeniero de software en Google







BigQuery es un almacén de datos en la nube sin servidores, rentable y muy escalable, cuyo diseño busca ofrecer flexibilidad y facilidad de uso. Cuando se crea BigQuery, se eligen muchas funciones y opciones de diseño interesantes. En esta entrada, hablaremos sobre el funcionamiento de las asignaciones de zonas. Al igual que ocurre con otros servicios de Google Cloud, BigQuery aprovecha nuestras regiones de nube globales para que los datos estén disponibles cuando los necesites.
Un aspecto clave de la arquitectura de BigQuery es que funciona con varias instancias; es decir, ejecuta cargas de trabajo de diferentes clientes en una infraestructura de computación y almacenamiento que no requiere la participación de ningún cliente en la planificación de la capacidad. Al cargar datos en BigQuery, los clientes eligen en qué región quieren cargarlos y, si lo desean, compran una reserva de computación. Luego, el servicio se ocupa del aprovisionamiento.
Las asignaciones de zonas mantienen los datos en movimiento
Cada región de BigQuery se implementa de forma interna en varias zonas de disponibilidad. Los datos de los clientes se replican entre las zonas y se realiza automáticamente una conmutación por error rápida a la zona secundaria si la principal tiene problemas. Esta conmutación está diseñada para ser transparente y no genera tiempo de inactividad. Siempre estamos ampliando nuestra capacidad para respaldar el crecimiento de nuestros clientes e incorporar nuevos. A fin de asegurarnos de que cada cliente piense que el almacenamiento es infinito y reciba los recursos de computación suficientes para cargar y analizar sus datos, recalculamos constantemente la mejor ubicación para las zonas principales y secundarias de cada región.
A fin de garantizar las mejores asignaciones de zonas principales y secundarias, el algoritmo de asignación tiene en cuenta el uso del almacenamiento y la computación de cada cliente, además de la capacidad disponible en cada zona. Luego, se asegura de que el uso se adapte a las zonas asignadas actualmente. Si esto no sucede, busca otra zona adecuada para ese cliente y coordina la transferencia desde la zona actual hacia la nueva. Todo esto sucede en segundo plano, sin interrumpir en absoluto la carga de trabajo.
Los conjuntos de datos que comparten la misma región pueden unirse en una sola consulta. Para garantizar que el rendimiento de la consulta sea bueno, intentamos asignar opciones de computación y almacenamiento que permitan que la entrada y salida (E/S) sea en la misma zona. De ese modo, aprovechamos las redes con alta capacidad de procesamiento dentro de la zona. El ancho de banda de E/S dentro de una zona es muy alto (el tejido de la red Júpiter de Google puede mantener más de 1 petabit/segundo de ancho de banda de bisección total), pero la capacidad de red entre zonas está mucho más limitada. Nuestro algoritmo de asignación garantiza que los proyectos de Google Cloud dentro de la misma organización de Google Cloud se asignen al mismo subconjunto de zonas en cada región. En el caso de las organizaciones de gran tamaño, agrupamos proyectos para el cómputo según los patrones de consulta entre proyectos dentro de la organización. Esto permite dividir los proyectos en partes más fáciles de manejar que pueden colocarse por separado. A fin de manejar las lecturas entre organizaciones, el algoritmo también analiza los patrones de consulta anteriores para detectar relaciones entre las organizaciones e intentar encontrar, como mínimo, una zona en común entre las organizaciones relacionadas. El motor de consulta también permite leer pequeños volúmenes de datos no asignados. Para hacerlo, los lee de forma remota o copia algunos en la zona de computación antes de ejecutar la consulta. En raras ocasiones, cuando el algoritmo no puede garantizar este proceso o hay un nuevo patrón de consulta entre organizaciones, podrían ocurrir errores en las consultas que leen grandes cantidades de datos.
Prácticas recomendadas para organizar y trasladar los datos
  • Para lograr un rendimiento óptimo de las cargas de trabajo que leen y escriben datos en conjuntos de datos que pertenecen a proyectos distintos, asegúrate de que los proyectos estén en la misma organización de Google Cloud.
  • Si quieres que los datos estén disponibles para otros usuarios de BigQuery en tu organización de Google Cloud, puedes usar los permisos IAM para otorgar acceso. 
  • Puedes usar la función para copiar conjuntos de datos si quieres transferir datos entre regiones.
Obtén más información sobre las regiones y zonas en los servicios de Google Cloud, y conoce más detalladamente cómo Compute Engine maneja las zonas.



Por: Mimi Solmssen, Rana Abdelhamid

Imagina cómo es entrar a internet y ser bombardeada inmediatamente por trolls, mensajes no solicitados, o cosas peores. Esa es la realidad cotidiana para muchas mujeres en todo el mundo. Los estudios muestran ...


Por: Mimi Solmssen, Rana Abdelhamid

Imagina cómo es entrar a internet y ser bombardeada inmediatamente por trolls, mensajes no solicitados, o cosas peores. Esa es la realidad cotidiana para muchas mujeres en todo el mundo. Los estudios muestran, uno tras otro, que el acoso en línea afecta de manera desproporcionada a las mujeres, y que como consecuencia de eso, ellas están cambiando su manera de comportarse en línea. El 28% de las mujeres que experimentan abuso en internet reducen deliberadamente su presencia online, y cerca del 75% de ellas han cambiado sus hábitos de uso de redes sociales.

Estamos perdiendo esas voces en nuestra conversación digital, y por eso Jigsaw —una unidad de Alphabet que desarrolla tecnología para hacer del mundo un lugar más seguro— y Women Techmakers —un programa global que les proporciona a las mujeres que trabajan en tecnología visibilidad, comunidad y recursos para impulsar la innovación y mejorar su rol en el campo tecnológico— están reuniendo una comunidad global de expertos y tecnólogos con el objetivo de amplificar las voces de las mujeres que se esfuerzan en hacer del mundo virtual un lugar más seguro para ellas. 



Pensando globalmente

Jigsaw y Women Techmakers lanzaron en febrero la Hackathon por la Seguridad de las Mujeres, una serie de eventos en los que mujeres en todo el planeta diseñarán y ejecutarán soluciones basadas en tecnología que ayuden a mejorar la seguridad en línea de las mujeres.

En marzo de 2020, las comunidades de mujeres tecnólogas de Bangalore (India), Ciudad de México (México), Dubái (EAU), Nueva York (EE. UU.) y Ciudad del Cabo (Suráfrica) serán invitadas a una sesión para que solucionen colectivamente una serie de retos enfocados en crear soluciones técnicas para mejorar la seguridad en línea de las mujeres. Al final de la sesión, cada equipo presentará sus ideas de producto para que sean evaluadas. Los equipos ganadores recibirán premios y tendrán la oportunidad de presentar su idea de producto a Jigsaw. El evento inaugural se hizo en Dubái, y tal como ocurrió allí, los demás encuentros tendrán el mismo nivel de expertos, talleres y oportunidades de mentoría.

Puedes encontrar información sobre los eventos locales aquí.

Imagen

Mirando hacia adelante: Investigación, productos y eventos

Las hackatones son solo el comienzo. El abuso en internet por motivos de género es un asunto gigante y espinoso, y las soluciones son muchas y diversas. Además de organizar estos eventos, seguiremos estudiando el asunto y ayudando a conectar a las muchas instituciones y organizaciones dedicadas a solucionar este problema.

Listas a colaborar


Para la edición mexicana de la hackathon diferentes organizaciones locales que trabajan en temas de género mostraron su interés por apoyar la iniciativa y sumarse activamente, hasta el momento las organizaciones aliadas son:

Vue Vixens MX

Más Mujeres en UX - MX

IconMunity MX

Google Developers Group Cloud MX

Google Developers Group IPN


Video + podcast de Ahora en Android, lanzamientos de AndroidX, módulos de funciones dinámicas en el componente de navegación de Jetpack, artículos sobre las clases integradas de Kotlin y los ajustes de estilo de Android, y otro episodio del podcast de ADB


Video + podcast de Ahora en Android, lanzamientos de AndroidX, módulos de funciones dinámicas en el componente de navegación de Jetpack, artículos sobre las clases integradas de Kotlin y los ajustes de estilo de Android, y otro episodio del podcast de ADB


Ilustración de Virginia Poltrack

Te damos la bienvenida a Ahora en Android, una guía que actualizamos constantemente con las novedades más importantes sobre el desarrollo de Android.

Edición n.º 12 de Ahora en Android: versión en video


Ahora en Android también se ofrece en formato de video. El contenido es el mismo, pero hay más movimiento y menos texto. Echa un vistazo al video o ignóralo y sigue leyendo debajo.

Ahora en Android… ahora en audio y video


Ahora en Android es más que un conjunto de artículos: ¡es una lista de reproducción en YouTube!

Para quienes prefieren recibir su dosis de noticias publicitarias sobre tecnología en otro formato, ampliamos Ahora en Android a los formatos de artículo, video e incluso podcast.
A partir de ahora, recibirás cada episodio en el formato "clásico" de estos artículos en Medium. Además, habrá una versión en video del artículo en la que explicaré en cámara el mismo contenido. Este video aparecerá publicado en la lista de reproducción de Ahora en Android en el canal de Android para desarrolladores de YouTube.
Y, ya que tenemos el video, aprovechamos para extraer el audio y publicarlo en un nuevo podcast de Ahora en Android, disponible en cualquier plataforma en la que consumas podcasts.
Ahora en Android
También decidí cambiar los títulos de los episodios (¡otra vez!) para que sean iguales en todos los formatos. Por eso, a partir de este episodio, el número del artículo (en este caso, 12) debería coincidir con el número del video y el podcast relacionados. Decidí hacer esto porque, incluso si prefieres el formato de video o audio, puedes visitar el artículo de Medium correspondiente para tener acceso a los vínculos.
Recibe las actualizaciones de Ahora en Android como lo prefieras: el contenido es el mismo, pero el método de entrega es diferente. Después, regresa cada dos semanas (aproximadamente) para tener acceso a la siguiente entrega, porque la verdad es que el contenido sobre software nunca termina.

Lanzamientos de AndroidX

Recientemente, AndroidX publicó algunas versiones interesantes de su biblioteca.
En primer lugar, hubo algunas versiones estables. La mayoría de ellas fueron correcciones de errores, como fue el caso de Fragments, Media2, Navigation y WorkManager. Sin embargo, también se lanzó una versión de Core 1.2.0 con nuevas funcionalidades relativas a Notifications, BlendMode (se introdujeron nuevas funcionalidades en la plataforma para versiones anteriores), ShortcutInfo y WindowInsets. También es importante destacar que la versión de ViewModel-SavedState 2.2.0 es exactamente igual a la 1.0.0, pero se cambió el número de versión para que coincida con el de los demás artefactos de Lifecycle.
Algunas bibliotecas también alcanzaron la versión Alfa por primera vez:
Emoji 1.1.0 tiene algunos emojis nuevos, así que aprovecha la oportunidad si quieres incorporar a tu app algunos de la versión v12 o v12.1.
Navigation 2.3.0 incluye la nueva característica de navegación de funciones dinámicas (la información aparece más abajo), junto con un nuevo artefacto para probar la navegación.

Módulos de navegación y de funciones dinámicas



Sabemos que tienes muchas opciones cuando vuelas (perdón, "animas") con Flutter, así que gracias por elegir AnimatedBuilder y AnimatedWidget. Un momento… ¡no! Flutter tiene muchos widgets de animación, pero, a diferencia de las aerolíneas comerciales, cada uno sirve para un tipo de tarea diferente. No hay duda de que puedes lograr la misma animación con métodos distintos, pero usar el widget adecuado para cada tarea te facilita mucho la vida.

Sabemos que tienes muchas opciones cuando vuelas (perdón, "animas") con Flutter, así que gracias por elegir AnimatedBuilder y AnimatedWidget. Un momento… ¡no! Flutter tiene muchos widgets de animación, pero, a diferencia de las aerolíneas comerciales, cada uno sirve para un tipo de tarea diferente. No hay duda de que puedes lograr la misma animación con métodos distintos, pero usar el widget adecuado para cada tarea te facilita mucho la vida.
En este artículo, te explicamos por qué es mejor usar AnimatedBuilder o AnimatedWidget en lugar de otros widgets de animación, y te mostramos cómo hacerlo. Imagina que quieres agregar animación a tu app (este artículo forma parte de una serie en la que te explicamos por qué es recomendable usar cada tipo de widget de animación). La animación que te interesa se repite algunas veces o necesitas que se detenga y se reanude cuando el usuario realiza una acción, como tocar con el dedo. Debido a que hace falta configurar acciones (como repetir, detener o iniciar), tienes que usar una animación explícita.
Seguramente recuerdes que hay dos categorías generales de animaciones en Flutter: explícitas e implícitas. Las animaciones explícitas requieren un controlador, mientras que las implícitas no lo necesitan. En el artículo anterior sobre animaciones explícitas integradas, hablamos acerca de los controladores de animaciones. Consúltalo si quieres obtener más información al respecto.
En fin, si decidiste que necesitas una animación explícita, puedes elegir entre una gran variedad de clases de estas animaciones. Dichas clases suelen denominarse FooTransition, donde Foo hace referencia a la propiedad que intentas animar. Te recomiendo que veas si puedes usar uno de estos widgets para lograr tu objetivo, antes de explorar en más detalle el universo de AnimatedWidget y AnimatedBuilder. Hay una enorme selección de widgets que prácticamente sirve para lo que se te ocurra: rotar, posicionar, alinear, difuminar, cambiar el estilo de texto y mucho más. Además, puedes combinarlos para, por ejemplo, rotar y difuminar. Si ninguno de estos widgets integrados puede hacer lo que buscas, puedes crear uno tú mismo con AnimatedWidget o AnimatedBuilder.

Un cuadro con los pasos para saber qué animación usar en cada situación. En este artículo, nos concentramos en los dos elementos azules de la parte inferior: AnimatedBuilder y AnimatedWidget.

Ejemplo específico

Para entender esto con más claridad, analicemos una situación particular: quiero compilar una app que tenga una nave espacial extraterrestre con una animación de un haz de luz.

Quizá algo exactamente así.

Dibujé un haz de luz con degradado que va de amarillo a transparente y empieza a difuminarse exactamente al medio. Después, recorté la forma del “haz de luz” con un comando de path clipper.

Quiero crear una animación descendente en el haz, que empiece en el centro del degradado y que se repita una y otra vez. Para eso, necesito crear una animación explícita. Lamentablemente, no existe una animación explícita integrada que anime degradados con forma de embudo, pero sí puedes lograrlo con AnimatedWidget y AnimatedBuilder.

AnimatedBuilder

Para animar el haz de luz, voy a incorporar el código del degradado en un widget de AnimatedBuilder. Dicho código debe ir en la función de compilación, que es la que AnimatedBuilder invoca al compilar.
Después, hace falta un controlador para activar la animación. El controlador proporciona los valores que AnimatedBuilder usa para generar versiones nuevas de la animación, marco por marco. Al igual que en el artículo anterior, realizo esta tarea en la clase SingleTickerProviderStateMixin y activo el controlador en la función initState para que se cree una sola vez. Creo el controlador en initState y no en el método de compilación para evitar crearlo muchas veces, ya que quiero que proporcione valores nuevos de animación en cada marco. Al crear un objeto nuevo en initState, agrego un método de desecho y le indico a Flutter que puede deshacerse del controlador una vez que el widget principal ya no esté en pantalla.
Luego, paso el controlador a AnimatedBuilder y la animación funciona como estaba previsto.

Tal vez recuerdes que en el artículo sobre TweenAnimationBuilder usamos el parámetro secundario para optimizar el rendimiento, algo que también podemos hacer con AnimatedBuilder. En resumen, si tenemos un objeto que nunca cambia durante la animación, podemos compilarlo por adelantado y pasarlo a AnimatedBuilder.
En este caso específico, existe una mejor manera de lograr lo mismo: darle a BeamClipper un constructor const y hacer que lo ejecute. Usamos menos código y el objeto se crea al momento de la compilación, lo que acelera el proceso todavía más. No obstante, hay ocasiones en que codificas algo que no tiene un constructor const y ese es un claro ejemplo de cuándo usar el parámetro secundario opcional que ya mencionamos.

AnimatedWidget

Ya tenemos nuestra animación, pero el método de compilación que contiene el código de AnimatedBuilder es un poco extenso. Si el método de compilación que usas ya es difícil de leer, llegó el momento de refactorizar el código.
Puedes extraer el código de AnimatedBuilder y llevarlo a otro widget, pero eso significaría colocar un método de compilación dentro de otro, algo que no tiene mucho sentido. En cambio, puedes lograr la misma animación si creas un widget nuevo que extienda AnimatedWidget. Para ser coherente con el uso de FooTransition para las animaciones explícitas, usaré el nombre BeamTransition. Ahora, paso el controlador de animación a BeamTransition y reutilizo el contenido de la función de compilación de AnimatedBuilder.

Al igual que con AnimatedBuilder (si corresponde), puedo optimizar el rendimiento agregando un parámetro secundario a mi widget para que se compile por adelantando, y no cada vez que realizo la animación. A modo de recordatorio: en este ejemplo, hacer que BeamClipper use un constructor const es el método más eficiente.

Entonces, ¿qué debo usar?

Acabamos de ver cómo AnimatedBuilder y AnimatedWidget pueden usarse indistintamente para lograr el mismo tipo de animaciones explícitas cuando no consigues una animación integrada que haga lo que estás buscando. La pregunta es, ¿cuál conviene usar? La verdad, depende de ti. En términos generales, recomiendo crear widgets individuales, cada uno con una tarea separada (en este caso, una animación).
Si es así, lo óptimo es usar AnimatedWidget siempre que sea posible. Sin embargo, si el widget principal que usas para crear el controlador de la animación es simple, quizá resulte innecesario agregar tanto código para crear un widget independiente por separado. En ese caso, basta con usar AnimatedBuilder.
Este artículo es la versión escrita del video que figura a continuación. Haz clic debajo si quieres verlo:

Este artículo forma parte de una serie. Encuentra los demás en la siguiente lista:


Febrero 19 de 2020 - Google Developers anuncia que pondrá en marcha en Latinoamérica el programa Developer Student Clubs (DSC), en el que los estudiantes universitarios de todos los países de la región podrán organizar grupos de formación en diferentes tecnologías dentro de sus campus. Estos grupos serán apoyados por Google, y tendrán el respaldo de la experiencia en capacitación y mentoría de desarrolladores y expertos que tiene la compañía en todo el mundo.

Los DSC estarán abiertos a todos los estudiantes, sin importar si estudian carreras relacionadas con tecnología o tienen conocimientos previos en informática o programación. El requisito principal para participar es tener una idea y la motivación para llevarla a cabo con ayuda de otros estudiantes, en un ambiente de aprendizaje amable y constructivo. 


Los líderes de los clubes deben ser estudiantes de pregrado que estén iniciando su tercer año de carrera o a dos años de terminar sus estudios. No necesariamente en carreras relacionadas con la computación, pero sí deben demostrar habilidades profundas de programación o de ingeniería de software, y experiencia organizando y liderando eventos. Además, deben tener interés en generar un impacto en su comunidad.

De ser seleccionados, deben comprometerse durante un año a liderar al menos una reunión cada tres meses (preferiblemente una al mes) y a asistir a los demás encuentros y capacitaciones que Google organice. ¿Estás interesada(o)? Regístra tu interés aquí antes de las 11:59 p.m. del viernes 15 de mayo, hora del Pacífico de los Estados Unidos (GMT-8). Ten en cuenta que deberás llenar el formulario en inglés.

“Digamos que estoy estudiando Medicina o Finanzas y tengo esta visión de crear un dispositivo que se conecte al cuerpo a través de la tela, saque datos con sensores y los analice. Pero no sé ni por dónde empezar. Si llego con ese reto al club, allí me ayudarán a entender qué tecnologías aprender para superar ese reto específico”, explica Francisco Solsona, Líder Regional de Google Developers.

Pero crear el producto es solo el comienzo del camino. “Cuando ya el proyecto empieza a avanzar, se hace necesario pensar en un buen modelo de negocios —si es que esto se quiere convertir en una empresa o en algo rentable—, en la experiencia de usuario y el diseño. Todo eso lo vamos a apoyar desde Google Developers, conectando a los clubes con con el ecosistema en su ciudad y nuestros otros programas, como GDG, GDE y Google for Startups”, añade Solsona.

Los clubes normalmente funcionan dentro de los mismos campus universitarios, y los contenidos vienen de los programas de formación de Google. Al hacer parte de estos grupos, los estudiantes tendrán la oportunidad de mejorar sus habilidades técnicas y usarlas para llevar sus ideas a la práctica, conectarse con otras personas y enriquecer la comunidad de desarrolladores de sus regiones y países. 

El programa está abierto a universidades grandes y pequeñas, de ciudades principales o de regiones remotas, siempre y cuando cuenten con una conexión a internet estable que les permita tener acceso a los contenidos remotamente. “Este programa nos da la posibilidad de llegar a esas comunidades remotas, porque mucho del entrenamiento y apoyo que les damos a los estudiantes es en línea”, dice Solsona.


El primer cohorte de líderes de grupos DSC comenzará sus labores en julio próximo. El proceso busca elegir las personas adecuadas para manejar directamente los clubes en colaboración con Google, con mínima o ninguna intervención de las universidades.

Hay más de 860 grupos DSC en 68 países de Norteamérica, Europa, Asia y África; que organizan unos 1.500 eventos cada año. En países como Indonesia el éxito ha sido tal que solo el año pasado se abrieron 250 clubes en igual número de instituciones y aquí puedes encontrar algunas historias de éxito del programa.


En busca de líderes


Los grupos son encabezados por un líder, que se postula en el sitio web de DSC y, si es elegido por Google, se mantiene como líder de DSC en su escuela por un período de un año. El proceso de evaluación involucra algunas entrevistas, así como pruebas técnicas y de habilidades de liderazgo. El líder es el encargado de que el DSC funcione: de conseguir contenidos útiles para sus retos, y de que los miembros estén motivados para aprender y avanzar en sus ideas.

Una vez elegidos, los líderes reciben un entrenamiento por parte de Google, en el que se les ofrecen diferentes recursos y herramientas con las que luego deberán ayudar a los miembros de sus clubes a cumplir sus objetivos. Así como retos y otras herramientas que se irán agregando al programa.

Además de su entrenamiento, los líderes de los DSC formarán parte de una red global y estarán conectados con otros programas de Google Developers, lo que les permitirá ampliar sus redes profesionales y conocer personas que pueden ser importantes para su futuro profesional.


“La experiencia de manejar un DSC les ayudará a mejorar sus habilidades de liderazgo y a convertirse en profesionales más integrados a su comunidad”, opina Solsona. “Es un año intenso, pero lleno de oportunidades”.


Talov, una de las startups más laureadas de Ecuador, nació de un encuentro fortuito. Carlos Obando y Hugo Jácome se conocían desde el colegio en Quito. Cuando terminaron la secundaria cada uno siguió su camino: Carlos estudió mecatrónica en la universidad, y Hugo, acústica. Al final de su carrera se reencontraron, y se dieron cuenta de que ambos perseguían una misma misión.
En Ecuador, un país con un ecosistema emprendedor naciente, un grupo de jóvenes está creando una empresa que se dedica a mejorar la vida de millones de personas en el mundo —y tiene muchos premios para demostrarlo.

Talov, una de las startups más laureadas de Ecuador, nació de un encuentro fortuito. Carlos Obando y Hugo Jácome se conocían desde el colegio en Quito. Cuando terminaron la secundaria cada uno siguió su camino: Carlos estudió mecatrónica en la universidad, y Hugo, acústica. Al final de su carrera se reencontraron, y se dieron cuenta de que ambos perseguían una misma misión.

Para graduarse, Hugo había desarrollado una aplicación pensada para personas con discapacidad auditiva, que describe los sonidos del entorno con palabras en una pantalla. Carlos, por su parte, estaba investigando cómo hacer que las aplicaciones para móviles ayudaran a solucionar problemas a las personas. “Desde que yo era estudiante de ingeniería siempre pensé que la tecnología se debe aplicar para solucionar desafíos sociales”, cuenta. Esto fue en el año 2008, cuando las tiendas de apps para móviles estaban en una etapa muy incipiente.

Paralelamente con sus trabajos comenzaron a trabajar en un proyecto en común, hasta que en 2016 se decidieron a emprender a tiempo completo. “Ese año nos dimos cuenta de que todo ese trabajo tenía un potencial. Renunciamos a nuestros empleos de docentes universitarios y decidimos fundar Talov”, recuenta Hugo.

Un año después lanzaron su primera app, SpeakLiz, que no solo describe los sonidos del entorno por medio de textos en pantalla, sino también convierte a texto para celular los gestos en lengua de señas del usuario, siempre y cuando use una pulsera con un sensor de movimiento.



En marzo de 2018 lanzaron su segundo producto: Vision, orientado a personas con discapacidad visual. La aplicación combina un algoritmo de visión computacional con realidad aumentada para identificar los objetos frente al smartphone y la distancia a la que están, leer textos a partir de imágenes, reconocer y contar billetes de decenas de divisas de todo el mundo, detectar los colores que ve y contextualizar lugares: por ejemplo, si ve muchos autos estacionados dirá que es un estacionamiento.



Las dos aplicaciones tienen 7.000 usuarios en 84 países. SpeakLiz está disponible tanto en Google Play Store como en la App Store de iOS; mientras que Vision está disponible solo para iOS. Quizás lo más impresionante es que ambas apps funcionan en 35 idiomas, y son completamente funcionales sin una conexión constante a internet. Estas características las hacen especialmente útiles en el mundo en desarrollo, y son una muestra de cómo las soluciones que se adaptan al entorno latinoamericano tienen el potencial de escalar globalmente.

Una parte clave del proceso de creación de estas apps es lograr que el diseño de interacción funcione para personas con discapacidad —una condición que no tienen ni Hugo ni Carlos. Por eso, la mitad del equipo de la startup tiene alguna condición de ese tipo, y ellos son el primer filtro para probar nuevas funciones y afinar el funcionamiento de las aplicaciones.


“Recuerdo que cuando estábamos haciendo esta función de objeto y distancia, al inicio no le habíamos incluido una vibración. Y la persona con discapacidad nos decía, 'oigan, chicos, en vez del sonido, también incluyan un pequeño motor de vibración, porque para nosotros el tema del tacto es increíblemente importante'”, cuenta Hugo.

Crecer como empresa

Pero un reto es lanzar una aplicación brillante, y otro —tan complicado como el primero— es crear una empresa exitosa. Talov comenzó en marzo de 2019 a ofrecer sus aplicaciones por suscripción: un plan mensual de USD 4,99, un plan anual de USD 39,99 y uno vitalicio de USD 149,99. Además, fueron beneficiarios del programa Google Launchpad en Ecuador, hecho en asociación con IMPAQTO Lab, lo que les ayudó a consolidar su crecimiento y alcanzar una escala global.

Más allá de ganar el primer premio en capital semilla después de los seis meses del programa, el Google Launchpad fue una oportunidad para seguir consolidando a Talov. “Antes de Launchpad nos faltaba muchísimo escalar, conocer cómo trabajar en las tiendas de apps, optimizar nuestros keywords y mejorar nuestro marketing digital”, dice Hugo. Carlos añade: “el programa nos abrió los ojos en cuanto a expandir el alcance de nuestras aplicaciones, y eso se vio claramente en las cifras antes y después de terminar”.

Además, Talov ha recibido muchos otros reconocimientos. Fueron seleccionados para SeedStars en 2018, y fueron finalistas del Premio de Accesibilidad de Mada Center Qatar, una organización creada con el objetivo de impulsar la tecnología para personas con discapacidad. La final será en abril próximo, en Suiza. Carlos fue seleccionado por la revista MIT Technology Review como uno de los 35 mejores innovadores latinoamericanos menores de 35 años en 2019.

Además, quedaron en segundo lugar en el concurso “Una idea para cambiar la historia”, de History Channel. “Nos inscribimos casi al final de la fecha límite, a finales de agosto, y en octubre nos llaman de History y nos dicen que estamos dentro de los cinco semifinalistas. En la etapa final, de votaciones del público, quedamos en segundo lugar”, explica Carlos.

Más allá de los premios, el siguiente paso para Talov es consolidar su crecimiento y escalabilidad. Para eso están comenzando a evaluar opciones de inversión, pero es un proceso que quieren hacer bien. Además de convertirse en un negocio exitoso, la startup busca dejar un impacto real entre sus usuarios; y por eso —por ejemplo— todos sus servicios pagos son gratuitos para las personas ecuatorianas de bajos recursos. Pero conseguir un socio que entienda eso no es fácil o, como dice Hugo, “encontrar un buen inversionista es como encontrar la chica con la que te vas a casar.”

Todo esto es muy importante para la comunidad ecuatoriana de emprendedores, que intenta triunfar en un país que, como explica Daniela Peralvo, directora de IMPAQTO Lab, “es un ecosistema naciente comparado con otros países, pero donde tenemos una característica bien interesante: vemos mucho talento”.

Para Peralvo, el éxito de Hugo y Carlos es importante para que el emprendimiento en Ecuador se consolide como una opción para más personas talentosas. “Es fundamental tener casos de éxito que puedan seguir inspirando a los actuales emprendedores que están comenzando, pero sobre todo los que vienen también en el camino”.










La velocidad ha sido uno de los principios fundamentales de Chrome desde su comienzo: trabajamos constantemente para ofrecer a los usuarios una experiencia instantánea a medida que navegan por la Web. Ahora bien, todos nos hemos sentido defraudados por alguna página web que pensamos que se cargaría rápido, pero que en realidad estuvo lejos de hacerlo. Creemos que es posible mejorar la Web y queremos no solo que los usuarios entiendan por qué un sitio podría cargarse más lento, sino también recompensar a aquellas páginas que ofrecen experiencias veloces.


En el futuro, puede que Chrome utilice insignias claras para identificar a los sitios que suelen cargarse de manera rápida o lenta. Probablemente eso se lleve a cabo de diversas formas, y tenemos pensado experimentar con diferentes opciones a fin de determinar cuál proporciona el mayor valor a nuestros usuarios. 


El objetivo de las insignias es identificar los casos en los que los sitios son creados de una manera que los hace más lentos en general, teniendo en cuenta las latencias de carga históricas. Más adelante, podríamos ampliar esto para poder identificar los casos en los que es probable que una página sea lenta en función de las condiciones del dispositivo y la red del usuario. 


Nuestras primeras exploraciones se centrarán en una serie de elementos de Chrome, incluida la pantalla de carga (pantalla de presentación), la barra de progreso de carga y el menú contextual de los vínculos. Esto último permitiría obtener estadísticas de las velocidades típicas de un sitio para que puedas estar al tanto de eso antes de comenzar a navegar. 




Nuestro plan para identificar los sitios que son rápidos o lentos se llevará a cabo en pasos graduales, basados en criterios cada vez más estrictos. Nuestro objetivo a largo plazo es definir las insignias para experiencias de alta calidad, que pueden incluir indicadores más allá de la velocidad. 


Estamos construyendo la insignia de velocidad en estrecha colaboración con otros equipos que trabajan etiquetando la calidad de las experiencias de Google. Creemos que esto garantizará que si optimizas tu sitio para que sea rápido, no se lo marcará con una insignia que no sea coherente de un elemento a otro.


Somos muy conscientes de nuestro enfoque respecto de lo que se considera una buena experiencia del usuario y esperamos llegar a algo que puedan lograr todos los desarrolladores. Si bien publicaremos actualizaciones acerca de este plan a medida que nos acerquemos a versiones futuras, optimiza tu sitio cuanto antes. Hay una serie de recursos disponibles que te mostrarán qué oportunidades puedes aprovechar para mejorar la velocidad de tu sitio.
Para evaluar el rendimiento, consulta lo siguiente:

Para obtener información sobre las prácticas recomendadas de rendimiento, consulta web.dev/fast, nuestra plataforma de aprendizaje que incluye guías y codelabs sobre cómo hacer que tus páginas se carguen al instante.


Nos encanta recompensar tu trabajo y dar a nuestros usuarios más transparencia respecto del rendimiento normal de los sitios. Esperamos que este esfuerzo anime a más sitios de la Web abierta a brindar mejores experiencias para todos los usuarios.


Publicado por Addy Osmani, Ben Greenstein y Bryan McQuade del equipo de Chrome





En Google, nos importa mucho la seguridad de los proyectos de código abierto, ya que son un aspecto esencial de nuestra infraestructura y la de todos. Hoy, Cloud-Native Computing Foundation (CNCF) anunció un nuevo programa de recompensas por encontrar errores de Kubernetes que ayudamos a crear y poner en funcionamiento. A continuación, encontrarás una descripción general del programa, otros métodos que usamos para proteger programas de código abierto e información sobre cómo puedes participar.

Lanzamiento del programa de recompensas por encontrar errores de Kubernetes

Kubernetes es un proyecto de CNCF. Como parte de sus criterios de evaluación, CNCF creó hace poco la primera auditoría de seguridad del proyecto para analizar sus áreas principales e identificar posibles problemas. Esta auditoría identificó y abordó numerosos problemas de seguridad que se desconocían hasta el momento. Afortunadamente, Kubernetes ya contaba con un Comité de seguridad del producto que incluía a ingenieros del equipo de seguridad de Google Kubernetes Engine (GKE), cuyo trabajo era reaccionar a los errores que se detectaban y corregirlos. Sin embargo, proteger un proyecto de código abierto es una tarea que nunca termina. Para aumentar la capacidad de detección del modelo de seguridad de Kubernetes, atraer a más investigadores del ámbito de la seguridad y recompensar el trabajo constante de la comunidad, el Comité de seguridad del producto de Kubernetes empezó a evaluar, en 2018, la posibilidad de lanzar un programa oficial de recompensas por encontrar errores.

Recibir dinero por encontrar errores de Kubernetes

¿Qué tipo de errores reconoce el programa de recompensas? Se tiene en cuenta casi todo el contenido que se considere "fundamental" para Kubernetes y que se detalla en https://github.com/kubernetes. Nos interesan los problemas de seguridad más comunes, como la ejecución remota de código, la elevación de privilegios y los errores durante los procesos de autenticación o autorización. Dado que Kubernetes es un proyecto comunitario, también queremos saber si hay errores en la cadena de suministro, por ejemplo, procesos de compilación y lanzamiento que podrían permitir a un individuo malintencionado obtener acceso no autorizado a confirmaciones, o bien afectar de otro modo las alteraciones de compilaciones. En esto, el programa de recompensas por errores se diferencia un poco de los programas estándar, ya que no hay un entorno "en vivo" para probar. Existen muchos métodos de configuración de Kubernetes y buscamos errores que afecten cualquiera de ellos (salvo que ya existan opciones de configuración que puedan reducir estos errores). Gracias al apoyo y financiamiento constantes de CNCF, el programa puede llegar a pagar, en función del error, desde 100 USD hasta 10 000 USD.

El programa de recompensas por errores se implementó de forma privada durante varios meses con investigadores invitados que informaron errores y nos ayudaron a probar el proceso de evaluación. A partir de hoy, el nuevo programa de recompensas por errores de Kubernetes está funcionando de forma pública. Nos entusiasma conocer los errores que puedas reportar y estamos listos para responder a informes nuevos. Para obtener más información sobre el programa y cómo participar, haz clic aquí.

La seguridad de Kubernetes como prioridad

Desde el primer día, Google forma parte de este nuevo programa de recompensas por errores de Kubernetes: propusimos el programa, completamos evaluaciones de proveedores, definimos el alcance inicial, probamos el proceso e incorporamos HackerOne para implementar la solución de recompensas por errores. Sabemos que es un gran esfuerzo, pero es uno de los tantos modos en que nos comprometemos a proteger Kubernetes. Google sigue involucrado en cada aspecto de la seguridad de Kubernetes, lo que incluye responder a las vulnerabilidades como parte del Comité de seguridad del producto, dirigir el grupo de interés especial de sig-auth de Kubernetes y liderar la auditoría de seguridad que mencionamos antes. Sabemos que, para los usuarios, la seguridad es algo esencial a la hora de elegir usar una herramienta de código abierto, por lo que dedicamos los recursos necesarios para ayudar a garantizar que Kubernetes y GKE tengan el mejor nivel de seguridad posible.

Aunque sea nuevo para Kubernetes, el programa de recompensas por errores no es una estrategia novedosa para Google. Llevamos años forjando una relación estrecha con la comunidad de investigadores de seguridad y, en 2010, Google creó su propio Programa de recompensas por vulnerabilidades (VRP). Este VRP ofrece recompensas a quienes detecten vulnerabilidades en GKE y en prácticamente cualquier servicio de Google Cloud. Si encuentras un error en GKE que no es de Kubernetes, te pedimos que lo informes de todos modos en el VRP de Google. Kubernetes tampoco es el único proyecto de código abierto que tiene un programa de recompensas por errores. De hecho, no hace mucho tiempo, ampliamos nuestro Programa de premios por revisión para ofrecer recompensas financieras iniciales y posteriores a las mejoras de seguridad en proyectos de código abierto.

Hagamos de las infraestructuras mundiales un lugar más seguro. Notifica los errores de Kubernetes a su programa de recompensas por errores y los errores de GKE al VRP de Google.


Publicado por Katharina Familia Almonte, líder de producto global de Google en el proyecto AMP
El año pasado, Chrome anunció que tiene previsto introducir un sistema de clasificación de cookies como parte de su esfuerzo continuo por mejorar la privacidad y la seguridad en la Web, que se espera que entre en vigencia con la versión 80 de Chrome en febrero de 2020. Mozilla reafirmó su compromiso con el nuevo modelo de clasificación de cookies mediante la declaración de su ...

Publicado por Katharina Familia Almonte, líder de producto global de Google en el proyecto AMP
El año pasado, Chrome anunció que tiene previsto introducir un sistema de clasificación de cookies como parte de su esfuerzo continuo por mejorar la privacidad y la seguridad en la Web, que se espera que entre en vigencia con la versión 80 de Chrome en febrero de 2020. Mozilla reafirmó su compromiso con el nuevo modelo de clasificación de cookies mediante la declaración de su intención de implementar en Firefox requisitos SameSite=None; Secure para las cookies entre sitios. Microsoft también anunció planes para empezar a implementar en la versión 80 de Microsoft Edge el modelo que en un principio fue un experimento.
El equipo de AMP está comprometido con la protección de la privacidad de los usuarios, y esta entrada de blog explicará cómo puedes brindar una mayor transparencia y elección con los próximos cambios de navegadores, manteniendo al mismo tiempo una buena experiencia de usuario con AMP. Como se espera que se lance Chrome 80 en febrero, esta entrada de blog se centrará específicamente en los cambios de ese navegador.
Explicación de la nueva configuración de cookies de Chrome
El nuevo modelo seguro de forma predeterminada de Chrome supone que se deben proteger todas las cookies del acceso externo, a menos que se especifique lo contrario. Los desarrolladores deben utilizar una nueva configuración de cookies, SameSite=None, a fin de designar cookies para el acceso entre sitios, y un atributo adicional de seguridad para que solo se pueda acceder a las cookies entre sitios mediante conexiones HTTPS. Chrome tratará las cookies que no tengan un valor declarado de SameSite como SameSite=Lax. Solo las cookies con la opción SameSite=None; Secure estarán disponibles para acceso externo, siempre y cuando se acceda a ellas desde conexiones seguras. Para obtener más información sobre el nuevo modelo, lee esta entrada de blog.
Usuarios afectados
Si tu sitio necesita acceder a tus cookies propias en las páginas de AMP que se encuentran en la Caché de AMP, te recomendamos que evalúes cuidadosamente si los próximos cambios en el navegador afectarán tu experiencia del usuario. Este podría ser el caso, por ejemplo, cuando los usuarios pasan de la caché de AMP al dominio de origen, y un muro de pago, un estado de inicio de sesión, una medición o un carrito de compras se basan en el acceso de cookies propias. Hay dos soluciones que podrías emplear, pero la que sea mejor para tu sitio dependerá de los casos de uso específicos, y eso puede cambiar con el paso del tiempo.
Designa cookies para el acceso entre sitios
Una solución para los editores de AMP afectados por los cambios en la clasificación de las cookies de Chrome es establecer las cookies propias de las páginas de AMP como SameSite=None; Secure. Eso designará a las cookies propias para el acceso entre sitios y evitará interrupciones en la experiencia del usuario:
Set-Cookie: widget_session=abc123; SameSite=None; Secure
La ventaja de este enfoque es que es el más fácil de aplicar, pero si los navegadores proceden a ofrecer a los usuarios controles minuciosos para administrar las cookies a las que accede un solo sitio por separado de las cookies a las que acceden varios sitios, existe un mayor riesgo de que los usuarios borren las cookies propias en las páginas de AMP almacenadas en caché, ya que se marcarán para el acceso entre sitios.
Signed Exchange ofrece ayuda
De forma alternativa, los editores pueden usar Signed Exchange para lograr un estado en el que se traten las cookies propias como tales en las páginas de AMP procesadas en la Caché de AMP. Signed Exchange es una tecnología emergente que puede utilizarse para atribuir la URL de una página al dominio del editor original, incluso cuando la página se entrega a través de la caché de AMP con todos los beneficios de velocidad de carga que proporciona (consulta esta entrada de blog y esta guía). El beneficio de Signed Exchange es que cuando los navegadores empiezan a impedir que las cookies obtengan acceso externo (a menos que se especifique lo contrario), Signed Exchange se asegurará de que las cookies propias no requieran una designación en las páginas que se muestran en la Caché de AMP. Sin embargo, Signed Exchange no aborda todos los casos de uso, ya que, cuando se publicó este artículo, no admitía el carrusel de Noticias principales.
Resumen
En resumen, Chrome tiene pensado introducir la nueva configuración de cookies SameSite=None; Secure en febrero. Para garantizar una experiencia del usuario óptima en las páginas de la caché de AMP que necesitan acceder a cookies propias, recomendamos a los editores que designen las cookies para el acceso entre sitios a través de esta nueva configuración o que implementen Signed Exchange. Esperamos que esta entrada de blog te ayude a mantener una buena experiencia del usuario y al mismo tiempo allane el camino hacia mayores controles de privacidad para los usuarios, a medida que los navegadores empiecen a adoptar el nuevo modelo de clasificación de cookies. Para obtener más detalles sobre cómo usar y probar las cookies de SameSite de Chrome, consulta la guía de web.dev y las sugerencias en las actualizaciones de SameSite de Chromium.



Publicado por Mitchell Wills, Android Build Software Engineer

AOSP existe hace tiempo, pero siempre hizo falta realizar algunos pasos manuales para instalar compilaciones en un dispositivo de desarrollo. Hace un año, lanzamos el ...


Publicado por Mitchell Wills, Android Build Software Engineer

AOSP existe hace tiempo, pero siempre hizo falta realizar algunos pasos manuales para instalar compilaciones en un dispositivo de desarrollo. Hace un año, lanzamos el panel de integración continua de Android, que permitía ver en más detalle el estado de compilación continuo de un árbol fuente de AOSP. Sin embargo, estas compilaciones no estaban disponibles en el caso de los teléfonos y la instalación en dispositivos seguía siendo un proceso manual ejecutado mediante la línea de comandos.
Para ayudar a los desarrolladores que usan AOSP, presentamos Android Flash Tool, que les permite instalar en dispositivos las compilaciones que figuran en el panel de integración continua. Pueden usar esta herramienta los desarrolladores que trabajan en el SO Android para probar cambios, o los desarrolladores de apps que quieran verificar la compatibilidad con la versión más reciente de la compilación de AOSP.
Instalando compilación
Instalación de un dispositivo.
Android Flash Tool permite que cualquier persona que use un navegador compatible con WebUSB (como Chrome 79 o Edge 79) instale en un dispositivo Android completamente desde el navegador (para Windows, es necesario instalar un controlador). Después de conectar un dispositivo y permitir la conexión con la página, los usuarios tienen acceso a una lista de las compilaciones disponibles. Deben elegir la que quieran, hacer clic en la opción de instalación y la herramienta se encargará del resto. Es posible instalar compilaciones basadas en aosp-master en dispositivos Pixel recientes y en las placas de referencia HiKey.
Prueba Android Flash Tool por tu cuenta en https://flash.android.com.
Obtén más información en https://source.android.com/setup/contribute/flash.


Como ya es habitual cada año, queremos que conozcan las tareas que realizamos para ayudar a mantener los proyectos de código abierto de los que depende AMP para desarrollar.

Como ya es habitual cada año, queremos que conozcan las tareas que realizamos para ayudar a mantener los proyectos de código abierto de los que depende AMP para desarrollar.
Cada vez queda más claro que no resulta sostenible depender del trabajo voluntario de las personas en su tiempo libre para desarrollar software de código abierto esencial. Como comunidad, necesitamos encontrar formas nuevas de financiar el valioso trabajo que se realiza en los proyectos. Nos esforzamos por brindar algún tipo de ayuda financiera a los proyectos de los que dependemos directamente y que aceptan recibirla.

Financiamiento total: USD 117,100 (2019: USD 58,700)

Estos proyectos recibieron ayuda:


Nos alegra enormemente haber podido brindar ayuda a estos proyectos increíbles y estamos ansiosos por lograr mucho más en 2020.
Publicado por Malte Ubl, miembro de AMP Project Technical Steering Committee


Con la versión estable de Chrome 80 publicada este mes, Chrome empezará a implementar un nuevo sistema de clasificación de cookies seguro de forma predeterminada. Con este sistema, las cookies sin un valor SameSite declarado se tratarán como cookies ...

Con la versión estable de Chrome 80 publicada este mes, Chrome empezará a implementar un nuevo sistema de clasificación de cookies seguro de forma predeterminada. Con este sistema, las cookies sin un valor SameSite declarado se tratarán como cookies SameSite=Lax. Solamente las cookies con el valor SameSite=None; Secure estarán disponibles en contextos externos, siempre y cuando el acceso se realice mediante conexiones seguras.

Chrome anunció este cambio y lo publicó en la información para desarrolladores por primera vez en mayo de 2019. Más adelante, en octubre, envió un recordatorio e información adicional. Mientras se realiza la implementación, te invitamos a ver el video y consultar la información a continuación para prepararte y saber qué sucederá.




Fecha de lanzamiento: La versión estable de Chrome 80 está programada para implementarse a partir del 4 de febrero. El nuevo sistema de clasificación de cookies de Chrome 80 comenzará a usarse más adelante en el mismo mes con un puñado de usuarios, y se irá ampliando con el tiempo. Para obtener la información más reciente sobre la fecha y el proceso de implementación, consulta la página de actualizaciones de SameSite. Puedes visitar esta página para ver si se actualizó tu navegador; si todas las filas aparecen en verde, se están implementando los valores predeterminados nuevos.


Advertencias de la consola de herramientas para desarrolladores: La consola de herramientas para desarrolladores emite advertencias cuando una página contiene cookies cross-site que no tienen la configuración necesaria. Si aparecen estas advertencias mientras ves tu sitio en las herramientas para desarrolladores, podría deberse a que las cookies de algunas funciones de tu sitio no están configuradas correctamente. Esta es una advertencia de las herramientas para desarrolladores en Chrome 80, que es similar en las versiones anteriores de Chrome (77+):


Una excepción ocurre cuando un servicio emite un par de cookies redundantes: una con la configuración nueva y otra con la antigua para los clientes que no son compatibles. En ese caso, podría aparecer una advertencia debido a la cookie antigua, aunque el servicio funcione como está previsto. Encuentra la descripción de este enfoque aquí.


Cookies de Google: Algunos servicios de Google usan el enfoque que se describe antes, es decir, emiten una cookie con la configuración nueva y otra con la antigua. Por esto, es posible que veas la advertencia de las cookies de Google en la consola de herramientas para desarrolladores incluso si el servicio de Google funciona adecuadamente.


Efectos temporales provocados por la transición: Si un proveedor de cookies cross-site actualiza las suyas justo antes del lanzamiento de Chrome 80, algunos usuarios que usen Chrome 80 y que sean conocidos o regresen podrían aparecer como usuarios desconocidos o nuevos hasta que se actualicen sus cookies con la configuración nueva. Los proveedores que hayan actualizado sus cookies con más antelación tienen menos posibilidades de notar un impacto, dado que sus usuarios tuvieron más tiempo para que se actualicen sus cookies con la configuración nueva.


Solución temporal para procesos de inicio de sesión: Para ayudar a evitar las experiencias de inicio de sesión fallidas durante el proceso de autenticación cuando se transmiten cookies entre sitios web y proveedores externos, Chrome presentó una solución temporal llamada "Lax + POST". Con esta solución, se concede un plazo de dos minutos para que las cookies sin una configuración SameSite especificada estén disponibles para el tipo de solicitud POST cross-site de nivel superior que suele usarse en procesos de inicio de sesión. Esto no influye en el comportamiento de las solicitudes GET cross-site de nivel superior, que agregan cookies SameSite "Lax", pero no "Strict". Esta solución se describe en el seguimiento de Chromium del modelo nuevo. Si usas o brindas servicios de inicio de sesión de terceros, te recomendamos probar tu proceso de inicio de sesión inmediatamente.


Políticas empresariales: Es posible que los administradores empresariales tengan que implementar políticas especiales para revertir el navegador Chrome al comportamiento anterior transitoriamente si algunos servicios, como el inicio de sesión único o las aplicaciones internas, no están listos para los cambios de Chrome 80.


Pruebas y solución de problemas: Para conocer el comportamiento de un sitio o servicio con el nuevo modelo, te recomendamos hacer las pruebas en Chrome 76+ habilitando las funciones experimentales "SameSite by default cookies" y "Cookies without SameSite must be secure". Para habilitar las funciones experimentales, ve a chrome://flags. Como el modelo nuevo se implementará de forma gradual en Chrome 80, es recomendable que habilites también las funciones experimentales en Chrome 80 cuando realices las pruebas para asegurarte de que el navegador refleje la nueva configuración predeterminada.


También puedes probar si cualquier comportamiento imprevisto en Chrome 80 se debe al modelo nuevo. Para hacerlo, inhabilita las funciones experimentales "SameSite by default cookies" y "Cookies without SameSite must be secure". Si el problema continúa después de inhabilitar estas funciones, es probable que no esté relacionado con los cambios en las cookies.  Puedes encontrar más sugerencias sobre pruebas y depuración aquí.

Más recursos:


Publicado por Barb Smith, Chrome and Web Platform Partnerships