Densidad de pixel, tamaño de diseños para HTML, Android e iOS

Densidad de pixel, tamaño de diseños para HTML, Android e iOS

A la hora de diseñar para múltiples dispositivos, tanto en dispositivos iOS como Android, corremos el peligro de no tener en cuenta las a veces enormes diferencias entre estos y que lo que en un dispositivo se ve bien, en otro aparezca muy pequeño o muy grande. En este artículo, intento abordar de una manera global el diseño tanto en apps como en html para dispositivos móviles, dado que en ambos casos tenemos que tener en cuenta varios aspectos para que la experiencia usuario sea óptima. Para ello es fundamental conocer varios conceptos que vamos a tratar a continuación.

Para empezar, sabemos que un pixel es un punto que emite un único color o escala de grises en una pantalla. Es obvio que cuanto mayor sea el número de pixels, más detalle y nitidez tendrá la imagen que estemos viendo, aquí es donde entra en juego la densidad de pixel.

Las pantallas se miden en pulgadas (1 pulgada = 2,54 centímetros), y cuando damos la medida de una pantalla, lo hacemos tomando como referencia su diagonal, cuando nos dicen que una pantalla es de 25 pulgadas, nos están diciendo que su diagonal mide 25 pulgadas, es decir, 25×2,54 cm

La densidad de píxeles es la cantidad de pixels que hay en una pulgada de una pantalla. Cuanto mayor sea este número, más nítida será la imagen y con más detalle. Esta cantidad de pixels que hay en una pulgada, se mide en pixels por pulgada ppp o en ppi (pixels per inch) o dpi  (Dots per Inch). Con lo cual una pantalla de alta densidad será aquella que más ppp tenga, esto significa que si hablamos de tamaños, cuando hacemos un botón por ejemplo de 100x60px, se verá más grande en una pantalla de baja densidad que en una de alta densidad.
Para calcular la densidad de una pantalla; densidad de pantalla = anchura de la pantalla en pixels / anchura de la pantalla en pulgadas

En el siguiente gráfico, podéis ver dos botones, los dos con las mismas dimensiones, 10 x 4px. El de la izquierda sería el resultado de mostrarlo en una pantalla de más densidad que el de la derecha, concrétamente 4 veces más pixels por pulgada que la de la derecha.

DP, pixeles de densidad independiente para Android

Para evitar este problema y que cualquier gráfico o imagen se pueda ver igual en cualquier pantalla, tenemos los DP, pixels de densidad independiente.

Los píxeles de densidad independiente son una unidad de píxeles virtual, que nos permiten definir las dimensiones de disposición o posición, de una manera independiente a la densidad de pantalla.

Un pixel independiente equivale a un pixel en una pantalla de 160 ppp.

  • px = dp * (dpi / 160)
  • dp = (ancho en píxeles * 160) / densidad de la pantalla

Se toma una pantalla de densidad «media» 160 ppp. En tiempo de ejecución, el sistema escala las unidades dp, según sea necesario, en función de la densidad real de la pantalla en la que se esté mostrando el contenido.

  • Para una pantalla de 160 dpi, 1 dp equivale a 1 px
  • Para una pantalla de 240 dpi, 1 db equivale a 1,5 px  — px=dp * (240/160); dp=px/(240/160); dp= 1,5px
  • 320 dpi, 1db=2px
  • 480 dpi, 1db=3px

En esta imagen podemos ver cómo si queremos mantener el aspecto de un botón en la pantalla, deberemos de hacer varios tamaños aplicando el factor que acabamos de ver, de ese modo siempre se verá en igual proporción dentro de las distintas pantallas. La escala no es real, pero si nos creemos que el botón que he dibujado en la resolución de 160dpi mide 10x10px, este botón habrá que guardarlo en 15×15, 20×20, ….

@1x, @2x, @3x, factores de escala para iOS

Cuando se trata de un iphone, los múltiplos que utilizamos son @1x, @2x y @3x que corresponden a las siguientes resoluciones:

Dispositivo Factor de escala
iPhone XS Max (1242x2688px)  – 458 dpi @3x
iPhone XS (1125 x 2436px)  – 458 dpi @3x
iPhone XR (828x1792px)  – 326 dpi @2x
iPhone X (375x812px) @3x
iPhone 7 Plus (414x736px) – 401 dpi @3x
iPhone 7 (375x667px) – 326 dpi @2x
iPhone 6s Plus, 8 Plus (414x736px) – 401 dpi @3x
iPhone 6s, 8 (375x667px) – 326 dpi @2x
iPhone SE (320x568px) – 326 dpi @2x
iPhone 4 (320x480px) – 326 dpi @1x

 

