Generations Apps – Día 27 – Ajuste de rendimiento de tu aplicación

Puedes utiliza la herramienta de análisis de rendimiento de Windows Phone para mejorar los tiempos de respuesta de tus aplicaciones Windows Phone. Lo puedes lograr recolectando muestras de datos de rendimiento en una sesión de perfil para luego visualizar y analizar los datos. tienes la opción de analizar el rendimiento de ejecución o de uso de memoria de la aplicación en una sesión de perfil. Este tópico describe como capturar este muestre de datos y analizarlos usando el Performance Analysis Tool.

Para capturar los datos de rendimiento

  1. En Visual Studio 2010, abre un proyecto de Windows Phone version 7.1

  2. Compila el proyecto. (Para mejores resultados, deberías crear un compilado tipo Release)

  3. En la barra de herramientas estándar, selecciona el dispositivo objetivo (Se recomienda usar un dispositivo físico)

  4. En el menú Debug, selecciona Start Windows Phone Performance Analysis. Si estas abriendo un proyecto con versión de Windows Phone 7.0, no se desplegará esta opción de menú.Un log de rendimiento en blanco (un archivo .sap) se despliega en una pestaña de Visual Studio. El archivo .sap es nombrado automáticamente usando una combinación del nombre de tu proyecto con un formato de fecha y hora concatenada. Todos estos archivos son guardados a menos que tu los elimines.Este log de rendimiento se despliega con opciones que te permiten seleccionar que opciones de rendimientos deseas analizar.

    La siguiente imagen te muestra un log vacío de rendimiento y las opciones.

    WP-Performance

  5. En los settings, selecciona la opción Execution para analizar el rendimiento del despliegue ítems visuales y las llamadas a métodos en el código.

    -o-

    Selecciona la opción Memory para analizar el comportamiento de la memoria al instanciar objetos y el uso de texturas en la aplicación. Típicamente optarías por la opción Execution a menos que tu aplicación presente problemas de memoria.

  6. Opcionalmente, puedes dar clic en Advanced Settings para mostrar mas opciones para analizar tu aplicación como los detalles de la cache, colectar contadores de rendimientos detallados y analizar el stack de memoria.

  7. Cuando ya hayas terminado de seleccionar las opciones deseadas, da clic en Launch Applicacion para comenzar la sesión de perfil. Tu aplicación se ejecutara en el dispositivo objetivo (emulador o dispositivo físico).

  8. Ahora utiliza y navega en tu aplicación como un usuario común lo haría. Si hay problemas de rendimiento que ya has observado en casos anteriores, como un scrolling entrecortado o una falta de respuesta de la interfaz de usuario, asegúrate de usar esas funcionalidades para que sean analizadas por la sesión de perfil. Incluso puedes utilizar un cronometro para que tomes el tiempo de uso y tomar notas de observaciones encontradas en tu aplicación para analizarlas en el log de rendimiento. La siguiente imagen muestra una sesión de perfil en ejecución.

    WP-Profiling

  9. Cuando ya termines de interactuar con la aplicación, detiene la sesión de perfil dando clic o haciendo un gesto Tap en el botón Back, el cual causa que la aplicación se finalice. También puedes detenerla sesión yendo a la pestana de rendimiento, y dando clic en Stop Profiling.

Para analizar datos de rendimiento

  1. En el Explorador de Solución, da doble clic en el log de rendimiento (.sap) para abrirlo en Visual Studio. Si apenas terminaste la sesión de perfil, este log deberá estar abierto en Visual Studio. El grafico de la sesión es desplegada.

  2. Ahora utiliza el grafico para observar la tasa de imágenes por segundo (o frame rate) durante la sesión de perfil, al igual que el uso del CPU, uso de memoria, storyboards, cargas de imágenes y eventos de garbage collector.

  3. Para identificar problemas específicos con la aplicación, selecciona una región en la línea de tiempo graficada. Se desplegara información detallada de la región seleccionada, con mensajes e alerta, información y errores.

    WP-Graph

  4. En la tabla de análisis de rendimiento, veras tres tipos de entradas junto con los siguientes iconos:

    • Information icon Ítems de Información

    • Warning icon Ítems de alerta

    • Profiler error icon Ítems de Error

  5. Para cada entrada de Información, Alerta y Error, deberías seguir las instrucciones de la columna de Observation Summary para investigar a mayor detalle la fuente del ítem de información, alerta o error. Estas instrucciones te llevaran que selecciones hacer de la barra de navegación Performance Warnings, y que buscar una vez estando ahí. Puedes hacer clic en los hilos de los procesos para ver mas detalles, como se muestra en la imagen:

    WP-Thread

