Entradas con tag ‘diseño’

Efecto girar foto 360 grados con HTML5 y CSS3

Publicado el: 3 comentarios

Este tutorial muestra como jugando con la propiedad “background-position”, el tipo de input “range” y un poco de javascript, podemos crear efectos de giro 360º.

Partiendo del mismo concepto buscaremos dos resultados diferentes: por un lado visualizaremos una fotografía panorámica de 360º y por otro crearemos un efecto de giro alrededor de un producto.

Ver ejemplo completo

Efecto panorámica 360º

Para este ejemplo necesitaremos contar con una fotografía de 360º similar a las que usa Google Maps en su Street View.

Seguramente no tendremos a nuestra disposición una cámara que tome este tipo de fotos, así que podemos seguir el manual para hacerlo con Photomerge de Photoshop. El resultado que ofrece Photomerge es bastante bueno si cuidamos la estabilidad y la iluminación durante la toma de fotos.

Imagen panorámica 360º

Una vez tengamos nuestra foto panorámica, creamos un documento HTML5 donde sólo incluiremos un div y un input del tipo ‘range’:

<div id="imagen360"></div>
<input id='rango' type="range" max='100' min='0' value='0'>

Las etiquetas range son similares a un control slider y responde entre otras a las propiedades max, min y value:

  • max es el valor máximo que puede tomar, cuando arrastramos el manejador al tope derecho.
  • min es el valor mínimo que puede tomar, cuando arrastramos el manejador al tope izquierdo.
  • value es el valor predefinido que posicionará el manejador a lo largo de la línea de control.

Hay que tener en cuenta que por ahora Firefox no da soporte a los inputs “range”, que las muestra como tipo “text”. Es curioso que IE10 sí las muestre. Se acerca el apocalipsis.

A la capa le aplicamos el fondo con la imagen panorámica. En mi caso he procurado que el alto del div coincida con el de la imagen. Aplicamos unos estilos básicos:

#imagen360{
 background: url(./img/imagen360.jpg);
 height: 300px;
 width: 300px;
}
#rango{
 width: 300px;
}

Ahora tendremos que relacionar los cambios de estado de nuestro range con la posición del fondo mediante javascript:

var anchoImagen = 4097 - 300;
var incremento = -1 * anchoImagen / 100;

//He usado jQuery por comodidad
$('#rango').on('change', function(e){
 var posicionImagen = $(this).attr('value') * incremento + 'px 0';
 $('#imagen360').css('background-position', posicionImagen);
});

La variable anchoImagen guarda el ancho del fondo quitándole los 300px del ancho del contenedor para que no se repita al llegar al final. incremento divide entre 100 para que corresponda con los pasos (min=’0′ max=’100′) del input.

La función que se dispara cuando hacemos ‘change’ (arrastramos el manejador) va cambiando el background-position del contenedor en función del valor del atributo value.

Efecto giro de 360º alrededor de un producto

Siguiendo la misma metodología, podemos usar range y background-position para crear la ilusión de estar rotando un artículo, por ejemplo, de una tienda online.

En este caso la imagen debería estar compuesta de varias fotos del producto tomadas desde distintos ángulos a modo de secuencia de fotogramas.

Imagen giratoria 360º

El código no sería muy diferente:

#imagengira{
 background: url(./img/imagengiratoria.jpg);
 height: 207px;
 width: 350px;
}
#giro{
 width: 350px;
}
<div id="imagengira"></div>
<input id='giro' type="range" max='18' min='0' value='0'>
var anchoframe = 350;
$('#giro').on('change', function(e){
 var rotacionImagen = -1 * $(this).attr('value') * anchoframe + 'px 0';
 $('#imagengira').css('background-position', rotacionImagen);
 });

En este caso sólo le damos 18 pasos a nuestro range (min=’0′ y max=’18′) que se corresponden con los 18 fotogramas que tiene y le disminuimos el ancho del frame (350) en cada uno.

Ver ejemplo completo

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 10.0/10 (2 votes cast)

Buenas y malas prácticas de responsive design

Publicado el: 7 comentarios

El responsive design se ha consolidado como la respuesta al problema de la visualización de webs en dispositivos móviles. Sin embargo existe una diferencia entre implementar técnicamente este sistema y el diseñar de forma correcta.

Hay varias prácticas en responsive web design sobre las que deberíamos reflexionar. Este artículo se basa en mi estudio y opinión personal, lo que no indica que sean buenas o malas prácticas de diseño, pero si ofrece una perspectiva que pretende hacerte pensar antes de adaptar tus diseños.

Responsive Web Design

La cabecera

Podemos considerar que reservar el mismo espacio vertical para los contenidos de la cabecera es un error de diseño o de usabilidad.

Por ejemplo Webdesignerwall usa una cabecera tan alta que cuando, por ejemplo, realizamos una búsqueda, la web se recarga mostrando la misma cabecera ocupando el 100% del alto del dispositivo.

La cuestión no es que el usuario no vaya a hacer scroll siguiendo sus intereses, sino que le obligamos a hacerlo cuando él busca una respuesta inmediata a una acción.

La navegación

La mayoría de las webs usan un menú de navegación basado en listas. Si bien la disposición horizontal o vertical de estos menús resulta cómoda en un monitor, cuando la pantalla de nuestros dispositivos es de un tamaño pequeño (p. ej. un smartphone) usar este sistema creo que no es adecuado.

Por ejemplo en UXLondon 2011 el diseño se adaptaba mal, ocupando alto innecesario (punto anterior) y descuadrando el menú. Sólo un año después solventan el problema reescalando el tamaño de fuente del menú.

UXLondon de 2011

UXLondon de 2011

Existen varias opciones pero mis dos favoritas son:

  • - Conversión de listas (<ul><li>) a un combobox (<select><option>). Un buen ejemplo es Smashing Magazine
  • - Reducir el menú a un icono y mostrarlo bajo demanda. Ejemplos claros son Bootstrap y CSSTricks
El menú de Smashing magazine se convierte en un select

El menú de Smashing magazine se convierte en un select

Por ejemplo en 40horse.com toman otra solución elegante: bajan el menú al final de la página y dejan en cabecera sólo un enlace ancla apuntando al mismo.

Ocultar contenido

Por comodidad o por desconocimiento, hay quien oculta contenidos de la web en sus adaptaciones móviles usando display:none.

Aunque por motivos estéticos puedan obviarse elementos que aporten sólo atractivo visual, eliminar contenidos (texto, imagen, vídeo…) es negar al usuario la posibilidad acceder a la misma información que encontraría en la versión de sobremesa.

Además ocultar elementos mediante CSS no evita la carga de los mismos, por lo que a nivel técnico y de rendimiento tampoco hay excusas.

“Mobile first” no es “Mobile only”

Hacer mobile first significa hacer un diseño pensando primero en la versión adaptada a una pantalla smartphone e ir incrementando a los siguientes tamaños. Sin embargo en ocasiones esta conversión a monitores de mayor resolución se hace mal, dejando líneas de texto exageradamente largas o espacios enormes que afectan a la composición.

Retina display

Retina display ofrece resoluciones superiores a los dispositivos con pantallas tradiciones. Por eso debemos usar imágenes optimizadas para este tipo de pantallas. Una buena técnica es usar el formato JPG de alta resolución con una compresión del 40%. Así evitamos que as imágenes se pixelen demasiado.

Otra solución es usar Adaptive-Images, una solución que trabaja conjuntamente en el front y el servidor.

En resumen

El responsive design es una técnica relativamente joven, y aún no se ha madurado lo suficiente. Estos son algunos puntos que he estudiado y que veo mejorables en la mayoría de casos, pero no son todos ni tienen por que ser realmente malos para el usuario (yo mismo caigo en estos “errores”).

Nos toca a nosotros como desarrolladores y diseñadores la búsqueda de una mejor experiencia en todos los dispositivos así que os animo a experimentar y estudiar, para que saquéis vuestras propias conclusiones.

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 9.2/10 (12 votes cast)

Iconos vectoriales HTML5 con font-face

En este tutorial veremos como usar iconos vectoriales con @font-face en nuestra web. Los iconos vectoriales tienen varias ventajas:

  • Son escalables
  • Puedes cambiar su color fácilmente
  • Un conjunto de iconos puede pesar menos que un sólo icono de 32x32px.

Leer entrada completa

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 10.0/10 (2 votes cast)

Tutorial de LESS.js en español

Cómo anunciaba en la anterior entrada, el pasado día 13 de junio ofrecí un seminario gratuito de Less.js y responsive design. Espero que las tres horas que dedicamos a profundizar en estos temas fueran del agrado de los asistentes y que se lo pasasen igual de bien que yo. Desde luego con gente tan increíble se hace muy sencillo explicar cualquier cosa. Gracias a todos los que asististeis.

Con todos ellos como con todos los que no pudieron asistir me gustaría compartir la presentación – explicación – tutorial sobre Less.js. Si no me equivoco es el único tutorial completo de Less.js en español. En cuanto al tema de responsive, y ya que lo abordamos exclusivamente desde un caso práctico no puedo ofreceros material propio, pero si la recomendación de seguir a un auténtico maestro, Leonidas Esteban, que en su canal de youtube guarda unos más que completos tutoriales de diseño sensible.

Descargar presentación

Si os gustó, dedicadme un saludo en twitter (@ajnavajas) ;) .

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 7.0/10 (3 votes cast)

Seminario gratuito Responsive Design y Less.js en Córdoba

El próximo día 14 de junio de 2012 el Departamento de Informática del Instituto Alcántara vuelve a darme la oportunidad de impartir un seminario “muy gratis” sobre tecnología web.

En esta ocasión los temas de la conferencia serán el diseño web para diferentes dispositivos, responsive design (diseño sensible), las mobile apps vs las web apps, el modelo “Mobile First” y Less.js.

Cartel Tecnologías Web 2012 Less.js y Responsive Design

¿Qué aprenderás?

En la primera parte de la conferencia profundizaremos en el uso del preprocesador de CSS Less.js, que nos acerca las hojas de estilo a un lenguaje de programación con variables, funciones, condiciones… una herramienta que hace que diseñar sea mucho más fácil, rápido e intuitivo.

En la segunda parte nos adentraremos en el diseño web para dispositivos móviles y aprenderemos desde el modelo de pensamiento “Mobile first” a crear un diseño web adaptable a todos los dispositivos mediante la técnica de Responsive Design.

Podéis solicitar la inscripción totalmente gratis escribiendo un email a instituto@grupoalcantara.es.

Actualización

Debido a que el 14 juega el campeón del mundo en la Eurocopa, trasladamos la fecha al miércoles día 13 con el mismo horario.

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 9.0/10 (3 votes cast)

Apple pierde un prototipo de iPhone otra vez: la verdadera historia

Publicado el: 6 comentarios

La historia se repite. Hace un año la noticia de la perdida de un prototipo del iPhone 4 formó un gran revuelo. De nuevo, como si de una estrategia de marketing se tratara, se vuelve a perder un prototipo de iPhone, aunque en este caso no se sabe exactamente que modelo es. Esta duda no os la puedo despejar, pero sí el cómo se perdió. Esta es la historia:

CómicEn una de estas, Apple me demanda. Si queréis proponer un tema geek para el comic, como hoy ha hecho Salva Ferrando, podéis escribirme un mail o contactad conmigo en las redes sociales :) .

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 10.0/10 (6 votes cast)

Cómo afrontar un proyecto de diseño (II)

Publicado el: 4 comentarios

Continuamos esta mini-guía para afrontar proyectos. Te recomiendo que leas los principios básicos incluidos en el anterior artículo y los tengas en cuenta para las siguientes explicaciones.

Tablas de la ley

El proyecto gratuito

