lunes, 28 de junio de 2010
by Ernesto
Hace unos días conversaba con Angela sobre el hecho de que a pesar de estar ambos fuera del Perú, existen todo un conjunto de opciones para estar "al día" con respecto a lo que pasa ahí (política, deportes, estrellas de Youtube), lo cual me llevo de vuelta a una idea que me había dado vueltas en la cabeza hace un tiempo: ¿que tan factible es tener/simular "la experiencia de vivir" (virtualmente) lo que pasa en un país que no conoces y al que no has visitado?.
En teoría debería ya ser posible, pues a estas alturas ya hemos superado la etapa en que eramos solo consumidores de información, por lo que volví sobre una idea de hacer esta experiencia un experimento universitario para un curso semestral, con variantes de acuerdo al perfil de la carrera, siendo que el curso que yo haya llevado que mas se podría aprovechar este experimento seria la Sociología(*) que lleve en EEGGCC.
En términos generales se parte de la idea que cada alumno debería asumir un rol de "impostor" y de "seguidor" simultáneamente, la duplicidad de roles viene dada a efectos de control, como ire explicando.
En el rol de "impostor" cada alumno tendría que simular vivir en un país dado al azar, y como "seguidor" hacer un seguimiento de la huella que un compañero (también al azar) va dejando, para esto al final de cada semana uno debe informar a su respectivo "seguidor" de los lugares mas relevantes por los que ha pasado. En otras palabras, cada alumno seria "impostor" sobre un país dado, seria "seguidor" de un compañero, y a la vez tendría un "seguidor" que lo monitorearia.
Se entiende que la razón de establecer el rol de "seguidor" es ver la huella que el "impostor" va dejando (para efectos de registro y elaborar un informe), pues parte del reto es hacerlo convincentemente y lograr que alguien totalmente externo pueda generar respuestas, debate y hasta controversias sin llegar a ser un troll. Este aspecto es tal vez el mas importante de mi propuesta, pues no se trata tan solo de recopilar noticias de actualidad del país elegido, sino también ser parte de los pequeños debates y trends que se van generando en cada diferente realidad.
En el estado actual los sitios destinos para simular la "experiencia de vivir" : twitter (no Facebook), Skyscrapercity, uno o los dos primeros diarios (generalistas) de circulación nacional así como uno deportivo. Por supuesto que se dejara abierto a que en clase se sugiera algún foro adicional.
¿Por que Skyscrappercity? porque es es un foro donde la gente discute urbanismo de manera coloquial y comenta sobre como eran y han ido cambiando sus ciudades, así que es un buen mecanismo de demostrar hasta que limite podemos llegar con la impersonación planteada.
Para simular mejor la idea, se cogerán los 5 mejores equipos (según el campeonato del año) de fútbol y por sorteo el alumno deberá asumir ser hincha del equipo que te haya tocado. Así que si te toca un equipo nuevito y de poca hinchada que le ha ido bien (como el San Martín) piña pues, tendrás que defenderlo en los foros o comentarios sobre las respectivas noticias.
Previo a la "identidad falsa" se dispondrán de dos o tres semanas para elaborar un informe preliminar sobre la situación del país, estableciendo (no hay que ser muy rigurosos) los 3 principales perfiles sociopoliticos urbanos.
Países: descartados los muy mediaticos, así en en el caso de Perú descartariamos: Argentina, Chile y Venezuela, pero seria muy interesante incluir Belice o Guinea Ecuatorial. Estos filtros van de cara a evitar en lo posible que un alumno que tenga asignado a Argentina tenga mucha ventaja sobre el que tiene asignado a El Salvador, p. ej.
Lo que no tengo tan claro (y quedaría abierto a la implantación del profesor):
Si el alumno deberá hacer la "impersonación" sobre el país acerca del que hizo la investigación o se le asignara el informe hecho por algún compañero, tampoco tengo claro si seria conveniente decirles que asuman alguno de los perfiles sociopoliticos identificados en el primer informe, probablemente esto dependa del tiempo y de cuan profundo se quiera que sea el análisis.
La idea es simple, comprobar la viabilidad de una posible impersonación hacia una identidad nacional que es la de uno, aparte claro esta de descubrir mas cosas sobre otra realidad. La idea esta puesta, ¿alguien se anima a montarla?
(*)Curiosamente fue en el curso de Sociología de la profesora Sandra Vallenas que tuve mi primer esbozo de lo que era Internet, gracias a la charla que nos dio Carlos Wendorff sobre lo que se empezaba a hacer: correo electrónico, conversaciones en tiempo real, boletines....
En teoría debería ya ser posible, pues a estas alturas ya hemos superado la etapa en que eramos solo consumidores de información, por lo que volví sobre una idea de hacer esta experiencia un experimento universitario para un curso semestral, con variantes de acuerdo al perfil de la carrera, siendo que el curso que yo haya llevado que mas se podría aprovechar este experimento seria la Sociología(*) que lleve en EEGGCC.
En términos generales se parte de la idea que cada alumno debería asumir un rol de "impostor" y de "seguidor" simultáneamente, la duplicidad de roles viene dada a efectos de control, como ire explicando.
En el rol de "impostor" cada alumno tendría que simular vivir en un país dado al azar, y como "seguidor" hacer un seguimiento de la huella que un compañero (también al azar) va dejando, para esto al final de cada semana uno debe informar a su respectivo "seguidor" de los lugares mas relevantes por los que ha pasado. En otras palabras, cada alumno seria "impostor" sobre un país dado, seria "seguidor" de un compañero, y a la vez tendría un "seguidor" que lo monitorearia.
Se entiende que la razón de establecer el rol de "seguidor" es ver la huella que el "impostor" va dejando (para efectos de registro y elaborar un informe), pues parte del reto es hacerlo convincentemente y lograr que alguien totalmente externo pueda generar respuestas, debate y hasta controversias sin llegar a ser un troll. Este aspecto es tal vez el mas importante de mi propuesta, pues no se trata tan solo de recopilar noticias de actualidad del país elegido, sino también ser parte de los pequeños debates y trends que se van generando en cada diferente realidad.
En el estado actual los sitios destinos para simular la "experiencia de vivir" : twitter (no Facebook), Skyscrapercity, uno o los dos primeros diarios (generalistas) de circulación nacional así como uno deportivo. Por supuesto que se dejara abierto a que en clase se sugiera algún foro adicional.
¿Por que Skyscrappercity? porque es es un foro donde la gente discute urbanismo de manera coloquial y comenta sobre como eran y han ido cambiando sus ciudades, así que es un buen mecanismo de demostrar hasta que limite podemos llegar con la impersonación planteada.
Para simular mejor la idea, se cogerán los 5 mejores equipos (según el campeonato del año) de fútbol y por sorteo el alumno deberá asumir ser hincha del equipo que te haya tocado. Así que si te toca un equipo nuevito y de poca hinchada que le ha ido bien (como el San Martín) piña pues, tendrás que defenderlo en los foros o comentarios sobre las respectivas noticias.
Previo a la "identidad falsa" se dispondrán de dos o tres semanas para elaborar un informe preliminar sobre la situación del país, estableciendo (no hay que ser muy rigurosos) los 3 principales perfiles sociopoliticos urbanos.
Países: descartados los muy mediaticos, así en en el caso de Perú descartariamos: Argentina, Chile y Venezuela, pero seria muy interesante incluir Belice o Guinea Ecuatorial. Estos filtros van de cara a evitar en lo posible que un alumno que tenga asignado a Argentina tenga mucha ventaja sobre el que tiene asignado a El Salvador, p. ej.
Lo que no tengo tan claro (y quedaría abierto a la implantación del profesor):
Si el alumno deberá hacer la "impersonación" sobre el país acerca del que hizo la investigación o se le asignara el informe hecho por algún compañero, tampoco tengo claro si seria conveniente decirles que asuman alguno de los perfiles sociopoliticos identificados en el primer informe, probablemente esto dependa del tiempo y de cuan profundo se quiera que sea el análisis.
La idea es simple, comprobar la viabilidad de una posible impersonación hacia una identidad nacional que es la de uno, aparte claro esta de descubrir mas cosas sobre otra realidad. La idea esta puesta, ¿alguien se anima a montarla?
(*)Curiosamente fue en el curso de Sociología de la profesora Sandra Vallenas que tuve mi primer esbozo de lo que era Internet, gracias a la charla que nos dio Carlos Wendorff sobre lo que se empezaba a hacer: correo electrónico, conversaciones en tiempo real, boletines....
lunes, 31 de mayo de 2010
by Ernesto
Hace exactamente 3 años comentaba la situación en la que se encontraban muchas empresas, ancladas al pasado tecnológico con tecnologías de mas de 20 años, y de paso enlazando tecnologías que estaban muriendo o agonizando: Cobol(*), Bases de Datos no Relacionales, redes no TCP/IP, ccMail, ColdFusion, C (puro, no C++), PowerBuilder, Netware, PC network y OS/2; claro esta que a esa lista añadiria xBase (¿se acuerdan cuando casi todo pequeño negocio tenia su aplicación en Clipper o Fox para DOS?).
Ya sabemos que aun en pequeños negocios como cabinas de internet cuesta de convencer el migrar hacia tecnologías mejores y mas eficientes, pero aun así al ver la lista mencionada uno ve que el estado de estas tecnologías es mas bien dispar, algunas tecnologias estan realmente muertas o terminando de morir en sus ultimos espacios, mientras que otras a pesar de no brindar nada nuevo, siguen siendo la base para nuevos desarrollos, conviviendo con otras tecnologías.
¿Qué es lo que hace que algunas resistan y otras no? Especulare un poco y a ver si comparten mis ideas.
1)La ola es muy fuerte y no puedes sino dejarte llevar, si, en este caso estamos hablando de Internet y el efecto de arrastre que implico para la adopción del protocolo TCP/IP como la opción por defecto en las organizaciones, todo Ethernet, adiós token ring, protocolo IPX.... lo cual de rebote termino cargándose a las redes Netware de Novell, antaño bien implantadas en muchas organizaciones. Así que si todos los proveedores, incluyendo los de mainframe, deciden dar el salto al soporte de TCP/IP (como ocurrió en la segunda mitad de los 90s) el cambio ya es inevitable. Por mas que algunos digan que Internet resucito un protocolo que ya era "cadáver", al final la inercia del mercado y la demanda por conexión a Internet nos arrastro a todos, y ya no miramos atrás.
2)El costo de mantener la compatibilidad es muy alto comparado con la migración, aquí ya entro un poco en la especulación basándome en lo que he visto en las pymes, quieras que no el mercado de aplicaciones para pymes es muy dinámico y llega un momento en que ya no se pueden mantener las aplicaciones existentes por: no se pueden encontrar profesionales, o porque eventos como la introducción de Windows 95 o el problema del año 2000 te hacen sacar la calculadora y ver que mas barato te sale migrar que seguir manteniendo tu querido Clipper.
3)Lo que elegiste no era tan masivo y cada vez te costara mas encontrar soporte, aquí caen dos tecnologías al margen de sus méritos: Delphi y PowerBuilder, efectivamente ofrecían una buena respuesta tecnológica a las necesidades de desarrollo en Windows de esa época (mejor que VB en el caso de Delphi, p. ej), pero la presión introducida por el desarrollo de aplicaciones Web, así como la pujanza de .NET y Java, hizo que el nicho de mercado que se había construido alrededor de estas tecnología se debilitara impulsando su migración. Lo bueno en este caso es que la arquitectura modular de estas tecnologías (el entorno de desarrollo de la aplicación no esta amarrado a la BD como en xBase) permite migraciones menos traumaticas y mas progresivas.
4)Es mas caro migrar que mantener la compatibilidad si, al revés que el caso 2) y en este caso nos topamos con los engreídos de la industria: el mainframe ya sea en sus variantes PL/1 o COBOL, están ahí, las empresas se resisten con uñas y dientes al cambio, por la sencilla razón de que debido al volumen y trafico de información, el riesgo de tener la producción caída es algo que no se puede asumir, punto. Es curioso que cuando hubo el problema del años 2000 en algunos casos se haya optado por una huida hacia adelante, parchando la infraestructura en vez de aprovechar la oportunidad de reemplazo. Y así como están las cosas, se requerirá mucho valor y cabeza fría para que una organización decida migrar sus aplicaciones, pero la verdad.... ¿de veras tiene sentido basar lógica de negocio en la posición de un carácter en un texto plano?
5)Entenderlo es mas complicado que parcharlo esta es la peor situación de todas, pues la limitación viene dada no por las características de la tecnología, si no por como esta tecnología no te coloca restricciones para hacer mal código, concretamente Visual Basic 6 cae en esta categoría, ya que como comente antes es perfectamente posible construir aplicaciones en VB6 con una arquitectura robusta y buenas practicas (y he visto buenas aplicaciones de este tipo), pero la propia filosofía del lenguaje no te impulsa a ello, recayendo totalmente en el desarrollador y la organización el montar algo ordenado, siendo que una vez empezado el trabajo esa reorganización es tarea imposible. Resultado: que esas aplicaciones se mantengan, crezcan y crezcan a golpe de parches, haciendo la migración algo temido por la organización, haciendo que VB6 ya sea considerado como el nuevo COBOL, con la diferencia de que el soporte y evolución quedo cerrado hace rato, así que solo resta esperar una nueva revolución que nos fuerce a dejarlo.
Esto es, dentro de mi experiencia, lo que creo que establece diferencias entre los destinos de diversas aplicaciones, me quedo con la curiosidad de saber cual ha sido el proceso por el que pasaron tecnologías como ADABAS, mainframes NCR y AS/400.
(*)Aunque yo lo consideraría de la mano de su hermano en mainframe: PL/1.
Ya sabemos que aun en pequeños negocios como cabinas de internet cuesta de convencer el migrar hacia tecnologías mejores y mas eficientes, pero aun así al ver la lista mencionada uno ve que el estado de estas tecnologías es mas bien dispar, algunas tecnologias estan realmente muertas o terminando de morir en sus ultimos espacios, mientras que otras a pesar de no brindar nada nuevo, siguen siendo la base para nuevos desarrollos, conviviendo con otras tecnologías.
¿Qué es lo que hace que algunas resistan y otras no? Especulare un poco y a ver si comparten mis ideas.
1)La ola es muy fuerte y no puedes sino dejarte llevar, si, en este caso estamos hablando de Internet y el efecto de arrastre que implico para la adopción del protocolo TCP/IP como la opción por defecto en las organizaciones, todo Ethernet, adiós token ring, protocolo IPX.... lo cual de rebote termino cargándose a las redes Netware de Novell, antaño bien implantadas en muchas organizaciones. Así que si todos los proveedores, incluyendo los de mainframe, deciden dar el salto al soporte de TCP/IP (como ocurrió en la segunda mitad de los 90s) el cambio ya es inevitable. Por mas que algunos digan que Internet resucito un protocolo que ya era "cadáver", al final la inercia del mercado y la demanda por conexión a Internet nos arrastro a todos, y ya no miramos atrás.
2)El costo de mantener la compatibilidad es muy alto comparado con la migración, aquí ya entro un poco en la especulación basándome en lo que he visto en las pymes, quieras que no el mercado de aplicaciones para pymes es muy dinámico y llega un momento en que ya no se pueden mantener las aplicaciones existentes por: no se pueden encontrar profesionales, o porque eventos como la introducción de Windows 95 o el problema del año 2000 te hacen sacar la calculadora y ver que mas barato te sale migrar que seguir manteniendo tu querido Clipper.
3)Lo que elegiste no era tan masivo y cada vez te costara mas encontrar soporte, aquí caen dos tecnologías al margen de sus méritos: Delphi y PowerBuilder, efectivamente ofrecían una buena respuesta tecnológica a las necesidades de desarrollo en Windows de esa época (mejor que VB en el caso de Delphi, p. ej), pero la presión introducida por el desarrollo de aplicaciones Web, así como la pujanza de .NET y Java, hizo que el nicho de mercado que se había construido alrededor de estas tecnología se debilitara impulsando su migración. Lo bueno en este caso es que la arquitectura modular de estas tecnologías (el entorno de desarrollo de la aplicación no esta amarrado a la BD como en xBase) permite migraciones menos traumaticas y mas progresivas.
4)Es mas caro migrar que mantener la compatibilidad si, al revés que el caso 2) y en este caso nos topamos con los engreídos de la industria: el mainframe ya sea en sus variantes PL/1 o COBOL, están ahí, las empresas se resisten con uñas y dientes al cambio, por la sencilla razón de que debido al volumen y trafico de información, el riesgo de tener la producción caída es algo que no se puede asumir, punto. Es curioso que cuando hubo el problema del años 2000 en algunos casos se haya optado por una huida hacia adelante, parchando la infraestructura en vez de aprovechar la oportunidad de reemplazo. Y así como están las cosas, se requerirá mucho valor y cabeza fría para que una organización decida migrar sus aplicaciones, pero la verdad.... ¿de veras tiene sentido basar lógica de negocio en la posición de un carácter en un texto plano?
5)Entenderlo es mas complicado que parcharlo esta es la peor situación de todas, pues la limitación viene dada no por las características de la tecnología, si no por como esta tecnología no te coloca restricciones para hacer mal código, concretamente Visual Basic 6 cae en esta categoría, ya que como comente antes es perfectamente posible construir aplicaciones en VB6 con una arquitectura robusta y buenas practicas (y he visto buenas aplicaciones de este tipo), pero la propia filosofía del lenguaje no te impulsa a ello, recayendo totalmente en el desarrollador y la organización el montar algo ordenado, siendo que una vez empezado el trabajo esa reorganización es tarea imposible. Resultado: que esas aplicaciones se mantengan, crezcan y crezcan a golpe de parches, haciendo la migración algo temido por la organización, haciendo que VB6 ya sea considerado como el nuevo COBOL, con la diferencia de que el soporte y evolución quedo cerrado hace rato, así que solo resta esperar una nueva revolución que nos fuerce a dejarlo.
Esto es, dentro de mi experiencia, lo que creo que establece diferencias entre los destinos de diversas aplicaciones, me quedo con la curiosidad de saber cual ha sido el proceso por el que pasaron tecnologías como ADABAS, mainframes NCR y AS/400.
(*)Aunque yo lo consideraría de la mano de su hermano en mainframe: PL/1.
miércoles, 5 de mayo de 2010
by Ernesto
Como desarrolladores generalmente esperamos estar desde el arranque de un proyecto, con la idea de que asi "esta vez hacer las cosas bien" usando una buena arquitectura y claro, con lo ultimo de la tecnología, al final terminamos llegando al estado de "parecia una buena idea en su momento" y que hay que terminar el proyecto "como sea", bueno... exagero un poco, pero debe quedar claro que estar en el proyecto desde un inicio no es una garantia para que todo vaya como una seda todo el tiempo.
Pero para bien o para mal, si uno es un desarrollador "desde las trincheras" y no un "guru", no sera rara la situación en que nos veamos en la necesidad de dar mantenimiento a un programa que alguien mas haya hecho o empezado (en cualquier grado de avance), y ahí es donde empieza nuestra historia.....
Antes de proseguir, debo decir que cuando he estado una buena temporada en un proyecto, trato de pensar (sobre todo en las ultimas etapas) en "como hacerle mas simple la vida al pobre tipo que se hara cargo de esto" para lo cual opto por un enfoque realista, dejar comentarios en las secciones de código que se que pueden ser mas crípticas, y de ser el caso dejar documentación útil, ¿y cuando una documentación es útil? ¿no se supone que lo útil es documentar todo lo posible? ¡Error! una documentación es util cuando uno honestamente sabe que leyéndola proveerá una idea para entender la lógica detras de la implementación de un código.
Entonces como decia, nos encontramos en la situación de que hay una aplicación existente, en cuya creación no hemos intervenido, y se nos pide ver porque ha dejado de funcionar o que le agreguemos una nueva funcionalidad, la documentación es escasa y con suerte tenemos las referencias de los servidores involucrados.
Asi que con esta premisa vamos tras el codigo fuente a ver que podemos sacar en claro (*), con lo que nuestra rutina es mas o menos como sigue:
- Ubicar el punto de entrada de la aplicacion, o sino, los controles y sus eventos respectivos que desencadenan la accion a investigar.
- Ubicado el punto de entrada o el evento deseado (capa de Interfaz de Usuario), ir viendo como se van creando las sucesivas instancias de las capas de Negocio, Fachada, Datos y los métodos involucrados.
- De ser necesario ir depurando para evaluar los valores que van tomando las variables criticas...
En fin, este es el mundo real y creo que alguna vez todos habremos pasado por este lió, siendo nuestros dilemas el saber a que clase/metodo se esta invocando desde un punto del código, así que me he sentido afortunado cuando he podido hacerme una idea del código usando las herramientas para encontrar la "Definicion" de un método invocado.
Es que así es el código típico:
- Método f1 de la clase A necesita llamar al método f2b de la Clase D.
- Método f1 instancia un objeto "miD" de la Clase D.
- Método f1 ejecuta el método miD.f2b.
- Método f2b de la clase D necesita......
Si el código esta mas o menos estructurado (y no es un spagetti por supuesto), esa es la lógica que uno busca, con las debidas excepciones de cuando se tienen que ejecutar instancias remotas y/o usando Interfaces en vez de clases directas.
Una de las cosas que tienen de bueno los entornos RAD como Delphi y .NET (WebForms y Winforms) es que brindan un mecanismo comprensible para empezar a depurar, sabes el control y quieres ver que hace, pues entonces... a ver los eventos vinculados y de ahi para adelante, de capa en capa. Quienes hemos trabajado con ASP Clasico recordamos la pesadilla que eran los puntos de entrada de las paginas, revisando todas las posibles combinaciones de parametros que venia en el Request razon por la que la introducción de WebForms fue la respuesta a nuestros problemas, y para mi lo sigue siendo.
Pero la evolución del desarrollo de software es imparable, y asi hemos visto como han surgido tendencias que han procurado añadir valor a nuestros ciclos de desarrollo como: WebServices, Refactorizacion, SOA y varios intentos de mecanismos para construir una arquitectura distribuida: DCOM, COM+, .Net Remoting, WCF....
Pero al margen de como vayan evolucionando las tendencias, una cosa que siempre procuro en mis desarrollos, es dejar el camino mas o menos despejado para que el que venga luego pueda entender el código que esta leyendo, procurando tener las inevitables sofisticaciones bajo control. Teniendo esto en cuenta... cabe preguntarse si tendencias como el "desacoplamiento" y la necesidad de "pruebas unitarias" facilitan o no la vida del que luego tiene que enfrentarse a mantener tu código, pero ese análisis lo dejo para un posterior post.
De momento quiero dejar la reflexión de que a veces estamos tentados a emplear unos patrones novedosos, potentes, pero... también debemos pensar que no todos los desarrolladores siempre desarrollan desde cero, que se llega a proyectos ya empezados, a código terminado en producción que hay que mantener, y que no hay que complicarle la vida en aras de lucirte con lo mas novedoso en metodologias y arquitecturas si es que no es de veras necesario, ya que estas no solo deben prometerte mas facilidades para ti, si no para el que luego tendra que mantener tu codigo.
(*)Aunque alguna vez no contamos ni siquiera con el código fuente, como me paso en un cliente hace 3 años, por lo que toca ver si podemos desensamblar el código, pero eso ya es otra historia y mas bien un extremo de irresponsabilidad por parte del cliente.
Pero para bien o para mal, si uno es un desarrollador "desde las trincheras" y no un "guru", no sera rara la situación en que nos veamos en la necesidad de dar mantenimiento a un programa que alguien mas haya hecho o empezado (en cualquier grado de avance), y ahí es donde empieza nuestra historia.....
Antes de proseguir, debo decir que cuando he estado una buena temporada en un proyecto, trato de pensar (sobre todo en las ultimas etapas) en "como hacerle mas simple la vida al pobre tipo que se hara cargo de esto" para lo cual opto por un enfoque realista, dejar comentarios en las secciones de código que se que pueden ser mas crípticas, y de ser el caso dejar documentación útil, ¿y cuando una documentación es útil? ¿no se supone que lo útil es documentar todo lo posible? ¡Error! una documentación es util cuando uno honestamente sabe que leyéndola proveerá una idea para entender la lógica detras de la implementación de un código.
Entonces como decia, nos encontramos en la situación de que hay una aplicación existente, en cuya creación no hemos intervenido, y se nos pide ver porque ha dejado de funcionar o que le agreguemos una nueva funcionalidad, la documentación es escasa y con suerte tenemos las referencias de los servidores involucrados.
Asi que con esta premisa vamos tras el codigo fuente a ver que podemos sacar en claro (*), con lo que nuestra rutina es mas o menos como sigue:
- Ubicar el punto de entrada de la aplicacion, o sino, los controles y sus eventos respectivos que desencadenan la accion a investigar.
- Ubicado el punto de entrada o el evento deseado (capa de Interfaz de Usuario), ir viendo como se van creando las sucesivas instancias de las capas de Negocio, Fachada, Datos y los métodos involucrados.
- De ser necesario ir depurando para evaluar los valores que van tomando las variables criticas...
En fin, este es el mundo real y creo que alguna vez todos habremos pasado por este lió, siendo nuestros dilemas el saber a que clase/metodo se esta invocando desde un punto del código, así que me he sentido afortunado cuando he podido hacerme una idea del código usando las herramientas para encontrar la "Definicion" de un método invocado.
Es que así es el código típico:
- Método f1 de la clase A necesita llamar al método f2b de la Clase D.
- Método f1 instancia un objeto "miD" de la Clase D.
- Método f1 ejecuta el método miD.f2b.
- Método f2b de la clase D necesita......
Si el código esta mas o menos estructurado (y no es un spagetti por supuesto), esa es la lógica que uno busca, con las debidas excepciones de cuando se tienen que ejecutar instancias remotas y/o usando Interfaces en vez de clases directas.
Una de las cosas que tienen de bueno los entornos RAD como Delphi y .NET (WebForms y Winforms) es que brindan un mecanismo comprensible para empezar a depurar, sabes el control y quieres ver que hace, pues entonces... a ver los eventos vinculados y de ahi para adelante, de capa en capa. Quienes hemos trabajado con ASP Clasico recordamos la pesadilla que eran los puntos de entrada de las paginas, revisando todas las posibles combinaciones de parametros que venia en el Request razon por la que la introducción de WebForms fue la respuesta a nuestros problemas, y para mi lo sigue siendo.
Pero la evolución del desarrollo de software es imparable, y asi hemos visto como han surgido tendencias que han procurado añadir valor a nuestros ciclos de desarrollo como: WebServices, Refactorizacion, SOA y varios intentos de mecanismos para construir una arquitectura distribuida: DCOM, COM+, .Net Remoting, WCF....
Pero al margen de como vayan evolucionando las tendencias, una cosa que siempre procuro en mis desarrollos, es dejar el camino mas o menos despejado para que el que venga luego pueda entender el código que esta leyendo, procurando tener las inevitables sofisticaciones bajo control. Teniendo esto en cuenta... cabe preguntarse si tendencias como el "desacoplamiento" y la necesidad de "pruebas unitarias" facilitan o no la vida del que luego tiene que enfrentarse a mantener tu código, pero ese análisis lo dejo para un posterior post.
De momento quiero dejar la reflexión de que a veces estamos tentados a emplear unos patrones novedosos, potentes, pero... también debemos pensar que no todos los desarrolladores siempre desarrollan desde cero, que se llega a proyectos ya empezados, a código terminado en producción que hay que mantener, y que no hay que complicarle la vida en aras de lucirte con lo mas novedoso en metodologias y arquitecturas si es que no es de veras necesario, ya que estas no solo deben prometerte mas facilidades para ti, si no para el que luego tendra que mantener tu codigo.
(*)Aunque alguna vez no contamos ni siquiera con el código fuente, como me paso en un cliente hace 3 años, por lo que toca ver si podemos desensamblar el código, pero eso ya es otra historia y mas bien un extremo de irresponsabilidad por parte del cliente.
miércoles, 10 de febrero de 2010
by Ernesto
Pues justo ahora que comentaba sobre si al final Google lograria que Internet Explorer desaparezca, leo esta nota en Slashdot:
"Following Google's announcement ending support for Internet Explorer 6, I find myself wondering whether we (Web developers) really need to continue providing support for IE6 and IE7. Especially when creating Web sites intended for technical audiences, wouldn't it be best to end support for obsoleted browsers? Would this not provide additional incentives to upgrade? Recently I and my colleagues had to decide whether it was worth our time to try to support anything before IE8, and in the end we decided to redirect any IE6/7 user-agent to a separate page explaining that the site is not accessible with IE 6 or 7. This was easy once we saw from our analytics that fewer than 5% of visitors to the site were using IE at all. Have you had to make a choice like this? If so, what was your decision and what was the reasoning behind it?"
En resumidas cuentas, se cuestionan si en estos tiempos los desarrolladores de Web deberían seguir dando soporte a browsers obsoletos, siendo que era mejor redireccionar a los usuarios a una advertencia diciendo que el sitio no era accesible en IE 6 o 7, lo cual fue fácil ya que menos del 5% de los usuarios usaban IE.
Razonamiento simple ¿verdad? es mas, yo lo seguiría en la mayoría de los casos en que tuviera un site abierto, dedicado al publico masivo, pues me interesaría contar con elementos actuales que faciliten la programación de una mejor experiencia de usuario, pero......
Hay veces en que la disponibilidad y usabilidad de tu site estan definidas por un contrato, y este contrato no es con un usuario final individual sino con una institucion (ya sea publica o privada), por lo que si luego de una pequeña modificación en una pagina, te llama un cliente quejándose de que no le funciona la Web usando IE 6 (o IE5) no tienes sino que revisar y hacer que la aplicación vuelva a funcionar. Es por esa razon que antes de hacer un pase a producción de un cambio de plataforma (sin cambiar contenido) tuve que dedicar un buen rato a levantar Maquinas Virtuales(*) a fin de comprobar que el site seguia operativo en plataformas "antiguas".
En circunstancias como esta ¿Que queda por hacer?, todo depende, lo mas seguro es avisar con unos cuantos meses de anticipación (seguramente mas de los que ha dado Google) de que llegada cierta fecha no se dara soporte a ciertos browsers, o de ser el caso esperar la siguiente renovación de contrato para introducir dicha condicion.
El punto es, que si bien lograr el cambio es difícil, las empresas que se encuentran en una situación como la descrita pueden ser los mejores agentes para lograr el abandono de IE6, mas aun que Google, ya que si una organización sigue usando internamente un browser obsoleto, el que venga una orden "de arriba" indicando que hay que hacer el cambio sera mucho mas efectivo que un empleado normalito quejándose que no le funciona el Gmail. Aunque claro, esto traera el efecto colateral (positivo) de que esta empresa cliente también deba actualizar sus webs.
Actualizacion 21-2-2010 Gracias a Slashdot he encontrado este interesante articulo donde se investigan las razones por las que las empresas aun siguen sin actualizar sus browsers, es que ... ¡simplemente no actualizan nada! (ademas de otras interesantes razones que invito a leer).
(*) Esto porque IE ha mantenido la política de no permitir mas de una versión en un mismo equipo, y que por ejemplo no puedes instalar IE4 en XP, o IE6 en Vista.
"Following Google's announcement ending support for Internet Explorer 6, I find myself wondering whether we (Web developers) really need to continue providing support for IE6 and IE7. Especially when creating Web sites intended for technical audiences, wouldn't it be best to end support for obsoleted browsers? Would this not provide additional incentives to upgrade? Recently I and my colleagues had to decide whether it was worth our time to try to support anything before IE8, and in the end we decided to redirect any IE6/7 user-agent to a separate page explaining that the site is not accessible with IE 6 or 7. This was easy once we saw from our analytics that fewer than 5% of visitors to the site were using IE at all. Have you had to make a choice like this? If so, what was your decision and what was the reasoning behind it?"
En resumidas cuentas, se cuestionan si en estos tiempos los desarrolladores de Web deberían seguir dando soporte a browsers obsoletos, siendo que era mejor redireccionar a los usuarios a una advertencia diciendo que el sitio no era accesible en IE 6 o 7, lo cual fue fácil ya que menos del 5% de los usuarios usaban IE.
Razonamiento simple ¿verdad? es mas, yo lo seguiría en la mayoría de los casos en que tuviera un site abierto, dedicado al publico masivo, pues me interesaría contar con elementos actuales que faciliten la programación de una mejor experiencia de usuario, pero......
Hay veces en que la disponibilidad y usabilidad de tu site estan definidas por un contrato, y este contrato no es con un usuario final individual sino con una institucion (ya sea publica o privada), por lo que si luego de una pequeña modificación en una pagina, te llama un cliente quejándose de que no le funciona la Web usando IE 6 (o IE5) no tienes sino que revisar y hacer que la aplicación vuelva a funcionar. Es por esa razon que antes de hacer un pase a producción de un cambio de plataforma (sin cambiar contenido) tuve que dedicar un buen rato a levantar Maquinas Virtuales(*) a fin de comprobar que el site seguia operativo en plataformas "antiguas".
En circunstancias como esta ¿Que queda por hacer?, todo depende, lo mas seguro es avisar con unos cuantos meses de anticipación (seguramente mas de los que ha dado Google) de que llegada cierta fecha no se dara soporte a ciertos browsers, o de ser el caso esperar la siguiente renovación de contrato para introducir dicha condicion.
El punto es, que si bien lograr el cambio es difícil, las empresas que se encuentran en una situación como la descrita pueden ser los mejores agentes para lograr el abandono de IE6, mas aun que Google, ya que si una organización sigue usando internamente un browser obsoleto, el que venga una orden "de arriba" indicando que hay que hacer el cambio sera mucho mas efectivo que un empleado normalito quejándose que no le funciona el Gmail. Aunque claro, esto traera el efecto colateral (positivo) de que esta empresa cliente también deba actualizar sus webs.
Actualizacion 21-2-2010 Gracias a Slashdot he encontrado este interesante articulo donde se investigan las razones por las que las empresas aun siguen sin actualizar sus browsers, es que ... ¡simplemente no actualizan nada! (ademas de otras interesantes razones que invito a leer).
(*) Esto porque IE ha mantenido la política de no permitir mas de una versión en un mismo equipo, y que por ejemplo no puedes instalar IE4 en XP, o IE6 en Vista.
lunes, 8 de febrero de 2010
by Ernesto
En realidad es un tema que ya habia estado dando vueltas desde hace rato, y volvió a tomar relevancia cuando Microsoft empezo a pedir a sus usuarios que actualicen a Internet Explorer 6.
La verdad es que la posicion de Microsoft es algo complicada, ellos estan obligados por su propio contrato a dar soporte a los elementos con los que vino instalado Windows XP (alla por el 2001), siendo que Internet Explorer es parte de esa instalación, es mas ya sea que uno instale XP SP3, o aplique SP3 sobre una instalación ya existente, el browser instalado (a menos que uno lo cambie manualmente) es Internet Explorer 6.
Bueno, Microsoft ha hecho algunas cosas sutiles para ir conduciendo a los usuarios a que vayan actualizando su browser, asi, si bien los contenidos generados por un servidor MOSS pueden ser vistos en IE 6, para poder administrar el servidor se necesita IE 7 o superior, no es mucho pero algo es algo.
Y la verdad es que esa migración no se producirá a menos que los usuarios estén convencidos de ello o no les quede mas remedio so pena de no poder seguir trabajando o realizar cosas que les sean de veras importantes, por lo que la idea de que los blogs tengan un plugin que malogre la experiencia de navegación en IE6 a efectos prácticos no paso de una anécdota.
Pero la cosa cambia cuando Google anuncia que dejara dar soporte para IE6 (osea que practicamente dejaran de funcionar) en aplicaciones como Google Docs primero y Gmail luego, movimiento sin lugar a dudas de veras desequilibrante teniendo en cuenta la popularidad de la plataforma de correo de Google.
Asi pues, dada la ubicuidad de Google, se podria decir que el fin de Internet Explorer 6 en los escritorios esta cerca ¿ o no?, para estar seguros debemos analizar dos de los huesos mas duros de roer en cuanto a la actualizacion tecnologica:
Cabinas, Locutorios y Cibercafes Como comentaba hace unos meses estos negocios solo se mueven bajo la premisa de que las maquinas estén funcionando, instalan siempre un mismo patrón de aplicaciones, nunca corren el Windows Update, si entra virus, pues nada... a formatear y a seguir adelante, y claro si un usuario se quejo porque algun blog colgo el browser, dicha queja se solucionaba con un "cambiate de maquina", solucion que ahora ya no podra ser efectiva cuando el usuario no pueda entrar a ver su Gmail, asi que quieras que no el cabinero deberá establecer una nueva plataforma base para sus equipos so pena de que los usuarios se alejen de su local, y como el dinero manda, creo que en ese sector si veremos el cambio.
Empresas Lo mas complicado, una empresa de mediana tirando a grande tiene totalmente restringido lo que el usuario puede hacer (supongamos que le deja salir a Internet), siendo que en un temor de que nada "extraño" entre demoran infinitamente el despliegue de los Service Packs, no ejecutan el Windows Update, aun cuando el parche a desplegar sea muy critico, y por supuesto... solo usan un browser: Internet Explorer 6. Ya centrándonos en el browser, las razones son diversas: tener equipos homogéneos para que sea mas sencillo dar soporte (plan que se va al carajo cuando los gerentes empiezan a estrenar modernisimas laptops con Vista entonces y con Windows 7 ahora), y la mas común y mas valida, garantizar la ejecución de aplicaciones diseñadas cuando IE6 era standard de facto, ya que a menos que se este planeando hacer una migración del parque de aplicaciones Web, la organización debe velar para que lo que funcionaba entonces siga funcionando ahora, y créanme, muchas aplicaciones complejas pueden simplemente empezar a fallar si no se las usa en el browser correcto, y el tiempo de parchado ... cuesta. Así que en ese sentido no creo que un administrador de red este por la labor de ayudar cuando una secretaria se queje de que su Gmail ha dejado de funcionar.
Así pues, la amenaza de Google significara un avance, pero creo que el mayor avance se dará cuando las empresas terminen de evaluar a Windows 7 y decidan hacer un despliegue general, circunstancia en la que los parchados (o migración integral) de las Aplicaciones Web existentes tendrán que hacerse si o si, o si no educar a los usuarios en el modo de Compatibilidad de Explorer 8.
Ya sea por una razón u otra, a ver si terminamos de sacar a IE6 de nuestros equipos, las versiones anteriores de IE y Netscape entraban y salían de nuestros equipos muy rápido, en cambio IE6... esta siendo mas persistente que lo esperado.
CNET: Microsoft actively urges IE 6 users to upgrade
La verdad es que la posicion de Microsoft es algo complicada, ellos estan obligados por su propio contrato a dar soporte a los elementos con los que vino instalado Windows XP (alla por el 2001), siendo que Internet Explorer es parte de esa instalación, es mas ya sea que uno instale XP SP3, o aplique SP3 sobre una instalación ya existente, el browser instalado (a menos que uno lo cambie manualmente) es Internet Explorer 6.Bueno, Microsoft ha hecho algunas cosas sutiles para ir conduciendo a los usuarios a que vayan actualizando su browser, asi, si bien los contenidos generados por un servidor MOSS pueden ser vistos en IE 6, para poder administrar el servidor se necesita IE 7 o superior, no es mucho pero algo es algo.
Y la verdad es que esa migración no se producirá a menos que los usuarios estén convencidos de ello o no les quede mas remedio so pena de no poder seguir trabajando o realizar cosas que les sean de veras importantes, por lo que la idea de que los blogs tengan un plugin que malogre la experiencia de navegación en IE6 a efectos prácticos no paso de una anécdota.
Pero la cosa cambia cuando Google anuncia que dejara dar soporte para IE6 (osea que practicamente dejaran de funcionar) en aplicaciones como Google Docs primero y Gmail luego, movimiento sin lugar a dudas de veras desequilibrante teniendo en cuenta la popularidad de la plataforma de correo de Google.Asi pues, dada la ubicuidad de Google, se podria decir que el fin de Internet Explorer 6 en los escritorios esta cerca ¿ o no?, para estar seguros debemos analizar dos de los huesos mas duros de roer en cuanto a la actualizacion tecnologica:
Cabinas, Locutorios y Cibercafes Como comentaba hace unos meses estos negocios solo se mueven bajo la premisa de que las maquinas estén funcionando, instalan siempre un mismo patrón de aplicaciones, nunca corren el Windows Update, si entra virus, pues nada... a formatear y a seguir adelante, y claro si un usuario se quejo porque algun blog colgo el browser, dicha queja se solucionaba con un "cambiate de maquina", solucion que ahora ya no podra ser efectiva cuando el usuario no pueda entrar a ver su Gmail, asi que quieras que no el cabinero deberá establecer una nueva plataforma base para sus equipos so pena de que los usuarios se alejen de su local, y como el dinero manda, creo que en ese sector si veremos el cambio.
Empresas Lo mas complicado, una empresa de mediana tirando a grande tiene totalmente restringido lo que el usuario puede hacer (supongamos que le deja salir a Internet), siendo que en un temor de que nada "extraño" entre demoran infinitamente el despliegue de los Service Packs, no ejecutan el Windows Update, aun cuando el parche a desplegar sea muy critico, y por supuesto... solo usan un browser: Internet Explorer 6. Ya centrándonos en el browser, las razones son diversas: tener equipos homogéneos para que sea mas sencillo dar soporte (plan que se va al carajo cuando los gerentes empiezan a estrenar modernisimas laptops con Vista entonces y con Windows 7 ahora), y la mas común y mas valida, garantizar la ejecución de aplicaciones diseñadas cuando IE6 era standard de facto, ya que a menos que se este planeando hacer una migración del parque de aplicaciones Web, la organización debe velar para que lo que funcionaba entonces siga funcionando ahora, y créanme, muchas aplicaciones complejas pueden simplemente empezar a fallar si no se las usa en el browser correcto, y el tiempo de parchado ... cuesta. Así que en ese sentido no creo que un administrador de red este por la labor de ayudar cuando una secretaria se queje de que su Gmail ha dejado de funcionar.
Así pues, la amenaza de Google significara un avance, pero creo que el mayor avance se dará cuando las empresas terminen de evaluar a Windows 7 y decidan hacer un despliegue general, circunstancia en la que los parchados (o migración integral) de las Aplicaciones Web existentes tendrán que hacerse si o si, o si no educar a los usuarios en el modo de Compatibilidad de Explorer 8.
Ya sea por una razón u otra, a ver si terminamos de sacar a IE6 de nuestros equipos, las versiones anteriores de IE y Netscape entraban y salían de nuestros equipos muy rápido, en cambio IE6... esta siendo mas persistente que lo esperado.
CNET: Microsoft actively urges IE 6 users to upgrade
miércoles, 3 de febrero de 2010
by Ernesto
Todo empezó esta mañana cuando veo un twit de seniormanager donde decia: Se debate mucho sobre nativos e inmigrantes digitales. Cuando habría que centrarse en los "vírgenes" digitales que son la mayoría, y claro inevitablemente me puse a pensar en mi propio padre, el cual por su trabajo, para todo el día con el celular, pero no se sienta frente a una computadora pues "la maquina no me domina, yo la domino" y así, siendo que la mayoria de sus colaboradores si que se conectan a Internet y todo eso, pero el no, a pesar de que fue él quien me compro (y con quien fui a comprar) mi primera computadora (286, 25Mhz, 1MB) hace 18 años.
Pues si, la reflexión planteada por seniormanager no deja de tener sentido, al margen de que hay adolescentes con los dedos sobreentrenados para mandarse mensajes, así como ejecutivos que les ha costado pelearse con el Outlook y navegar por Internet, el caso es que una vez dado el primer paso, la interacción con los recursos disponibles en estos tiempos cae por su propio peso, y de acuerdo a como te mueve tu propia curiosidad, recuerdo que fue un usuario (cuando trabajaba en un CPI alla por 1997) quien me explico como funcionaban los newsgroups, y este usuario era un respetable medico de 60 y pocos al cual no le llamarías nativo digital, pero si que lo era, era mucho mas curioso para ver lo que había que nosotros mismos, supuestos tecnologos.
Establecido esto, queda efectivamente ver lo que se debe de hacer con los "virgenes digitales", dejando de lado temporalmente a quienes no lo pueden por razones economicas(*), toca enfocarnos en quienes el temor ante lo desconocido surge como principal barrera para acceder ya sea a una computadora, navegar por internet o un smartphone.
El problema fundamental es como los paradigmas de interfaz de usuario no han sido "naturales" desde sus inicios, recordemos las pantallas verdes, el DOS, o los primeros SO con interfaz gráfica como Mac OS o Windows, que si... ¡que el raton tampoco es un paradigma natural! ayuda, pero no es natural como indican las referencias de los profesores de informáticas para mayores, quienes cuentan que algunos elevaban el ratón a la altura del monitor, pues era lo que aprecia mas lógico.
¿Y las aplicaciones? pues mucho juegan en ese sentido como podemos verlo en el grafico (que vi gracias a ALT1040) al costado, lamentablemente como desarrolladores a veces hemos pecado en seguir demasiado fielmente el paradigma del textbox, combo y lista, sin pensar si corresponde o no a la necesidad del publico que queríamos que use nuestra aplicación, pero al final creo que se esta viendo la luz al final del tunel, hay un buen numero de aplicaciones que se están desarrollando con nuevos paradigmas de interfaz de usuario (como pude verlo en el Remix) así como con las tecnologías que facilitan dicho desarrollo: Silverlight, iPhone, WPF....
Así que ahí va la respuesta a la pregunta inicial, simplemente desarrollar mas y mas productos y/o aplicaciones con interfaces de usuario mas naturales y de facil acceso, ofrecerles dispositivos mas amigables que la tradicional computadora o laptop, de hecho, la primera idea que se me ocurrió es que mi padre debería tener un smartphone con conexión a Internet como punto de partida, ya que seria como una evolución de algo que si que usa.
Hace tiempo Bill Gates hablaba de "information at your fingertips", personalmente creo que recien con los nuevos terminales pequeños se esta logrando esa idea, asi pues.. ¿que mas simple para alguien que ya sabe usar un movil que ver el listado de las noticias del dia en su telefono? La facilidad para disponer de la informacion, rompe la primera barrera de temor del usuario.
Nuestro reto es entender como cambian los modelos de UI y pensar en las mejores formas para valernos de las nuevas tecnologías para brindar soluciones que la gente se sienta cómoda al usar.
(*)Para este sector cobra mucho sentido iniciativas como la Wikipedia offline.
Pues si, la reflexión planteada por seniormanager no deja de tener sentido, al margen de que hay adolescentes con los dedos sobreentrenados para mandarse mensajes, así como ejecutivos que les ha costado pelearse con el Outlook y navegar por Internet, el caso es que una vez dado el primer paso, la interacción con los recursos disponibles en estos tiempos cae por su propio peso, y de acuerdo a como te mueve tu propia curiosidad, recuerdo que fue un usuario (cuando trabajaba en un CPI alla por 1997) quien me explico como funcionaban los newsgroups, y este usuario era un respetable medico de 60 y pocos al cual no le llamarías nativo digital, pero si que lo era, era mucho mas curioso para ver lo que había que nosotros mismos, supuestos tecnologos.
Establecido esto, queda efectivamente ver lo que se debe de hacer con los "virgenes digitales", dejando de lado temporalmente a quienes no lo pueden por razones economicas(*), toca enfocarnos en quienes el temor ante lo desconocido surge como principal barrera para acceder ya sea a una computadora, navegar por internet o un smartphone.
El problema fundamental es como los paradigmas de interfaz de usuario no han sido "naturales" desde sus inicios, recordemos las pantallas verdes, el DOS, o los primeros SO con interfaz gráfica como Mac OS o Windows, que si... ¡que el raton tampoco es un paradigma natural! ayuda, pero no es natural como indican las referencias de los profesores de informáticas para mayores, quienes cuentan que algunos elevaban el ratón a la altura del monitor, pues era lo que aprecia mas lógico.
¿Y las aplicaciones? pues mucho juegan en ese sentido como podemos verlo en el grafico (que vi gracias a ALT1040) al costado, lamentablemente como desarrolladores a veces hemos pecado en seguir demasiado fielmente el paradigma del textbox, combo y lista, sin pensar si corresponde o no a la necesidad del publico que queríamos que use nuestra aplicación, pero al final creo que se esta viendo la luz al final del tunel, hay un buen numero de aplicaciones que se están desarrollando con nuevos paradigmas de interfaz de usuario (como pude verlo en el Remix) así como con las tecnologías que facilitan dicho desarrollo: Silverlight, iPhone, WPF....Así que ahí va la respuesta a la pregunta inicial, simplemente desarrollar mas y mas productos y/o aplicaciones con interfaces de usuario mas naturales y de facil acceso, ofrecerles dispositivos mas amigables que la tradicional computadora o laptop, de hecho, la primera idea que se me ocurrió es que mi padre debería tener un smartphone con conexión a Internet como punto de partida, ya que seria como una evolución de algo que si que usa.
Hace tiempo Bill Gates hablaba de "information at your fingertips", personalmente creo que recien con los nuevos terminales pequeños se esta logrando esa idea, asi pues.. ¿que mas simple para alguien que ya sabe usar un movil que ver el listado de las noticias del dia en su telefono? La facilidad para disponer de la informacion, rompe la primera barrera de temor del usuario.
Nuestro reto es entender como cambian los modelos de UI y pensar en las mejores formas para valernos de las nuevas tecnologías para brindar soluciones que la gente se sienta cómoda al usar.
(*)Para este sector cobra mucho sentido iniciativas como la Wikipedia offline.
viernes, 29 de enero de 2010
by Ernesto
Si, ya se que es el trend del momento, y que he escrito alguna que otra cosita a proposito de Apple, pero bueno, dentro de todo el aluvion de criticas y sorpresas, prefiero separar la paja del trigo.

Muchas de las quejas relativas a sus dimensiones, marco negro, conectividad, espacio de almacenamiento, luminosidad, etc etc, a efectos prácticos son irrelevantes (o en todo caso mejorables en una nueva versión) para el exito del producto, como lo fue la carencia de radio FM durante varios años, no, Apple no esta orientado a los criticos tecnologos, sino al usuario final que busca una mejor experiencia con el gadget de turno, y es por ahí por donde quiero empezar.
- Flash, se indica que el iPad no tendrá soporte para Flash (lo que no le ha gustado mucho a los de Adobe), como tampoco lo han tenido los iPhone, circunstancia que si bien es solo un inconveniente menor, en el iPad ya podría ser muy critica y decepcionante ¿Por que? Simple, al final quien navega desde un smartphone por lo general lo hace hacia versiones de Webs que ya están preparadas para navegación en estos dispositivos, lo cual incluye otras dimensiones y generalmente no incluir a Flash; ahora bien las dimensiones del iPad en teoría deberían permitir una navegación cómoda por Webs "normales", pero oh sorpresa.... al entrar a estas paginas uno "disfrutaras" de una funcionalidad o estética limitada. Igual la apuesta de Apple va por el HTML5, y les funciona, pero de momento ya le estas capando la web a los usuarios.
- App Store, el éxito que ha tenido el modelo seguido en el iPhone ha hecho que Apple haya decidido no usar su OSX, sino una variante del sistema operativo del iPhone, lo cual entre otras cosas mantiene el modelo cerrado para el uso de aplicaciones de terceros: solo puedes correr aplicaciones aprobadas por Apple (disponibles desde su App Store) lo cual reduce muchísimo la potencialidad de uso del dispositivo, ya que de esta manera una empresa que cree que podría crear una aplicación de uso interno con el iPod, estaría obligada a registrarla y validarla ante Apple, vamos, ni los mayores Microsoft-haters podran decir que lo mismo de Windows.
Asi que, si bien no creo que sea un fracaso ni mucho menos, es muy probable que la iPad no gozara de un arranque de expectativas de compra como el que tuvo la iPod en su momento.
Apple iPad: Cue the haters
ALT1040: Por que no comprare un iPad (muy recomendable)

