Archivos para la Categoría 'CSS'

21
Oct
09

Consejos para Enfrentar un Proyecto Web – Del Mockup al CSS

Nota: Este post es parte de una serie titulada Consejos para Enfrentar un Proyecto Web y viene después de Consideraciones Generales.

Update: Hay una edición de este post en Cristalab: Cómo afrontar un proyecto web. Parte 1: Del Mockup al CSS.

En esta ocasión, trataremos tres partes del proceso que son fundamentales en el desarrollo de nuestro proyecto web. En este caso hablamos del diseño de un sitio web en XHTML, pero parte de las consideraciones escritas aquí valen también para otro tipo de proyectos/tecnologías.

  1. Mockup: Piensa, Intenta, Borra, Piensa, Intenta de Nuevo.

    La ventaja de hacer mockups antes de comenzar a maquetar es que te permite experimentar diferentes estructuras para el sitio, buscar las fórmulas que funcionen mejor en cuanto a usabilidad, accesibilidad y legibilidad.
    Al contrario de lo que algunos piensan, el momento de la planificación inicial es uno de los más críticos en el proceso de realización puesto que mientras más tiempo inviertas en organizar tu sitio/aplicación, menos tiempo gastarás haciendo modificaciones de última hora o resolviendo imprevistos, como que de repente a tu cliente se le ocurra que quiere agregar un link a la cuenta de Twitter que su hijo le abrió el día anterior.
    Este es entonces el momento perfecto para hacer lo que se conoce como “análisis de software”. Pensar en cómo será el producto antes de comenzar a crearlo es avanzar el 50% del trabajo, sin haber escrito una línea.

  2. Mientras Más Propuestas, Más Problemas.

    Aunque a primera vista te parezca que darle varias opciones a tu cliente te hará quedar como un genio y es -en sí- una gran idea, realmente no lo es, al contrario es una idea pésima. A excepción de unos muy pocos clientes, que debes atesorar el resto de tu vida, que tienen una cierta idea de lo que significa tener presencia en la web y cómo eso puede reportarles beneficios reales y -sobre todo- que tengan una idea más o menos clara de lo que realmente desean, la mayoría de los clientes son como niños que comienzan a entrar en el mar: No tienen real idea de lo que están haciendo y de cuánto puede influir el diseño en el éxito o fracaso de su sitio.
    Siempre recordaré a aquel cliente que una vez me dijo que quería tener muchas propuestas, como cuando compra un automóvil, que puede escojer entre una amplia gama. Tuve que explicarle que en su caso sería como pedir tener una amplia gama de automóviles hechos a mano para poder escoger: ninguna empresa hace eso porque la pérdida sería mayor a la ganancia.
    Lo que suele ocurrir la mayoría de las veces es que presentas una serie de diseños diferentes y la selección final es la combinación de partes de un diseño con partes de otro y así hasta el infinito. En otras palabras: más propuestas sólo aumentarían la indecisión del cliente y, por un lado atrasarían el proyecto (porque necesitaría más tiempo para decidirse), mientras por el otro hay más posibilidades de que la escogencia final sea un diseño completamente diferente, una especie de Frankenstein web hecho con piezas de tu propuesta.
    ¿Solución? Presenta dos -máximo tres- propuestas y prepárate.

  3. Maqueta de Forma General y Flexible.

    Tu mejor arma es pensar fuera de la caja, ir más allá que cobrarle por hacer ese pequeño portal de lindos colores y grandes imágenes. Si tu cliente te resulta fiel, querrá que te encargues de cosas como el mantenimiento del sitio o de sus futuros rediseños. Si no quieres que estas futuras tareas se conviertan en un verdadero dolor de cabeza, lo mejor es buscar una forma de maquetar (y con maquetar me refiero a (X)HTML) de tal manera que los futuros cambios no impliquen ninguna o la menor cantidad posible de cambios en la estructura del sitio. No importa lo fácil o difícil que resulte cambiar o no una o dos etiquetas, si la estructura está bien hecha ¿por qué deberías cambiarla? Lo ideal siempre sería que un cambio en el diseño pueda realizarse con CSS y/o cambiando las imágenes correspondientes, sin necesidad de tener que repensar sobre la estructura o la legibilidad de tu sitio.
    Por otro lado, mantener una estructura general y flexible siempre te permitirá crear plantillas/snippets que funcionen en casi todos tus proyectos, haciendo más eficiente la reusabilidad.

  4. Semántica, Estándares, Validaciones.

    Sí, quizá yo sea un purista (aunque espero por el FSM que no sea así), pero al menos en los dos primeros casos me parece que lo mejor es apegarse a la norma; en el tercero acepto cierta flexibilidad. Aún recuerdo a Freddie diciendo una gran verdad: Si un sitio cumple su objetivo (generar dinero) ¿Qué demonios importa si el sitio es válido?
    No puedo decir que Freddie no tenga razón, después de todo, es un negocio de lo que hablamos, pero también es cierto que un etiquetado y un css válido permiten una interpretación más fiel en los navegadores y ayudan a conservarlos en el tiempo. Personalmente me preocupo por la validación pero dando prioridad a la funcionalidad. Sé que hay gente que piensa que no sirve de nada, incluso he oído gente que cuestiona los estándares por ser impuestos por la W3C, pero en ese caso, lo dejo a criterio de cada quien. si te funciona, está bien por mí, pero, por amor a lo más sagrado, ¡deja de maquetar con tablas!
    Ahora, sobre la semántica y los estándares, creo que nisiquiera merece la pena la discusión. Creo que es más que obvio que estas dos herramientas juntas son prioridad sobre todo en orden al SEO y la accesibilidad.

    Personalmente, procuro maquetar siempre bajo XHTML Strict, lo que me ayuda a descubrir posibles errores (como que olvide cerrar una etiqueta o colocar un “alt” a una imagen) y  CSS2.1.

  5. Inspírate en Quienes Quieras, No te Copies de Nadie

    Nadie quiere ser reconocido por robarse el trabajo de otros, aunque de un tiempo a esta parte parece estar de moda creer que es válido tomar cualquier cosa de internet y hacer creer que son propias, o peor aún, pedir a otros que “nos regalen” la solución a nuestros problemas, como si preguntar en un foro equivaliese a encontrar una manada de esclavos que hagan el trabajo por el que yo voy a cobrar. No, nadie quiere ser reconocido de esa forma.
    Sin embargo, es perfectamente válido mirar el trabajo de otros, ver cómo solucionan los retos que sus proyectos representan, decubrir nuevas paletas de colores o formas ingeniosas de lidiar con el proyecto. Nadie puede acusarte de inspirarte, pero copiarte sólo te dará mala fama en internet (de eso puedes estar seguro) y, en algunos casos, hasta acarrearte problemas legales.

  6. Usa un CSS Reseter

    Todos los que hemos maquetado sitios sabemos el dolor de cabeza que significan los navegadores y sus interpretaciones particulares del CSS, por lo que un Reseter que nos permita partir de un punto en común resulta un gran aliado a la hora de solucionar problemas con esto. No siginifica que todos los problemas de modelo de caja quedarán resueltos (el trabajo no puede ser tan fácil), pero sí que ayuda mucho a resolver al menos los más comunes.
    Aquí veo venir la pregunta obvia: ¿Cuál reseter usar? Hay cientos en internet. Lo mejor que puedo hacer es hablar de mi experiencia: Comenzar usando uno relativamente general y luego irlo personalizando de modo que funcione de la mejor forma posible para tus proyectos. Algunos de los más populares (que conozco) son el Tripoli Reset (en este artículo de Daniblog se explica muy bien y en español), el CSS Reset de Eric Meyer y luego, frameworks CSS como 960, YUI o el muy popular Blueprint.

    ¿Por qué personalizarlo? No es que sea obligatorio, pero quizá haya cosas que no te gusten del Reseter que selecionaste (como que quite el “bold” a la etiqueta “strong” o que elimine las viñetas de las listas), si ese es el caso, bien puedes irlo ajustando a tus necesidades y forma de trabajar.

  7. Ordena y Comenta tu CSS

    Hay pocas cosas tan molestas como encontrarse un código sin comentarios que te obliga a leerlo todo para entender por dónde van los tiros. El CSS (aunque no es código) no es la excepción. Escribir los estilos como se te vayan ocurriendo sólo te asegurará dolores de cabeza al tratar de arreglar algo después de haber cerrado el archivo o -peor aún- a la hora de hacer un rediseño.
    Es por eso que son tan importantes los comentarios como el orden en que se escriben los estilos (Recuerda que los estilos son en cascada, es decir, un estilo se sobreescribe con el siguiente en el orden en que aparecen en el CSS). No tienen que ser extensos comentarios explicativos, puede ser simplemente para separar el código. Yo suelo dividir mi CSS de esta manera:

    1. Reseter
    2. Etiquetas
    3. Layout (Estructura General del Sitio)
    4. Elementos (Los elementos internos del Header, el Contenido, el Footer…)
    5. Clases (Que no están necesariamente vinculadas con una parte específica del documento)

    En cada división coloco un comentario para localizarlas más fácilmente. Hay formas más elaboradas para hacer esto, pero yo prefiero cosas sencillas y efectivas. Lo realmente importante es que sea un documento legible y que evite tener que estudiar en el MIT para poder hacer cambios al CSS

  8. ¿Progressive Enhancement (Mejora Progresiva) o Graceful Degradation (Degradación Agraciada?)?

    Otra de esas discusiones eternas con argumentos válidos de cada lado. Personalmente soy partidario del Progressive Enhancement, pero una vez más digo que no hay que cerrarse a diferentes perspectivas. Por lo tanto, mi consejo es evaluar qué es mejor para cada proyecto y utilizar la técnica que resulte más efectiva para cada caso. Esto sobre todo es cierto cuando se trata de rediseñar un sitio, puesto que te encuentras frente a algo que ya ha hecho otro (o tú mismo) desde una de las dos perspectivas. Si me permites el consejo, dale prioridad al Progressive Enhancement sobre todo si vas a construir el sitio desde cero.

Bien, creo que con esto tenemos bastante, como siempre, hay cosas que se quedan en el tintero y cosa que podrían profundizarse más, pero este artículo sería interminable y no es la intención. Sería de gran ayuda leer sus impresiones y críticas, además de nutrirnos todos con sus experiencias.

En nuestro próximo encuentro, charlaremos acerca de Javascript.

Etiquetas Technorati: , , ,

13
May
08

Tipografía y Web

Todo diseñador web se ha enfrentado alguna vez al problema de las inmensas limitaciones que tiene la tipografía web. Al contrario de lo que ocurre con el Diseño Gráfico, no hay forma en un sitio de “obligar” al usuario a utilizar tal o cual tipografía (a menos que usemos alguna técnica de reemplazo de tipografía, cosa que tiene sus momentos y sus complicaciones, pero que no veo como algo para usarse a diario).
La razón de esto es, como saben, que la tipografía que se usará depende exclusivamente de las fuentes instaladas en la máquina cliente, lo que nos obliga a mantenernos dentro del margen de las fuentes más comunes en la mayoría de las máquinas, dando también la posibilidad de proveer algunas fuentes alternativas, por si la primera no se encuentra (lo que conocemos como familia de fuentes).
El asunto de todo esto es que, como suele pasar, terminamos quedándonos con las mismas tres o cuatro fuentes en nuestros diseños, lo que evidente es una limitante.
Viajando entre mis feeds me topé con este post de isopixel dedicado precisamente a este asunto de la tipografía web, así que decidí compartirlo con uds. porque me parece una excelente manera de mostrar que, aunque la limitación continúa (y parece que será así durante un buen tiempo), existen formas de explotar aún más la creatividad y hacer cosas realmente buenas que mantengan los tres principios que para mí son fundamentales en un sitio web: legibilidad, estética y creatividad.
Espero que los disfruten. Sé que podría dar directamente los links, pero no quiero quitarle a isopixel el crédito de haberlos encontrado y recopilado.

