El fin de una era

Cuando en el año 2002 Internet Explorer era la forma como el 95% de cibernautas se interrelacionaban con la web y en una última maniobra Netscape liberaba su código para dar inicio al proyecto Mozilla del cual desciende Firefox, la gran mayoría pensaba que Microsoft había conseguido una victoria final y definitiva. Pero años de negligencia por parte de Microsoft que se enfocó en querer dominar otras áreas de mercado como juegos, reproductores multimedia y buscadores, hicieron que el super gigante de las TIC perdiera el rumbo y dejara que ascendieran rápidamente otros navegadores alternativos como Firefox u Opera. De la mano de estos nuevos navegadores llegaron innovaciones y nuevos estándares de los que Microsoft se mantuvo al margen hasta finales del 2008, cuando al parecer la marea ya había cambiado, el resultado final ha sido que Internet Explorer ha caído por debajo del 50% del market share según StatCounter, en el pasado mes de setiembre. Lo increíble es que no ha sido Firefox el que está comiendose el market share de IE, sino Google Chrome según se puede ver en el siguiente gráfico:

Browser Market Share

Ya Microsoft había estado dando señales de debilidad desde el lanzamiento de Windows Vista, pero el hecho de que con Windows 7 y toda la buena prensa alrededor del nuevo sistema operativo, aún el 66% de los usuarios sigan prefiriendo Windows XP demuestra la poca capacidad de endose que tiene Microsoft con sus usuarios. La cereza en el pastel para Microsoft ha sido que ayer los analistas financieros han bajado sus espectativas con respecto al futuro de Microsoft, según reporta Business Insiders. Lo interesante son las razones dadas por las cuales Microsoft difícilmente pueda crecer en los años por venir:

  • Es difícil para Microsoft entender la computación para móviles y justamente esa es la dirección del futuro.
  • Los teléfonos Windows 7 ofrecen una pobre combinación, son menos atractivos que los iPhone para el público, pero mucho más caros que la plataforma Android.
  • Bing está creciendo muy lentamente como para amenazar seriamente a Google y Microsoft está perdiendo demasiado dinero para mantener ese pobre crecimiento.
  • Microsoft podría bajar el precio de Office, debido a la competencia impuesta por Google Docs.
  • Microsoft tiene problemas para atraer o mantener personal talentoso.

Pero Microsoft no es el único que está perdiendo control del mercado, Apple por otro lado también ha tenido una serie de malas noticias en los últimos días como por ejemplo el hecho de que según Nielsen, la plataforma Android es ahora el smartphone más vendido en Estados Unidos, aquí un gráfico que nos muestra el rápido ascenso de los Android:

Android-iOS-Blackberry

Además el excesivo control que quiere imponer Steve Jobs a la plataforma de anuncios en iPhone está haciendo que algunos anunciantes como es el caso de Adidas, sencillament decidan dejar de anunciar. Blackberry parece estar sin brújula como para reaccionar frente al avance de los Android y el gerente de Nokia que estaba a cargo de MeeGo ha renunciado dejando acéfalo el proyecto y con Eric Schmidt (CEO de Google) entrándo rápidamente en contacto con el CEO de Nokia para tratar de promover una versión Android de Nokia, según reporta TechCrunch.

Hay un límite para la iReligion, como me gusta llamar a Apple, ya que la compañía de la manzana no tiene clientes, tiene fieles devotos. Según estadísticas es muy poco lo que crece la plataforma iOS, por lo general la venta se debe a upgrades, es decir el 75% de las ventas de iPhone4 fue para personas que ya tenían un iPhone anteriormente, lo mismo pasa con todos los productos de la línea Apple, que se caracterizan más por su marketing alrededor del producto que por sus ventajas técnicas respecto a productos de la competencia.

Estamos siendo testigos de un cambio radical en el sector TIC, vamos a pasar de un entorno PC-céntrico a un entorno móvil-céntrico y las dos compañías más representativas de la era PC, me refiero a Microsoft y Apple, están perdiendo aceleradamente el control del mercado del futuro y justamente la clave del éxito del sector TIC, no está basado en expansión sino en anticipación.

El ascenso del Programador Ciudadano

Con la llegada de los blogs y el nacimiento de la web 2.0 llegó lo que muchos han llamado el "periodismo ciudadano", es decir cualquiera con acceso a Internet puede crear un blog y comentar algún tema de actualidad o hacer una denuncia, sea esta fundada o no. Lógicamente los periodistas en un principio ignoraron todo este movimiento y lo llamaron chime 2.0, siete años después todo medio de prensa que se respete tiene ahora una sección de blogs, que suele ser la más leída de sus secciones web.

