Diego Gómez
diegog@productivitycenter.org

Oriol Quinquillà
oriol.quinquilla@productivitycenter.org
Windows 7 para desarrolladores


Nuevas aplicaciones con Windows 7


Desarrollando nuevas aplicaciones
               con
            Windows 7
Introducción al mundo del desarrollador

Elementos de Windows 7

Taskbar

Ribbon

Multi-touch
Desarrollador
                                   Experto C#, VB.NET


Certificaciones varias   Se descarga todas las CTP


                            Explicaba a sus amigos lo que es:
                                    SOA
                                    Cloud Computing
                                    Geneva
                                    Se quedó sin amigos
Muy poco real…
Usuario
                                      @#!%$!!
                   Director de Dept

  No le gusta la tecnología…
  … ni quiere que le hables de ella
                                          linQ
                                          Handler
      Conoce su negocio                   Silverlight
                                          WPF

Las aplicaciones le parecen
difíciles de usar
Nuevas funcionalidades

Diseñadas para facilitar el uso

Las aplicaciones pueden aprovecharlas

Desarrolla con Windows 7!
Multi-Touch

             Taskbar

          Bibliotecas

              Ribbon

Sensor y Localización
Nuevas posibilidades

Construido sobre             Experiencias más             Integra Windows y
 una base sólida                   ricas                         Web

Mejoras:                    Interacción del usuario más   Extiende los web services
 Compatibilidad             natural                       a las aplicaciones cliente
 Seguridad                    Windows Touch                 Búsqueda federada
 Respuesta                    Nueva barra de tareas         Windows Web Services
                              Bibliotecas                   API
Mejor Productividad           Ribbon extensible
 PowerShell 2.0               Rich animation framework    Experiencias Web Ricas
 MSI 5.0                                                   Internet Explorer 8
 .NET 3.5 SP1               Innovaciones hardware          Standards compliant IE8
 Soporte de multi-monitor     Direct 2D/3D                 Herramientas de
 remoto y virtual             Sensor y Localización        desarrollo incluidas
 Soporte para VHD desde       Multi-core
 el explorador
                             Device Stage
.NET 3.5 Framework SP1

Windows® API Code Pack for Microsoft® .NET
Framework

Visual Studio 2008/2010

Windows 7 Training Kit For Developers

Windows 7!!
Visual Studio 2010
Barra de tareas y Jump Lists
Bibliotecas y Windows Explorer
Jump Lists de usuario mejorada
Experiencia
Miniaturasfacilidad de lanzar aplicaciones
Rapidez y
Facilidad de gestionar ventanas
Custom Switchers
El usuario tiene el control
Iconos
Limpio y ligero
Superposición de Iconos
Guías de usuario „standard‟ de Windows
Barra de Progreso
   Todos los productos Microsoft
Es la cara de tu aplicación
Iconos grandes o pequeños
Solo el usuario puede
anclar
Colores que indican

Sobreposición de iconos
   Notificaciones importantes
   Aparecen sobre el icono de
   tu aplicación
Barra de progreso
   Notificaciones importantes
   Aparece en tu botón de la
   aplicación
Mini „menú de inicio‟ para
tu aplicación
Destinos y tareas
Personalizable
Accesible via Drag&Drop y
botón derecho
API - “Destination List”
Categorías Ancladas

    Destinos
(“nombres”)    Categorías Conocidas


               Categorías Personalizadas

               Tareas del
     Tareas    usuario
 (“verbos”)
               Tareas de la
               Taskbar
Control remoto para una
ventana
Comandos clave
Accesible desde la
Taskbar
Hasta 7 botones
Elementos Taskbar
Concepto de Interface con gran éxito
  Mejora la usabilidad y el descubrimiento
  Mejora la productividad del usuario

Mejora la productividad del desarrollador
  Basado en una arquitectura común
  Elimina mucho del desarrollo Win32 UI
Menu Aplicación

   Quick Access Tab              Conjunto de Tabs contextual       Ayuda
     Toolbar                  Tab Contextual




                      Grupo                          Dialog Launcher

       Disponible con Windows 7, re-distribución para Vista
       Win32 API,
Ribbon
Ribbon
MT se define como dos o más puntos
de contacto independientementes.
Consumidores
  MT muy bien recibido en los test de
  usuario
  Interfaces „touch‟ probadas con éxito
  Multi-Touch ofrece una gran
  diferenciación con un alto factor “WOW”
  Multi-touch permite nuevos escenarios
