Blog

Facebook no funciona

26/09/2013

Muchos de nuestros clientes, o potenciales clientes, tiene Facebook como referencia, o mas bien su percepción de Facebook. La frase «Pero si eso funciona en Facebook» es algo muy utilizado sobre todo cuando el cliente no sabe demasiado de tecnología web. Amén de salvar el pequeño problema de que Facebook cuenta con n-mil ingenieros, y nuestros proyectos suelen ser de 2 o 3 desarrolladores, hoy me quiero centrar en que en realidad Facebook no funciona bien, o si. Hace unas pocas semanas empece a usar un poco mas Facebook, sobre todo para promocionar mis cuentos (que no solo de tecnología vive el hombre), y ha sido al empezar a usarlo donde he podido ver de primera mano que Facebook no «funciona bien», algunas de las cosas que he visto son:

  1. La actualización de contenidos por dispositivos no es tiempo real.
  2. El servidor de presencia del chat no es fiable, ni lo son sus tiempos de conexión.
  3. Las aplicaciones móviles mezclan contenidos de usuarios distintos, (tengo un usuario personal y otro mas profesional, pero no se lo digaís a Facebook 😉 ), con lo que la privacidad sufre y he visto a veces cotenidos mezclados, probablemente por problemas de caches.
  4. Algunas aplicaciones directamente tiene bugs, por ejemplo no prueba a escribir una nota en Facebook desde el browser de tu móvil.
  5. etc. etc.

La realidad es que Facebook lo hace bien, detrás de algunos de estos fallos está la realidad de que p.ej. mantener los contenidos actualizados en todos los canales, sin gastar millones en hardware, es imposible y por eso  Facebook opta por degradar el servicio de manera controlada, y p.ej., en lugar de actualizar el tiempo en su servidor de presencia, te da un tiempo mas o menos aproximado. (Prueba a tener dos sesiones abiertas con usuarios distintos, y mira el tiempo que te dice que hace que un amigo común a las dos sesiones se ha conectado). Google hace algo parecido. Si quieres probarlo, pon tu brwoser en modo privado pídele a una amigo que haga lo mismo y haced una búsqueda para ver que los resultados son muchas veces distintos. Google no te da el «mejor» resultado, te da un resultado que a ti te parece el mejor, pero que probablemnte no lo es  (caches, servidores distribuidos, bases de datos) han optado por seguir el principio BASE . Muchos clientes tienen algunos requisitos que no tienen sentido y que como hacen los grandes, la mayoría de los usuarios no notan, cosas como:

  • Número de elementos en la base de datos
  • El tamaño de mi red
  • El número de «likes» en mi contenidos
  • La publicación de un item en mi timeline
  • La difusión de una foto modificada a todos los clientes,
  • etc.

Nuestra recomendación es ser muy estricto con los requisitos de este tipo que se ponen en los proyectos, muchas veces exigir un requisito de este tipo no tiene sentido. Es necesario decidir cuando un requisito debe seguir los principios de diseño ACID:

  • Atomico
  • Consistente
  • Isolated (aislamiento)
  • Durabilidad

o los principios BASE :

  • Basicamente
  • Available (Disponible)
  • Soft State
  • Eventually consistent

Yo creo, que en la mayoría de los casos el mínimo proyecto viable, cuyo objetivo es validar tu hipotesis de negocio, no sufre por el hecho de aplicar mas BASE y menos ACID. Aunque la mayoría de nuestros clientes piensan, porque es su experiencia, que todo debe ser ACID, y utilizan como referencia Google o Facebook cuando ellos siguen los principios BASE en la mayoría de los casos.

También te puede gustar…

Caso de éxito: Fronda

Caso de éxito: Fronda

Fronda, es una cadena de centros de jardinería que cuenta con una tienda online que opera por toda España con la que hemos colaborado.

ASPgems icon
C/ Sextante, 9
28023 Madrid,
España

Hablemos.

A %d blogueros les gusta esto: