Tecnología

Cómo Lyft aprovechó las actividades en vivo de iOS para mejorar la experiencia del usuario

Proporcionar actualizaciones oportunas a los usuarios es fundamental para mejorar su experiencia móvil, explica Max Husar, ingeniero de Lyft iOS, aunque esto aumenta el alcance y el esfuerzo del desarrollo. Para lograr un equilibrio entre flexibilidad, confiabilidad y reutilización, Los ingenieros de Lyft utilizaron iOS ActivityKit para agregar contenido dinámico a su aplicación.

Kit de actividades Apple lo introdujo con iOS 16.1 y iPadOS 17 para permitir compartir actualizaciones en vivo desde una aplicación usando Live Island disponible en dispositivos más nuevos o la pantalla de bloqueo en dispositivos más antiguos. Una piedra angular de ActivityKit son las actividades en vivo, que pueden verse como una evolución de las notificaciones, ya que permiten al usuario no solo recibir información actualizada o iniciar una aplicación, sino también realizar funciones sin iniciar la aplicación mediante botones y conmutadores. .

Como explica Husar, los ingenieros de Lyft tratan cada actividad en vivo como una especie de subprograma que se ejecuta sobre la aplicación principal. Esto también refleja la organización Lyft, donde varios equipos trabajan en diferentes áreas al mismo tiempo.

Decidimos crear contenido de actividades en vivo para que esté completamente orientado al servidor utilizando una interfaz de usuario orientada al servidor (SDUI). Ya utilizamos marcos SDUI para algunas pantallas de nuestras aplicaciones que se superponen a la actividad en vivo, por lo que reutilizar plantillas básicas y patrones familiares nos ayuda a avanzar más rápido.

El principal limitación para actividades en vivo proviene del tamaño máximo de carga útil permitido para actualizaciones de contenido, que es 4 KB. En el caso de Lyft, esto requirió ajustes en sus modelos SDUI y también el uso de protobuf para reducir aún más algunos bytes del tamaño de la carga útil.

Sobre la base de este enfoque, el equipo de iOS de Lyft creó varios componentes para interactuar con los usuarios, incluido un componente RichText capaz de representar texto formateado junto con una imagen o un temporizador, y una barra de progreso utilizada para mostrar a los pasajeros la velocidad de un auto Lyft. Que se acerca.

Además, han ampliado su solución para admitir la visualización remota de imágenes para mostrar la foto de perfil del conductor y el automóvil una vez que se encuentra al pasajero. Esta tarea requirió el uso Grupos de aplicaciones para compartir archivos entre la aplicación y las extensiones que implementan actividades en vivo. Aún así, los ingenieros de Lyft no pudieron encontrar:

una forma de mostrar de forma fiable y rápida dos imágenes simultáneas (foto del conductor y del coche). Estamos de acuerdo en que es más importante ver primero la foto de perfil del conductor desde una perspectiva de UX, y podemos mostrarla sin demora enviando datos de imagen base64 directamente a la carga útil de actualización de APN.

Una limitación adicional surgió del hecho de que las imágenes solo se pueden descargar mientras una aplicación está activa o en segundo plano, pero aún tiene suficiente tiempo de procesamiento en segundo plano.

En general, afirma Husar, la solución adoptada para las actividades en vivo fue un éxito, independientemente de las complejidades, y permitió mejorar la experiencia de millones de usuarios.

Hay muchos más detalles sobre cómo los ingenieros de Lyft aprovecharon las actividades en vivo en su aplicación de los que se pueden cubrir aquí, así que no se pierda el artículo original si está interesado.

Federico Pareja

"Escritora típica. Practicante de comida malvada. Genio zombi. Introvertido. Lector. Erudito de Internet. Entusiasta del café incondicional".

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba