Archive for the ‘desarrollo web’ Category

Curso de desarrollo web con estándares

El sábado 17 de marzo arranca el curso de Desarrollo Web inicial que dicto en Gutenberg.

Cortito y al pie: el curso tiene como propósito introducir a quienes saben muy poco —o nada— a la magia de las tecnologías web. Aprenderán a hacer desarrollo web de calidad, desde las bases. La idea es hacer hincapié en los fundamentos que hacen a la práctica del desarrollo web: HTML, CSS y JavaScript. Es ahí, en los fundamentos, donde radica la verdadera importancia del conocimiento necesario para el desarrollo de sitios web y les permitirá la continuidad en el aprendizaje e investigación acerca del tema. Si quieren aprender en serio: vengan. Si quieren que les explique a utilizar dos o tres botones del Dreamweaver: no vengan (por favor).

¡Es uno de los mejores planes para sábados por la mañana! El curso se dicta —hace ya varios años— los sábados de 9 a 13 hs. y tiene una duración de 8 clases. Se puede pagar en un pago de $840, ó 2 cuotas de $470.

Para inscribirse o pedir mayor información, comunicarse con el área de Cursos de Gutenberg a: dircontinuos@fundaciongutenberg.edu.ar o al teléfono 4981-5389.

Salutes! Ahí nos vemos!

Charla: Videojuegos para la Web

Estaré dando una charla sobre Videojuegos para la Web en la Universidad de Palermo. La primera parte será el día Lunes 18 de abril, y la segunda se hará el lunes siguiente: 25 de abril: ambos encuentros ocurrirán a las 11.30 de la mañana, en la UP: Mario Bravo 1050.

[Ni que lo digan… no salí favorecido en la foto.]

¿Por qué una charla de videojuegos para la Web?

En el último tiempo ha habido una revalorización de los videojuegos simples, también llamados arcade, debido a su inclusión en sitios web y aplicaciones para dispositivos móviles.

En el encuentro se expondrá el proceso completo de programación de un videojuego arcade. La actividad implica una excusa sobre la cual trabajar, a modo introductorio, el paradigma de Programación Orientada a Objetos (OOP) y la metodología para encarar un proyecto de este género desde el punto de vista del desarrollo.

El proyecto se programará en lenguaje ActionScript3. No se requieren conocimientos previos siendo que el curso no hará especial hincapié en el lenguaje de programación, su sintaxis, o la Plataforma Flash. Daremos lugar a la experiencia de una propuesta metodológica que implica la solución de problemas paso a paso.

De nuevo… ¿Dónde y cuándo?

Lunes 18 y 25 de abril – 11.30 hs.
Mario Bravo 1050 – Universidad de Palermo.

El acceso a la charla es gratuito, pero hay que inscribirse.
Click aquí para inscribirse.

¿Libertad al usuario?

Todos recordamos este simpático speech de aquel pelilargo y pollerudo William Wallace clamando por la libertad del pueblo escocés. Freedooom! Freedooom!

En fin, a raíz del artículo ¿Tiene el usuario todo el control sobre la interfaz? que escribió nuestra amiga Verónica Traynor acerca de la libertad que se debe dar al usuario cuando se proyecta una interfaz, se me ocurren algunas ideas que intentaré listar a continuación.

De buenas a primeras, lo primero que me viene a la mente es «no»: un acto reflejo me dice que no es bueno darle absoluta libertad sobre una interfaz al usuario pero inmediatamente después siento una molestia, algo así como una picazón en el omóplato, y que tiene que ver con la maldita costumbre —que tenemos muchos— de construir generalizaciones, soluciones universales y respuestas todo-terreno que no hacen otra cosa que concentrarse en la cuestión formal (morphé) del problema, quitando importancia a su materia (hylé). Por lo tanto, si me permiten, haré una breve divergencia en mi relato acerca de la libertad del usuario y hablaré de esto otro, sólo por un ratito. Ya vuelvo.

La sobreestimación de lo formal

