Blog

Historial y botón volver en JavaScript

Cada día son más frecuentes las aplicaciones web que hace un uso extensivo de JavaScript, relegando una mayor carga computacional al cliente, dentro de la arquitectura cliente-servidor, lo que habitualmente se conoce como cliente pesado. Con ello, entre otras cosas, se logra una interfaz de usuario mucho mas rica en prestaciones.

Algunos ejemplos de webs que hacen uso de esto es el cliente de correo de Google Gmail, o las famosas redes sociales como Facebook o Tuenti. En estas aplicaciones, toda la interfaz está gobernada por JavaScript. Cuando accedemos a un enlace, generalmente no conlleva una nueva petición HTTP sino que, en su lugar, el documento actual se actualiza con nuevo contenido (AJAX).

Internet Explorer 9 sigue imparable

Todos estamos siendo testigos del empujón que están dando desde Microsoft a la próxima versión de su navegador, Internet Explorer 9. Si bien hace poco veíamos que ya obtenía una puntuación de 83/100 en el Acid3 test, su última Plaform Preview ya logra un increíble 95/100.

Y es que ya es la Fourth Platform Preview, la versión que precede a la Beta de IE9, donde ya podremos probar de verdad cómo funciona el nuevo navegador.

Una de las principales novedades que trae es la aceleración hardware HTML5, esto es, aceleración completa tanto en texto, gráficos, audio y vídeo. Presentan una completa lista de ejemplos demostrando el rendimiento del navegador, comparándolo además con otros.

SVG, ya plenamente funciona dentro de IE9. Lo venden, no sólo como una herramienta para realizar diagramas estáticos, sino como un una excelente elección que permite crear un nuevo escenario de animaciones.

La integración nativa de JavaScript, hasta ahora una pieza fuera del navegador. En IE9, su nuevo motor de JavaScript (Chakra), mejora muy notablemente el rendimiento si lo comparamos con sus antecesores. Como nota curiosa, parece que ya oficialmente han abandonado la terminología JScript para referirse a JavaScript. Además, han mejorado el árbol DOM.

Vemos también como siguen mejorando posiciones en la batalla por el mejor motor de JavaScript, superando ya las últimas versiones de Safari y de Firefox.

Todo parece indicar que para finales de este año, cuando salga IE9, realmente va a suponer el principio de una revolución en la web, ya que podremos por fin empezar a usar HTML5. Sólo veo una pega: No estará disponible para Windows XP, que a día de hoy, mantiene todavía una cuota de mercado de casi el 60%.

Más información, en IEBlog.

http://blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx

Crear un componente en Joomla! 1.5

Joomla! es, junto con WordPress, quizás el CMS más popular que existe. Lo que no mucha gente sabe, o tiene en cuenta, es que es además un completo Framework de desarrollo web. No en vano, nos proporciona muchas de las funcionalidades que esperamos de un Framework:

  • Arquitectura basada en Modelo-Vista-Controlador.
  • Seguridad, con un completo sistema de perfiles de acceso.
  • Acceso a base de datos.
  • Sistema de cachés.
  • Gestión de errores.
  • Administración de formularios.
  • Sesiones.
  • Plantillas.
  • Utilidades para fechas, criptografía, XML, ficheros…

Quitar iconos de PDF, Mail e Imprimir en Joomla

A veces las tareas más sencillas son las que más se me complican. Un ejemplo es la gestión de Joomla!, conocido CMS por su sencillez y comunidad, pero que al menos a mí a veces me resulta bastante complicado. Supongo que debe ser porque mi enfoque es el de un programador, y me cuesta resolver problemas típicamente de programación a golpe de ratón.

En este caso en concreto, se trata de establecer las configuraciones por defecto de los artículos en Joomla!, esto es, los parámetros avanzados que se pueden configurar para cada artículo en el menú de la derecha. El método de fuerza bruta es ir artículo por artículo quitándolo. Pero esto no escala :)

Pues bien, si queremos desactivar de una vez por todas los iconos de exportar a PDF, enviar por email e imprimir, simplemente debemos ir al menú Contenidos, apartado Gestor de artículos. Una vez ahí, pulsamos el botón Preferencias, y ya podremos activar los valores por defecto.

Simplemente marcamos la opción “ocultar” de los campos:

  • Iconos
  • Icono PDF
  • Icono Imprimir
  • Icono e-mail

Y de paso, para quitar más basura, oculto también:

  • Nombre del autor
  • Creado en fecha y hora
  • Modificado en fecha y hora
  • Muestra navegación
  • Enlace leer más…
  • Valoración/Votación de artículos
  • Impresiones
  • Nombre de la sección
  • Título de la categoría

De esta forma, Joomla! parecerá un poquito menos Joomla!, algo que siempre procuro hacer con todo CMS: Que no se aprecie el software que hay por debajo.

Registro de Nombre Comercial