Technorati Tags: , ,

23
Sep
07

Centrar un Elemento Horizontal y Verticalmente con CSS

Sabemos que es muy sencillo centrar verticalmente una imagen, o incluso toda la nuestra página, en el browser, haciendo uso de margin:0 auto; ¿pero qué pasa si nuestro site es una película flash o queremos colocar una imagen anunciando mantenimiento o la fecha de inauguración de nuestro site y queremos que esté centrado horizontal y verticalmente?

Bien, este es un sencillo tip que nos permitirá hacerlo sin importar el tamaño del navegador, pero con una salvedad, sólo funciona con elementos de tamaño fijo. Dicho esto, comencemos.

Lo primero que haremos es insertar el elemento que queremos centrar, una imagen por ejemplo, y colocarle un identificador.

<img src="img/central.jpg" id="central" height=200px width=200px/>

Hecho esto, colocamos en nuestro css:


#central{
position:absolute;
top:50%;
left: 50%;
margin-top: -100px;
margin-left: -100px;
}

¡Y eso es todo! Expliquemos el código:
position:absolute;
Al colocar la propiedad position en “absolute” hacemos que se rija por las coordenadas absolutas de la página, sin importar si se encuentra o no en algún contenedor.


top:50%;
left:50%;

Empuja nuestro elemento colocando su esquina superior izquierda en el centro de la página.