Hace ya varios meses que tengo esta picazón que comentaba. En principio, la molestia viene de situaciones como la siguiente: ocurren los hechos A y B, por ejemplo, y las personas se empujan y apuran a establecer una regla universal de lo que se debe hacer en dichos casos (A y B), pero también en todos los demás: el resto de los casos similares que hay en el universo, entonces…

  • Resulta que acontece esta explosión de datos confidenciales gracias a las maniobras de Wikileaks y de pronto todos creemos que es mejor que toda la información sea pública y esté a la vista. Sí, en un primer momento también yo lo creo así. Pero, ¿toda la información? ¿No habrá que analizar caso por caso? Mientras tanto ponemos el grito en el cielo cuando el gobierno de USA pide a Twitter datos de Julian Assange (al margen: Twitter, en una movida admirable y sin precedentes, defendió a sus usuarios no enviando los datos al gobierno norteamericano ¡Vamo’ Twitter!). No estoy criticando a Wikileaks —de hecho me provoca cierta simpatía—, simplemente me pregunto si podemos establecer una regla universal al respecto. Yo creo que no. Para ser franco, no quisiera mis mails personales dando vueltas públicamente por ahí. ¿Dónde está el límite? ¿Sólo en el carácter personal o gubernamental de los datos? ¿Quién decide cuáles datos deben mostrarse y cuáles no? Quizás sea útil que cierta información sea pública, como el manejo de dinero de los gobiernos, y que otro tanto no lo sea.
  • Sobre las clases de la facultad: es cierto que la bajada de línea en teóricas y clases de taller no suele ser un buen proceso de aprendizaje para los estudiantes, cuyo mayor valor debiera ser el descubrimiento y la creación de conocimientos propios, junto con la formación de una fuerte capacidad crítica. Sin embargo hay situaciones en las que una cátedra debe bajar línea, y en todo caso analizar más adelante el resultado con el debido cuidado. Algunos preconceptos podrán reverse más tarde, o criticarse, o modificarse. Existen diferentes estadíos de maduración de un estudiante: cuando uno estudia necesita construir ciertas estructuras de pensamiento fuertes, aunque más no sea para luego tirarlas abajo; un alumno no podrá hacer una revisión y valoración crítica de sus estructuras de pensamiento si todavía no ha logrado construir esas estructuras.
  • Cuando de diseño se trata: si la importancia radica en el proceso o en el resultado, en la etapa proyectual, o en el objeto terminado. ¿No será, digo yo, que habrá que analizar cada caso?

¿Será que en temas como estos y otros cientos, estamos dando demasiada importancia a la estructura, a la forma, y nos olvidamos del contenido? ¿Acaso ese contenido, que rellena cada situación particular con personas, contexto, historia y posibilidades a futuro, no es al menos tan importante como la estructura del problema particular que se está analizando?

Y entonces yo me pregunto: ¿Podemos seguir estableciendo reglas generales a base de enunciados muy escuetos que sólo plantean un problema como estructura, sin un análisis del caso en particular?

Es un poco de esta época, sip. Y aquella sensación de que la ciencia es esa cosa simple y un tanto graciosa que nos cuenta la sección de Ciencia y Salud del diario La Nación. Donde se extraen conjeturas sobre la raíz genética de cosas tales como la infidelidad a partir de experimentos con ratas de laboratorio. Está muy bien, es el proceso inductivo típico de la ciencia occidental llevado a su máximo y peor exponente.

Yo, sin embargo, confío en que —a pesar de sus falencias— la ciencia occidental todavía tiene mucho para dar, y que no se trata todo de genes, adúlteros y simpáticos roedores.

Luego de esta breve pausa…

Volviendo al asunto de la libertad del usuario de una interfaz, decía que mi primera impresión es que, a priori, otorgar al usuario la libertad absoluta de obrar sobre la interfaz no es una buena idea. En tantísimos casos —cuando usuarios— no tomamos las decisiones correctas estando al mando de una interfaz. Es nuestro trabajo, en tanto diseñadores (o UXores, o como fuere), establecer los límites en los cuales el usuario puede actuar: debemos prever casi todos sus movimientos y sus combinaciones de movimientos y evitar que pueda llegar a donde no queremos. Los caminos que no deseamos no deben ser parte de la interfaz: no deben formar parte del universo de posibilidades de dicha interfaz.

