PHP UX Frontend

Mejora en la experiencia del usuario: precarga de elementos en selectores

En el proyecto landing, nos enfocamos en mejorar la experiencia del usuario al interactuar con los selectores en el generador de publicaciones. Anteriormente, los selectores de commits, pull requests y revisiones de código aparecían vacíos hasta que el usuario comenzaba a escribir. Esto podía ser frustrante, especialmente cuando el usuario simplemente quería seleccionar uno de los elementos recientes.

El problema

La falta de elementos pre-cargados en los selectores obligaba al usuario a recordar y escribir parte del nombre del commit, pull request o revisión de código deseado, incluso si era uno de los elementos más recientes. Esto ralentizaba el flujo de trabajo y hacía que la experiencia fuera menos intuitiva.

La solución

Implementamos una mejora que ahora precarga los 10 elementos más recientes en los selectores por defecto, al abrir el menú desplegable. Esto permite a los usuarios seleccionar rápidamente los elementos recientes sin necesidad de escribir nada. Al mismo tiempo, la funcionalidad de búsqueda se mantiene, permitiendo a los usuarios buscar elementos más antiguos o específicos.

Ejemplo

Imaginemos un componente PHP que gestiona la obtención de datos para el selector:

<?php

class SelectorDataProvider
{
    public function getRecentItems(int $limit = 10): array
    {
        // Lógica para obtener los elementos más recientes
        $items = $this->fetchRecentItemsFromDatabase($limit);
        return $items;
    }

    private function fetchRecentItemsFromDatabase(int $limit): array
    {
        // Simulación de una consulta a la base de datos
        $data = [
            ['id' => 1, 'name' => 'Commit A'],
            ['id' => 2, 'name' => 'Pull Request B'],
            ['id' => 3, 'name' => 'Code Review C'],
            // ... más elementos
        ];

        return array_slice($data, 0, $limit);
    }
}

// Uso en el controlador
$dataProvider = new SelectorDataProvider();
$recentItems = $dataProvider->getRecentItems();

// Pasar $recentItems a la vista para renderizar el selector
?>

Beneficios

  • Mayor eficiencia: Los usuarios pueden seleccionar elementos recientes más rápidamente.
  • Mejor experiencia de usuario: La interfaz es más intuitiva y fácil de usar.
  • Reducción de la fricción: Se elimina la necesidad de recordar y escribir nombres de elementos recientes.

Conclusión

La precarga de elementos en los selectores es una pequeña mejora que tiene un gran impacto en la experiencia del usuario. Al facilitar la selección de elementos recientes, agilizamos el flujo de trabajo y hacemos que la interfaz sea más amigable.

Mejora en la experiencia del usuario: precarga de elementos en selectores
GERARDO RUIZ

GERARDO RUIZ

Author

Share: