Más con Symfony

12.1. Desarrollando aplicaciones Facebook

Aunque la API es básicamente la misma, existen dos casos muy diferentes al desarrollar aplicaciones Facebook: 1) crear una aplicación que se va a ejecutar dentro del sitio web de Facebook; 2) añadir la funcionalidad Facebook Connect en un sitio web externo.

12.1.1. Aplicaciones Facebook

Las aplicaciones Facebook son aplicaciones web que se ejecutan dentro de Facebook. Su principal ventaja es que están disponibles dentro de una red social utilizada por más de 300 millones de usuarios, por lo que cualquier aplicación viral puede extenderse a una velocidad increíble. La aplicación Farmville es el mejor ejemplo de todo ello, ya que ha alcanzado en pocos meses más de 60 millones de usuarios activos y más de dos millones de fans. Para poner los datos anteriores en perspectiva, es como si toda la población de un país como Francia entrara cada mes a trabajar en su granja virtual. Las aplicaciones Facebook interactúan con el sitio web de Facebook y sus características sociales de muchas formas diferentes. A continuación se explican brevemente los diferentes lugares en los que puede aparecer una aplicación Facebook:

12.1.1.1. El canvas

El canvas normalmente es la parte principal de tu aplicación. Básicamente se trata de un pequeño sitio web embebido dentro de Facebook.

12.1.1.2. La pestaña del perfil

La aplicación también se puede mostrar dentro de una pestaña del perfil de un usuario o de una página de fans. Las principales limitaciones son:

  • solamente una página. No se pueden crear dentro de la pestaña enlaces a sub-páginas.
  • durante la carga no se puede utilizar ni flash ni JavaScript. Para incluir características dinámicas, la aplicación debe esperar a que el usuario interactúe con la página pinchando algún enlace o botón.

12.1.1.3. La casilla del perfil

Se trata de un remanente de la versión anterior de Facebook, por lo que ya no lo utiliza nadie. Se emplea para mostrar información en una casilla que se encuentra dentro de la pestaña "Casillas" del perfil.

12.1.1.4. La pestaña de información

La pestaña Información de la página del perfil puede mostrar cierta información estática relacionada con la aplicación. La información se muestra debajo de la edad, dirección y curriculum del usuario.

12.1.1.5. Publicando avisos y noticias

La aplicación también puede publicar noticias, enlaces, fotos y vídeos dentro de la sección de Últimas noticias. Además, puede escribir en el muro de un amigo del usuario y también puede modificar la información de estado del usuario.

12.1.1.6. La página de información

Se trata de la página del perfil de la aplicación, que Facebook crea de forma automática. El creador de la aplicación puede utilizar esta página para interactuar con sus usuarios de la forma habitual en Facebook. Normalmente es algo más relacionado con el equipo de marketing que con el equipo de desarrollo.

12.1.2. Facebook Connect

Facebook Connect permite que cualquier sitio web pueda ofrecer a sus usuarios algunas de las mejores funcionalidades de Facebook. Los sitios que hacen uso de esta característica se reconocen fácilmente porque muestran un gran botón azul llamado "Connect with Facebook". Algunos de los sitios más grandes como digg.com, cnet.com, netvibes.com o yelp.com ya incluyen este botón. A continuación se presentan las cuatro razones principales por las que un sitio web debería incluir Facebook Connect.

12.1.2.1. Sistema de autenticación de 1-click

Al igual que OpenID, el servicio Facebook Connect ofrece a los sitios web la oportunidad de incluir el login automático de los usuarios mediante su sesión de Facebook. Una vez que el usuario aprueba la conexión entre el sitio web y Facebook, el sitio web tiene acceso automáticamente a la sesión de Facebook, evitando el proceso de registro en este sitio y la creación de una nueva contraseña que recordar.

12.1.2.2. Obtener más información sobre el usuario

Otra de las principales ventajas de Facebook Connect es la cantidad de información que proporciona. Normalmente los usuarios añaden poca información personal cuando se registran en los sitios web, pero Facebook Connect proporciona información tan interesante como el nombre, edad, sexo, localización, fotografía, etc. Las condiciones de uso de Facebook Connect recuerdan explícitamente que los sitios web no pueden guardar esa información sin el consentimiento expreso del usuario, pero la información si que se puede utilizar para llenar los datos de un formulario y pedir que el usuario los confirme con un solo click. Además, el sitio web puede utilizar información pública como el nombre y la foto sin necesidad de guardarlas.

12.1.2.3. Comunicación viral mediante el canal de noticias

Los sitios web pueden aprovechar todo el potencial viral de Facebook gracias a la posibilidad de interactuar con el canal de noticias del usuario, la opción de enviar invitaciones a sus amigos y la publicación de información en el muro del usuario o de sus amigos. Cualquier sitio web con cierto componente social puede hacer uso de esta característica, siempre que la información publicada en Facebook tenga algún valor social de interés para los amigos o para los amigos de los amigos del usuario.

12.1.2.4. Aprovechar la red de contactos existente

El coste que supone para cualquier sitio web nuevo la creación de una red social de usuarios amplia y con muchas conexiones entre ellos es prohibitivo. Facebook Connect reduce el coste al mínimo porque proporciona acceso a la lista de amigos del usuario, haciendo innecesaria la típica opción "buscar conocidos que ya estén registrados en este sitio web".