사용자가 여러분의 앱에 대해 불만을
제기 했을때?
…” “ app is little slow and jerky
….the app is a bit sluggish on the main screen
….if performance was a little bit better when scrolling it
would be best app
….” “ crashes after playing for 20 minutes

                                                Windows Phone Microsoft Corporation
Profiler 란 무엇인가?
 통합된 프러파일러(Integrated Profiler)
    Visual , Code 및 Memory profiler
 Performance Analysis
    Built-in anti-pattern analyzer
    step-by-step 절차 대로!



                                       Windows Phone Microsoft Corporation
Demo
           Profiler


3            Windows Phone Microsoft Corporation
Windows Phone Mango 아키텍처
                               Cloud Integration
                                   Services


Multitasking improvements       App       UI
                                                   Silverlight and XNA integration
                               Model     Model

                                  Software
    Improved device access                         Silverlight 4.0 support
                                 Architecture


                                  Hardware
            Flexible chassis                          New SoC
                                 Foundation



                                                              Windows Phone Microsoft Corporation
Hardware
Foundation




             Windows Phone Microsoft Corporation
New Hardware Foundation
               Capacitive touch
               4 or more contact points
               Sensors
               A-GPS, Accelerometer, Compass, Light, Proximity, Gyro
               Camera
               5 mega pixels or more

               Multimedia
               Common detailed specs, Codec acceleration

               Memory
               256MB RAM or more, 8GB Flash or more

               GPU
               DirectX 9 acceleration

               CPU
               Qualcomm MSM7x30, MSM8x55 800Mhz or higher
                      Hardware buttons | Back, Start,
                      Search


                                                       Windows Phone Microsoft Corporation
Software
Architecture




               Windows Phone Microsoft Corporation
Software Architecture
 Applications
                                                         Your App UI and logic

                                                              Frameworks
                                     Silverlight and XNA                                 HTML5/JavaScript

                                     User data                                     Structured data
                                                                  CLR
 App Model                           UI Model                                Cloud Integration
  App management                       Shell frame                               Xbox LIVE
  Licensing                            Session manager                           Bing
  Chamber isolation                    Direct3D                                  Location
  Software updates                     Compositor                                Push notifications
  Data sharing                                                                   Windows Live ID

 Kernel
                Security
                                                                                                        Hardware BSP
                Networking
                Storage      A-GPS   Accelerometer Gyro        Compass             Light               Proximity
                             Media   Wi-Fi                        Radio           Graphics

                                                Hardware Foundation

                                                                                               Windows Phone Microsoft Corporation
Windows Phone Mango Frameworks
                                                  Windows Phone Frameworks
                                                           Device          Launchers &          Windows Phone
                                         Camera                             Choosers                                                Structured
MultiTasking                                             Integration                               Controls
                                                                                                                                       Data
                 PhoneApplicationFram
                                           PhoneApplicationPage PushNotification      WebBrowserControl           Sensors
                          e

               Silverlight Presentation and Media                                  XNA Frameworks for Games
Silverlight         Controls   Drawing      IsolatedStorage                        Drawing        GamerServices                   Silverlight
    4.0                                                                                                                          Integration
                    Shapes      Markup       Media       Navigation     Media      Input      Graphics   Audio     Content


                                                          Application Object
                                                  Common Base Class Library
              Runtime     Resources      Globalization     Reflection   Location       Text        IO       Net      Diagnostics
                                                                                                                                         Sockets

              Security    Threading      Collections        ComponentModel           Configuration       ServiceModel        Linq

                                                                                                         Windows Phone Microsoft Corporation
App
Model




        Windows Phone Microsoft Corporation
App Hosting and Runtime
                                                             App Domain

                                           Silverlight Application                     XNA Game
                                                    Object                               Object



          AGENT                                               Frameworks

                                         Silverlight         XNA              HTML5/JavaScript

                                                                   CLR
     시스템은 앱 코드를 위한 호스트 프로세스를 준비한다.                          App Model Host


                                        App Model                    UI Model                       Cloud Integration
                                                                                                     Xbox LIVE
                                        App management               Shell frame                     Bing
                                        Licensing                    Session manager                 Location
                                        Chamber isolation            Direct3D                        Push notifications
                                        Software updates             Compositor                      Windows Live ID


                                        Kernel                                                                    Hardware BSP
        Sandbox는 먼저 선언된 가용량 기반에
                                        Security            A-GPS Accelerometer Gyro        Compass Light          Proximity
                                        Networking
                                        Storage             Media Wi-Fi                   Radio    Graphics

        호스트 프로세스를 준비한다.                                             Hardware Foundation


각 app은 격리된(isolated), 신뢰할 수 있는 권한(least-privileged) 호스트 프로세스 안에 동작한다.

