Yeda AI Tips · #112

English

Las UIs generadas por IA se saltan los estados vacíos — pide cada estado en el prompt

La IA construyó el camino feliz de tu UI. Tus usuarios viven en el camino triste. Pídele a un asistente de código "un dashboard con una lista de pedidos" y obtendrás una pantalla hermosa — para el único caso en el que los datos cargaron al instante, la lista tiene 8 filas ordenadas y nada falló. Los usuarios nuevos ven un vacío en blanco. Las redes lentas ven un destello de nada. Las peticiones fallidas ven silencio. Nada de eso estaba en el prompt, así que nada de eso está en el código.

Estados, no casos borde

Toda vista basada en datos tiene al menos cinco estados, y solo uno es "feliz":

  1. Carga (loading) — la petición está en vuelo.
  2. Vacío (empty) — la petición tuvo éxito y devolvió cero elementos.
  3. Error — la petición falló.
  4. Parcial / desborde (overflow) — demasiado contenido: 10,000 filas, un nombre de 300 caracteres, un título que ocupa tres líneas.
  5. Ideal — el estado de la captura de pantalla. El único que la IA construye de forma confiable.

No son casos borde; son la experiencia por defecto de los usuarios nuevos (vacío), de los usuarios móviles (carga) y de todos tarde o temprano (error). La guía de Nielsen Norman Group sobre estados vacíos es directa: un contenedor en blanco deja al usuario sin saber si la app está rota, cargando o esperándolo — un estado vacío bien diseñado comunica el estatus, enseña y enlaza a la siguiente acción.

Pídelos explícitamente — cada vez

El arreglo cuesta una oración. Agrégala a cada prompt de UI:

Build the orders table. For every data-driven component, implement
all of: (1) a loading state with skeleton placeholders that reserve
the final layout's space, (2) an empty state with one line of copy
and a primary action, (3) an error state with a human-readable
message and a Retry button, (4) sensible handling of overflow —
long strings truncate with ellipsis, lists over 50 items paginate.

Reglas prácticas por estado:

EstadoMuestraEvita
CargaSkeleton con la forma del layout finalUn spinner centrado en el vacío
Vacío1 línea de texto + una acción de "crear/importar"El texto pelado "No data"
ErrorQué falló, en palabras humanas, + botón RetryUn stack trace crudo o nada
DesbordeTruncado, reglas de salto de línea, paginaciónUn layout que se rompe a los 200 caracteres

Skeletons: reserva el espacio

Los estados de carga no son solo decoración — evitan saltos de layout. La guía de CLS de web.dev lo dice sin rodeos: reserva el espacio suficiente por adelantado (placeholder o skeleton UI) para que el contenido cargado no empuje la página; un buen puntaje de Cumulative Layout Shift es 0.1 o menos. La investigación de NN/g sobre skeleton screens agrega calibración: los skeletons valen la pena en cargas de página completa de aproximadamente 2–10 segundos; por debajo de ~1 segundo son innecesarios, y pasados ~10 segundos una barra de progreso les gana a ambos. Prefiere skeletons estáticos sobre los que brillan, y haz que el skeleton coincida con el layout real — mismas alturas de tarjeta, mismos anchos de columna — o solo moviste el reflow de lugar.

Movidas de usuario avanzado

Recursos

Read this article in English

¿Construyendo una funcionalidad con IA? Yeda AI diseña, audita y entrega sistemas LLM de producción.

Habla con nosotros · Lee el blog