Muchas de las quejas relativas a sus dimensiones, marco negro, conectividad, espacio de almacenamiento, luminosidad, etc etc, a efectos prácticos son irrelevantes (o en todo caso mejorables en una nueva versión) para el exito del producto, como lo fue la carencia de radio FM durante varios años, no, Apple no esta orientado a los criticos tecnologos, sino al usuario final que busca una mejor experiencia con el gadget de turno, y es por ahí por donde quiero empezar.
- Flash, se indica que el iPad no tendrá soporte para Flash (lo que no le ha gustado mucho a los de Adobe), como tampoco lo han tenido los iPhone, circunstancia que si bien es solo un inconveniente menor, en el iPad ya podría ser muy critica y decepcionante ¿Por que? Simple, al final quien navega desde un smartphone por lo general lo hace hacia versiones de Webs que ya están preparadas para navegación en estos dispositivos, lo cual incluye otras dimensiones y generalmente no incluir a Flash; ahora bien las dimensiones del iPad en teoría deberían permitir una navegación cómoda por Webs "normales", pero oh sorpresa.... al entrar a estas paginas uno "disfrutaras" de una funcionalidad o estética limitada. Igual la apuesta de Apple va por el HTML5, y les funciona, pero de momento ya le estas capando la web a los usuarios.
- App Store, el éxito que ha tenido el modelo seguido en el iPhone ha hecho que Apple haya decidido no usar su OSX, sino una variante del sistema operativo del iPhone, lo cual entre otras cosas mantiene el modelo cerrado para el uso de aplicaciones de terceros: solo puedes correr aplicaciones aprobadas por Apple (disponibles desde su App Store) lo cual reduce muchísimo la potencialidad de uso del dispositivo, ya que de esta manera una empresa que cree que podría crear una aplicación de uso interno con el iPod, estaría obligada a registrarla y validarla ante Apple, vamos, ni los mayores Microsoft-haters podran decir que lo mismo de Windows.
Asi que, si bien no creo que sea un fracaso ni mucho menos, es muy probable que la iPad no gozara de un arranque de expectativas de compra como el que tuvo la iPod en su momento.
Apple iPad: Cue the haters
ALT1040: Por que no comprare un iPad (muy recomendable)
lunes, 18 de enero de 2010
by Ernesto
Hace muy poco me reuní con un amigo y nos pusimos al día en diversos temas y como no puede ser otro, en el tema laboral, de entre los cuales surgió una anécdota que tratare de repetir mientras aun esta fresca.
Resulta que este amigo tuvo a cargo a un colaborador al que llamaremos Fulanito, pues bien resulta que Fulanito tenia la carrera superior (5 años en contraste con la técnica) y venia con un perfil de experto en la tecnología usada, amen de dar una confianza en lo que sabia. Mi amigo decidió (por razones de agenda) asignarle un modulo no muy critico en tiempo pero si importante en funcionalidad, confiando en que los conocimientos de Fulanito serian suficientes para que saque adelante el requerimiento.
Resultado... cuando toco el plazo Fulanito no había avanzado casi nada, no dominaba realmente la tecnología ni se había buscado la vida para lograr sacar adelante el encargo, decepción total. Luego mi amigo supo que el episodio se había repetido alguna vez en otra división a la cual Fulanito fue asignado, y de ahí le perdieron el rastro... hasta hace poco, cuando se vienen a enterar que Fulanito ya era Jefe de Proyecto, por lo que en el equipo de mi amigo se preguntaron "¿que? ¿osea que hay que ser un inútil en esta empresa para que te asciendan?".
Creo que con variantes en esta carrera, todos nos hemos encontrado con el perfil de gente con poca experiencia en la trincheras de código que termina ascendiendo profesionalmente, lo cual generalmente se debe a que uno "sabe venderse muy bien" o por la sencilla razón de de plegarse mejor a las instancias de poder organizacional.
Es lógico que para dirigir equipos se requieren habilidades adicionales a las de un tecnologo puro, así como que se puede perder a un excelente programador y ganar un mal jefe, pero tampoco se debe proceder de una manera que transmita la idea de que se premia al inútil y que el empeño por mejorar técnicamente no conduce a mejoras, percibiendose que solo se asciende si se va por el camino administrativo; así que el premiar esta clase de perfiles y no mirar mas allá de la imagen que transmite "el que sabe venderse" puede perjudicar seriamente a la organización, especialmente a la moral del personal.
Es que claro, a veces a los tecnologos se nos considera algo que funciona por si solo, cayéndose en la idea de que no es conveniente darles formación so riesgo de irse de la organización, siendo al revés: el que se va ya quería irse antes de la formación, y muy probablemente por comportamientos organizacionales como el descrito.
Muchas veces se nos reprocha el ser introvertidos y no marketearnos bien, y si bien hay algo cierto de eso, no es menos cierto que es fatal para una organización el que por no mirar mas allá quienes asciendan sean los vendedores de humo y no el que tiene habilidades reales.
Resulta que este amigo tuvo a cargo a un colaborador al que llamaremos Fulanito, pues bien resulta que Fulanito tenia la carrera superior (5 años en contraste con la técnica) y venia con un perfil de experto en la tecnología usada, amen de dar una confianza en lo que sabia. Mi amigo decidió (por razones de agenda) asignarle un modulo no muy critico en tiempo pero si importante en funcionalidad, confiando en que los conocimientos de Fulanito serian suficientes para que saque adelante el requerimiento.
Resultado... cuando toco el plazo Fulanito no había avanzado casi nada, no dominaba realmente la tecnología ni se había buscado la vida para lograr sacar adelante el encargo, decepción total. Luego mi amigo supo que el episodio se había repetido alguna vez en otra división a la cual Fulanito fue asignado, y de ahí le perdieron el rastro... hasta hace poco, cuando se vienen a enterar que Fulanito ya era Jefe de Proyecto, por lo que en el equipo de mi amigo se preguntaron "¿que? ¿osea que hay que ser un inútil en esta empresa para que te asciendan?".
Creo que con variantes en esta carrera, todos nos hemos encontrado con el perfil de gente con poca experiencia en la trincheras de código que termina ascendiendo profesionalmente, lo cual generalmente se debe a que uno "sabe venderse muy bien" o por la sencilla razón de de plegarse mejor a las instancias de poder organizacional.
Es lógico que para dirigir equipos se requieren habilidades adicionales a las de un tecnologo puro, así como que se puede perder a un excelente programador y ganar un mal jefe, pero tampoco se debe proceder de una manera que transmita la idea de que se premia al inútil y que el empeño por mejorar técnicamente no conduce a mejoras, percibiendose que solo se asciende si se va por el camino administrativo; así que el premiar esta clase de perfiles y no mirar mas allá de la imagen que transmite "el que sabe venderse" puede perjudicar seriamente a la organización, especialmente a la moral del personal.
Es que claro, a veces a los tecnologos se nos considera algo que funciona por si solo, cayéndose en la idea de que no es conveniente darles formación so riesgo de irse de la organización, siendo al revés: el que se va ya quería irse antes de la formación, y muy probablemente por comportamientos organizacionales como el descrito.
Muchas veces se nos reprocha el ser introvertidos y no marketearnos bien, y si bien hay algo cierto de eso, no es menos cierto que es fatal para una organización el que por no mirar mas allá quienes asciendan sean los vendedores de humo y no el que tiene habilidades reales.
Categories
- .NET (11)
- 24 horas (1)
- 3G (1)
- 4B (1)
- abogados (1)
- aburrimiento (1)
- Adlo (1)
- ADSL (2)
- AEAT (1)
- Agile (6)
- Agile Open Lima (1)
- Air Plus Comet (1)
- AJAX (1)
- All Music Guide (2)
- ALM (4)
- Altavista (1)
- alumni (1)
- AMG (1)
- Aplicaciones Web (7)
- apple (6)
- Argentina (1)
- ASP.NET (2)
- Azure (1)
- Bancos (3)
- Bancoval (1)
- banda ancha (3)
- bases de datos (2)
- batch (1)
- BEA (1)
- Betamax (1)
- Bill Gates (2)
- blackberry (1)
- bloggers (1)
- blogs (1)
- Blogs y Bloggers (5)
- BlogsPeru (2)
- bloqueo (1)
- Blu-Ray (1)
- brecha digital (2)
- browsers (10)
- buscadores (1)
- Bush (1)
- C# (2)
- cabeceo (1)
- cabinas (1)
- calidad (1)
- call center (1)
- capital de riesgo (1)
- career manager (1)
- Carlos Slim (1)
- celular (1)
- censura (1)
- certificacion (3)
- certification (1)
- China (1)
- chips (1)
- Chrome (7)
- Chromium (1)
- cibercultura (1)
- Claro (1)
- CMS (1)
- Cobol (3)
- codigo (1)
- college (1)
- comercio electronico (1)
- comparativa (1)
- competitividad (1)
- computacion (1)
- comunidades (2)
- Conan O'Brien (1)
- conectividad (2)
- conferencia anual (1)
- consultoria (2)
- contenidos (1)
- convergencia (1)
- correo Peru (1)
- CPI (1)
- credibilidad (1)
- crisis (2)
- CRM (4)
- cubiculos (1)
- Cuil (1)
- Damian Voltes (1)
- David Konzevik (1)
- Dell (1)
- Delphi (2)
- demandas (1)
- derecho (1)
- desarrolladores (4)
- Dexia (1)
- dicain (1)
- direccion de sistemas (1)
- dirinfo (1)
- diseño web (3)
- Disk2VHD (1)
- document.all (1)
- domimio (1)
- dominio (1)
- dominios (1)
- dotcom (1)
- educacion (2)
- El Bruno (1)
- El Comercio (2)
- emprendimientos (1)
- encarte (1)
- Enrique Dans (1)
- Entity Framework (1)
- ERP (1)
- errores (2)
- escasez (1)
- estilos (1)
- eula (1)
- examenes (1)
- Facebook (6)
- Federico Salazar (1)
- Feynman (2)
- Firefox (6)
- firefox3.5 (1)
- FNMT (1)
- Fon (3)
- foneras gratis (1)
- fotografia digital (2)
- fusion (2)
- gadgets (1)
- Genaro Delgado (1)
- General Motors (1)
- Georgeo Pulikkathara (1)
- Git (3)
- Gmail (1)
- GoLive (1)
- Google (14)
- graficos (2)
- Guillermo Giacosa (1)
- hackers (1)
- HD-DVD (1)
- hi5 (5)
- Hotbot (2)
- HP (1)
- HSDPA (1)
- HTML (2)
- Hudson (1)
- IBM (1)
- ICANN (1)
- IEEE (1)
- impuestos (1)
- Infoseek (2)
- ingenieria informatica (1)
- innovacion (4)
- Instituto de Empresa (2)
- Intel (1)
- Internet (5)
- Internet Explorer (7)
- Inventarte (1)
- inyeccion de dependencias (1)
- IoC (1)
- iPad (1)
- iphone (3)
- iPod (3)
- irfanview (2)
- Jaime Lertora (1)
- Java (3)
- JavaScript (2)
- Jazztel (4)
- juegos olimpicos (1)
- Kanban (3)
- Kane Kramer (1)
- Kodak (1)
- Larry Ellison (1)
- latinoamerica (1)
- legados (1)
- Leonard Hofstadter (1)
- licencias (1)
- LINQ to SQL (2)
- Linux (2)
- Live (1)
- locutorios (1)
- Lycos (1)
- Magnolia (1)
- mainframes (4)
- Manning (1)
- Maquinas virtuales (1)
- marca (2)
- marketing (4)
- Martin Varsavsky (5)
- matematicas (1)
- mcpd (3)
- mcsd (1)
- Media Player (3)
- medios (2)
- mentor (1)
- metodologias. (2)
- microelectronica (1)
- Microsoft (29)
- Microsoft Expression (1)
- migración (2)
- Mobuzz (1)
- monopolio (2)
- morfeo (1)
- movil (1)
- mozilla hispano (1)
- mozilla-europe (1)
- mp3 (2)
- MSBuil (1)
- MSDN (2)
- MSN (1)
- MUG (1)
- MUGPeru (1)
- myspace (3)
- napster (1)
- Natal (1)
- navegadores (1)
- negocios (2)
- netbooks (1)
- Nokia (1)
- NuGet (1)
- Obama (1)
- obsolescencia (6)
- ocram (1)
- Office (1)
- ofimatica (1)
- open source (1)
- Openbank (1)
- Oracle (2)
- outsorcing (1)
- PADRE (1)
- paint (2)
- Panamerica Television (1)
- Pantel (1)
- papa upa (1)
- Parablogs (2)
- patrones (2)
- pekin (1)
- pelicula (1)
- pelotazo (1)
- performance (1)
- periodismo (1)
- Peru.21 (3)
- perublogs (2)
- PHP (1)
- Polonia (1)
- prensa escrita (1)
- privacidad (2)
- problemas de conexion (1)
- procesos por lotes (1)
- programacion (2)
- Prometric (2)
- propiedad intelectual (2)
- proyectos (6)
- publicidad (2)
- pucp (3)
- puntocom (1)
- racismo (1)
- radio (1)
- RCP (1)
- recordacion (2)
- redes sociales (6)
- Remix (1)
- renta (1)
- rentabilidad (2)
- sandisk (1)
- Sansa View (1)
- SAP (1)
- satisfaccion (1)
- Scotiabank (1)
- Scrum (2)
- Service Pack 3 (1)
- servidor de aplicaciones (1)
- SharePoint (1)
- Sheldon Cooper (3)
- showModalWindow (2)
- Siebel (1)
- Silverlight (2)
- Simo (1)
- Sistemas operativos (3)
- sites (1)
- SketchFlow (1)
- smartphones (1)
- SOLID (3)
- sony (2)
- Spam (4)
- Speedy (1)
- SQL Server 2008 (2)
- standards (1)
- Star Office (1)
- startups (1)
- Steve Ballmer (1)
- Steve Jobs (2)
- Sudamericano (1)
- TCP/IP (1)
- TDD (1)
- TDT (1)
- Team Foundation Server (3)
- Team Foundation Service (3)
- telefonia celular (2)
- telefonia movil (2)
- Telefonica (2)
- telemarketing (1)
- Television (1)
- TFS (2)
- The Big Bang Theory (2)
- Toshiba (1)
- Trabajo basura (1)
- trabajobasura.com (1)
- transacciones (1)
- Tuenti (1)
- universidades (2)
- usabilidad (2)
- usuario (1)
- utero de marita (1)
- V8 (1)
- VHS (1)
- Vignette (1)
- virgenes digitales (1)
- Virtual PC (1)
- VirtualBox (1)
- Visual Basic (5)
- Visual Studio (3)
- Visual Studio Online (1)
- VivaAerobus (1)
- vodafone (1)
- VSO (1)
- VUE (2)
- Wamba (1)
- Web (13)
- WebCrawler (1)
- whitehouse.gov (1)
- Wiese (1)
- Wifi (2)
- Windows (2)
- Windows 7 (7)
- Windows 8 (1)
- Windows Vista (4)
- Word (2)
- WPF (1)
- XML (2)
- XP (3)
- XP Mode (1)
- Yahoo (1)
- YouTube (3)
About Me
- Ernesto
- Egresado de Ingenieria Informatica de la PUCP. Master en Direccion de Sistemas y Tecnologias de la Informacion por el Instituto de Empresa. MCSD,MCSD.NET.
Blog Archive
-
►
2009
(31)
- ► septiembre (5)
-
►
2008
(34)
- ► septiembre (5)
-
►
2007
(28)
- ► septiembre (3)
-
►
2006
(10)
- ► septiembre (1)
Marcianadas recomendables:
Aviso importante:
Followers
Copyright 2010 Consultor Internet
Website powered by Blogger and Tutorialicious wordpress theme designed by TopTut.com & TopWPThemes.com.
Blogger Templates by Blogger Template Place & One 4 All.
Website powered by Blogger and Tutorialicious wordpress theme designed by TopTut.com & TopWPThemes.com.
Blogger Templates by Blogger Template Place & One 4 All.