Tamaños mínimos

Teniendo en cuenta que deberemos adaptar nuestras imágenes a los distintos, o al menos, a las pantallas más habituales, otro factor a tener en cuenta es el tamaño mínimo que debe tener un elemento en pantalla, con el que el usuario vaya a interactuar, como por ejemplo un botón.

Cuando colocamos un enlace en un texto, el interlineado e incluso el tamaño del texto, hace en ocasiones muy difícil accionarlo, lo más aconsejable siempre es colocar botones, y estos botones también deben ser lo suficientemente grandes como para que cualquier usuario pueda accionarlo sin dificultad con el dedo. Para ello se establece que todo botón debe al menos ser 42 px y no más de 72px. Diversos estudios han dado como resultado, que el tamaño preferido por los usuarios es de 60px

Cuando tenemos varios botones en una página, en ocasiones hay que priorizar o dar más importancia entre unos y otros, esta prioridad se establece también con estos tres tamaños, baja prioridad para un 42x42px, prioridad media para un 60x60px y alta prioridad para un 72x72px.

NOTA: Estas medidas son aplicables a botones rectangulares, siendo estas medias la altura mínima de dichos botones.

Los espacios entre botones, también están estandarizados, se ha comprobado que cuando los botones estaban demasiado separados, los usuarios se movían al objetivo táctil mucho más lentamente, y cuando los botones estaban demasiado juntos, los usuarios tenían menor precisión a la hora de pulsarlos, así pues se establece o se recomienda, que el espacio entre botones sea el siguiente:

  • Separación entre botones de 42px: entre 36 y 48px
  • Separación entre botones de 60px: entre 24 y 36px
  • Separación entre botones de 72px: entre 12 y 24px

Encontraréis varias referencias y opiniones en cuanto a los tamaños, después de consultar varios estudios, creo que estos son los más aceptados, Android por ejemplo, recomienda que los objetivos táctiles sean al menos 48 x 48dp, con al menos 8dp (o más) entre ellos.

¿Cómo establecer en tu CSS las distintas imágenes-tamaño según la resolución de pantalla?

No voy a entrar en programación iOS y Android, porque no tengo ni idea 😉 Pero si os dejo a continuación el cómo abordar este tema en HTML. Lo que hacemos, es indicarle al navegador, mediante nuestra CSS que muestre una u otra imágen según sea la pantalla del dispositivo en el que se está mostrando nuestro diseño. Para ello usamos los llamados breakpoints o puntos de corte.

Según densidad:

@media
(-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 
.miclase {}
}

Según ancho de pantalla:

@media 
only screen and (min-width: 320px) {  
.miclase {} 
}

Podemos ser incluso más específicos a la hora de determinar un punto corte en la CSS. En este caso, definimos ancho tanto mínimo como máximo, densidad e incluso orientación del dispositivo:

@media 
only screen and (min-device-width: 375px) 
and (max-device-width: 667px) 
and (-webkit-min-device-pixel-ratio: 2) 
and (orientation: portrait) { 
.miclase {}
}

Los breakpoints más comunes son:

  • @media all and (min-width:1200px){ … }
  • @media all and (min-width: 960px) and (max-width: 1199px) { … }
  • @media all and (min-width: 768px) and (max-width: 959px) { … }
  • @media all and (min-width: 480px) and (max-width: 767px){ … }
  • @media all and (max-width: 479px) { … }

Salvar nuestro diseño en distintos tamaños lleva tiempo, además del tiempo de programación, por eso, antes de volverse loco y empezar a hacer todo tipo de versiones, lo recomendable es considerar nuestro proyecto, incluso si se trata de una actualización de un diseño viejo, consultar Analytics y ver qué especificaciones de pantalla son las  más habituales entre nuestros usuarios, y en función de eso, determinar qué puntos de corte tenemos en cuenta.

Hoy en día ya es imposible pensar en un diseño online y no tener en cuenta que será visto en dispositivos móviles, tablets, etc. Los diseñadores debemos estar preparados para asumir este desafío y seguir siempre las innovaciones, pero siempre teniendo en cuenta la usabilidad de nuestros diseños. ¡Innova con sentido común!