Fuente:
How to: Capture and Analyse Performance Data Using Windows Phone
How to: Identify and Fix Common Performance Issues Using Windows Phone

Generation Apps – Día 11 – Usar fotos con tu aplicación de Windows Phone

Buenas imágenes captan bastante la atención, y la facilidad de tomar y seleccionar fotos puede contribuir al uso de una aplicación. En el API de Windows Phone, hay ciertas aplicaciones innatas al sistema operativo que podemos invocar como «Tareas».

Tarea de Captura de fotos

Para sacar provecho de esta funcionalidad, te mostrare como implementarlo en un proyecto de ejemplo.

  1. Abre Expression Blend, crea un nuevo proyecto de Silverlight para Windows Phone.

  2. Agrega un botón en el centro de la pantalla y agrégale un evento de tipo «Tap». De esta forma:

  3. Ahora abre el c# asociado a la pagina MainPage, denominado MainPage.xaml.cs, y en las librerías, debajo de la instrucción «using Microsoft.Phone.Controls;», debes agregar la siguiente referencia:

    using Microsoft.Phone.Tasks;
  4. Debes declarar un atributo de tipo CameraCaptureTask antes del método constructor:

    CameraCaptureTask cameraCaptureTask;
  5. Dentro del constructor, después de la instrucción “InitializeComponents();”, debes instanciar y crear un evento que se dispara al momento de tomar una foto, y aceptarla:

    cameraCaptureTask = new CameraCaptureTask();
    cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
  6. Ahora en el método del evento que agregaste del Botón, agrega la siguiente instrucción para invocar la aplicación de la cámara:

    try
    {
        cameraCaptureTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
  7. Ahora agrega el siguiente método, que es el manejador de evento cuando se haya tomado una foto y lo aceptes en lugar de retomar la foto:

    void cameraCaptureTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show(e.ChosenPhoto.Length.ToString());
    
            //Codigo para desplegar la foto tomada en una pagina con un controlador image
            //System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
            //bmp.SetSource(e.ChosenPhoto);
            //myImage.Source = bmp;
        }
    }
  8. Ahora queda es compilar y ejecutar el programa en el emulador Windows Phone.

Ya ves con unas cuantas líneas de código, puedes aprovechar toda la aplicación de la cámara, donde puedes manipular manualmente la configuración de captura, como el iso, escenario, efectos, etc.

Tarea de Selección de Imágenes

Ahora en este video te enseñare como puedes seleccionar una imagen

  1. Abre Expression Blend, crea un nuevo proyecto de Silverlight para Windows Phone.

  2. Agrega un botón en el centro de la pantalla y agrégale un evento de tipo «Tap». De esta forma:

  3. Ahora abre el c# asociado a la pagina MainPage, denominado MainPage.xaml.cs, y en las librerías, debajo de la instrucción «using Microsoft.Phone.Controls;», debes agregar la siguiente referencia:

    using Microsoft.Phone.Tasks;
  4. Debes declarar un atributo de tipo PhotoChooserTask antes del método constructor:

    PhotoChooserTask photoChooserTask;
  5. Dentro del constructor, después de la instruccion InitializeComponents();, debes instanciar y crear un evento que se dispara al momento de tomar una foto, y aceptarla:

    photoChooserTask = new PhotoChooserTask();
    photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed);
  6. Ahora en el método del evento que agregaste del Botón, agrega la siguiente instruccion para invocar la aplicacion de la camara:

    try
    {
        photoChooserTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
  7. Ahora agrega el siguiente método, que es el manejador de evento cuando se haya tomado una foto y lo aceptes en lugar de retomar la foto:

    void photoChooserTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show(e.ChosenPhoto.Length.ToString());
    
            //Code to display the photo on the page in an image control named myImage.
            //System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
            //bmp.SetSource(e.ChosenPhoto);
            //myImage.Source = bmp;
        }
    }
  8. Ahora queda es compilar y ejecutar el programa en el emulador Windows Phone.

