Agregando un poco de interacción social

UPDATE: He tenido que retirar la barra de Google Friend Connect, debido a que los usuarios con Internet Explorer 6 han reportado problemas con la misma. Debido a que una cantidad considerable de usuario aún por una razón u otra deben seguir conservando sus IE6, he decido temporalmente suspender el script de Google Friend Connect.

Dado que la única forma de ser escuchado es formar comunidades y escuchar lo que otros tienen que decir, es que he comenzado a agregar algunos gadgets al blog que me permitiran establecer un mejor contacto con sus lectores. En realidad es algo que debí haber hecho hace mucho tiempo pero tal vez la noticia de que Google ha desarrollado plugins de Google Friends Connect específicos para Drupal y Joomla, tal vez los CMS más populares hoy en día, me hizo caer en la cuenta de que el uso de las redes sociales no está limitado a comentar fotos de la última fiesta o videos de gatos tocando un piano, sino que permtien establecer un diálogo fluído entre todos los miembros de una comunidad, en este caso particular es la comunidad generada alrededor de los contenidos que con mi mejor esfuerzo puedo poner en este blog.

Adicionalmente a los botones que permiten retweetear los posts o compartirlos con nuestros amigos en facebook, que agregue hace pocas semanas. Hoy he sumado dos widgets más que pienso podrían mejorar las capacidades de socialización del blog. El primero es la "Barra Social" de Google Friend Connect que permitirá a los usuarios que tienen una cuenta en Google poder unirse a la comunidad con el perfil que ya tienen registrado en Google y comentar los posts que les parezcan más importantes. El otro widget es el ya famoso formspring.me, que permite recibir preguntas de Uds. ya sea de forma anónima o no, a las cuales intentaré dar una respuesta lo antes posible.

Agregar estos widgets incrementa un poco la latencia de la página, pero el tiempo adicional para ver la página esta claramente compensado por el aumento de la interactividad del blog. Como siempre lo hago evaluaré si estos cambios realmente han traído más beneficios que problemas y como siempre corregiré lo que haya que corregir.

Gracias por seguir leyendo mi blog, esperando que estos cambios sean bien recibidos de su parte les deseo que esta sea una semana productiva y excitante para Uds.

Aplicaciones Twitter con CodeIgniter

Luego de haber estado estudiando el API de Facebook y como desarrollar aplicaciones utilizando CodeIgniter, al cual le dedique no hace mucho un post. Estuve estudiando ahora el API de Twitter y como integrarlo con CodeIgniter, para ello utilicé la librería desarrollada por Elliot Haughin. Realmente la librería es muy fácil de utilizar, y como se especifica claramente en la documentación de la librería es vital para que esta funcione hacer dos cosas:

  1. Editar el archivo system/application/config/config.php y en la declaración de la variable "$config[‘uri_protocol’]", reemplazar el valor "AUTO" que esta por defecto por el valor "PATH_INFO".
  2. En el mismo archivo anterior system/application/config/config.php debemos agregar el caracter "?" a los caracteres permitidos, eso se hace a través de la variable "$config[‘permitted_uri_chars’]".

La aplicación de prueba que he desarrollado y que puede ser vista en http://www.volkanrivera.com/twitterapp/, es en realidad muy simple, se basa en los famosos tests que aparecían en el extinto semanario "Monos y Monadas", pero nos permite ilustar algunas ventajas respecto de las aplicaciones Twitter con respecto a las aplicaciones Facebook. Hasta el momento estas son las que he encontrado yo:

  1. Las aplicaciones Twitter pueden correr en URLs propios, en los cuales tenemos todo el espacio para desarrollar el diseño que querramos además de que podemos ubicar nuestra propia publicidad contextual, en el ejemplo se ha colocado AdSense, en el lugar que más nos beneficie. En las aplicaciones Facebook, en las cuales estamos dentro de Facebook, nuestro espacio esta restringido al iFrame que nos asigna Facebook, aunque es posible colocar AdSense tambien.
  2. Es posible sólo efectual la validación del usuario y luego cerrar la sesion twitter controlando al usuario a través de nuestras propias variables de sesión. Es decir luego de que hemos validado a través del protocolo oAuth, no necesitamos a Twitter hasta que nuestro usuario haga un logout o cierre el navegador, lo cual haría que la sesion en CodeIgniter se cerrara.