Share and Enjoy !

Shares
APNG, crear PNG animados

APNG, crear PNG animados

Seguramente más de una vez habrás tenido que crear un gif animado transparente. El resultado es muchas veces desastroso, porque los bordes suelen pixelarse incluso a máxima resolución.

Existe desde hace tiempo una solución, aunque todavía no está muy implantada por culpa de las incompatibilidades con navegadores, el png animado.

El formato de archivo APNG es muy superior en todos los aspectos al gif animado. Soporta imágenes 24 bits y más de 16 millones de colores, mientras que el formato GIF, al soportar 8 bits, está limitado a 256 colores. La diferencia pues es enorme.

Además, el PNG animado, no sólo soporta la transparencia total, sino también la parcial (por capas).

DIFERENCIAS EN VELOCIDAD fps

Otra gran diferencia, es que mientras la velocidad máxima en un gif animado es de 10 frames por segundo, en un APNG, la velocidad es ilimitada. He creado esta animación básica, en los dos formatos, a la izquierda el APNG a 20 frames por segundo y a la derecha el gif animado a su máxima velocidad, 10 fps. La diferencia es notable.

DIFERENCIAS DE CALIDAD

Veamos qué sucede cuando le pedimos algo más a la animación, y metemos por ejemplo en lugar de un color plano, un degradado. A la izquierda el APNG y a la derecha el Gif Animado. Como podéis apreciar, al meter transparencia, el gif animado pierde mucha calidad y se pixela.

COMPATIBILIDAD CON NAVEGADORES

La duda principal es saber ¿qué navegadores soportan un png animado?. Firefox fue el primero en soportar este formato, pero hoy en día también es compatible con Chrome, Safari y Opera. Una vez más el problema nos lo encontramos con Internet Explorer o Microsoft Edge, que no reproducen este formato. ¿Para cuándo unos estándares de compatibilidad entre navegadores?. En estos casos la única solución que se me ocurre sería meter una imagen alternativa (gif animado) para cuando detectemos este tipo de navegador. Tenéis todas las compatibilidades en Can I use.

¿Solución?, detectar con una función el navegador y mostrar una imagen alternativa para aquellos que no son compatibles.

HERRAMIENTAS GRATUITAS PARA CREAR UN PNG’s ANIMADOS

Si utilizas Photoshop, puedes utilizar el plugin apngasm.

Tienes varias herramientas gratuitas:

Así que esperemos que algún día los navegadores dejen de ir cada uno por su lado y confluyan en unos estándares que nos permitan no volvernos locos a la hora de diseñar y maquetar.

Share and Enjoy !

Shares
Espectaculares efectos interactivos con el Scroll de una página. Descárgalos !!!

Espectaculares efectos interactivos con el Scroll de una página. Descárgalos !!!

Las animaciones a través del movimiento del scroll de una página, son en mi opinión, una de las herramientas que mejor nos permiten llamar la atención del usuario.

Utilizando estos efectos, podemos hacer todo tipo de animaciones, desde las más complejas, hasta movimientos de lo más discretos, todo siempre dependiendo del producto que tengamos que vender. En cualquier caso, los efectos interactivos con el scroll, lo que nos permiten como usuario, es tener un control sobre la página del que rara vez solemos disfrutar. Los contenidos no se muestran sin más,  gracias a esa interactividad con la profundidad del scroll, podemos controlar la aparición de contenidos, imágenes o animaciones cuando nosotros queramos, incluso echar hacia atrás para ver cómo se ha producido ese efecto.

Esa interacción también promueve la viralización de nuestras páginas, por lo que, como he dicho al principio, siempre teniendo en cuenta el tipo de producto que estamos vendiendo, recomiendo 100% el uso de estas interactividades, al usuario le va a agradar y a nosotros nos permite desarrollar algo más nuestra creatividad.

EJEMPLOS

 

MAKE YOUR MONEY MATTER.

Una impresionante web en el que se cuenta el funcionamiento de un producto a través de una historia.
VER EJEMPLO

 

EVERY LAST DROP

Otro producto vendido a través de una historia bien ilustrada, otro claro caso de cómo la información va a ser mejor aceptada por el usuario y como decía al principio del artículo, muchas probabilidades de que sea compartida tu página.
VER EJEMPLO

 