Puedes ver que las lecciones de este día son particularmente útiles para aquellos trabajando con imágenes en su aplicación, y gracias al API de Windows Phone, puedes ver como nos facilita estas tareas.

Fuente:
How to: Use the Camera Capture Task for Windows Phone

Fuente:
How to: Use the Photo Chooser Task for Windows Phone

Generation Apps – Día 4 – Crea una pantalla de presentación para tu aplicación de Windows Phone

Toda aplicación toma unos cuantos segundos para cargar en su totalidad antes que se despliegue la pantalla principal, listo para interactuar con el usuario. Durante este periodo de tiempo de carga, es importante mostrar una pantalla para informarle al usuario que la aplicación se ha ejecutado y se esta cargando para su funcionamiento. Esta pantalla se llama Splash Screen. También lo ves cuando ejecutas algún programa en la computadora, se muestra una pequeña ventana en el centro de la pantalla con el nombre y logo del programa por unos segundos antes de entrar al programa como tal (como es el caso al abrir algún programa de Office, incluso el Visual Studio y Blend). En esta fase de Generation Apps, te mostrare lo fácil que es hacer splash screen para Windows Phone

Silverlight

Cuando creas un proyecto tipo Silverlight para Windows Phone, si revisas el contenido del proyecto en el Solution Explorer, puedes ver un .png nombrado «SplashScreenImage.png»

Cada vez que ejecutas la aplicación, ya sea en el emulador o en un Windows Phone, puedes ver el Splash Screen desplegándose unos segundos antes de navegar hacia el «MainPage.xaml». Así que, como hacemos el Splash Screen? Ya el proyecto lo tiene, solo debes diseñar una imagen en formato .png con dimensiones 480×800 pixeles, agregarlo a la solución, reemplazando la imagen «SplashScreenImage.png» existente.

En caso que tu aplicación tome una cantidad considerable de tiempo, sugiero que diseñes un Splash Screen animado para mostrar que la aplicación está siendo cargada (Como la app de Skype, por ejemplo).

Fuente:
How to: Create a Splash Screen for Windows Phone

Estudiantes de la Universidad Católica Andrés Bello representarán a Venezuela en el Imagine Cup 2012

El proyecto identificado con el seudónimo “Arbel”,  presentado por el equipo de la Universidad Católica “Andrés Bello” (UCAB) obtuvo el primer lugar en el concurso académico Copa de la Imaginación 2012, competencia organizada por Microsoft con el objetivo de estimular entre los estudiantes universitarios el desarrollo de proyectos innovadores orientados a mejorar la calidad de vida de las personas a través de la tecnología.

El proyecto ganador “Arbel”, es un sistema desarrollado para ir más allá de apoyar la educación innovadora, utilizando tecnología de punta.  Con Arbel, un profesor puede dictar su clase, pero sin el uso de una pizarra tradicional.  En lugar de eso, sólo es necesario un proyector (vdeobeam) y una computadora.  El profesor no tiene que llevar rotuladores, sólo un LED Pen, ya que esto es lo que necesita para interactuar con la aplicación que se proyecta, las cuales hace las funciones de una pizarra virtual interactiva. Entre otra de sus características, Arbel cuenta con una aplicación móvil para Windows Phone, que le permite a estudiantes y profesores acceder a las funcionalidades de información básica como calendario, materias, entre otros.