Hardware
  Cada vez más dispositivos Multi-touch en
  el mercado
Escenarios identificados para
                                4 areas de inversión:
multi-touch:                      Plataforma desarrollo: La raíz es la
                                  plataforma de desarrollo para „touch‟
   Navegación y consumo web
                                  que expone la API para cualquier
   Leer y ordenar el mail         Aplicación.
   Ver fotos                      Mejoras UI: Foco en los escenarios
   Juegos                         clave optimizados para „touch‟.
   Consumo de música y video      Gestos: Se han añadido gestos „Multi-
                                  touch‟ para permitir „panning‟ and
   Navegar entre ficheros y
                                  „zooming‟ en muchas aplicaciones.
   ordenar ventanas
                                  Aplicaciones: Un conjunto de
   Aplicaciones Office
                                  aplicaciones „Multi-touch‟ que
                                  demuestran su uso.
Multi-touch
Qué escenarios de aplicación pueden sacar
mayor beneficio del „touch‟?
   Consumo de contenido, movilidad, media y
   entretenimiento

3 capas de inversión para decidir:
   Bueno – Gratis! Panning/Zoom, botón derecho
   Algo mejor – Notificaciones de gestos, touch-
   friendly
   ‘El’ mejor – Manipulación „Touch‟
1. Qué controles utilizan tus usuarios más a
   menudo?
     Imagina a los usuarios utilizándolo „touch‟ vs ratón.
      Cómo cambiar el „touch‟ la experiencia?
2. Alguna de las acciones de tus usuarios emula el
   „touch‟?
     Por ejemplo, alguna de las características que ellos
     utilizan con el ratón podría ser un gesto natural, como
     borrado, interaccionar con una imagen?
3. Hay algo en tu aplicación que podría ser más
   divertido hacerlo de manera natural?
       Por ejemplo, mover algo de un lado a otro de
        la pantalla?
“Acciones” con
uno y dos dedos

Pre-definidos en
la plataforma

Por defecto en
Windows 7
Colocar dos dedos en la ventana de la aplicación
y moverla en la dirección que quieras




SFP – Single Finger Panning
   SetGestureConfig() for GC_PAN
   Specify GC_PAN_WITH_SINGLE_FINGER_VERTICALLY
   and/or
   GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY
Rotar
   Toca la imagen con dos dedos
   y gira los dedos en círculo



Zoom
   Toca la imagen con dos dedos
   y acércalos o aléjalos
Hardware recibe el input del usuario
Datos del Driver
OS genera WM_GESTURE
Mensajes enviados a las aplicaciones HWND
Aplicación actualiza el UI basado en la
información del Mensaje
Multi-touch
NET 4.0 / Surface 2.0
Windows 7 Release Release




                                           Multi-Touch
                                             Surface
                                            Controls
                                           Multi-Touch
                                          Controls & API
                                           Multi-Touch
                                               API


                            Multi-Touch API and
                                  Controls



   Multi-Touch API
Tiers    Description                                                Touch Type                  Gesture                    Development
                                                                                                Support                    Investment
         Touch support is primarily a substitute for using pen or   Touch Enabled – standard    Maps to common             Minimal - 0-2 days depending
Good     mouse. (e.g. photo viewer app where touch interacts        Windows behavior            Windows messages –         on how application is
         with the canvas and tools similar to pen or mouse)         supported by OS             pan, zoom, right click,    architected
                                                                                                and double click




         Predefined gestures mapped to individual interactions.     Touch Enabled -             Multi-touch support –      Moderate – 5-7 days
Better   (e.g. photo app that enables the user to utilized          application maps to         zoom, finger pan,          depending on how
         predefined gesture to supported by SDK like zooming        predefined gestures         rotate, panning+inertia,   application is architected
         and rotating – 2 fingers)                                                              and 2 finger tap.
                                                                                                WM_GESTURE



         Application requires multiple object manipulation          Touch Optimized –           Raw data points from       Highest – 2-3 weeks