Muy bien desarrolladores de aplicaciones, ya sean estas de escritorio, web o de móviles, preparence que el "programador ciudadano" (en inglés Citizen Developer) ha llegado y amenaza con crear el mismo tipo de caos que crearon los peiodistas ciudadanos. Según un informe de Gartner Group publicado hace un año, se espera que para el 2014, el 25% (una de cada cuatro) aplicaciones habrá sido escrita por un programador ciudadano. Vista la actual aparición de herramientas que permiten crear aplicaciones completamente funcionales y casi sin escribir una sóla línea de código como pueden ser App Inventor, Application Craft o Appcelerator Titanium, alguien podría pensar que Gartner es muy conservativa en sus proyecciones y ese número podría ser alcanzado antes.

 Pero que es un programar ciudadano o como entiende Garnet el término, pues del documento presentado por ellos extraigo esto:

"Future citizen-developed applications will leverage IT investments below the surface, allowing IT to focus on deeper architectural concerns, while end users focus on wiring together services into business processes and workflows,” said Eric Knipp, senior research analyst at Gartner. “Furthermore, citizen development introduces the opportunity for end users to address projects that IT has never had time to get to — a vast expanse of departmental and situational projects that have lain beneath the surface"

Es decir en teoría el programador ciudadano es el usuario elevado a la categoría de desarrollador, para ello debe contar con herramientas 100% gráficas que le permitan abordar el desarrollo de aquellas aplicaciones que necesita para automatizar su labor diaria y dejar al departamento TIC a cargo sólo de la infraestructura, liberandolo del desarrollo de apliaciones pequeñas que por lo general nunca son atendidas.

Esta no es la primera vez que escucho este tipo de pronosticos, recuerdo que cuando apareción dBase II y luego dBase III, una nueva generación de "desarrolladores" apareció en las empresas, claro todos ellos con muy poca formación en los fundamentos de la programación y que dejaban mucho que desear tanto en el diseño de las aplicaciones, como en la seguridad de las mismas. Pero la masa de programadores aumentó.

Luego con la llegada de Windows y VisualBasic, otro gran número de "desarrolladores" se sumo a la mezcla. Otra vez, los mismos problemas de falta de criterios en el diseño de las estructuras internas de las aplicaciones y de los datos que daban sustento a las aplicaciones, así como muy pobres estándares de seguridad.

En fin en cierta forma, los problemas de este tipo de aplicaciones desarrolladas por usuarios con herramientas de programación fáciles de usar, estaban circunscritos a un entorno local. El desarrollador ciudadano ahora aspira a crear aplicaciones web accesibles por casi todo el mundo, así que cuando esto llegue ya me imagino explicandole a un programador ciudadano que significa "escalabilidad".

Lo que es inevitable es que el programador ciudadano llegue y lo cambie todo, los factores que lo traeran al mundo TIC, son cuatro:

  • Personalización en masa: El programador ciudadano sabe cómo personalizar una solución a sus propias necesidades y preferencias. Piense en su cuenta de facebook, lo más probable es que usted ha tomado todos los componentes de Facebook (o sus partners) y ha compuesto una página que ofrezca una solución que satisfaga sus necesidades e intereses personales. En una sola plataforma hay 500 millones de soluciones facebook diferentes – ¡todos creados por los programadores de los ciudadanos!
  • Computación en la nube: En los viejos tiempos que se necesitan para instalar y configurar tus propios servidores y bases de datos, así como la infraestructura de red, incluso antes de que pudiera empezar a pensar en la aplicación real que se va a construir. Con la disponibilidad de recursos en todas partes de la nube que hay hoy en día, un programador ciudadano se pueda concentrarse en la funcionalidad empresarial que desee para la aplicación que planea desarrollar y no tener que preocuparce acerca de la versión de la base de datos es necesario instalar. Un gran libro que ayuda a comprender el impacto de la computación en la nube antes de que fuera llamada computación en nube fue  "The Big Switch" por Nicalas Carr.
  • Los cambios en la demografía: Como resultado de la jubilación de los baby boomers, y la maduración de los "nativos digitales" significa que la fuerza de trabajo  espera una tecnología para el consumismo de la misma tecnología, por lo tanto no es una tendencia de estas personas a "es sólo trabajo", es su forma de vida.
  • La evolución de herramientas: Como consecuencia de la mejora continua de las herramientas de desarrollo y su facilidad de uso, los programadores ciudadanos pueden crear aplicaciones de negocio cada vez más complejas sin tener que depender de los siempre escasos recursos del departamento TIC.

Así que si eres programador o tienes una empresa que se dedica sólo al desarrollo de aplicaciones, preparate porque vas a descubrir que sintieron los periodistas y los periódicos con la llegada de la web 2.0. Y los que son cyberdelincuentes, estarán de plácemes con la proliferación de aplicaciones de pobre diseño y peor seguridad.