Sin embargo en cualquiera de los casos, si utilizamos Facebook o Twitter para autenticar a los usuarios de nuestra aplicación o servicio, tenemos el inconveniente de que si dichos servicios están caídos, algo que suele pasar frecuentemente con Twitter, nuestros usuarios no podrían autenticarse. Pero por otro lado también hay sus ventajas, entre ellas una identidad única y consistente a través de toda la web, además de acceso a datos demográficos (especialmente en Facebook), que nos permiten personalizar de una manera que hace apenas 5 años pensabamos no era posible.

Me pregunto que tan factible sería el desarrollo de un juego de rol multijugador, utilizando Twitter para la interacción de los mismos, una de las principales ventajas de utilizar Twitter para esto es que los jugadores podrían seguir interactuando incluso desde sus celulares.

Aplicaciones Facebook usando CodeIgniter

Según InternetNews, para el 2010 habrá un aumento en la demanda de programadores PHP. Tal vez sea en parte porque el lenguaje esta alcanzando su madurez. Pero desde mi punto de vista, una de las principales razones es el hecho de que si se desea desarrollar aplicaciones para Facebook, la red social de mayor proyección en estos momentos, la forma más natural de hacerlo es utilizando PHP.

Programar aplicaciones para Facebook es sencillo, la documentación que provee dicha red social en su sección para desarrolladores es clara. Sin embargo embarcarnos un proyecto que sea un poco más complejo que un simple juego flash sin el uso de un framework puede resultar una experiencia bastante desagradable. En teoría dado que usamos PHP para desarrollar las aplicaciones, cualquier framework para este lenguaje como CakePHP, CodeIgniter o Zend Framework debería ser de utilidad, sin embargo aquellos que siguen este blog sabrán que soy un fan de CodeIgniter y por lo tanto es que me interesé en como hacer funcionar CodeIgniter con el API de Facebook.

Debo confesar que encontrar la información no fue fácil, la mayor parte de ella no esta actualizada y en muchos casos la información se encuentra segmentada entre diversas páginas web. Las dos páginas sobre las que me basé para desarrollar una aplicación de prueba han sido estas:

Facebook & CodeIgniter – Definitive Guide
Facebook Connect CodeIgniter Library

La aplicación de prueba que he desarrollado consiste en una simple página de bienvenida que muestra su nombre, la fotografía que utiliza como avatar en Facebook y los avatares de sus cinco primeros contactos. El resultado final puede ser probado (si tiene una cuenta en facebook) desde el siguiente URL:

http://apps.facebook.com/mycifbapp/

El código completo de la aplicación ejemplo puede ser descargado en formato zip haciendo click aquí.

Solo debe descomprimirlo y editar el archivo ./myfbapp/system/application/config/constants.php y editar estas líneas:

define(‘FB_API_KEY’, ‘1234567890abcdef1234567890abcdef’);
define(‘FB_SECRET’,  ‘1234567890abcdef1234567890abcdef’);
define(‘APPLICATION_URL’, ‘http://apps.facebook.com/mi_applicacion/’);

Debe reemplazar los valores apropiados que obtendrá luego de registrar su aplicación en Facebook.

Para poder usar este ejemplo Ud. necesita:

  • Un servidor web accesible desde Internet.
  • Soporte para PHP 5.2 (al menos).

Espero que éste ejemplo les ayude a iniciar el desarrollo de sus propias aplicaciones Facebook, a la vez que espero sus comentarios para poder mejorar o aclarar algún aspecto que no haya quedado claro.

Usando Blogger como CMS

Blogger es una de las plataformas de blogueo más popular junto con WordPress, en parte es debido a que Google está detras de ella, pero sin duda otro elemento importante es su extrema maleabilidad, claro que esto es a costa de no ofrecer una interface tan visualmente atractiva y fácil de usar como la de WordPress, que debe su gran base de usuarios a este hecho. La aproximación de Google es la clásica de la filosofía Unix, proveer el conjunto mínimo de herramientas para que sea el usuario el que determine el uso más conveniente de las mismas. Como una vez comenté en un post titualdo "Planeando el superblog", Blogger es ideal si planeamos tener decenas o centenas de miles de visitantes diarios, además de que es un servicio completamente gratuito, pero adicionalmente a la escalabilidad y alta disponibilidad heredadas de estar dentro de una de las redes más grande del mundo, ofrece tambien un posicionamiento más fácil dentro del buscador de Google, la razón es obvia.

Muy bien, por más que aceptaramos que Blogger es muy ventajoso desde el punto de vista técnico que tiene que ver eso con el hecho de querer usarlo para reemplazar a otros softwares CMS como Drupal, Joomla! o Mambo. Pues bien antes de comenzar a discutir sobre el tema echen un vistazo al website de este hostal ficticio llamado Algun Hostal, hice este website para fundamentar mi punto. Dicho website esta alojado en blogger, es más el website es un blog de blogger pero personalizado de manera extrema, tal vez la única forma de creerlo es usando su dirección blogspot http://algunhostal.blogspot.com/.

Básicamente todo blog es una página web, sólo que las páginas que lo componen están categorizadas cronológicamente, los post más nuevos se muestran al principio. Sin embargo hacer que un blog muestre el look and feel de un website cualquiera no es tal complicado, sólo bastaría con eleminar toda referencia a autor del post, fecha de publicación y limitar el número de post a ser mostrados en la página principal a sólo uno. Pero es evidente que los templates que ofrece blogger por defecto son pocos, es por ello que es bueno buscar templates para blogger en otros lugares, yo les recomiendo Btemplates, es de alli de donde tome el template que estoy usando.

Un pequeño problema es eliminar las referencia a post anterior y post previo cuando entramos a un post en particular, eso se puede evitar agregando estas líneas al template justo al final de la sección /* Content */

.feed-links {
margin-bottom: 10px;
border: none;
visibility: hidden;
}

.feed-links a {
margin-bottom: 10px;
border: none;
visibility: hidden;
}

.blog-pager {
border: none;
visibility: hidden;
}

Con el pequeño cambio anterior y usando un Widget para proveer un "Contact Form", les recomiendo Kontactr, ya tenemos un website típico a costo $0, ya que podemos usar un nombre de dominio gratuito, .cix.pe es otro de mis proyectos y tiene por objetivo ofrecer nombres de dominios gratis.

Lamentablemente Kontactr, en estos momentos sólo esta disponible en inglés, pero un amigo mio esta trabajando en un proyecto que busca clonar y extender en un widget enteramente en español las funcionalidades de Kontactr.

Como veran, con sólo unos minutos de trabajo extra es posible levantar toda una presencia Internet a costo cero, primero registrar un nombre de dominio gratis, luego crear el website en blogger y usando Google Apps, podremos tener e-mails usando nuestro propio nombre de dominio, todo por el precio más bajo que podemos pagar $0.

Actualmente estoy trabajando en un tutorial paso a paso de como obtener un website como el de "Algún Hostal", cuando lo tenga listo incluiré el link para que puedan seguirlo aquellos que deseen algo más detallado.

Posible falla sistémica en la web 2.0

El pasado día de San Valentín, Robin Wauters publicó un artículo en TechCrunch titulado "La muerte de la ‘Web 2.0’", que ha tenido bastante eco en la blogosfera, algunos mostrando su oposición o concordancia con su análisis. La base para su afirmación de que la "Web 2.0" está muriendo es el análisis de las búsquedas de Google a través de la herramienta Google Trends, desde mi punto de vista hacer un análisis en base a lo que se muestra en Google Trends es por decir lo menos poco científico, imaginen si los médicos basaran sus diagnósticos en Google Trends para decirle a los pacientes que tienen, ciertamente a nadie se le ocurriría diagnosticar enfermedades en base a su popularidad. Aunque concuerdo en la conclusión que la "Web 2.0", es decir las redes sociales, blogs y wikis comenzaran a tener una significativa caída en los próximos meses, no comparto la lógica que emplea para llegar a ella.

Por otro lado tampoco creo de que estemos expectando la llegada de la Web 3.0, como el autor del blog "De Color Naranja", expresa en su post "Web 2.0 ¿Muerte o Evolución?". Estamos a punto de ver las consecuencias del Credit Crunch en Internet y especialmente en la web. En dos artículos que han llamado mi atención aparecidos en The Wall Street Journal, uno titulado "El Shock del futuro para los anuncios en Internet" y el otro "Se enfría el mercado de los anuncios web locales", se presentan cifras a mi modo de ver alarmantes para todos aquellos que tenemos un Startup que ha basado su plan de negocios en la publicidad online. La conclusión a que llegan ambos artículos periodísticos es la misma, no habra más crecimiento de publicidad en-línea, claro a los periódicos y TV les ira peor, pero a diferencia de los medios de difusión masivos tradicionales, las barreras de entrada para la Web 2.0 son tan bajas que cualquiera puede entrar a ella sin inversión inicial y con una razonable expectativa de hacer algunos dólares en tiempos de crisis, lo cual genera una avalancha diaria de nuevos empresarios 2.0. Sin embargo a más crecen las redes sociales, el blogging y el microblogging, disminuye la porción del pastel publicitario que le corresponde a cada uno de los miembros de la Web 2.0, tan simple como eso.

Además debido a la recesión de escala mundial que enfrentamos, observaremos una deflación generalizada, pues todo el mundo desea reducir su margen para capturar los poco dólares que hay en el mercado, esto por ejemplo ha hecho que Walmart, tal vez una de los pocos gigantes que se están beneficiandose de la crisis, haya tenido que reducir sus proyecciones de beneficio, pues ha tenido que recortar aún más sus margenes para poder seguir atrayendo clientes. Esto significa claramente que las empresas que deseen sobrevivir en este entorno deberán de aplicar una reducción en los costos radical y como resultado de esto el sector publicitario sentirá la pegada muy pronto.

Así como Lively, que ha sido el primer proyecto de Google en ser cancelado, vendran muchas más reducciones de gastos a todo nivel, tanto en Google como en todas las empresas cuyo mercado es el web. Como resultado de lo anterior las Startup que no tengan un plan de negocio basado en suscripción podrán tener problemas de caja graves para seguir operando durante el 2010. Esta crisis seguirá con nosotros probablemente hasta el 2011 o 2012.

Otro giro radical que veo como resultado de la generalización de la crisis económica a todos los sectores de la economía, es que las nuevas Startup, ya no buscaran desarrollar infraestructura propia, sino que usaran soluciones Cloud Computing como Amazon EC2 o Google AppEngine. Lo cual traerá como consecuencia la consolidación en grandes centros de datos, no me extrañaría ver en 5 años sólo 4 o 5 grandes proveedores de Cloud Computing que controlen el 90% del mercado. Es más no me extrañaría ver migraciones de empresas establecidas y con infraestructura propia, reescribiendo porciones de sus aplicaciones para correr en la nube.

La Web 2.0 como la conocemos, con contenido producido por los usuarios poco a poco ira desapareciendo, conforme el tiempo libre de la mayoría de los usuarios desaparezca, porque en tiempos de crisis hay que trabajar mucho más para conseguir la misma cantidad de dinero. Por otro lado la web cada vez se parecerá más a los medios masivos como la TV o las revistas (se volverá un medio de evación y no de afirmación) y el interés ya no estará centrado tanto en "¿qué estas haciendo?", pues los estándares de vida habrán caido tanto en los próximos años, que todos sabremos que las vidas de nuestros amigos son igual de angustiosas que las nuestras y justamente ya no se querra oir más malas noticias. Por el contrario podremos ver que en Internet se popularizaran formas de evadir la realidad como juegos en línea, especialmente de rol, donde se puedan asumir identidades imposibles de tener en la vida real, y estos se volveran más populares conforme la crisis se vaya profundizando. No descarto tampoco que haya un auge de los casinos en línea donde los desesperados, especialmente si se concreta una plataforma de micropago seguna y universal, trataran de revertir su destino en una mano de póquer.

La web en latinoamérica retrocederá pronunciadamente, conforme en los hogares se reduzcan todos los gastos no indispensables y el dinero para ir a chatear o subir fotos a Hi5 en una cabina Internet tenga que ser usado para poner pan en la mesa. Menos usuarios significa logicamente que estos servicios serán menos atractivos para poner anuncios en ellos. Recordemos que finalmente lo que venden estos sitios sociales son una audiencia, si esta decae, lo mismo sucederá con sus anunciantes, probablemente las redes más pequeñas terminarán siendo absorvidas por otras más grandes.

Es decir creo que la Web 2.0 (la web social) como la conocemos actualmente, sera transformada radicalmente por la presente recesión mundial, pero esta no evolucionará hacia una Web 3.0, sino por el contrario podríamos decir que hara una regresión y podría convertirse en una Web 1.5, juegos en grupo, pero contenido generado por los medios tradicionales, de la forma tradicional.