“es invalorable la experiencia vivida en esta etapa nacional, máxime porque somos el primer equipo que representará a la Ucab en un compromiso académico a nivel internacional.  Nos compromete y motiva el potencial que tiene Venezuela y por ello tomamos la experiencia de los equipos que nos anteceden como es el equipo de la UCV para representar nuestro gentilicio venezolano ”, comentaron Alonso Araujo, Jorge Gómez, Anelisa Gomes  y Yormir Sayegh, integrantes del equipo ganador. Ricardo Casanova, mentor del equipo

En esta final nacional de la Copa de la Imaginación, participaron en buena lid, los proyectos de la Universidad Central de Venezuela y la Universidad “Nueva Esparta”.  Según los miembros del jurado multidisciplinario, la decisión final fue muy cerrada ya que los 3 equipos realizaron un gran esfuerzo para el desarrollo de sus propuestas, las cuales se identificaron por su alto valor creativo y de amplia funcionalidad para la solución de varios retos asociados a innovación, especialmente en el área académica declaró Sara Linares, gerente de Audiencias Técnicas de Microsoft Venezuela y representante del jurado evaluador.

“Para nosotros es un gran reto motivar a la innovación para generar grandes e importantes impactos a la sociedad y qué mejor manera que desde las universidades, estimulando la sana competencia y la creatividad. En Microsoft estamos comprometidos con el desarrollo y la especialización del conocimiento en el país pues confiamos en que la tecnología nos permitirá crear un mundo mejor” comentó Gerardo Antoni, Gerente de Nuevas tecnologías y Ciudadanía Corporativa de Microsoft Venezuela.  Exhortó a todos los participantes a continuar con estos emprendimientos más allá de los ámbitos universitarios y conectarlos como propuestas en beneficio de toda la colectividad venezolana.  Inclusión digital –resaltó- que es el reto que caracteriza a este nuevo milenio y para ello las tecnología de las información representan una herramienta válida para activar el potencial ilimitado de personas, grupos y colectivos.

Si quieren saber mas informacion acerca de la competencia, les dejo unos enlaces de interes:

Facebook de Imagine Cup Venezuela: http://www.facebook.com/ImagineCupVenezuela 
La página oficial de Imagine Cup: http://www.imaginecup.com/

Fuente del articulo: Relaciones Publicas Microsoft Venezuela

Se acercan las Finales Nacionales de Imagine Cup 2012 Venezuela

El 27 de Abril del 2012, se realizará la final nacional de Imagine Cup en Venezuela, donde competirán los tres equipos finalistas, seleccionados previamente en las semifinales en la que se destacaron de entre los 12 equipos.

El equipo de la Universidad Central de Venezuela propone un proyecto que ayudara a las fundaciones para niños con autismo, proporcionándoles juegos y software educativos desplegados en dispositivos interactivos desarrollados dentro del campus, como una pizarra interactiva y una mesa interactiva multitouch. Además se incluirá interoperabilidad con tecnología Kinect.

El equipo de la Universidad Nueva Esparta plantea un sistema automático de plantas hidropónicas, con la finalidad de impulsar la agricultura mediante una especie de invernadero autómata, donde este mantiene las condiciones internas apropiadas para el cultivo de cierta planta, a pesar de los cambios climáticos que se presenten en el exterior.

El equipo de la Universidad Católica Andrés Bello compite con un proyecto que impulsa la educación con herramientas tecnológicas de bajo costo. Particularmente se centra en una pizarra interactiva que funciona con un wiimote y un apuntador infrarrojo, donde este ultimo actúa como puntero del mouse, a modo que el profesor puede controlar la computadora directamente en la superficie donde se esta proyectando la imagen de computadora. El software incluye un pool de herramientas como captura de pantalla para resaltar textos, diagramas, un modo de pizarra común y cuadriculada, para diseñar diagramas y realizar notas; entre otras funcionalidades más.

Estos tres equipos darán su mayor esfuerzo para lograr el primer lugar en estas finales Nacionales, y representar a Venezuela para competir a nivel mundial, en la ciudad de Sídney, Australia.

Ya estamos en la recta final para este evento de Microsoft a nivel Nacional, así que próximamente sabremos el equipo ganador, con más detalles del evento y el proyecto que presentaran en Australia.

Diseña un sitio como este con WordPress.com
Comenzar