PORSCHE EVOLUTION

En este caso podemos ver cómo ha solucionado Porsche su web para mostrar la evolución de sus vehículos a lo largo de los años y de la música, todo con un efecto parallax activado por el scroll.
VER EJEMPLO

 

PEUGEOT HYBRID

Si además eres capaz de mostrar tu información con ilustraciones como estas, el éxito está asegurado…
VER EJEMPLO

 

CLOSER

Esta web la puedes navegar como cualquier otra, a través de su menú, o la puedes recorrer entera haciendo scroll. Todo tipo de animaciones para tomar ideas.
VER EJEMPLO

 

COLOR OF THE YEAR

Una web muy visual. A través del color y de tipografías que van cambiando según profundizamos en el scroll.
VER EJEMPLO

 

MELANIE DAVEID

Lo interesante de esta web es observar cómo los contenidos están divididos en dos columnas y cómo una columna espera a la segunda para seguir mostrando contenido, todo ello por supuesto con la ayuda del scroll.
VER EJEMPLO

 

BAGIGIA

Esta web es antigua, pero la coloco en este listado, para mostrar cómo a través del scroll van cargando distintas imágenes para recrear una animación de un objeto, dando una sensación 3D
VER EJEMPLO

 

 

DESCARGAR CÓDIGO

EFECTOS SCROLL
Una de las mejores galerías, podéis ver todos los efectos posibles en http://scrollmagic.io/examples/index.html

 


Todo tipo de efectos con textos

 


Una librería tanto para web y móvil. Permite establecer un easing personalizado, rotaciones 3D, …

 


Librería  JS con timelines para generar animaciones mucho más suaves.

 


Animaciones para transformaciones de escala, rotaciones, animaciones 3D,…

 


Compatible con cualquier tipo de dispositivo, y perfecto para hacer una demostración de un producto realizando un 360 grados cuando el usuario hace scroll.

 


Pasa con el scroll de sección en sección con diversos tipos de animaciones

 


He colocado esta galería porque además de ser un menú muy vistoso y útil, nos muestra cómo van cambiando los puntos según avanzamos en el scroll

 


Detecta la dirección del scroll mostrando una capa arriba o abajo.

 


Muy interesante, permite el desplazamiento desigual entre columnas al hacer scroll.

 

 

 

 

Share and Enjoy !

Shares
Tipografía digital. Guía rápida y descargas gratis.

Tipografía digital. Guía rápida y descargas gratis.

La tipografía siempre ha ocupado un lugar preferente en el diseño gráfico. Además de ser básica para destacar el mensaje que queremos comunicar, también nos sirve para establecer una jerarquía dentro de ese mensaje.

Esta guía pretende dar indicaciones básicas para poder hacer un uso correcto enfocado al diseño web y de web Apps.

(más…)

Share and Enjoy !

Shares
La importancia del rendimiento en una web o webApp

La importancia del rendimiento en una web o webApp

Cada vez son mayores las exigencias de las páginas web que diseñamos. Imágenes más grandes y pesadas o  efectos que hacen más atractiva la experiencia usuario, hacen que sea indispensable comprobar si esa experiencia  que estamos buscando no nos devuelva justo lo contrario, es decir, una página que tarda mucho en cargar y que como resultado nos da una tasa de abandono cada vez mayor. Nos gusta navegar y la oferta es inmensa, si un sitio nos hace esperar acabamos por abandonarlo antes de que cargue.

(más…)

Share and Enjoy !

Shares
Densidad de píxeles. Diseñando para móviles.

Densidad de píxeles. Diseñando para móviles.

Una de las especificaciones técnicas que tenemos en cuanta al analizar un teléfono es la densidad de pí­xeles de su pantalla. La densidad de pí­xeles es una unidad que se mide en pí­xeles por pulgada ppp o ppi en inglés (pixels per inch), nos indica la calidad de una pantalla y es fundamental a la hora de realizar un diseño para móviles.

Las pantallas de alta densidad tienen más píxeles por pulgada que las de baja densidad. Esto provoca que los elementos de una interfaz de usuario de las mismas dimensiones de píxeles, aparecen más grandes en las pantallas de baja densidad y más pequeños en las pantallas de alta densidad.

(más…)

Share and Enjoy !

Shares