miércoles, 24 de octubre de 2012

Captura de pantalla en OS X

Este tip no es de GeneXus ni de las plataformas de smart devices, sino que aplica a Mac OS X. Creo que de todas formas es útil para la comunidad GeneXus, porque en general somos usuarios Windows que nos enfrentamos por primera vez a OS X al querer compilar una aplicación iOS.

Existen varias combinaciones de teclas que permiten capturar imágenes de pantalla, que vienen de forma nativa en OS X.

  • Para capturar toda la pantalla, presionar ⌘^3 (Command-Shift-3)
     => Saca una foto de la pantalla y guarda la imagen en el escritorio. Si hay más de un monitor, saca una foto de cada uno.
     
  • Para capturar una parte de la pantalla, presionar ⌘^4 (Command-Shift-4)
     => Cambia el cursor, aparece una cruz con las coordenadas de la pantalla, y si seleccionamos una región guarda la foto de esa zona de la pantalla en el escritorio.
     
  • Para capturar una ventana en particular, presionar ⌘^4 (Command-Shift-4) y luego Espacio
     => Cambia el cursor mostrando una cámara de fotos, y pinta de celeste la ventana sobre la cual posiciono el cursor. Al hacer click, guarda una imagen de la ventana seleccionada en el escritorio. Una cosa interesante es que funciona aunque la ventana esté parcialmente oculta y no tenga el foco, es decir, aunque haya otra ventana que la tapa parcialmente, la captura es de toda la ventana que seleccioné.

viernes, 19 de octubre de 2012

Diseño de UX en Smart Devices: un par de charlas que son un "must"

El tema del Diseño de la UI (User Interface) o de la UX (User Experience) es importante. En el caso de los Smart Devices (Tabletas y celulares) es un "must". 

Una parte importante del éxito de estos dispositivos son las aplicaciones y su integración con el mismo, no solo a nivel de funcionalidad sino a nivel de UX.

Estas dos charlas del XXII Encuentro Genexus creo que aportan sobre el QUE y el COMO desarrollar aplicaciones con una buena UX.

Lo que me parece especialmente valioso de ambas es que partieron de un marco teórico y luego probaron/ajustaron ese marco al utilizarlo en varias proyectos diferentes. De este modo lograron algo simple y que funciona.

jueves, 11 de octubre de 2012

Carga dinámica de clases para las filas de una grilla

Veamos un ejemplo de carga dinámica de clases en una grilla, de modo de tener una estética diferente en cada línea de la misma.

El ejemplo es la aplicación para Smart Devices del XXII Encuentro GeneXus (disponible para iOS y Android).

Las distintas charlas tienen asociados uno o varios  tracks, los cuales además se identifican con un color.
Se quiere que en cada línea, aparezca una barra del color asociado al track a la izquierda y que el texto del track y de los oradores también aparezca de dicho color. 


Beneficios de plataforma Samsung


Los siguientes son beneficios que experimentamos con Pesobook(*) en la plataforma Samsung hasta el momento:

1) Samsung Apps

Todo dispositivo Android de Samsung trae instalada de fábrica una app llamada Samsung Apps. Es la app que permite bajar e instalar aplicaciones desde el market http://www.samsungapps.com; así como existe la de Google Play para bajarse las apps de https://play.google.com/store

Hace unos meses, para probar su efectividad, subimos la versión Android nativa de Pesobook a samsung apps.
El proceso para la aprobación y publicación consta de varias etapas, incluyendo test manual de Samsung que dura unos días, así que es similar al de Apple. 
Por lo engorroso que era el proceso de publicación de apps en ese momento, solamente subimos la app para el Samsung Galaxy S3 (Samsung obligaba a subir un apk por cada modelo - eso últimamente cambió).
Aún así, ahora la app tiene 1700 downloads en Samsung Apps, eso es 10% del total sabiendo que en Google play tenemos 15000 downloads.

Para registrarse y subir apps a Samsung Apps: http://seller.samsungapps.com
Pesobook en Samsung Apps: http://www.samsungapps.com/topApps/topAppsDetail.as?productId=G00006528024


2) Remote Test Lab (RTL)

Permite probar via web, en forma remota, aplicaciones Android en los dispositivos de Samsung.
Esto, dada la alta fragmentación de Android , es un recurso que nos resultó útil para probar las apps remotamente en dispositivos de distintos tamaños y con distintas compilaciones de Android y así anticiparnos y evitar experiencias y comentarios negativos de nuestros usuarios.

Cómo funciona:
Entrar con chrome a  http://rtl.innovator.samsungmobile.com, crearse usuario, etc.  
Seleccionar un dispositivo y versión y reservarlo, dar start y entonces baja un applet.
Se ejecuta el applet y se abre una pantalla con el dispositivo
Con botón derecho se tiene un menu para subir una app, y otras cosas.
probar la app...

Requerimientos:
chrome
java 1.6,
salida a puerto 2600 a  IPs  de 217.67.201.{228,229,230}.

Links: http://developer.samsung.com/remoteTestLab.do
http://rtl.innovator.samsungmobile.com

------------------------------------------------------------------------
(*) Acerca de Pesobook: 
Pesobook es un proyecto, una aplicación para iOS, Android y Web que permite llevar el control de su peso en forma fácil y rápida. Ver http://showcase.genexus.com/app.aspx?pesobook

miércoles, 10 de octubre de 2012

Forzar al usuario a actualizar la aplicación

Hace algunos días explicábamos como hacer para actualizar una aplicación sin tener que volver a compilar. En esta oportunidad, queremos el caso inverso: la aplicación cambió demasiado como para seguir ejecutando con la versión anterior, y quiero que el usuario que ya la tiene instalada tenga que actualizarla.

En este caso entonces, tenemos ya una nueva versión en el market. Es importante este punto, porque si la aplicación no está disponible aún, el usuario no podrá ejecutar la versión anterior, pero tampoco podrá obtener la aplicación nueva.

El mecanismo es similar al explicado en la nota anterior, y también está documentado en el Wiki. En este caso, lo que debemos cambiar para que fuerce a actualizar, es simplemente el major version de la aplicación.