Reinventando la rueda
Interesante lo que comenta Rodrigo en su blog y que me hace reflexionar o mejor dicho recordar reflexiones pasadas que me he hecho en alguna ocasión y que aprovechando la entrada de Rodrigo, me he visto animado a hacerlas aquí públicas.
Me remontaré a hace ya algunos años (unos 6 para más señas), cuando el jefe del área instó a todos los empleados del departamento a pensar en migrar todas las aplicaciones de escritorio a la Web. De forma más personal y terminada la reunión, le comenté que porqué se había tomado esa decisión (lo siento, pero soy de esas moscas cojoneras a la que le gusta dejar hacer. sí, pero a la que le gusta también saber muchas veces el porqué de las cosas) y me comentó que la decisión estaba motivada en que todas las aplicaciones Windows podrían funcionar como aplicaciones Web de igual forma, que eran mucho mejor, que se actualizaban en un único sitio, que todo el mundo tenía navegador Web, que eran más potentes y cómodas para el usuario, y que las grandes empresas como en la que estaba trabajando yo en aquel momento, estaban haciendo lo mismo.
En aquel instante recuerdo perfectamente aún hoy que le dije que las razones lógicas de implantación y algunos de los argumentos que me daba no era motivo de discusión por la evidente coincidencia de reflexiones, pero solo le apunté algo mucho más importante desde mi punto de vista en aquel momento, desde el punto de vista técnico, ese punto de vista que en muchas ocasiones no cuenta, sobre todo para las ocasiones estratégicas. Ese punto de vista personal era que en mi opinión, cualquier aplicación Windows no tiene porqué ser migrada a Web porque sí, por esa moda irrefrenable o por las pajas mentales de determinados «gurús«. En otras palabras, hay aplicaciones que siendo aplicaciones Web, serán mucho más complejas y dañinas que las aplicaciones Windows que en muchas ocasiones se tienen funcionando desde hace años en una determinada empresa. El caso es que aquel jefe que tuve, entre masters de dirección de empresa que estaba haciendo y entre que se reunía con gente y amigos de altas esferas (reuniones que dan para hablar largo y tendido en otra entrada, y a las que tuve la oportunidad de asistir en una ocasión fuera de España) para hablar de temas tecnológicos, económicos y de actualidad, pensaba que estaba tocado por la varita de la verdad.
¿Cuántas veces se ha tomado una decisión de altas esferas como digo yo sin haber consultado antes a los técnicos, sin haber hecho grupos de trabajo o sin haber hecho un brainstorming (soy un enamorado de la lluvia de ideas, lo siento)?… ¿decenas, cientos, miles,…?. Normalmente, las personas que han llegado a ser jefes, pensaban antes de tener ese puesto de responsabilidad que todo iría mejor si sus superiores se comunicaran en multitud de ocasiones con ellos para solicitarles sus puntos de vista técnicos, personales o de experiencia, por muy jefe que fuera. Cuando esos técnicos llegan a ser jefes o responsables, pierden muchas veces aquella bonita visión que tenían y pasan ahora a creerse que saben de todo, que poseen mucha experiencia y que no necesitar esa ayuda técnica… esto en argot castellano se denomina la pescadilla que se muerde la cola, o mejor… dime de que presumes y te diré de que careces.
En el tema del desarrollo de aplicaciones Windows y aplicaciones Web, veo que hay en el mundo del desarrollo mucha paja mental. Mucho vende motos. Mucho vende humo. Mucho gurú y mucho charlatán que vende crecepelos.
Siempre me expreso de igual forma: ¿piensa alguien que si existiera el lenguaje, tecnología, desarrollo perfecto habría tanta diversidad?. Obviamente no, y por cierto, me alegro, porque sino, el desarrollo del Software sería por un lado aburrido con una y única verdad absoluta, y por otro lado, ya exisitiría un proceso automático que hiciera todo por nosotros y ahora mismo estaríamos dedicando nuestro tiempo a otros menesteres en lugar de al desarrollo del Software.
En el desarrollo del Software tenemos muchas posibilidades, pero hay una que siempre funciona… me refiero a las aplicaciones Windows. Sin embargo, muchas aplicaciones Windows serían más beneficiosas en un ambiente Web, y ahí es donde voy… ¿eso significa que cualquier aplicación Windows será beneficiosa en un ambiente Web?. Como ya he dejado entrever anteriormente, NO.
Y en todo esto, Rodrigo apuntaba muy bien (al menos en el sentido en el que yo he entendido su queja)… «AJAX es una mierda», y eso me recuerda a varias cosas:
¿Alguien sabe lo que es XML?… bien,… veo que hasta aquí llegamos.
Lo que no mucha gente sabe es la historia de XML, así que aprovecho para hacer un pequeño paréntesis de tipo recordatorio.
XML nació gracias a una adaptación de SGML. SGML es además, la base de HTML.
El tema es que la gente del W3C estuvieron dándole vueltas a como crear un lenguaje de etiquetas que fuera más abierto que HTML y que permitiera crear etiquetas personalizadas para trabajar con cualquier fuente de información existente. Estuvieron pensando y pensando, no sé en realidad cuanto tiempo, pero alguien dijo de repente,… «oyes, ¡en aquel cajón del olvido hay algo así como SGML!«. Echaron un vistazo y vieron que GML fue creado por IBM en los setenta, y que en la década de los ochenta, la ISO lo normalizó para crear el SGML. A finales de la década de los ochenta, se creó el famoso HTML partiendo de la base del SGML, y de la base del SGML aparece también el ya famoso XML.
Sobre AJAX, ocurre otra particularidad vinculada de alguna manera con lo anterior, en base y en historia.
AJAX como tal, está unido con la necesidad de sincronizar la información, y para ello se une el famoso XML. AJAX por otro lado, representa la base de creación de aplicaciones RIA (Rich Internet Applications) que Rodrigo comentaba en su entrada. La idea es que el cliente pueda sincronizar la aplicación web con el servidor de forma transparente, evitando recargar la página web entera o actualizando o refrescando una parte de toda la aplicación web.
El tema no obstante, es que AJAX no es nuevo, al menos no la técnica. El nombre de AJAX se acuñó alrededor del año 2005, pero la técnica de sincronización o de «asincronización» (si me permitís el término, ya que es sincronización de ida y vuelta, es decir, comunicación asíncrona), es una técnica de mediados de la década de los noventa. De hecho, Sun y Microsoft han estado trabajando años atrás en estas técnicas. Cosas como los ActiveX o los Java applets ya utilizaban técnicas de este tipo y creo que a casi todo el mundo le suena.
Entonces, ¿que hay de nuevo en eso que mucha gente llama la Web 2.0?.
De nuevo de nuevo, la verdad es que muy poco o casi nada.
Mucho ruido y pocas nueces.
Lo único que realmente me parece novedoso, es que desde los años noventa a ahora, los ordenadores son más potentes, existen más sistemas intercomunicados, la informática ha entrado en muchas más empresas, las comunicaciones son más rápidas, hay más usuarios que utilizan Internet e Internet está presente en más hogares y empresas, los discos duros tienen mayores capacidades de almacenamiento y son más rápidos los procesos de lectura y escritura, y los conocimientos y los lenguajes de desarrollo han mejorado así como las técnicas de programación.
¿Que hay de nuevo entonces en lo que se ha denominado Web 2.0?, pues como decía antes, no mucho, ya que la tecnología es la misma aunque mejorada, pero quizás la novedad es que cada vez más empresas utilizan esas técnicas antiguas que casi nadie utilizaba. ¿Y a eso lo llaman Web 2.0?… ¡pues sí!.
Parece paradógico denominar Web 2.0 a «algo» que ya existía hace años. Es como si por ejemplo, todos fuéramos en triciclo existiendo la bicicleta desde hace años, y una década después, todo el mundo se maravillara por la bicibleta como el gran invento del siglo. ¿Humo tal vez?.
Claro que la Web 2.0 no solo es AJAX, hay más técnicas, pero prácticamente todas ellas, son refritos de técnicas ya existentes, mezcladas y agitadas… chás chás chás…
Creo que Rodrigo exageraba un poco (desde mi punto de vista a propósito) al decir de AJAX que era una «mierda». Yo no creo que sea una «mierda», incluso lo encuentro útil, pero aunque una bicibleta esté muy bien en lugar del triciclo, ambas nos sirven para movernos y dependiendo de las situaciones, podría interesarnos tener los dos vehículos en nuestro poder. Sin embargo, la diferencia de usar AJAX y otras técnicas de la Web 2.0 o no, no es tan grande como para que nos embadurnen a los usuarios y a los programadores con una intensa capa de marketing que trata intencionamente de confundirnos.
Y es que ni tan malo es programar aplicaciones Web en HTML, CSS o AJAX, como con Flash, Silverlight o Air.
Lo que sí está claro, es que hoy por hoy y bajo mi punto de vista, las aplicaciones Windows poseen una mayor «experiencia» (como lo llamó Microsoft al sacar Windows XP) para el usuario que las aplicaciones Web. La idoneidad de qué utilizar es lo que realmente hay que preguntar a los técnicos, y esa es la discusión que realmente debemos tener, por esa razón, AJAX es una «mierda«, no sé si la intención de Rodrigo era la misma que la mía aquí, pero para mí AJAX es así porque no resuelve el problema que muchas empresas tratan de resolver… hacer que todas las aplicaciones Web sean tan poderosas o más que cualquier aplicación Windows. La diferencia entre Windows y Web se ha acortado, pero todavía falta camino por recorrer, mucho camino. Mientras tanto, yo me he comprado una mascarilla para no ahogarme con la cantidad de humo que sale en la red de redes.
9 Responsesso far
Mañana te contesto mediante un post, gran artículo!!!
Un abrazo crack 😉
Tu comentario está muy sesgado en una realidad llamada Microsoft y a un más sesgado en un ambiente Windows. Desde que apareció Chrome algunas personas han perdido el norte con comentarios como este, creyendo ilusioramete en sus «verdades» y pensando que otras personas van a creerlas.
Este tipo de comentario tarde o temprano hacen perder la credibilidad de sus autores y no por que sean MVP se les crea todo lo que dicen.
Hola Ilusión,
muchas gracias por tu comentario.
No considero sesgado mi comentario, está escrito intencionadamente y sé porqué lo he escrito, pero desde luego, no puedo asentir con tus comentarios al respecto.
La realidad es que la inmensa mayoría (al menos profesionalmente la mía, la que he visto y veo) de los desarrollos Software se hacen en ambientes Windows, y luego, están los ambientes Web donde están representados prácticamente todos los sistemas operativos del mundo (con que el sistema operativo posea un navegador Web basta). Pero hoy por hoy, Windows es en muchísimos proyectos el rey (no creo que decir eso sea sesgar, simplemente decir cuál es la realidad).
Pero mi comentario, no tiene nada que ver con ser MVP, con hacer creer nada a nadie (ni mucho menos es esa la intención que persigo nunca), y mucho menos en correr el «riesgo» de perder la credibilidad de quien comenta estas opiniones como puede ser mi caso (si mi credibilidad dependiera de lo que escribiera en este y otros sitios, no escribiía nada por temor), porque lo único que he hecho aquí es expresar una opinión y comentar abiertamente lo que opino de lo que veo en mi vida diaria y en mi experiencia profesional… y sí, está basada en tecnologías Microsoft mayoritariamente (no solamente Microsoft), algo que me da derecho a opinar y no por eso signifique que trato de sesgar la información o que por eso deja de tener valor lo que comento.
Se puede estar más o menos de acuerdo con lo que expreso, pero es únicamente eso, una opinión, no una búsqueda por ocupar un pedestal divino en Internet gracias a una genial entrada y ni mucho menos de tratar de hacer creer a nadie nada.
Creo que la gente tiene la inteligencia suficiente como para saber diferenciar las cosa y tener una opinión propia de todo.
Un saludo.
Hola!
Felicidades por el post 😉
Sobre lo de la Web 2.0, yo siempre he pensado que lo de 2.0, es más un canvio de concepto que de tecnología.
2.0 no es por AJAX, ni por CSS, ni por DHTML ni nada de eso… es por «colaboración», «creación de contenidos distribuida» y «compartición». Es que los internautas no sean meros observadores de una información creada, si no que puedan editarla, compartirla. Es canviar el punto de vista de quien está al otro lado. Ya no será un mero lector, si no que también ejercerá de creador de contenidos.
Eso es para mi 2.0, y no tiene absolutamente nada que ver con tecnologia.
Sobre la eterna discusión de Web Vs Windows, que va camino de convertirse en un flame similar al de C++ vs Java… Pues coincido contigo 🙂 Hay muchas situaciones que evaluar, ni siempre es mejor Web ni siempre es mejor Windows. La UX es una decisión a tener en cuenta, pero no puede ser la única: el mercado al que atacar es otra decisión a sospesar.
Saludos!
Aaaaamen, al menos en lo concerniente a web vs Windows.
Al cambiar de empresa, he «heredado» una serie de aplicaciones web de gestión interna que complican sobremanera el mantenimiento y desarrollo. Aplicaciones que para una intranet de tamaño reducido (10-15 equipos) irían muchísimo mejor si estuvieran hechas como aplicaciones Windows (obviamente no hablo de entornos multiplataforma).
Pero… la moda es la moda, y es más importante los tres pantallazos que se han visto en la empresa del vecino de oficina que las recomendaciones de los consultores y desarrolladores.
Y así nos va.
Hombre yo supongo que hacia donde quieren converger los «grandes», con esto de Silverlight, Air, Flash etc (por cierto no conocía Air, gracias Jorge, ¿Adobe haciéndose autocompetencia?) es a una suerte de ‘híbrido’, algo así como «el SmartClient 2.0». Es imposible y menos hoy en día, que las aplicaciones de gestión de una empresa corran en Web. Se necesitaría un maquinón con una potencia de proceso y una capacidad como los de la NASA. Y además estaríamos desperdiciando precisamente lo que es el punto fuerte de la informática personal actual: Precisamente potencia de proceso y capacidad. ¿Para qué quiero un Quad-Core-Extrem-Turbo-16-Válvulas de 5GHz con 4 GB de RAM y 2 TB de disco, si me voy a limitar a trabajar con un triste formulario Web? Como no sea para que vaya más rápido el emule y poder guardar más pelis… 😛
Creo que sería de las mayores tonterias que se podrian cometer, volver precisamente hoy a la época de los «terminales tontos».
Hola Jorge, muy bueno tu artículo, me recuerda a algunas conversaciones que tengo en el trabajo, en cuales luego de un momento quedamos diciendo «pero si OBA es VSTO y un poquito mas!»
Un Saludo.
creo que aqui falto mencionar tecnologias como lazlo «http://www.laszlosystems.com/» , aunque creo que aun le falta madurar ( y eso que esto salio en el 2005), es una prueba de como podria migrarse aplicaciones a la web, aunque opino igual que tu jorge, no todo debe ir a la web, y al a vez no todo tiene que ser aplicacion de escritorio :).
Pero siendo sincero, creo que en general los ultimos tiempos han sido puros «refritos», :), si te fijas ultimamente tambien esta el BOOM de sharepoint, siendo este una tecnologia con varios anios de experiencia:)
En general comparto tu idea:).
Salu2
Ddaz
Buenas 😉
@PabloNetrix
Con Air, Adobe no se está haciendo auto-competencia… está intentando seguir el camino de MS pero a la inversa. MS domina el escritorio y quiere la web, Adobe tiene una tecnología potente en la web y quiere el escritorio.
@ Ddaz
> no todo debe ir a la web, y al a vez no todo tiene que ser aplicacion de escritorio 🙂
Totalmente de acuerdo.
Saludos!