Son los proyectos en los que en principio no vas a tener beneficio, por ejemplo los concursos o los típicos proyectos por compromiso con un amigo o familiar. Este tipo de trabajos van en contra del tercer principio y por tanto te recomiendo que los evites a no ser que no tengas nada mejor que hacer. Por un lado los concursos suelen tener unas condiciones abusivas y aún en el caso de ganarlos, pueden salirte caros. Conozco un caso muy descriptivo:

Un concurso de creación de logotipo. Premio 500?. El ganador no leyó la letra pequeña de las bases que indicaban que el premiado, además de ceder todos sus derechos sobre el logo, debía realizar el manual de identidad corporativa, diversas piezas publicitarias y el diseño de la web.

En el caso de los compromisos lo típico es encontrarse primero en un ambiente distendido. Pero los “cuando tu puedas” y “cómo tu quieras” que se dan al principio se van tornando en exigencias cuanto más tiempo pasa.

Cómo afrontarlo: Si te ves obligado a realizar uno de estos proyectos, trata de realizarlo en el menor plazo posible, pero jamás por delante de otros proyectos.

El proyecto “altruista”

Es diferente al proyecto gratuito. Aunque no lo haces por dinero, recibirás otros beneficios como promoción, visitas a tu web, reconocimiento, portfolio y el resultado será un escaparate de tus habilidades.

Cómo afrontarlos: Aquí prima el principio 2. El beneficio que obtendrás depende directamente de la calidad. Debes emprender estos proyectos exclusivamente en tu tiempo libre.

El proyecto sencillo

Son los que requieren poco esfuerzo. Son fáciles y suelen ser breves.

Cómo afrontarlo: Deben ocupar los primeros puestos en nuestro esquema de tiempo ya que al ser más cortos tienen menos margen. Es indispensable aplicar el principio de calidad por sencillo o corto que sea un proyecto. Al principio la mayoría de tus proyectos serán de este tipo y debes cuidar los detalles.

El “mega proyecto”

No es un proyecto habitual. Aunque sólo eres diseñador de cualquier tipo, acuden a ti para que realices labores de diseño y de mil campos más que no dominas. Suelen ser proyectos importantes, bien pagados aunque de plazos ajustados.

Cómo afrontarlo: Es imposible saber de todo en profundidad. Cuando te encuentres con un proyecto de este tipo debes pensar si cumples los siguientes factores:

  • Aunque no tengas dominio, conoces suficiente los campos ajenos a tu actividad.
  • Puedes contar con personas profesionales en esos campos.
  • Dispones de colchón económico.
El que mucho abarca poco aprieta

Si no los cumples, rechaza el proyecto. Olvídate de ideas como “no he programado nunca en Python, pero seguro que aprendo en una semana“. Puede que lo consigas pero no tendrás experiencia, por lo que no eres un profesional, no lo vas a hacer bien y habrás perdido tiempo de proyecto. Si un cliente quiere que hagas un proyecto importante, también lo puede querer otro.

Si cumples estos tres factores te encuentras en la situación perfecta para aceptar el trabajo. Subcontrata los profesionales necesarios y dirígelos. Hazlos partícipes de tus principios. Recuerda asegurarte un ingreso dinero mediante pagos fraccionados o por módulos y aún así recuerda conservar el colchón económico para imprevistos. Estos proyectos necesitan mucho tiempo y dedicación pero no debes descuidar trabajos más pequeños. Piensa que si cae el “mega proyecto”, deben quedarte otros trabajos.

 

Para terminar

Es importante que no olvides hacer un buen trabajo y sobre todo divertirte mientras lo haces. No abarques más proyectos de los que puedas y evitarás quedar mal con tus clientes. Confía en tus habilidades y entrénalas.

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 8.2/10 (6 votes cast)

Cómo afrontar un proyecto de diseño (I)

Publicado el: 4 comentarios

Para convertirte en un buen profesional no basta sólo con ser bueno diseñando: tienes que saber gestionar tu tiempo y tus medios. Existen diferentes tipos de proyectos y cada uno se debe afrontar de forma diferente. Aparte de las cláusulas que se puedan incluir en cada contrato, tomas una actitud con cada tipo. El siguiente texto está basado en mis propias experiencias, en los aciertos, fallos y el ensayo y error de este servidor. Empecemos por el principio, o mejor dicho, los principios.