Desde hace año y medio vengo trabajando como profesional autónomo en el desarrollo de aplicaciones web. Al estar por cuenta propia, uno debe cuidar y encargarse de bastantes más asuntos que un asalariado, como por ejemplo la facturación, declaración del IVA, tareas de comercial, subvenciones y ayudas, protección de datos, o imagen corporativa. Muchos de esos asuntos se los encargué a mi gestoría, que por cierto, son geniales (Aseconta, en Torrijos, Toledo).

En muchos asuntos, soy yo quien tiene que buscarse la vida, como con la imagen corporativa. Lo primero fue decidir si quería venderme con mi nombre, o con un nombre comercial. Opté por la segunda opción, entre otras razones, porque espero crear una empresa, y ser más que un autónomo. Además, no quiero cerrarme puertas de cara a formar una sociedad en un futuro con posible accionistas. De modo que necesitaba elegir un nombre con el que vender mis servicios. Costó bastante dar con ello, pero finalmente elegí Gnoma. Los motivos:

  1. El principal, porque me gusta mucho :) Es corto, fácilmente indentificable, sonoro, elegante.
  2. Por una parte es como “genoma“, es decir, el código que define un organismo. Es por tanto, ciencia, ingeniería que define un ente.
  3. Por otra parte es como “gnomo“, una criatura mitológica que custodia tesoros. Es por tanto, imaginación, creatividad y seguridad.

Sólo le vi una pega: Es sospechosamente similar al escritorio libre Gnome para sistemas UNIX. Pero al fin y al cabo, mi target objetivo no conoce Gnome, por lo que no parece ser una amenaza.

El siguiente paso fue conseguir un logo. En esta tarea, el culpable fue Senén, un amigo diseñador que verdaderamente es un crack. Tan sólo necesitó unas horas para pasarme una lista de logotipos a cada cual mejor. Tras una vuelta de tuerca sobre uno de ellos, finalmente elegí éste:

Logo de Gnoma

Logo de Genoma

Ya tenía el logo, el nombre, por lo que sólo quedaba registrarlo en la Oficina Española de Patentes y Marcas (OEPM). Para hacer esto existen dos opciones:

  1. Pagar a una empresa especializada para que te gestionen el registro, las posibles reclamaciones, y la vigilancia de tu marca.
  2. Realizarlo tú mismo todo eso.

Tras consultar los precios de estas empresas, decidí encargarme yo mismo. Hasta el propio personal de la OEPM me recomendó esta vía por la sencillez del proceso. De modo que me puse manos a la obra, y en una tarde, completé la solicitud de Nombre Comercial Mixto (Con texto y logo). Lo hice con mi firma electrónica, y abonando la cantidad necesaria (131,22€ si se hace por Internet, 154,38€ si no).

Se da un plazo para que los titulares de otros nombres comerciales puedan reclamar si, por ejemplo, mi nombre fuera prácticamente igual que el suyo, y vendiéramos los mismos productos y servicios. Transcurrido dicho plazo, nadie reclamó, por lo que el proceso continuó hasta aprobarme el nombre comercial.

Ayer recibí un correo certificado de la OEPM informándome de que se ha concedido el registro a fecha de 6 de julio de 2010 ¡¡!! Ha sido todo bastante más rápido de lo que hubiera pensado (Poco más de 3 meses).

Estoy preparando ya la web, correos, firmas, facturas, presupuestos, y demás. Ahora, a seguir trabajando con mi nombre comercial :)

10 errores comunes de programadores web novatos

Hace poco comentaba que en SitePoint habían publicado una lista de los 10 errores comunes de diseñadores web novatos. Pues recientemente publicaron un nuevo artículo, pero esta vez sobre los programadores web. Aquí el resumen:

  1. Ignorar los estándares web. Destacan el uso incorrecto del DOCTYPE, uso de etiquetas antiguas de HTML, o no validar el código.
  2. Delegar en software WYSIWYG. Muy acertadamente indican que, con este tipo de software uno se centra en la visualización, y no en la estructura.
  3. Descuidar aspectos semánticos. El ejemplo que ponen es impagable: El programador novato, si quiere escribir un titular, lo pondrá encerrado en la etiqueta <h1>. Pero posteriormente es posible que “involucione”, y lo diseñe con divs anidados y estilos CSS.
  4. Nombres de clases de estilos. ¿Qué tal una clase como “columna-izquierda-50px”? ¿Y si en un futuro el ancho cambia?
  5. Prueba de navegadores tardía. Invitan al programador novato a revisar su página en varios navegadores desde el primer momento, y no dejarlo para el final. Personalmente, en este punto no estoy de acuerdo; Siempre he preferido desarrollar para una plataforma, y al final, corregir errores de las demás.
  6. Ignorar la portabilidad. Destacan enlaces a rutas absolutas, conexiones a bases de datos sin centralizar, o realizar suposiciones sobre el entorno de ejecución.
  7. Descuidar el ancho de banda. Poco más que añadir… En local un fichero de unos megas es irrelevante, no así en Internet.
  8. Pésima accesibilidad. No consiste sólo en seguir unas reglas mecánicas de código, sino en tener en cuenta aspectos funcionales como poder consultar la web sin javascript, sin flash, en un móvil, o sin ratón.
  9. Despreciar al SEO. Me encanta la definición que hacen del SEO: Es una mezcla de psicoanálisis, complejidad técnica, y misteriosas artes oscuras. En cualquier caso, indican que el desarrollador novato, dejará el SEO para el departamento de marketing una vez lanzada la página. Para entonces, ya será demasiado tarde.
  10. Actualizaciones erróneas. Destacan la práctica de muchos programadores web de tener durante horas una página web en mantenimiento, cuando suele ser una tarea que no debería llevar más de unos minutos. En este punto tampoco estoy de acuerdo. Muchas actualizaciones tan sólo consisten en añadir documentos html, imágenes, y actualizar hojas de estilo y javascript. Sin embargo, hay aplicaciones web que requieren mucho más que eso a la hora de actualizar, por ejemplo cuando cambiamos la estructura de una base de datos, y se deben reestablecer todos los índices.
  11. Como bonus, dejan una lista de otros 20 errores.