모든 앱 코드는 어떤 디바이스든 동일하게 동작하고, CLS-검증하고, 일상적인 공격에 방어 설계되어 있다.

프레임워크는 app model, UI model, phone 기능성과 상호 작용하며 앱 코드를 실행시키도록 해준다.
                                                                                            Windows Phone Microsoft Corporation
User Data and Apps

12                  Windows Phone Microsoft Corporation
Metro and content-centric experiences




                            Windows Phone Microsoft Corporation
Content-centric Experiences: Challenges
                                     Your Web Service
                                       Custom Web Service


                                 Existing Web Services




                                    Microsoft Services




                                                     Notification
                             Location Service         Service




                                        Windows Phone Microsoft Corporation
Content-centric Experiences: How They Work



                                                      Web Service




     power     resource      task     connection
     monitor   manager    scheduler    manager

                                          Windows Phone Microsoft Corporation
Structured Data and I/O Performance
               SD Metric             Target Card A Card B Card C
               64KB seq.                 4     17             9            2
               writes/sec
               64KB seq. reads/sec       8     26           15             7
               4KB write IOPs           20     87             3          57
               4KB read IOPs           500   1054        1022          373




                                               Windows Phone Microsoft Corporation
Structured Data in Mango

                                       Web Service




                           Windows Phone Microsoft Corporation
Apps, Content and Isolation




                              Windows Phone Microsoft Corporation
Content Sharing for Apps




                           Windows Phone Microsoft Corporation
UI
Model




        Windows Phone Microsoft Corporation
Multitasking에 대해 다시 생각하자!
   Keep the UX great      Get more out      Don’t keep users
                            of the phone       waiting




                                                  Windows Phone Microsoft Corporation
Keeping the UX great: the basics
   Smooth animations
      60 frames per second
   Glitch-free media
      Hardware-accelerated audio and video
   Never regret installing an app
      Battery life
   State management
      Memory and CPU
                                              Windows Phone Microsoft Corporation
UI and State Management: Concepts
                                         Potentially discarded while the session is paused




              Page UI
   Describes the visual
 appearance of a page




Page and Application
                 State
   Contains data that
 describes an instance
        of a page and     Navigation stack and state is retained in shell frame to support
           application                     resuming paused sessions
                                                                        Windows Phone Microsoft Corporation
Keeping the UX great: CPU in WP7
       Thread      Priority       Quantum Workload     Periodicity
       Rendering   Above Normal   6ms     Animations   Every 16ms
                                          Video        Every 33-41ms

       UI          Normal         4ms     Data binding Every 20-100ms
                                          Touch        Every 32-100ms

       Background Normal          2ms     Various      N/A




                                                       Windows Phone Microsoft Corporation
Keeping the UX great: CPU in Mango
       Thread      Priority       Quantum Workload     Periodicity
       Rendering   Above Normal   8ms     Animations   Every 16ms
                                          Video        Every 33-41ms
                                          Touch        Every 32-100ms

       UI          Normal         20ms    Data binding Every 20-100ms

       Background Normal          4ms     Various      N/A




                                                       Windows Phone Microsoft Corporation
Keeping the UX great: memory in WP7


                    90MB recommended




                                Windows Phone Microsoft Corporation
Keeping the UX great: memory in Mango


                       90MB minimum




                                      Windows Phone Microsoft Corporation
Keeping the UX great: battery life




       Resource     CPU Display Audio Video 3G data Wi-Fi GPS Sensors
       Power (mW)   >400   >150   300   800     750   600      350        varies

                                                      Windows Phone Microsoft Corporation
Getting more out of the phone: agents
                      abstract class BackgroundAgent
                      {
                          virtual void Invoke(uri, parameters)
                          virtual void OnCancel()
                          void NotifyComplete()
                          void Abort()
                      }




       UI instance        agent instance


                                           Windows Phone Microsoft Corporation
Getting More Out of the Phone: Audio Agents




                                  Windows Phone Microsoft Corporation
Getting More Out of the Phone: Generic Agents




                                   Windows Phone Microsoft Corporation
Don’t Keep Users Waiting: Dormant Apps




                              Windows Phone Microsoft Corporation
Don’t Keep Users Waiting: Background Transfers




                                    Windows Phone Microsoft Corporation
UI composition

34                    Windows Phone Microsoft Corporation
Graphics Composition




    Shell frame composes all UI into a single screen
    Central page management enables cross app UI transitions and other effects
    System wide Z order enforcement emphasizes core phone functionality
                                                                    Windows Phone Microsoft Corporation
Silverlight And XNA Integration Inside One Page




                                    Windows Phone Microsoft Corporation