Ahora bien, que no panda el cúnico, sé que todo esto suena a postura filosófica, o peor: política si se quiere. Pues bien, aquí es donde mi largo intermedio toma importancia. NO. No me estoy refiriendo a lo que puede o no puede hacer un ciudadano, ni tampoco a lo que debe o no debe prohibírsele a un niño en la escuela primaria. Tampoco de coartar las posibilidades artísticas y/o de violación de una herramienta por parte de una persona con sensibilidad poética. Estoy hablando de un usuario ante una computadora con una interfaz (gráfica, por lo general) de software.

Y aún así, retomando todavía con mayor fruición mi intermezzo, habrá que ver cada caso. Por ejemplo: es muy probable que en las aplicaciones profesionales sí sea útil dar mayor libertad al usuario; aquí habrá que definir oportunamente qué es una aplicación profesional, establecer niveles de profesionalidad, etc. No es mi intención ahondar en este asunto ahora: mi tendencia a estirar el texto es algo infernal. Estoy fuera de control.

Un caso particular: MySpace

Hace poco, si creemos lo que se decía en varios sitios web, MySpace estaba a punto de prescindir del 60% de sus empleados.

He aquí un artículo que pueden leer en mayor detalle si tienen ganas, pero sucintamente esboza la siguiente idea: el fracaso de MySpace se debió, entre otras cosas, a la libertad con la que sus usuarios podían configurar y personalizar sus portales web personales: esto ocasionó que la gran mayoría de las páginas de esta inmensa red de contenidos fuesen espantosos atentados a la vista de los transeúntes cibernéticos (seguramente habrán tenido la ocasión de experimentarlo).

Supongo, entonces, que no podemos establecer una afirmación general de si conviene, o no, darle la libertad completa sobre la interfaz al usuario: habrá que analizar cada caso en particular, con sus características y condicionantes específicas.

Por lo demás, ojalá pueda el pueblo escocés —si quiere— lograr su independencia y soberanía algún día. Salutes!

Charla gratuita HTML5 y CSS3

El martes 5 de octubre a las 19 hs. daré una charla gratuita sobre HTML5 y CSS3 en Gutenberg.

La idea es charlar un rato, de forma introductoria, acerca de estas tecnologías y de los cambios que conllevan para el trabajo que realizamos diariamente los diseñadores y desarrolladores web.

Hablaremos, también, del curso Desarrollo Web nivel 2, que introducirá a un manejo avanzado de HTML5, CSS3 y JavaScript con jQuery.

Para informes e inscripción a la charla gratuita, escribir a cursos@fundaciongutenberg.edu.ar , los cupos son limitados.

¡Allí nos vemos!

To be or not to be HTML5

Hace varios días que tengo este post en mente (To be or not to be HTML5), y no he encontrado el tiempo para desarrollarlo y publicarlo.

Hoy comienzo mi día de trabajo y leo un tweet de Jeffrey Zeldman, que nos lleva a un comentario donde aclara ciertas cuestiones relacionadas con la confusión general que está experimentando el común de la gente, acerca de lo que efectivamente es HTML5. Ahora bien, cuando el querido Zeldman escribe algo similar a aquello que viene rondando nuestros pensamientos, uno se siente bien: debemos ir por buen camino. Así es que decidí apurarme y publicar aunque sea algunos pensamientos fragmentados, desprolijos, y sacarlos afuera de una vez.

¿Qué es HTML5 y qué no?

Primero lo primero: las tecnologías y estándares web son muchos y muy abarcativos, pero hay tres que son fundamentales y juegan un rol protagonista en la mayoría de los sitios web:

  • HTML (sea cual fuere la versión)
  • CSS (sea cual fuere el módulo)
  • JavaScript (lo dicho)

Ahora bien, estas tecnologías cumplen tres funciones muy diferentes que se complementan mutuamente, a saber:

  • HTML (contenido estructurado semánticamente)
  • CSS (presentación; los diseñadores podemos llamarlo “diseño”)
  • JavaScript (comportamiento)

Cualquiera que se dedique al desarrollo web de calidad tiene este concepto tatuado en el cerebro o se dedica a alguna otra cosa (fuegos de artificio… digo, manejo de Fireworks).

