Posts etiquetados ‘desarrollo web móvil’

 

La multitud de dispositivos móviles y el aumento del acceso desde los mismos a Internet han hecho que los desarrolladores web se planteen en ofrecer un contenido ajustado a cada usuario según su dispositivo con el que realiza su visita ya sea Android, iPhone, iPad…

Esto es una ventaja (y más trabajo, sí) pero atentos, esta demostrado que al ofrecer a cada usuario un trato personalizado ganamos “algo” por lo que mataría cualquier marketiniano: la fidelización del usuario. Simplemente, con que el usuario sepa que la página que está visitando esta pensada para él, para su dispositivo, genera cierto grado de satisfacción y esto repercute en la fidelización del mismo.

Como comentaba el uso de dispositivos móviles esta en auge destacando tablets y iPad. Estos últimos, los usuarios de iPad, suelen ser muy interesantes porque normalmente disfrutan de un nivel adquisitivo superior a la media, cosa que puede repercutir de forma positiva($$$) en nuestro negocio. Por lo que no es ninguna tontería darles “un trato especial” con un desarrollo web ajustado a su caro y bonito iPad para que compren fácilmente nuestro producto y se sientan cómodos en su experiencia de compra desde su dispositivo.

Pero, cómo hacemos esto? Pues lo bueno es que es muy fácil.

Con este sencillo código puedes redireccionar al usuario a un contenido específico diferenciando por dispositivo móvil:

Código Javascript para detectar visitas desde Android, iPad o iPhone:
/* Android user */
if (navigator.userAgent.indexOf('Android') != -1) {
window.location.href="http://www.tusitio.es/Android/";
}
/* iPhone user */
if (navigator.userAgent.indexOf('iPhone') != -1) {
window.location.href="http://www.tusitio.es/iPhone/";
}
/* iPad user */
if (navigator.userAgent.indexOf('iPad') != -1) {
window.location.href="http://www.tusitio.es/iPad/";
}

[tweetmeme source=”kike_puelles” only_single=false]

Andaba buscando como empezar a toquetear de manera sencilla el mundo de las aplicaciones para móvil. Había probado algunas aplicaciones que transformaban tu web, el código… que parecen funcionar pero depende de tu necesidad claro.

Y así, descubrí App Inventor, un proyecto de Google Labs, por supuesto para Android. Muy sencillo de usar, intuitivo si has manejado ya la consolas como J2ME para desarrollar aplicaciones móviles o al menos intentarlo (Yo con un ‘Hola mundo’ y un par de opciones para navegar me dí por satisfecho). Pero mirarme ahora, geolocalizarme con el componente LocationSensor.

Creo que las posibilidades son inmensas y yo que no soy ducho en artes móviles (todavía, dame tiempo…) casi tengo un Foursquare, salvando las distancias claro.

Os dejo el enlace  para todos aquellos que quieren empezar a desarrollar sus propias aplicaciones en Android y disfrutar en su Smartphone de su ingenio. Tienes que instalarte la App, por supuesto compatible para Win, Mac y Linuxy con una interfaz gráfica puedes ir creando tu aplicación.

Más información: App Inventor.

Además, quien sabe cual será el próximo App indispensable para nuestros móviles, lo mismo eres tu. Te animo a probar App Inventor y que nos contemos nuestra evolución.

El acceso a Internet a través del móvil ha aumentado considerablemente en los últimos años hasta el punto que los desarrolladores y diseñadores web ya no podemos permitirnos el lujo de ignorarlo. El desarrollo de webs para móviles es más complejo que el desarrollo de una simple página web, incrementándose cada día con la aparición de nuevos dispositivos y distintos navegadores. Desde el principio debemos plantearnos un desarrollo multiplataforma. Además, regresan problemas como: el ancho de banda, la resolución de pantalla… Yo ya ni me acordaba!

Navegadores moviles

Una manera de facilitar nuestro trabajo es diferenciar el CSS web del CSS para las visitas que accedan a nuestra página a través de móvil.

No es difícil, de hecho podemos hacerlo de varias maneras, cada uno que elija la que más le convenga:

Del lado del servidor