Cloud Integration
    Services




                    Windows Phone Microsoft Corporation
Cloud Services and Frameworks



      System.Device.Location      Microsoft.Phone.Notification   Microsoft.XNA.Framework.GamerServices



       Location client service       Push client service              Game foundation service




                                      Windows Phone
         Bing location services                                            XBox Live services
                                     Notification services
                                                                    Windows Phone Microsoft Corporation
다음달 주제


    더욱 더 쉽게 App 개발을 위한 Templates Design 소스
     공개
    Windows Phone 7 Marketplace for Consumers
     (Seller Partner 등록 절차 및 App Submit 절차)



39                                   Windows Phone Microsoft Corporation.

실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)

  • 1.
    사용자가 여러분의 앱에대해 불만을 제기 했을때? …” “ app is little slow and jerky ….the app is a bit sluggish on the main screen ….if performance was a little bit better when scrolling it would be best app ….” “ crashes after playing for 20 minutes Windows Phone Microsoft Corporation
  • 2.
    Profiler 란 무엇인가? 통합된 프러파일러(Integrated Profiler)  Visual , Code 및 Memory profiler  Performance Analysis  Built-in anti-pattern analyzer  step-by-step 절차 대로! Windows Phone Microsoft Corporation
  • 3.
    Demo Profiler 3 Windows Phone Microsoft Corporation
  • 4.
    Windows Phone Mango아키텍처 Cloud Integration Services Multitasking improvements App UI Silverlight and XNA integration Model Model Software Improved device access Silverlight 4.0 support Architecture Hardware Flexible chassis New SoC Foundation Windows Phone Microsoft Corporation
  • 5.
    Hardware Foundation Windows Phone Microsoft Corporation
  • 6.
    New Hardware Foundation Capacitive touch 4 or more contact points Sensors A-GPS, Accelerometer, Compass, Light, Proximity, Gyro Camera 5 mega pixels or more Multimedia Common detailed specs, Codec acceleration Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM7x30, MSM8x55 800Mhz or higher Hardware buttons | Back, Start, Search Windows Phone Microsoft Corporation
  • 7.
    Software Architecture Windows Phone Microsoft Corporation
  • 8.
    Software Architecture Applications Your App UI and logic Frameworks Silverlight and XNA HTML5/JavaScript User data Structured data CLR App Model UI Model Cloud Integration App management Shell frame Xbox LIVE Licensing Session manager Bing Chamber isolation Direct3D Location Software updates Compositor Push notifications Data sharing Windows Live ID Kernel Security Hardware BSP Networking Storage A-GPS Accelerometer Gyro Compass Light Proximity Media Wi-Fi Radio Graphics Hardware Foundation Windows Phone Microsoft Corporation
  • 9.
    Windows Phone MangoFrameworks Windows Phone Frameworks Device Launchers & Windows Phone Camera Choosers Structured MultiTasking Integration Controls Data PhoneApplicationFram PhoneApplicationPage PushNotification WebBrowserControl Sensors e Silverlight Presentation and Media XNA Frameworks for Games Silverlight Controls Drawing IsolatedStorage Drawing GamerServices Silverlight 4.0 Integration Shapes Markup Media Navigation Media Input Graphics Audio Content Application Object Common Base Class Library Runtime Resources Globalization Reflection Location Text IO Net Diagnostics Sockets Security Threading Collections ComponentModel Configuration ServiceModel Linq Windows Phone Microsoft Corporation
  • 10.
    App Model Windows Phone Microsoft Corporation
  • 11.
    App Hosting andRuntime App Domain Silverlight Application XNA Game Object Object AGENT Frameworks Silverlight XNA HTML5/JavaScript CLR 시스템은 앱 코드를 위한 호스트 프로세스를 준비한다. App Model Host App Model UI Model Cloud Integration Xbox LIVE App management Shell frame Bing Licensing Session manager Location Chamber isolation Direct3D Push notifications Software updates Compositor Windows Live ID Kernel Hardware BSP Sandbox는 먼저 선언된 가용량 기반에 Security A-GPS Accelerometer Gyro Compass Light Proximity Networking Storage Media Wi-Fi Radio Graphics 호스트 프로세스를 준비한다. Hardware Foundation 각 app은 격리된(isolated), 신뢰할 수 있는 권한(least-privileged) 호스트 프로세스 안에 동작한다. 모든 앱 코드는 어떤 디바이스든 동일하게 동작하고, CLS-검증하고, 일상적인 공격에 방어 설계되어 있다. 프레임워크는 app model, UI model, phone 기능성과 상호 작용하며 앱 코드를 실행시키도록 해준다. Windows Phone Microsoft Corporation
  • 12.
    User Data andApps 12 Windows Phone Microsoft Corporation
  • 13.
    Metro and content-centricexperiences Windows Phone Microsoft Corporation
  • 14.
    Content-centric Experiences: Challenges Your Web Service Custom Web Service Existing Web Services Microsoft Services Notification Location Service Service Windows Phone Microsoft Corporation
  • 15.
    Content-centric Experiences: HowThey Work Web Service power resource task connection monitor manager scheduler manager Windows Phone Microsoft Corporation
  • 16.
    Structured Data andI/O Performance SD Metric Target Card A Card B Card C 64KB seq. 4 17 9 2 writes/sec 64KB seq. reads/sec 8 26 15 7 4KB write IOPs 20 87 3 57 4KB read IOPs 500 1054 1022 373 Windows Phone Microsoft Corporation
  • 17.
    Structured Data inMango Web Service Windows Phone Microsoft Corporation
  • 18.
    Apps, Content andIsolation Windows Phone Microsoft Corporation
  • 19.
    Content Sharing forApps Windows Phone Microsoft Corporation
  • 20.
    UI Model Windows Phone Microsoft Corporation
  • 21.
    Multitasking에 대해 다시생각하자!  Keep the UX great  Get more out  Don’t keep users of the phone waiting Windows Phone Microsoft Corporation
  • 22.
    Keeping the UXgreat: the basics  Smooth animations  60 frames per second  Glitch-free media  Hardware-accelerated audio and video  Never regret installing an app  Battery life  State management  Memory and CPU Windows Phone Microsoft Corporation
  • 23.
    UI and StateManagement: Concepts Potentially discarded while the session is paused Page UI Describes the visual appearance of a page Page and Application State Contains data that describes an instance of a page and Navigation stack and state is retained in shell frame to support application resuming paused sessions Windows Phone Microsoft Corporation
  • 24.
    Keeping the UXgreat: CPU in WP7 Thread Priority Quantum Workload Periodicity Rendering Above Normal 6ms Animations Every 16ms Video Every 33-41ms UI Normal 4ms Data binding Every 20-100ms Touch Every 32-100ms Background Normal 2ms Various N/A Windows Phone Microsoft Corporation
  • 25.
    Keeping the UXgreat: CPU in Mango Thread Priority Quantum Workload Periodicity Rendering Above Normal 8ms Animations Every 16ms Video Every 33-41ms Touch Every 32-100ms UI Normal 20ms Data binding Every 20-100ms Background Normal 4ms Various N/A Windows Phone Microsoft Corporation
  • 26.
    Keeping the UXgreat: memory in WP7 90MB recommended Windows Phone Microsoft Corporation
  • 27.
    Keeping the UXgreat: memory in Mango 90MB minimum Windows Phone Microsoft Corporation
  • 28.
    Keeping the UXgreat: battery life Resource CPU Display Audio Video 3G data Wi-Fi GPS Sensors Power (mW) >400 >150 300 800 750 600 350 varies Windows Phone Microsoft Corporation
  • 29.
    Getting more outof the phone: agents abstract class BackgroundAgent { virtual void Invoke(uri, parameters) virtual void OnCancel() void NotifyComplete() void Abort() } UI instance agent instance Windows Phone Microsoft Corporation
  • 30.
    Getting More Outof the Phone: Audio Agents Windows Phone Microsoft Corporation
  • 31.
    Getting More Outof the Phone: Generic Agents Windows Phone Microsoft Corporation
  • 32.
    Don’t Keep UsersWaiting: Dormant Apps Windows Phone Microsoft Corporation
  • 33.
    Don’t Keep UsersWaiting: Background Transfers Windows Phone Microsoft Corporation
  • 34.
    UI composition 34 Windows Phone Microsoft Corporation
  • 35.
    Graphics Composition Shell frame composes all UI into a single screen Central page management enables cross app UI transitions and other effects System wide Z order enforcement emphasizes core phone functionality Windows Phone Microsoft Corporation
  • 36.
    Silverlight And XNAIntegration Inside One Page Windows Phone Microsoft Corporation
  • 37.
    Cloud Integration Services Windows Phone Microsoft Corporation
  • 38.
    Cloud Services andFrameworks System.Device.Location Microsoft.Phone.Notification Microsoft.XNA.Framework.GamerServices Location client service Push client service Game foundation service Windows Phone Bing location services XBox Live services Notification services Windows Phone Microsoft Corporation
  • 39.
    다음달 주제  더욱 더 쉽게 App 개발을 위한 Templates Design 소스 공개  Windows Phone 7 Marketplace for Consumers (Seller Partner 등록 절차 및 App Submit 절차) 39 Windows Phone Microsoft Corporation.