Best     and/or inertia. (e.g. photo app that allows multiple       application defines touch   WM_TOUCH for custom        depending on how
         photos manipulation within a window that requires          interaction. Direct         gestures.                  application is architected
         multiple touch point). May include custom gestures and     manipulation, feedback,     Manipulation/inertia
         gestures not possible with pen or mouse                    and inertia                 APIs
Good                       Better                    Best
APIs       For Free!                  • Gesture notifications   • Raw touch data
           • Panning/zoom             • Pan/zoom/rotate/etc     • Manipulation and
             gestures                                             Inertia processors
           • Right click gesture
Native     • Controls with standard   • WM_GESTURE message      • WM_TOUCH
Win32        scrollbars                                         • COM based Manipulation
                                                                  and Inertia Processors


WPF        • WPF 4.0 pan support in   • Gesture events          • Touch events
             ScrollViewer             • Inertia configuration   • Manipulation and Inertia
                                                                  Processors


WinForms   • Controls with standard   • WM_GESTURE message      • Manipulation and Inertia
             scrollbars               • P/Invoke                  Processors in
                                                                  Microsoft.Ink.DLL
                                                                • Real-time Stylus or Ink
                                                                  Collector
Compatibilidad de Aplicaciones Windows 7
Optimiza Windows 7
  Utiliza Taskbar de Windows 7 & jump lists
  Se consciente de las Bibliotecas de Windows 7

Crea software de próxima generación:
  Desarrolla para Multi-Touch
  Utiliza el Ribbon donde sea apropiado
  Mejora la experiencia de usuario con „Sensor
  and Location‟
Developer for Windows 7 on MSDN
http://msdn.microsoft.com/en-us/windows/dd433113.aspx
Application Compatibility
http://msdn.microsoft.com/en-us/windows/aa904987.aspx
E7 blog
http://blogs.msdn.com/e7
Windows 7 Developers Blog
http://windowsteamblog.com/blogs/developers/default.aspx
Librería de clases para acceder fácilmente a las
características de Windows 7
    Shell, Libraries, Taskbar, Sensor, Graphics, Multi Touch,
    UAC, Power management, Restart and recovery,
    Network awareness, Aero Glass and more.

Es una librería, no un producto
    Código abierto sin soporte

http://code.msdn.microsoft.com/WindowsAPICodePack
Asegúrate que tus aplicaciones funcionan con
Windows 7
     Únete al programa Windows 7 Ecosystem Readiness
Permite a MS que cuente a nuestros clientes sobre
tus aplicaciones
     Publica tu soporte para Windows 7
     Indica tus soluciones en el Compatibility
     Center
Logra el Logo Windows 7
     Foco en Aplicaciones Compatibles
     Proceso Simple – No requiere tests de terceras
     partes
http://connect.microsoft.com/InvitationUse.aspx?ProgramID=2872&SiteID=704&Invitatio