En general, este artículo me ha parecido bastante más pobre que el anterior. Sobre todo, por lo mucho que se centra en la capa de presentación HTML, que dista mucho de ser coto exclusivo de los programadores web. En ningún punto se ha mencionado ni una sola práctica o error relacionada con la programación (Salvo el punto 6, donde sugieren no incluir hard coded la conexión a base de datos).

PHP 5.3.3 liberada

Hace ya un año que PHP lanzó la versión 5.3.0, la última rama de desarrollo de la versión 5 que adelanta muchas de las funcionalidades más esperadas, como namespaces o closures. Hoy se ha liberado la versión 5.3.3. Se ha centrado sobre todo en mejorar el rendimiento y la seguridad de la rama 5.3, con más de 100 errores corregidos, por lo que se recomienda encarecidamente actualizar a la nueva versión.

Entre las novedades, se destacan:

  • Actualizada la versión de sqlite a 3.6.23.1
  • Actualizada la versión de PCRE (Expresiones Regulares Compatibles con Perl) a la versión 8.02
  • Añadido FPM (Gestor de Procesos de FastCGI) SAPI. SAPI hace referencia a los módulos de PHP que hacen de interfaz al servidor web (Server Application Programming Interface)
  • Añadido soporte para stream filter de la extensión mcrypt.

¡A disfrutarlo!

10 errores comunes de diseñadores web novatos

Hoy me he encontrado en SitePoint un curioso artículo titulado “10 Common Mistakes Made by Novice Web Designers“. Me ha parecido muy interesante, pues aunque no soy diseñador propiamente dicho, pero sí he cometido muchos de esos errores.

Y esta es la lista:

  1. No tener en cuenta la forma de visualizar del navegador. Cada navegador funciona a una resolución, y ésta normalmente no es la misma que los bocetos hechos en Photoshop. ¿Cómo se comporta la página al cambiar de tamaño?
  2. Forzar a altos y anchos fijos. ¿Qué ocurre si el texto que hay dentro es anormalmente extenso o anormalmente corto?
  3. Presuponer sobre la experiencia del usuario. Hay muchas resoluciones y muchos dispositivos a tener en cuenta.
  4. Sub-pixels en bocetos. Un boceto a 300 ppp no se verá igual en un monitor a 72 ppp.
  5. Desconocimiento de las pilas de fuentes. No todas las fuentes funcionan en todos los sistemas, ni siempre se ven igual.
  6. No tener en cuenta el desarrollo. Nos ponen el ejemplo de títulos ricos en diseño que sólo se pueden conseguir con imágenes. Es algo asumible cuando hay 5 o 50 páginas, ¿pero y si hay 500? ¿O 5000?
  7. Olvidar en los enlaces. Los links son el hilo conductor de la web, y hay que diferenciarlos bien del resto del contenido.
  8. No tener en cuenta animaciones o efectos. Esto no se puede reflejar en un diseño en photoshop.
  9. Controles de formularios extraños o inaccesibles. Nos explican que los formularios son sosos, pero que sin embargo los navegadores saben renderizarlos y los usuarios los entienden.
  10. Poca apreciación por las tecnologías. HTML y Flash no son lo mismo :)

En mi opinión, las más importantes a tener en cuenta (O al menos las que más problemas me han dado) son la 2, 4, 6, 8 y 10 (Curioso, justo los pares).

Diseño personalizado para mapas de Google

Con tanto revuelo que hay con la Google I/O 2010 (La apertura de Wave, Google TV, y la Chrome Web Store), poco se habla del resto de novedades. Una de ellas son los Styled Maps de la API de Google Maps.

Gracias a estas cositas, muchos diseñadores que hasta ahora se mostraban reticentes, se animarán a usar esta API para sus páginas.

Aquí tenemos un ejemplo de qué se puede hacer:


10 “nos” para freelances

Hoy mi hermana Olalla me ha pasado un interesante artículo de wakeuplater del año 2007 que me he permitido traducir. No estoy de acuerdo con todo, pero ofrece un punto de vista curioso y muy a tener en cuenta para todos los freelance que nos dedicamos al mundo web.