El punto es que en las últimas semanas, una monstruosa cantidad de posts, comentarios, tweets y charlas de café abordan la temática HTML5, citando ejemplos que, o bien no son HTML5, o bien lo son, pero cuyas características principales no tienen que ver en absoluto con el uso (o no) del futuro estándar HTML5. Incluso Apple ha decidido sumarse a la confusión de una forma espantosa: creando una web donde todos los ejemplos utilizan HTML5 (es cierto), pero muchas de las características que se muestran como sus bondades dependen —en realidad— de las bondades de CSS3, o JavaScript, y podrían realizarse sin problemas utilizando las tradicionales versiones HTML 4 ó XHTML 1.

Haremos a continuación un par de listas que reflejan algunos ejemplos (sólo algunos) de lo que es, y no es HTML5. Adelantamos, de todas maneras, que cuando una gracia relacionada con el diseño de una página web —como la posibilidad de rotar el ángulo del texto, o de generar cajas con puntas redondeadas—, está publicada como una bondad de HTML5, habrá que al menos sospechar (sabemos que el HTML no debe encargarse del diseño/presentación del contenido, sino de marcar correctamente el contenido en sí mismo; es la tecnología CSS la que se ocupa de la presentación de los elementos que el HTML describe).

To be HTML5

  • Nuevas etiquetas que ayudan a marcar mejor el contenido a nivel semántico: <section>, <header>, <footer>, <nav>, <article>, <time>, etc.
  • La posibilidad de incluir video y audio sin la utilización de tecnologías externas y plugins adicionales: <video> y <audio>.
  • La posibilidad de generar experiencias altamente interactivas, dibujando sobre cierta área con JavaScript, sin la utilización de tecnologías externas y plugins adicionales: <canvas>
  • Un doctype human-friendly (finalmente), que no comunica la versión del HTML: <!DOCTYPE html>
  • La posibilidad de utilizar la sintaxis del viejo HTML o la de XHTML (que sigue la sintaxis del metalenguaje XML).

Not to be HTML5

  • Texto rotado, puntas redondeadas, sombras estilo drop-shadow, imágenes y colores en transparencia, y todo tipo de situaciones que dependen del área de presentación/diseño de una página web, y que es responsabilidad exclusiva de la tecnología CSS. Por lo general, debemos estas nuevas posibilidades a CSS3.
  • Animaciones de objetos que aparecen, desaparecen, se mueven, agrandan, colapsan y cambian su forma. Cuestiones que evidentemente tienen que ver con el comportamiento de un site, y que suelen programarse en JavaScript.
  • Geolocation: muchos suelen decir que se trata de parte del futuro estándar HTML5, pero no.
  • Posibilidad de visualizar el website en celulares y equipos móviles como el iPhone, iPad y similares: este asunto es escabroso, pero tampoco es exclusivo de HTML5. El debate Flash vs HTML5 ha generado la equívoca sensación de que para que un celular pueda interpretar correctamente una página web, ésta debe estar codificada en HTML5, cuando lo que en realidad ocurre es que simplemente se debe evitar la utilización de la tecnología Flash.
  • La tecnología que hace volar al DeLorean en Back To The Future II.

Pero…

Como comenta el estimadísimo Jeffrey Zeldman, el hecho de que aquellos no-geeks (a veces gerentes de empresas, y quienes deciden cuándo/cuánto invertir en tecnología web) estén entusiasmados con el concepto HTML5, es genial y beneficia a la Web en general. Cuando estas personas se refieren a HTML5, en realidad se están refiriendo a un conjunto de tecnologías nuevas que incluyen HTML5, CSS3, manejo de JavaScript avanzado y algunas otras más crípticas como Microformats, Geolocation, Microdata, etc.

Es nuestro deber, como profesionales con conocimiento técnico, al menos tener la delicadeza de nombrar este conjunto de tecnologías por lo que son, o como bien recomienda Mr. Zeldman, titularlas: “HTML5 and related technologies” (HTML5 y tecnologías relacionadas). De esta manera, /1. mantenemos el halo marketinero del asunto y /2. evitamos malentendidos.

There, I said it. Pensamientos fragmentados y desprolijos afuera.

Excelente video explicativo

Es genial cuando se logra explicar un asunto complejo de forma simple. Aquí una explicación acerca del funcionamiento del buscador de Google.