Principios básicos

Los principios básicos son objetivos que debes cubrir en todo proyecto que realices. Numerados para referencias, sin ningún orden en particular:

  1. Termina lo que empieces.
  2. Principio de calidad. Los proyecto que empieces debe terminar con un máximo de calidad, independientemente de otros factores.
  3. Principio de beneficio. Tus proyectos deben darte un beneficio superior al esfuerzo que inviertas. Piensa que el beneficio no siempre es económico.
  4. Principio de precio del trabajo. Todo proyecto tiene un precio (ahora sí hablo de dinero) y tienes que conocerlo, tanto para no ir contra la premisa tres como para no cobrar de forma abusiva.
  5. Principio de “El tiempo es oro”. Tu tiempo es dinero y la cantidad de dinero que hagas en tu tiempo depende de tu productividad.
  6. Principio de alianza con el cliente. Dentro del proyecto, el cliente juega un papel protagonista. Trata de entenderle a él y su actividad, se consciente de que posiblemente él no entienda la tuya y si es así haz de guía y enséñale. Evita los clientes que te traten como un enemigo.
  7. Principio del no. No tienes que aceptar todos los proyectos. No tienes que hacer todo lo que te dicen. Tienes que aprender a decir no.

Tablas de la ley

Los proyectos

Ahora que conocemos los principios, es hora de ver los tipos de proyectos y la forma en la que tienes que actuar ante cada uno.

El proyecto fantasma

Es ese proyecto que parece que va a llegar, pero que nunca llega o nunca se acaba. Es una completa pérdida de tiempo y energías.

Cómo afrontarlo: No hay forma de saber si un proyecto va a convertirse fantasma, así que cobra siempre una parte inicial. La excepción es que sea un cliente de mucha confianza.

El proyecto de plazo largo

Pocas veces verás uno de estos. Son proyectos en los que tienes más tiempo del que necesitas. No creo que un cliente te de un plazo largo porque entienda que estás estresado. Lo hará porque no tiene mucho interés o bien falta algún punto importante, como por ejemplo, dinero para llevarlo a cabo.

Cómo afrontarlo: Pide una parte del dinero por adelantado para (por curioso que suene) implicar al cliente. Procura presionar para que el cliente quiera avanzar y aplícate a ti mismo un plazo razonable. No empieces a procrastinar.

Si tus esfuerzos por convertirlo en un proyecto de plazos razonables no funcionan, te aconsejo que lo evites: puede ser un proyecto fantasma.

El proyecto de plazo corto

Los más habituales. Son esos proyectos catalogados como urgentes para los que te dan muy poco tiempo para realizar un trabajo.

Flash

Cómo afrontarlo: Si no puedes cumplir con los principios 1 y 2, recházalos. Ten presente el principio del valor del trabajo.

Si tienes la mitad del tiempo para hacer un trabajo, su beneficio debería subir al doble. Si esto no se cumple deberías rechazarlo.

Si aceptas el proyecto incluso en contra del principio de beneficio valora si realmente es urgente para elegir sus prioridad frente a otros.

El proyecto de plazo razonable

Si además está bien pagado, mándamelo :D .

Ahora en serio. Son aquellos en los que tienes un plazo realista para que realices tu trabajo. Menos comunes que los de plazo corto.

Cómo afrontarlo: Los clientes que dan plazos realistas entienden de que hablan, saben lo que quieren y son buenos clientes. Debes buscar un buen lugar en tu timming para ellos y ajustar el precio del trabajo. Estos sacrificios repercuten en la posterior relación con el cliente.

Otros proyectos

En el siguiente artículo veremos otros tipos diferentes de proyectos y cómo afrontarlos.

VN:F [1.9.22_1171]
Valora esta entrada
Rating: 9.8/10 (8 votes cast)