← Back to list

UX2 — PDF load lento (5s)

🟡 Media #5 | Score: 6/10 pending
Prioridad: 🟡 Media #5
Área: UX / PDF Viewer
Severidad: Media
Puntaje actual: 6/10 | Potencial: 9/10

---

Síntoma



La transición desde "Tap Here to View PDF" hasta que el PDF viewer se muestra toma ~5013ms. Es la peor métrica UX de la aplicación.

Evidencia



eval-ux.mjs — Transition measurements:
PDF load: 5013ms ❌ slow


Comparación con otras transiciones:
Transición | Tiempo | Rating
-----------|--------|--------
Drawer open | 381ms | ✅ fast
Home → Favorites | 93ms | ✅ fast
Score detail load | 27ms | ✅ fast
PDF load | 5013ms | ❌ slow

Impacto



Factor | Detalle
--------|---------
Usuario espera | 5 segundos viendo un spinner o pantalla en blanco
Abandono | Usuarios pueden pensar que la app se congeló
Percepción | La funcionalidad principal (ver partituras) es la más lenta
Back navigation | Volver del PDF también toma ~3.1s (UX3)

Causa raíz



Múltiples factores contribuyen:

1. Descarga del PDF desde el servidor (depende del tamaño del archivo)

2. Inicialización de pdf.js (biblioteca pesada)

3. Render del PDF en CanvasKit (cada página se rasteriza a WebGL)

4. Watermark overlay se renderiza después del PDF base

5. No hay precarga ni caché de PDFs

Reproducción



export DISPLAY=:99
cd /home/admin/fluttwebfaris
node eval-ux.mjs
# Observar: PDF load timestamp


Fix sugerido




1. Precargar pdf.js en background después del login

2. Cachear PDF descargado en IndexedDB para visitas repetidas

3. Mostrar placeholder inmediato con "Cargando partitura..." mientras pdf.js procesa

4. Optimizar tamaño de PDF (comprimir imágenes, reducir resolución)

5. Render progresivo: mostrar primera página mientras se cargan las siguientes

Tiempo estimado de fix



4-8h (cache) / 8-16h (render progresivo)

Referencias



eval-ux.mjs — Transition timing measurements
faristol-pdf.mjs — PDF viewer interaction
NOTAS-ERRORES.md línea 170-171

Review

Comments (0)