Convirtiendo un router de $60 en uno de $600

Tal vez la mejor de todas las convinaciones posibles en el mundo TIC es cuando se usa un commodity hardware con un Open Source software, ese es el secreto tras la mayoría de exitosas empresas de nuestros días como Yahoo!, Google, Facebook o Twitter. Por otro lado así como los PC se convirtieron en un commodity, los routers de nuestros días también se han convertido en un commodity, todavía recuerdo cuando pagamos $5000 por un Cisco 2501 en 1997 cuando Red del Norte se convirtió en el primer CPI (el nombre que tenían los ISP en InfoVía) de Chiclayo.

WRT54GHay una gran variedad de routers, desde los super baratos como los TRENDnet hasta los más sofisticados Pepwave, pero el común denominador de estos equipos es que cada uno trata de ofrecer una solución integral basada en un sofware propietario, pero muchas veces usando un hardware bastante estándar (procesadores MIPS). Uno de los primeros fabricantes que integró Linux como el sistema operativo de sus routers fue Linksys (una subsidiaria de Cisco) en su modelo WRT54G, aunque luego lo cambiara por VxWorks, alegando ahorro de costes.

Sin embargo muchos entusiastas han creado frimware alternativos basados en Linux para estos routers basados en los procesadores Broadcom, aunque luego han ido incorporando soporte para otros routers también. Hay varias distribuciones Linux (frimeware) especializadas en routers, entre ellas DD-WRT, OpenWRT y Tomato, tan sólo por mencionar las más famosas.

Pero en particular quiero comentar sobre DD-WRT, una distribución Linux bastante poderosa que puede convertir un barato router WRT54GL de $60, en un poderoso y flexible router de $600, lo anterior no es exageración.

En adición a características interesantes como soporte a IPv6, la posibilidad de hacer overclocking del procesador del router, de aumentar la potencia de transmisión del equipo hasta 251 mW o habilitar un acceso ssh al dispositivo, una de las características más apreciadas puede ser el hecho de que el router puede ser usado como un load balancer de dos líneas WAN, según he encontrado en esté post. Pero por si todo eso fuera poco, en la versión estándar (std) del frimware DD-WRT en la opción de QoS podemos asignar ancho de banda basado en el MAC address, algo que era posible hasta no hace mucho sólo con caros routers Cisco.

Al ser el proyecto DD-WRT Open Source, es posible personalizarlo a nuestro gusto, pero si odiamos hacer todo otra vez, he encontrado esta práctica herramienta llamada Firmware Modification Kit (Open Source también), que permite agregar/remover paquetes del firmware o incluso cambiar themes y logos de la interface web para controlar el router, con lo cual los amigos de presumir sus "conocimientos" en tecnología podrían tener frimwares con sus nombres en ellos.

Lo dicho, si desean convertir su router de $60 en uno de $600 usen el firmware del proyecto DD-WRT, ojo no es la única opción pero es de la que puedo comentarles por el momento con confianza porque la he probado y definitivamente me siento muy satisfecho de haber actualizado a este firmware. Voy a continuar probando otras opciones como la OpenWRT y Tomato, sobre las que ya les comentaré luego.

Portal cautivo WifiDog

Internet se ha vuelto más ubicuo en los últimos años, el abaratamiento del acceso de banda ancha a través de ADSL y cable ha llevado Internet a casi cualquier rincon en una ciudad, si a eso le añadimos la proliferación de routers que traen incorporado el acceso wi-fi, es posible que en zonas densamente pobladas no haya un sólo centímetro cuadrado sin cobertura Internet, todo lo anterior sin considerar el continuo abaratamiento en los precios de acceso 2G y 3G a través de celulares.

Muchas empresas, especialmente aquellas que dependen del tráfico de público como restaurantes, cafés u hoteles, ofrecen acceso gratuito a sus access point a través de una contraseña que se entrega a los clientes, este método no siempre es el más apropiado ya que el hecho de que la contraseña no sea actualizada frecuentemente y que sea distribuida verbalmente abre la posibilidad de que esta sea usada potencialmente por personas que no usaran los servicios del establecimiento comercial.

WifiDogUna forma alternativa de controlar el acceso es através de portales cautivos, dentrol de los muchos que hay he encontrado que WifiDog es uno de los más completos y fáciles de implementar, además de ser uno de los pocos que permiten la administración de múltiples nodos a través de un sólo control panel.

