Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/03/2008, 21:17
Avatar de PatomaS
PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 8 meses
Puntos: 63
Re: Ideas para usabilidad de un proyecto en curso

Hola

Bueno, no es que esté yo muy puesto en el tema, más bien lo contrario, así que me disculpan si las ideas que propongo son un poco descabelladas o fuera de lugar.

Desde el punto de vista de la usabilidad, sería importante que le indiques al usuario que la página se refrescará con nuevo contenido cada cierto tiempo, 5, 10, 20 minutos, lo que haga falta. Pero más importante aun, es que le des la oportunidad de evitar que eso pase, a fin de cuentas, no sabemos cuanto tarda en leer lo que le has presentado.

Si tienes un sistema en el servidor que busque información periódicamente, por ejemplo usando cron y un php/perl/etc, puedes colocar una zona en la página avisando al usuario de la existencia de nuevo contenido, así, si lo decide, puede recargar la página o activar tu mecanismo de refresco de información.

Para hacer el chequeo de la nueva información, tiene varias alternativas, puedes asumir que cada 5 minutos habrá algo nuevo y no hacer chequeos, puedes usar el last-modified de la página (cabecera http), puedes usar el etag (cabecera http). Las ventajas de usar las cabeceras, es que es muy poco tráfico, el problema es que no se si puedes leerlas con lo que estás haciendo.

Luego podrías combinar mecánicas como el uso de PUT o curl para forzar el envío del archivo nuevo al cliente, pero serían un pelo más complicados ya que implican "falsear" el contenido del cache. Puede ser un poco complejo.

Así que como te indican, la opción de que el trabajo se realice en el servidor, es lo más eficiente, yo trataría de usar los métodos relacionados con las cabeceras para reducir el tráfico.

También grabaría la información nueva en archivos nuevos (nuevos nombres) y separados por áreas, de manera que cuando haya actualización de alguno, pueda usarse aunque otras áreas no tengan actualizaciones.

Se que puede sonar a perder dinamismo, pero es mejor perder 5 minutos de sincronización, que no usar el servicio porque es aburrido.

También creo que es importante la desincronización entre el script de cliente y el de servidor, al menos en 30 segundos, así te aseguras de que uno haya terminado de trabajar cuando el otro va a empezar.

Otra alternativa para el usuario es que coloques algún tipo de indicador visual que le permita saber que hay noticias nuevas, por ejemplo algo tipo semáforo, con códigos de color, así es fácil de entender y reaccionar, aparte que te ahorras tener que poner textos en cada caja (o cerca) diciendo que hay nuevas cosas.

Ahora mismo no se me ocurre mucho más.

Con suerte en otro momento puede que hasta algo útil se me ocurra.

;)

Felicidad
__________________
¡ hey, hou, hou, hey !