1. Porqué odio sharepoint.

    Primero, quiero dejar claro que esta experiencia ha sido con la versión WSS 3.0 de Sharepoint. Esto es importante debido a que existen varias versiones más nuevas, incluida una 2010 que ha sido lanzada hace solo 15 días, y que dice haber solucionado varios de estos problemas. Sin embargo, WSS (Windows Sharepoint Services) es la única que viene incluida con Windows Server (“gratis”). Todas las demás, excepto la 2010 recién mencionada (que no he probado) según lo leído en Internet, presentan los mismos problemas aquí expuestos y además son muy costosas.

    Share que?

    No muchos conocen Sharepoint, ya que es un producto puramente corporativo. Sharepoint es uno de los productos estrella de Microsoft, junto a Windows y Office1. Es un portal web, originalmente pensado para administración de contenidos, pero que ha crecido de manera exponencial presentándose como un portal de colaboración y Middleware empresarial.

    Según bien lo resume la Wikipedia en su artículo sobre Sharepoint, si bien es una valiosa herramienta, es conocida por sus problemas para modificación. Pero eso suena completamente inofensivo. La realidad es que es totalmente imposible de modificar y mantener de una forma profesional, menos productiva.

    Problemas

    Sharepoint fue pensado para ser usado, no para ser modificado. Primero que nada, no hay herramientas de desarrollo. Si bien Sharepoint utiliza ASP.Net y SQLServer (tecnologías maduras y conocidas) la arquitectura de la aplicación impide cualquier forma de modificación con las herramientas existentes. Sharepoint tiene incluido su propio sistema de versionamiento de contenidos, pero extrañamente, considera que las paginas que uno crea también son contenidos así que guarda el código en la base de datos, y utiliza los archivos del disco duro solo como referencia, o punto base.

    Pero no solo es eso, sino que adicionalmente utiliza un montón de librerías que no son expuestas mediante SDK. Sharepoint debe estar en la máquina de desarrollo para poder usar Visual Studio para hacer desarrollo. Esto significa desarrollar en un Windows Server 2003 o superior.

    A eso hay que sumarle, que si no usas Visual Studio, el desarrollo de WebParts (pequeños trozos de funcionalidad que se despliegan como bloques en las páginas y pueden ser reusados) involucra la edición de complejos XSLT 1.0 con extensiones especiales de Sharepoint, casi no documentadas. Afortunadamente en la universidad me hicieron sufrir con XSLT tanto que hoy aun lo recuerdo, pero no deja de ser sufrido.

    El Origen

    Dicho todo esto ustedes se preguntarán, ¿Porqué estoy trabajando con Sharepoint entonces? habiendo tanta herramienta más flexible y tanto o más funcional. Bueno, Resulta que hoy en día, “Intranet” es sinónimo de “Sharepoint” en las empresas invadidas por Microsoft. No me entiendan mal, yo soy programador en .Net hace varios años, y me agrada mucho serlo porque tenemos varias ventajas sobre otras plataformas, pero Sharepoint es simplemente una tortura para los programadores.

    Si lo van a usar, olvídense que pueden modificarlo a sus gustos, o que podrán hacer alguna de esas lindas webparts que se supone le dan componentización. Porque en el mejor de los casos si lo llegan a lograr, habran invertido mucho más de lo que les hubiera costado hacer lo mismo desde cero.

    Palabras finales

    ¿Saben que es lo peor de todo? A mi me gustó en un principio y pensé que era la solución correcta para este problema concreto con nuestro cliente. Cuando me dí cuenta en el lío que me estaba metiendo, ya no se podía echar para atrás la máquina (comercial, política) debido a que ya habían compromisos y se habían levantado expectativas al cliente de que tendría Sharepoint, esta súper herramienta moderna a su disposición, y todo eso que dicen quienes venden. Que no le pase a Ud.

     
  2. Por qué los tables/pad/slates deben tener cámara.

    Quizás al pensar en una cámara para un tablet (o ipad, slate; de ahora en adelante, sinónimos para todos los efectos) tienen un propósito lúdico o secundario al estar al frente para mostrar la imagen del usuario y compartirla con una audiencia remota o para grabar tomas en similar perspectiva.

    Pero una cámara en la parte posterior de estos aparatos, tendría un propósito mucho más práctico, como el de leer códigos de barra de dos dimensiones o para generar los primeros intentos comercialmente masivos de realidad aumentada.

    De manera similar y con propósitos complementarios a los expuestos para las cámaras, se puede presentar un proyector en los tablets para aumentar aun más las posibilidades de interacción y presentación de datos (dado que la pantalla del equipo es limitada en tamaño)

    El futuro de estos aparatos es bastante auspicioso, y a pesar que tablets existían hace mucho tiempo, tenemos que agradecerle a Apple, Steve Jobs y su iPad el hecho que lo hayan replanteado completamente.