Wifidog es un producto Open Source desarrollado por la comunidad de hotspots públicos de Quebec (Canadá)  Île Sans Fil ("Isla inalámbrica"). Cómo todo portal cautivo tiene dos partes, el servidor de autenticación y el gateway. El servidor de autenticación está hecho en PHP y usa PostgreSQL como su motor de base datos, además de estar desarrollado en base a Smarty, con lo cual es muy sencillo cambiar el look del site por defecto. El gateway está programado 100% en C y utiliza sólo llamadas estándar de Linux, con lo cual puede ser integrado en cualquier servidor que haga de firewall o routers compatibles con los proyectos DD-WRT, OpenWRT y Tomato. Yo lo he probado con DD-WRT v2.4 y funciona sin mayores problemas, ya que la parte gateway de Wifidog está ya incluída en la versión standard.

Una de las características interesantes de Wifidog, es que permite que sea el propio usuario que registrándose con su dirección de correo electrónico gane acceso al hotspot, además que nos permite definir cuantos usuarios concurrentemente deseamos soportar a través de cada nodo wifi (por defecto son 10). Ya que tenemos una dirección de correo electrónico podemos posteriormente enviarle ofertas y promociones a nuestros usuarios, además gracias a su muy detallado sistema de estadísticas podemos identificar los 10 usuarios más móviles, los 10 más frecuentes, los 10 que usan más ancho de banda, etc., con lo que la administración de múltiples hotspot se vuelve bastante sencilla. En dos palabras "super recomendable", para todo negocio que tenga más de un local comercial y un hotspot público en ella. Otra alternativa es que permite crear un red de hotspot federados de negocios independientes pero relacionados al mismo rubro que pueden promover sus actividades de manera conjunta a través de ofrecer el acceso público wifi, ya que una cuenta de acceso creado en WifiDog permite que el usuario se conecte en cualquiera de los nodos que forman parte de la misma red y en cada nodo verá el logo del negocio que le está brindando el acceso en una determinada ubicación geográfica.

Más allá del deseo

Aunque el título de este post pudiera parecer el de una película porno de finales de los setenta, en realidad deseo comentar sobre los múltiples fallidos intentos de la comunidad Linux de querer convertir a Linux en el sistema operativo de nuestro escritorio.

El último de tales intentos fue la migración de todas las PCs de la administración pública del cantón suizo de Soleura, que hace 9 años inició el ambicioso proyecto de desterrar Windows de los escritorios de su administración pública, el día de hoy a través de Slashdot, me enteré de que han decidido abandonar completamente el proyecto y volver a Windows 7 para el 2011.

Roconozco, que yo desde hace mucho también he sido uno de los que anunciaban la llegada de la era del pinguino a los escritorios, tal vez el momenton que más cerca estuvo Linux de ser un sistema operativo de masas fue con la llegada de las netbooks, a finales del 2007, pero las cosas han cambiado radicalmente y la misma supervivencia del PC (con Windows, Linux u OS X) está gracias a los smartphones y tables ahora en duda, si alguien lo duda les recomiendo que le den una lectura a las declaraciones de Bryan Dunn CEO de Best Buy (la cadena de almacenes de electrónica de consumo más grande en U.S.A.), que señala al iPad como una de las razones de la rápida caída en ventas de netbooks, según Wall Street Journal.

El querer que todos tengan en sus escritorios Linux como sistemas operativo y Open Office como su suite de escritorio, es como querer que todos manejemos un tractocamion, claro no hay cosa que no podamos remolcar, pero el entrenamiento suele ser largo y no todos están listos para tanto poder.

Los que hayan leído este blog sabrán que aunque soy un fan de Linux, no soy un taliban de Linux, es decir no soy un fundamentalista como Stallman que cree que el infiel debe convertirce o perecer. Linux es ante todo una tecnología como su mismo creador Linus Torvalds ha dicho repetidas veces, y como tal tiene un ciclo de vida.

Claramente hay una línea divisoria en las aplicaciones modernas, el cliente (casi siempre un browser o algo similar) y el servidor. Mientras Linux es y probablemente siga siendo el rey en el sector de los servidores web, por otro lado en el lado del cliente nos hemos estado moviendo del polifuncional PC a los smartphones primero y ahora con increíble rapidez a las tablets, de las cuales el iPad es sólo una de las muchas opciones que hay.

¿Podrá llegar Linux en algún momento a tomar el escritorio?, en estos momentos me parece una pregunta sin sentido, ya que la existencia misma del escritorio como lo conocemos está en duda. Al final si usas un Nexus One o un Samsung Galaxy Tab, estás usando Linux en última instancia. Aunque no uses ni las X, ni KDE o GNOME.

Es necesario más pragmatismo en las comunidades Open Source y menos fanatismo y sobervia, ya que actualmente los más activos "colaboradores" de proyectos Open Source, no son los tan valiosos y necesarios programadores sino los "Evangelizadores".