Esto implica la detección del User Agent visitante mediante un código de servidor (como PHP) en nuestras páginas. Como consecuencia, o bien sirve una hoja de estilos apropiados o redirige al usuario a un subdominio móvil del tipo m.facebook.com donde se garantiza la compatibilidad con el dispositivo móvil.

El único problema es mantener actualizada la lista de UA, ya que cada día aparecen nuevos perfiles.

Del lado del cliente

Una manera sencilla de detectar el dispositivo es por la resolución. Si acceden con una resolución inferior a 480px de ancho podemos deducir que se trata de un dispositivo móvil y redirigir consecuentemente o cargar el CSS para móviles.  Por ejemplo:

<span onmouseover="_tipon(this)"onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left;"><link rel="stylesheet" href="mobile.css" media="only screen and (max-device width:480px)"/></span><link rel="stylesheet" href="mobile.css" media="only pantalla y (max-device width:480px)"/></span>

Acceso directo del usuario

Tan fácil como poner una opción en nuestra web que vincule directamente a las páginas desarrolladas para móviles bajo petición del propio usuario (‘Visita nuestro site con tu móvil’). De esta manera le das al usuario la opción de elegir el modo de visualización que prefiere.

Algunas de los puntos básicos a la hora de diseñar una web para móviles

  • El diseño, debido al reducido tamaño de las pantallas, es más que recomendable que se estructure en única columna.
  • Evitar la carga de imagenes innecesarias, podemos utilizar la propiedad de display(block/none) para diferenciar entre contenido web y movil en nuestro CSS según el caso.
  • Aumentar el tamaño de fuente para movil y facilitar la legibilidad de los textos.
  • Evitar los elementos flotantes
  • No usar flash en nuestros diseños.
  • Evitar los estados de javascript como onMouseOver, ya que muchos dispositivos no lo reconocen.
  • iPhone no es compatible con <input type="file" />

Trucos para hacer webs para móvil mucho más usables

Sencillo y útil para facilitar al usuario una mejor experiencia web móvil:

Número de Teléfono Clicable para llamar automáticamente desde el móvil

<span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left;"><a href="tel:15032084566" class="phone-link">(503) 208-4566</a></span> <a href="tel:15032084566" class="phone-link"> (503) 208 a 4566</ a></span>

La clase .phone-link activa la posibilidad de hacer click sobre el numero de teléfono solo si visitamos la página desde un móvil.

Usando Input y sus types de HTML5

<span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left;"><inputtype="tel"/></span> <input type="tel"/></span>

<span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text"style="direction: ltr; text-align: left;"><input type="email"/></span> <input type="email"/></span>

Estos tipos de INPUT de HTML5 permiten que los dispositivos como el iPhone muestren un teclado contextual que se relaciona con el tipo de entrada.  En el ejemplo anterior type="tel" desencadena un teclado numérico ideal para introducir números de teléfono y type="email" desencadena un teclado con @ y . botones.

Detectar la orientación del dispositivo móvil

Para detectar la orientación del dispositivo, podemos utilizar una consulta similar a la detección de dispositivos de cliente que hablamos antes. Dentro de la hoja de estilo, incluimos:

<span onmouseover="_tipon(this)"onmouseout="_tipoff()"><span class="google-src-text"style="direction: ltr; text-align: left;">@import url("portrait.css") alland</span> @ Import url("portrait.css") y todos los</span>
<span onmouseover="_tipon(this)"onmouseout="_tipoff()"><span class="google-src-text"style="direction: ltr; text-align: left;">(orientation:portrait);</span> (Orientación: vertical);</span>
<span onmouseover="_tipon(this)"onmouseout="_tipoff()"><span class="google-src-text"style="direction: ltr; text-align: left;">@import url("landscape.css") alland</span> @ Import url("landscape.css") y todos los</span>
<span onmouseover="_tipon(this)"onmouseout="_tipoff()"><span class="google-src-text"style="direction: ltr; text-align: left;">(orientation:landscape);</span> (Orientación: horizontal);</span>

Aquí portrait.css añadido para dispositivos en vertical y la landscape.css será añadido para los visualizados en horizontal.

Via www.smashingmagazine.com

Espero que os sirva de ayuda, seguiré indagando y aportando más información sobre web para móviles, a mi parecer, un futuro muy presente.