Á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