margin-top: -100px;
margin-left: -100px;

Colocamos un margen negativo al tope (la mitad del alto) y a la izquierda (la mitad del ancho), para colocarlo al centro del elemento. ¡Y ya!

Espero que les sea útil. Un tip sencillo pero con un resultado elegante.

05
Sep
07

El Dao del Diseño Web

Vía Vectoralia, me topé con un artículo que realmente me ha resultado sumamente interesante, y no simplemente porque sea un curioso del Tao (y practicante de Tai Chi), sino porque su nombre me resultó llamativo por todos los frentes: El Dao del Diseño Web.

Con la curiosidad sumamente estimulada por un título tan sugerente y por el hecho de que últimamente mi trabajo ha estado muy inclinado al XHTML y CSS, me dispuse a leer el largo artículo para ver como era que se relacionaban estas dos cosas, encontrándome con una muy sugerente propuesta (me temo que es posible que me resultara sugerente porque afirma algunas cosas que ya para entonces estaba pensando) sobre el Diseño Web y su “liberación” de su predecesor y padre: el Diseño Impreso.

En el artículo John Allsopp dice cosas como:

Siento una tensión real entre la web tal como la conocemos, y la web como podría ser. Es la tensión entre un medio existente, la página impresa, y su descendiente, la web. Y ya es hora de entender realmente la relación entre padre e hijo, y dejar que el hijo siga su propio camino por el mundo.

Y más adelante comenta:

En la práctica, hay cosas que deberías hacer y cosas que no deberías hacer cuando diseñes hojas de estilo que tengan un impacto sobre la adaptabilidad de tus páginas. Por encima de todo, no dependas en ningún aspecto de las hojas de estilo para hacer la página accesible. Unidades absolutas, como los píxeles y los puntos deberían evitarse (si te sorprende, sigue leyendo), y el color se debe utilizar con cuidado, y nunca debe dependerse exclusivamente de él.

En definitiva, lo que Allsopp propone es desprenderse del clásico paradigma: “primero el diseño, después el contenido” para apuntar al para nada nuevo concepto de la web 2.0: “Una web semántica que sea controlada por el usuario y no por el diseñador”, usando sus palabras una web accesible, adaptable, que esté a la altura del medio y sus posibilidades.
Posiblemente uds. mismos ya lo han pensando hace mucho, y seguramente estarán convencidos de ello (o no), así que si quieren leer el artículo completo pueden hacerlo aquí

Nota: El artículo aquí expuesto es una traducción de su original en inglés, “A Dao of Web Design“, publicado en A List Apart.




“Do the impossible, see the invisible. Raw! Raw! Fight The Power!”

 

Noviembre 2009
L M X J V S D
« Oct    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Aquí Hablamos de

¿De dónde nos visitan?

Delicious