Windows 7

  • 1.
  • 2.
    Windows 7 paradesarrolladores Nuevas aplicaciones con Windows 7 Desarrollando nuevas aplicaciones con Windows 7
  • 3.
    Introducción al mundodel desarrollador Elementos de Windows 7 Taskbar Ribbon Multi-touch
  • 4.
    Desarrollador Experto C#, VB.NET Certificaciones varias Se descarga todas las CTP Explicaba a sus amigos lo que es: SOA Cloud Computing Geneva Se quedó sin amigos
  • 5.
  • 6.
    Usuario @#!%$!! Director de Dept No le gusta la tecnología… … ni quiere que le hables de ella linQ Handler Conoce su negocio Silverlight WPF Las aplicaciones le parecen difíciles de usar
  • 8.
    Nuevas funcionalidades Diseñadas parafacilitar el uso Las aplicaciones pueden aprovecharlas Desarrolla con Windows 7!
  • 9.
    Multi-Touch Taskbar Bibliotecas Ribbon Sensor y Localización
  • 10.
    Nuevas posibilidades Construido sobre Experiencias más Integra Windows y una base sólida ricas Web Mejoras: Interacción del usuario más Extiende los web services Compatibilidad natural a las aplicaciones cliente Seguridad Windows Touch Búsqueda federada Respuesta Nueva barra de tareas Windows Web Services Bibliotecas API Mejor Productividad Ribbon extensible PowerShell 2.0 Rich animation framework Experiencias Web Ricas MSI 5.0 Internet Explorer 8 .NET 3.5 SP1 Innovaciones hardware Standards compliant IE8 Soporte de multi-monitor Direct 2D/3D Herramientas de remoto y virtual Sensor y Localización desarrollo incluidas Soporte para VHD desde Multi-core el explorador Device Stage
  • 12.
    .NET 3.5 FrameworkSP1 Windows® API Code Pack for Microsoft® .NET Framework Visual Studio 2008/2010 Windows 7 Training Kit For Developers Windows 7!!
  • 15.
  • 17.
    Barra de tareasy Jump Lists Bibliotecas y Windows Explorer
  • 18.
    Jump Lists deusuario mejorada Experiencia Miniaturasfacilidad de lanzar aplicaciones Rapidez y Facilidad de gestionar ventanas Custom Switchers El usuario tiene el control Iconos Limpio y ligero Superposición de Iconos Guías de usuario „standard‟ de Windows Barra de Progreso Todos los productos Microsoft
  • 19.
    Es la carade tu aplicación Iconos grandes o pequeños Solo el usuario puede anclar Colores que indican Sobreposición de iconos Notificaciones importantes Aparecen sobre el icono de tu aplicación Barra de progreso Notificaciones importantes Aparece en tu botón de la aplicación
  • 20.
    Mini „menú deinicio‟ para tu aplicación Destinos y tareas Personalizable Accesible via Drag&Drop y botón derecho API - “Destination List”
  • 21.
    Categorías Ancladas Destinos (“nombres”) Categorías Conocidas Categorías Personalizadas Tareas del Tareas usuario (“verbos”) Tareas de la Taskbar
  • 22.
    Control remoto parauna ventana Comandos clave Accesible desde la Taskbar Hasta 7 botones
  • 23.
  • 24.
    Concepto de Interfacecon gran éxito Mejora la usabilidad y el descubrimiento Mejora la productividad del usuario Mejora la productividad del desarrollador Basado en una arquitectura común Elimina mucho del desarrollo Win32 UI
  • 25.
    Menu Aplicación Quick Access Tab Conjunto de Tabs contextual Ayuda Toolbar Tab Contextual Grupo Dialog Launcher Disponible con Windows 7, re-distribución para Vista Win32 API,
  • 27.
  • 30.
  • 32.
    MT se definecomo dos o más puntos de contacto independientementes. Consumidores MT muy bien recibido en los test de usuario Interfaces „touch‟ probadas con éxito Multi-Touch ofrece una gran diferenciación con un alto factor “WOW” Multi-touch permite nuevos escenarios Hardware Cada vez más dispositivos Multi-touch en el mercado
  • 33.
    Escenarios identificados para 4 areas de inversión: multi-touch: Plataforma desarrollo: La raíz es la plataforma de desarrollo para „touch‟ Navegación y consumo web que expone la API para cualquier Leer y ordenar el mail Aplicación. Ver fotos Mejoras UI: Foco en los escenarios Juegos clave optimizados para „touch‟. Consumo de música y video Gestos: Se han añadido gestos „Multi- touch‟ para permitir „panning‟ and Navegar entre ficheros y „zooming‟ en muchas aplicaciones. ordenar ventanas Aplicaciones: Un conjunto de Aplicaciones Office aplicaciones „Multi-touch‟ que demuestran su uso.
  • 34.
  • 35.
    Qué escenarios deaplicación pueden sacar mayor beneficio del „touch‟? Consumo de contenido, movilidad, media y entretenimiento 3 capas de inversión para decidir: Bueno – Gratis! Panning/Zoom, botón derecho Algo mejor – Notificaciones de gestos, touch- friendly ‘El’ mejor – Manipulación „Touch‟
  • 36.
    1. Qué controlesutilizan tus usuarios más a menudo? Imagina a los usuarios utilizándolo „touch‟ vs ratón. Cómo cambiar el „touch‟ la experiencia? 2. Alguna de las acciones de tus usuarios emula el „touch‟? Por ejemplo, alguna de las características que ellos utilizan con el ratón podría ser un gesto natural, como borrado, interaccionar con una imagen? 3. Hay algo en tu aplicación que podría ser más divertido hacerlo de manera natural? Por ejemplo, mover algo de un lado a otro de la pantalla?
  • 37.
    “Acciones” con uno ydos dedos Pre-definidos en la plataforma Por defecto en Windows 7
  • 38.
    Colocar dos dedosen la ventana de la aplicación y moverla en la dirección que quieras SFP – Single Finger Panning SetGestureConfig() for GC_PAN Specify GC_PAN_WITH_SINGLE_FINGER_VERTICALLY and/or GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY
  • 39.
    Rotar Toca la imagen con dos dedos y gira los dedos en círculo Zoom Toca la imagen con dos dedos y acércalos o aléjalos
  • 40.
    Hardware recibe elinput del usuario Datos del Driver OS genera WM_GESTURE Mensajes enviados a las aplicaciones HWND Aplicación actualiza el UI basado en la información del Mensaje
  • 41.
  • 42.
    NET 4.0 /Surface 2.0 Windows 7 Release Release Multi-Touch Surface Controls Multi-Touch Controls & API Multi-Touch API Multi-Touch API and Controls Multi-Touch API
  • 44.
    Tiers Description Touch Type Gesture Development Support Investment Touch support is primarily a substitute for using pen or Touch Enabled – standard Maps to common Minimal - 0-2 days depending Good mouse. (e.g. photo viewer app where touch interacts Windows behavior Windows messages – on how application is with the canvas and tools similar to pen or mouse) supported by OS pan, zoom, right click, architected and double click Predefined gestures mapped to individual interactions. Touch Enabled - Multi-touch support – Moderate – 5-7 days Better (e.g. photo app that enables the user to utilized application maps to zoom, finger pan, depending on how predefined gesture to supported by SDK like zooming predefined gestures rotate, panning+inertia, application is architected and rotating – 2 fingers) and 2 finger tap. WM_GESTURE Application requires multiple object manipulation Touch Optimized – Raw data points from Highest – 2-3 weeks Best and/or inertia. (e.g. photo app that allows multiple application defines touch WM_TOUCH for custom depending on how photos manipulation within a window that requires interaction. Direct gestures. application is architected multiple touch point). May include custom gestures and manipulation, feedback, Manipulation/inertia gestures not possible with pen or mouse and inertia APIs
  • 45.
    Good Better Best APIs For Free! • Gesture notifications • Raw touch data • Panning/zoom • Pan/zoom/rotate/etc • Manipulation and gestures Inertia processors • Right click gesture Native • Controls with standard • WM_GESTURE message • WM_TOUCH Win32 scrollbars • COM based Manipulation and Inertia Processors WPF • WPF 4.0 pan support in • Gesture events • Touch events ScrollViewer • Inertia configuration • Manipulation and Inertia Processors WinForms • Controls with standard • WM_GESTURE message • Manipulation and Inertia scrollbars • P/Invoke Processors in Microsoft.Ink.DLL • Real-time Stylus or Ink Collector
  • 46.
    Compatibilidad de AplicacionesWindows 7 Optimiza Windows 7 Utiliza Taskbar de Windows 7 & jump lists Se consciente de las Bibliotecas de Windows 7 Crea software de próxima generación: Desarrolla para Multi-Touch Utiliza el Ribbon donde sea apropiado Mejora la experiencia de usuario con „Sensor and Location‟
  • 47.
    Developer for Windows7 on MSDN http://msdn.microsoft.com/en-us/windows/dd433113.aspx Application Compatibility http://msdn.microsoft.com/en-us/windows/aa904987.aspx E7 blog http://blogs.msdn.com/e7 Windows 7 Developers Blog http://windowsteamblog.com/blogs/developers/default.aspx
  • 48.
    Librería de clasespara acceder fácilmente a las características de Windows 7 Shell, Libraries, Taskbar, Sensor, Graphics, Multi Touch, UAC, Power management, Restart and recovery, Network awareness, Aero Glass and more. Es una librería, no un producto Código abierto sin soporte http://code.msdn.microsoft.com/WindowsAPICodePack
  • 49.
    Asegúrate que tusaplicaciones funcionan con Windows 7 Únete al programa Windows 7 Ecosystem Readiness Permite a MS que cuente a nuestros clientes sobre tus aplicaciones Publica tu soporte para Windows 7 Indica tus soluciones en el Compatibility Center Logra el Logo Windows 7 Foco en Aplicaciones Compatibles Proceso Simple – No requiere tests de terceras partes http://connect.microsoft.com/InvitationUse.aspx?ProgramID=2872&SiteID=704&Invitatio