SlideShare uma empresa Scribd logo
1 de 60
A lap around
Windows Phone
codename “Mango”
Atley Hunter, MCSD, MCDBA, MCPD
MVP Windows Phone Development
Agenda: Windows Phone codename “Mango”
                                   Extras            Calendar
                   Cloud and                         Contacts
                  Integration    Push, Alerts        Maps
                    Services
                                       FAS               Silverlight
                 App      UI                             and XNA
                Model    Model   Multitasking           integration

                  Software         Gen GC                  SQL CE
                 Architecture
                                         Silverlight 4.0

                  Hardware        Camera, Sensors & Motion
                 Foundation
                                 SoC            Flexible chassis

                                                Windows Phone Microsoft Corporation.
Cloud and
               Integration
                 Services


Hardware      App
             Model
                       UI
                      Model


Foundation     Software
              Foundation


               Hardware
              Foundation
Hardware Foundation Updates
               Capacitive touch
               4 or more contact points

               Sensors         Motion Sensor
               A-GPS, Accelerometer, Compass, Light, Proximity, Gyro
                                     Compass

               Camera
                                                                             Improved
               5 mega pixels or more
                                                                             capability
               Multimedia                                                    detection APIs
               Common detailed specs, Codec acceleration

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

               GPU
               DirectX 9 acceleration

               CPU
               Qualcomm MSM8x55 800Mhz or higher MSM7x30

                      Hardware buttons | Back, Start, Search



                                                        Windows Phone Microsoft Corporation.
Accelerometer
                                               +Y
   Measures resultant acceleration
    (force) on device

 Pros:
    Available on all devices                             -Z
 Cons:                             -X
                                                                     +X
    Difficult to tell apart small
     orientation changes from small
     device motions

5                                        Windows Phone Microsoft Corporation.
Accelerometer
demo
Camera
 Access to live camera stream
    PhotoCamera
    Silverlight 4 Webcam
 Display in your app
    Video Brush




7                                Windows Phone Microsoft Corporation.
When to use each approach
    PhotoCamera                     Webcam
     Take High Quality Photos       Record Video
     Handle Hardware Button         Record Audio
     Handle Flash mode and Focus    Share code with desktop
     Access Samples (Pull Model)    Access Samples (Push Model)




8                                                  Windows Phone Microsoft Corporation.
Camera
demo
Gyroscope
    Measures rotational velocity on 3
     axis
       Optional on Mango phones
       Not present in pre-Mango
        WP7 phones


10                                       Windows Phone Microsoft Corporation.
Gyroscope API




11              Windows Phone Microsoft Corporation.
Compass (aka Magnetometer)
 Gives 3D heading of Earth’s magnetic and Geographic
  North
    Subject to external electromagnetic influences
    Requires user calibration over time
    Great inaccuracies in orientation, up to 20 degrees
    Significant lag
 Availability:
    Optional on “Mango” phones
    Included in some pre-Mango WP7 phones
13                                          Windows Phone Microsoft Corporation.
Compass API
     protected override void OnNavigatedTo(NavigationEventArgs e){
        if (Compass.IsSupported) {
           compass = new Compass();
           compass.CurrentValueChanged += compass_CurrentValueChanged;
           compass.Start()
         }
     }
     private void compass_CurrentValueChanged(object sender,
                              SensorReadingEventArgs<CompassReading> e) {
          Deployment.Current.Dispatcher.BeginInvoke(() =>
          {
              CompassRotation.Angle = -e.SensorReading.TrueHeading;
              Heading.Text = e.SensorReading.TrueHeading.ToString("0 ");
          });
     }
14                                                       Windows Phone Microsoft Corporation.
Compass
demo
Motion Sensor
  Virtual sensor, combines gyro + compass + accelerometer
 Motion Sensor vs. gyro or compass or accelerometer
     More accurate
     Faster response times
     Comparatively low drift
     Can disambiguate motion types
 Has fall-back if gyro is not available
 Always prefer Motion Sensor when available
16                                           Windows Phone Microsoft Corporation.
Motion API
if (Motion.IsSupported) {
     _sensor = new Motion();
     _sensor.CurrentValueChanged += new
     EventHandler<SensorReadingEventArgs<MotionReading>>
(sensor_CurrentValueChanged);
     _sensor.Start();
}

void _sensor_CurrentValueChanged(object sender, SensorReadingEventArgs<MotionReading> e)
{
    Simple3DVector rawAcceleration = new Simple3DVector(
           e.SensorReading.Gravity.Acceleration.X,
           e.SensorReading.Gravity.Acceleration.Y,
          e.SensorReading.Gravity.Acceleration.Z); …
}
17                                                                 Windows Phone Microsoft Corporation.
Motion Sensor Adapts to Devices
Accelerometer        Compass     Gyro        Motion
Yes                  Yes         Yes         Full
Yes                  Yes         No          Degraded
Yes                  No          Yes         Unsupported
Yes                  No          No          Unsupported


      Degraded modes have lower quality approximations
      When Motion.IsSupported is false, apps should use
       accelerometer or other input and control mechanisms
18                                                  Windows Phone Microsoft Corporation.
Sensor Calibration

 Calibration Event is fired when calibration is needed
    Both Compass and Motion sensors need user
     calibration
 Apps should handle it
    Provide UI asking user to move device through a full
     range of orientations
    Not handling will cause inaccurate readings
    We are considering providing copy & paste solution
19                                          Windows Phone Microsoft Corporation.
Cloud and
               Integration
                 Services


Software      App
             Model
                       UI
                      Model


Foundation     Software
              Foundation


               Hardware
              Foundation
Run-time improvements
     Silverlight 4         Features       Performance

•    Implicit styles   • Sockets      •   Gen GC
•    RichTextBox       • Clipboard    •   Input thread
•    ViewBox           • IME          •   Working set
•    More touch        • WebBrowser   •   Profiler
     events              (IE9)
     (tap, double      • VideoBrush
     tap)
21                                        Windows Phone Microsoft Corporation.
Networking
 Sockets
    TCP
    UDP unicast, Multicast ( on Wi-Fi)
 Connection Manager Control
    Overrides and sets preferences
     (e.g. Wi-Fi or cellular only)
 HTTP
    Full header access
    WebClient returns in originating thread
22                                             Windows Phone Microsoft Corporation.
Sockets
demo
Silverlight and XNA Shared Graphics
 XNA inside Silverlight App
 Integration at Page Level
    XNA takes over rendering
 Integration at Element level
    Silverlight elements in XNA
     pipeline via UIElementRenderer
 Shared input


27                                    Windows Phone Microsoft Corporation.
Silverlight +
XNA demo
Local database
 SQL Compact Edition
    Use object model for CRUD
    LINQ to SQL to query, filter, sort
 Application level access
    Sandboxed from other apps
    Uses IsolatedStorage
    Access for background agents
 DatabaseSchemaUpdater APIs                      SQL CE

  for upgrades
29                                        Windows Phone Microsoft Corporation.
Database APIs: Datacontext and attributes
 // Define the data context.
public partial class WineDataContext : DataContext
{
      public Table<Wine> Wines;
      public Table<Vineyard> Vineyards;
      public WineDataContext(string connection) : base(connection) { }
}

// Define the tables in the database
[Table]
public class Wine
{
      [Column(IsPrimaryKey=true]
      public string WineID { get; set; }
      [Column]
      public string Name { get; set; }
      ……
}

// Create the database form data context, using a connection string
DataContext db = new WineDataContext("isostore:/wineDB.sdf");
if (!db.DatabaseExists()) db.CreateDatabase();                           Windows Phone Microsoft Corporation.
Queries: Examples
// Find all wines currently at home, ordered by date acquired
var q = from w in db.Wines
           where w.Varietal.Name == “Shiraz” && w.IsAtHome == true
           orderby w.DateAcquired
           select w;
Wine newWine = new Wine
{
    WineID = “1768", Name = “Windows Phone Syrah",
    Description = “Bold and spicy"
};

db.Wines.InsertOnSubmit(newWine);
db.SubmitChanges();
                                                     Windows Phone Microsoft Corporation.
Local database
demo
Cloud and
                Integration
                  Services

Application    App
              Model
                        UI
                       Model

Model           Software
               Architecture


                Hardware
               Foundation
Fast Application Resume
 Immediate Resume of recently used applications
    Apps stay in memory after deactivation
 New “task switcher”
    Long-press back button
 While dormant
    Apps are not getting CPU cycles
    Resources are detached
 You must recompile and resubmit targeting Mango
34                                       Windows Phone Microsoft Corporation.
Mango Application Lifecycle                                    Fast App Resume
                                                                Resuming .. .


 Restore state!
State preserved!                       running

 IsAppInstancePreserved
IsAppInstancePreserved ==                                                      Save State!
 == false
true

                           activated              deactivated




 Tombstone    Tombstoned               dormant   Phone resources detached
 the oldest                                      Threads & timers suspended
 app
                                                                   Windows Phone Microsoft Corporation.
Fast App Resume
demo
Multi-tasking design principles
     Delightful and                Battery
     Responsive UX                 Friendly
                       Health
     Never Regret                  Network
      App Install                 Conscience


     Integrated Feel
                       UX         Hardened
                                   Services




39                                 Windows Phone Microsoft Corporation.
Multi-tasking Options
 Background Transfer Service
 Background Audio
 Background Agents
    Periodic
    On Idle
 Alarms and Reminders



40                              Windows Phone Microsoft Corporation.
Background Audio
 Playback
    App provides URL or stream to Zune
    Audio continues to play even if app is closed
    App is notified of file or buffer near completion
 Phone Integration
    Music & Video Hub
    Universal Volume Control (UVC), lauch app, controls, contextual info
    Contextual launch – Start menu, UVC, Music & Video Hub
 App Integration
    App can retrieve playback status, progress, & metadata
    Playback notification registration

41                                                        Windows Phone Microsoft Corporation.
Background Audio App Types
 URL PlayList
    Provide URL to play
    Pause, resume, stop, skip-forward, skip-backward
 Stream Source
    Provide audio buffers
    Custom decryption, decompression


    Requires app to run some code in background
42                                          Windows Phone Microsoft Corporation.
Background Agents
    Agents
       Periodic
       On Idle
       An app may have up to one of each
    Initialized in foreground, run in background
       Persisted across reboots

    User control through CPL
       System maximum of 18 periodic agent

    Agent runs for up to 14 days (can be renewed)
44                                                   Windows Phone Microsoft Corporation.
Generic Agent Types
Periodic Agents                      On Idle Agents
    Occurrence                         Occurrence
       Every 30 min                       External power, non-cell network
    Duration                           Duration
       ~15 seconds                        10 minutes
    Constraints                        Constraints
       <= 6 MB Memory                     <= 6 MB Memory
       <=10% CPU


All of this is requirements can change before RTM, but should not change too much
45                                                            Windows Phone Microsoft Corporation.
Background Agent Functionality
           Allowed                     Restricted
    Tiles                    Display UI
    Toast                    XNA libraries
    Location                 Microphone and Camera
    Network                  Sensors
    R/W ISO store            Play audio
    Sockets                   (may only use background audio APIs)
    Most framework APIs


46                                                Windows Phone Microsoft Corporation.
Agent
demo
Notifications
    Time-based, on-phone notifications
    Supports Alerts & Reminders
    Persist across reboots
    Adheres to user settings
    Consistent with phone UX




48                                        Windows Phone Microsoft Corporation.
Alarms vs Reminders?
Alarms                         Reminders



     •   Modal                 •   Rich information
     •   Snooze and Dismiss    •   Integrates with other reminders
     •   Sound customization   •   Snooze and Dismiss
     •   No app invocation     •   Launch app
     •   No stacking           •   Follows the phones global settings

49                                                Windows Phone Microsoft Corporation.
Alarms & reminders
demo
Background Transfer Service
    Start transfer in foreground, complete in
     background, even if app is closed
    Queue persists across reboots
       Queue size limit = 5
       Queue APIs (Add, Remove, Query status)
    Single service for many apps, FIFO
    Download ~20 MB ( > over Wi-Fi)
    Upload Size ~4 MB (limit to come)
    Transfers to Isolated Storage
53                                           Windows Phone Microsoft Corporation.
Cloud and
                Integration
                  Services

Integration    App
              Model
                        UI
                       Model

Services        Software
               Architecture


                Hardware
               Foundation
Live Tile improvements
 Local Tile APIs
    Full control of ALL properties
 Multiple tiles per app
    Create,Update/Delete/Query
    Launches direct to Uri




56                                    Windows Phone Microsoft Corporation.
Live Tiles – Local Tile API Continued…
   Back of tile updates
      Full control of all properties when your app
       is in the foreground or background
      Content, Title, Background

    Content     Content
    string is                                          Background
    bigger
                          Title   Title

        Flips from front to back at random interval
        Smart logic to make flips asynchronous
                                                            Windows Phone Microsoft Corporation.
Live tiles
demo
Push Notifications (Core) Enhancements
     Reliability           Efficiency            Performance

• New TDET            • TLS resume for       • Faster state
  mechanism for         sessions within 8      machine for faster
  broader network       hours                  client service
  compatibility       • Hints for            • Smarter queue
• Lowered polling       improved radio         logic for less
  interval for non-     dormancy               redundancy
  persistent          • Concurrent tile
  connection            downloads for less
  friendly networks     radio uptime
59                                              Windows Phone Microsoft Corporation.
Push Notifications – New Features!
   MultiTile/Back of Tile Support
      Can update all tiles belonging to your application
      No API Change! – BindToShellTile now binds you to all tiles
      Send Tile ID to service and use new attribute to direct update
      3 new elements for back properties:
       BackBackgroundImage, BackContent, BackTitle
   Deep Toast
      Take users directly to an application experience
      Uses standard SL navigation (OnNavigatedTo)
      No API change! – BindToShellToast still all you need.
      New element to send query parameters with a toast: Param


                                                                   Windows Phone Microsoft Corporation.
Extras
 Integration point between Bing Search and 3rd party apps
 User launches 3rd party from Bing Search – search
  parameter is passed to the app
 Four item types:
    Movies
    Places
    Events
    Products
61                                         Windows Phone Microsoft Corporation.
New Choosers and Launchers
    SaveRingtoneTask
    AddressChooseTask
    BingMapsTask
    BingMapsDirectionsTask
    GameInviteTask
    Updates:
       EmailAddressChooserTask
       PhoneNumberChooserTask
63                                Windows Phone Microsoft Corporation.
Contacts
    Read-only querying of
     contacts


 Third party social data
  cannot be shared
 Requires
  ID_CAP_CONTACTS
65                           Windows Phone Microsoft Corporation.
Calendar
 Read-only querying of calendar
  appointments
 Returns a snapshot (not live data)
    You must refresh manually




    Requires ID_CAP_APPOINTMENTS
69                                     Windows Phone Microsoft Corporation.
Appointments API
Appointments appointments = new Appointments();
appointments.SearchCompleted += new
EventHandler<AppointmentsSearchEventArgs>((sender, e) =>
            {
                ... = e.Results;
            });

                                                Start date and time
// get next appointment (up to 1 week away)
appointments.SearchAsync(DateTime.Now,
                           DateTime.Now + TimeSpan.FromDays(7),
                           1, null);
                                              end date and time
   Maximum items to return        state            Windows Phone Microsoft Corporation.
What are Search Extras?
   Added functionality 3rd party apps provide for Bing items

   Four item types:
      Movies
      Places
      Events
      Products

                                                Windows Phone Microsoft Corporation.
Three Easy Steps to Implement Search Extras
1.    Update your app’s Manifest
      Use the Extensions element
      One child Extension element for each category your app supports
          Your app will appear in those items!
          This is a great way to drive downloads if your app isn’t yet installed

2.    Add an Extras.XML file to your XAP
      Specify captions for each Bing category

3.    Accept Context to automatically open the item in your app
      Create a SearchExtras page that accepts parameters.
      Search for the item using the parameters passed to your app.


                                                                            Windows Phone Microsoft Corporation.
Call to Action
 Download the tools at http://create.msdn.com
 7.5 allows you to build deeply integrated
  phone experiences – build them into your apps!
 Multitasking opens up completely new experiences
 Integration points are a key way for your app to shine




73                                           Windows Phone Microsoft Corporation.
Atley Hunter, MCSD, MCDBA, MCPD
MVP Windows Phone Development
Twitter: @atleyhunter
Blog: www.atleyhunter.com
© 2011 Microsoft Corporation.

     All rights reserved. Microsoft, Windows, Windows Vista and other
     product names are or may be registered trademarks and/or
     trademarks in the U.S. and/or other countries.

     The information herein is for informational purposes only and
     represents the current view of Microsoft Corporation as of the date
     of this presentation. Because Microsoft must respond to changing
     market conditions, it should not be interpreted to be a commitment
     on the part of Microsoft, and Microsoft cannot guarantee the
     accuracy of any information provided after the date of this
     presentation.

     MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR
     STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.




75                                           Windows Phone Microsoft Corporation.

Mais conteúdo relacionado

Mais procurados

Push to Me: Mobile Push Notifications (Zend Framework)
Push to Me: Mobile Push Notifications (Zend Framework)Push to Me: Mobile Push Notifications (Zend Framework)
Push to Me: Mobile Push Notifications (Zend Framework)Mike Willbanks
 
Android platform
Android platformAndroid platform
Android platformmaya_slides
 
Tomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardwareTomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardwareRon Munitz
 
Augmented Reality Development Tools
Augmented Reality Development ToolsAugmented Reality Development Tools
Augmented Reality Development ToolsTharindu Kumara
 
Android 5.0 Camera2 APIs
Android 5.0 Camera2 APIsAndroid 5.0 Camera2 APIs
Android 5.0 Camera2 APIsBalwinder Kaur
 

Mais procurados (8)

Push to Me: Mobile Push Notifications (Zend Framework)
Push to Me: Mobile Push Notifications (Zend Framework)Push to Me: Mobile Push Notifications (Zend Framework)
Push to Me: Mobile Push Notifications (Zend Framework)
 
Android platform
Android platformAndroid platform
Android platform
 
Android and Intel Inside
Android and Intel InsideAndroid and Intel Inside
Android and Intel Inside
 
Student Developer Challenge
Student Developer ChallengeStudent Developer Challenge
Student Developer Challenge
 
Tomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardwareTomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardware
 
Augmented Reality Development Tools
Augmented Reality Development ToolsAugmented Reality Development Tools
Augmented Reality Development Tools
 
Haptics for android
Haptics for androidHaptics for android
Haptics for android
 
Android 5.0 Camera2 APIs
Android 5.0 Camera2 APIsAndroid 5.0 Camera2 APIs
Android 5.0 Camera2 APIs
 

Destaque

Essays on economic analysis of competition law: theory and practice
Essays on economic analysis of competition law: theory and practiceEssays on economic analysis of competition law: theory and practice
Essays on economic analysis of competition law: theory and practiceDr Danilo Samà
 
10remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp0110remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp01Gina Gu
 
Strenthening   students' language skills through technology
Strenthening   students' language skills through  technologyStrenthening   students' language skills through  technology
Strenthening   students' language skills through technologyTelly J Hajny
 
Assignment #12 final
Assignment #12 finalAssignment #12 final
Assignment #12 finaldebbie14
 
Primero Q3 2014 Presentation
Primero Q3 2014 PresentationPrimero Q3 2014 Presentation
Primero Q3 2014 Presentationprimero_mining
 
Business Model Test
Business Model TestBusiness Model Test
Business Model TestDeon van Zyl
 
Hipotēku banka saldū 15 11 2011
Hipotēku banka saldū 15 11 2011 Hipotēku banka saldū 15 11 2011
Hipotēku banka saldū 15 11 2011 egilsdo
 
186703099 petrologi-batubara
186703099 petrologi-batubara186703099 petrologi-batubara
186703099 petrologi-batubaraSylvester Saragih
 
مقرر مصادر التعلم والمعلومات 1435
مقرر مصادر التعلم والمعلومات 1435مقرر مصادر التعلم والمعلومات 1435
مقرر مصادر التعلم والمعلومات 1435Abdullah Zahrani
 
Theory# Slideshow for OrgTheory
Theory# Slideshow for OrgTheoryTheory# Slideshow for OrgTheory
Theory# Slideshow for OrgTheoryStephanie Lynch
 
assignment 1
assignment 1assignment 1
assignment 1debbie14
 
First contact - How to pitch to developers
First contact - How to pitch to developersFirst contact - How to pitch to developers
First contact - How to pitch to developerskeithdevon
 
Front cover & contents page research
Front cover & contents page researchFront cover & contents page research
Front cover & contents page research05colesben
 
Tugas makalah ilmu ukur tambang
Tugas makalah ilmu ukur tambangTugas makalah ilmu ukur tambang
Tugas makalah ilmu ukur tambangSylvester Saragih
 
Indeisgn tuturial my own
Indeisgn tuturial my ownIndeisgn tuturial my own
Indeisgn tuturial my owndebbie14
 

Destaque (20)

Essays on economic analysis of competition law: theory and practice
Essays on economic analysis of competition law: theory and practiceEssays on economic analysis of competition law: theory and practice
Essays on economic analysis of competition law: theory and practice
 
10remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp0110remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp01
 
Strenthening   students' language skills through technology
Strenthening   students' language skills through  technologyStrenthening   students' language skills through  technology
Strenthening   students' language skills through technology
 
Honda completed
Honda completedHonda completed
Honda completed
 
DLIS Versión Final SLSH
DLIS Versión Final SLSHDLIS Versión Final SLSH
DLIS Versión Final SLSH
 
Assignment #12 final
Assignment #12 finalAssignment #12 final
Assignment #12 final
 
Primero Q3 2014 Presentation
Primero Q3 2014 PresentationPrimero Q3 2014 Presentation
Primero Q3 2014 Presentation
 
Business Model Test
Business Model TestBusiness Model Test
Business Model Test
 
Hipotēku banka saldū 15 11 2011
Hipotēku banka saldū 15 11 2011 Hipotēku banka saldū 15 11 2011
Hipotēku banka saldū 15 11 2011
 
186703099 petrologi-batubara
186703099 petrologi-batubara186703099 petrologi-batubara
186703099 petrologi-batubara
 
مقرر مصادر التعلم والمعلومات 1435
مقرر مصادر التعلم والمعلومات 1435مقرر مصادر التعلم والمعلومات 1435
مقرر مصادر التعلم والمعلومات 1435
 
Theory# Slideshow for OrgTheory
Theory# Slideshow for OrgTheoryTheory# Slideshow for OrgTheory
Theory# Slideshow for OrgTheory
 
assignment 1
assignment 1assignment 1
assignment 1
 
First contact - How to pitch to developers
First contact - How to pitch to developersFirst contact - How to pitch to developers
First contact - How to pitch to developers
 
Rosbalt.Ru
Rosbalt.RuRosbalt.Ru
Rosbalt.Ru
 
Front cover & contents page research
Front cover & contents page researchFront cover & contents page research
Front cover & contents page research
 
Evaluation
EvaluationEvaluation
Evaluation
 
Tugas makalah ilmu ukur tambang
Tugas makalah ilmu ukur tambangTugas makalah ilmu ukur tambang
Tugas makalah ilmu ukur tambang
 
Indeisgn tuturial my own
Indeisgn tuturial my ownIndeisgn tuturial my own
Indeisgn tuturial my own
 
Question 1
Question 1Question 1
Question 1
 

Semelhante a A lap around mango

microsoft windows phone for government and citizens
microsoft  windows phone for government and citizensmicrosoft  windows phone for government and citizens
microsoft windows phone for government and citizensjoelcitizen
 
실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)
실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)
실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)mosaicnet
 
S#01 김영욱
S#01 김영욱 S#01 김영욱
S#01 김영욱 codercay
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformMICTT Palma
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developersjoycsc
 
Windows Phone7 Development
Windows Phone7 DevelopmentWindows Phone7 Development
Windows Phone7 DevelopmentDanish Mehraj
 
Bam amor mobile development tools
Bam amor   mobile development toolsBam amor   mobile development tools
Bam amor mobile development toolsBam Amor
 
Windows phone 7 overview
Windows phone 7 overviewWindows phone 7 overview
Windows phone 7 overviewSoumow Dollon
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Qualcomm Developer Network
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
20141216 멜팅팟 부산   세션 ii - cross platform 개발20141216 멜팅팟 부산   세션 ii - cross platform 개발
20141216 멜팅팟 부산 세션 ii - cross platform 개발영욱 김
 
Augmented reality for consumer devices
Augmented reality for consumer devicesAugmented reality for consumer devices
Augmented reality for consumer devicesjbienz
 
A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java MEwiradikusuma
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierMicrosoft ArcReady
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development OverviewDevGAMM Conference
 
What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"mdc11
 
Getting ready for Windows Phone 7
Getting ready for Windows Phone 7Getting ready for Windows Phone 7
Getting ready for Windows Phone 7Brad Tutterow
 

Semelhante a A lap around mango (20)

Windows Phone
Windows PhoneWindows Phone
Windows Phone
 
microsoft windows phone for government and citizens
microsoft  windows phone for government and citizensmicrosoft  windows phone for government and citizens
microsoft windows phone for government and citizens
 
실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)
실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)
실전 윈도우폰 망고 앱 디자인 & 개발 III(최종)
 
S#01 김영욱
S#01 김영욱 S#01 김영욱
S#01 김영욱
 
Xtopia2010 wp7
Xtopia2010 wp7Xtopia2010 wp7
Xtopia2010 wp7
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platform
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developers
 
Windows phone
Windows phoneWindows phone
Windows phone
 
Windows Phone7 Development
Windows Phone7 DevelopmentWindows Phone7 Development
Windows Phone7 Development
 
Bam amor mobile development tools
Bam amor   mobile development toolsBam amor   mobile development tools
Bam amor mobile development tools
 
Windows phone 7 overview
Windows phone 7 overviewWindows phone 7 overview
Windows phone 7 overview
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors
 
The Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. WebThe Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. Web
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
20141216 멜팅팟 부산   세션 ii - cross platform 개발20141216 멜팅팟 부산   세션 ii - cross platform 개발
20141216 멜팅팟 부산 세션 ii - cross platform 개발
 
Augmented reality for consumer devices
Augmented reality for consumer devicesAugmented reality for consumer devices
Augmented reality for consumer devices
 
A Taste of Java ME
A Taste of Java MEA Taste of Java ME
A Taste of Java ME
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client Tier
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development Overview
 
What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"
 
Getting ready for Windows Phone 7
Getting ready for Windows Phone 7Getting ready for Windows Phone 7
Getting ready for Windows Phone 7
 

Último

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

A lap around mango

  • 1. A lap around Windows Phone codename “Mango” Atley Hunter, MCSD, MCDBA, MCPD MVP Windows Phone Development
  • 2. Agenda: Windows Phone codename “Mango” Extras Calendar Cloud and Contacts Integration Push, Alerts Maps Services FAS Silverlight App UI and XNA Model Model Multitasking integration Software Gen GC SQL CE Architecture Silverlight 4.0 Hardware Camera, Sensors & Motion Foundation SoC Flexible chassis Windows Phone Microsoft Corporation.
  • 3. Cloud and Integration Services Hardware App Model UI Model Foundation Software Foundation Hardware Foundation
  • 4. Hardware Foundation Updates Capacitive touch 4 or more contact points Sensors Motion Sensor A-GPS, Accelerometer, Compass, Light, Proximity, Gyro Compass Camera Improved 5 mega pixels or more capability Multimedia detection APIs Common detailed specs, Codec acceleration Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM8x55 800Mhz or higher MSM7x30 Hardware buttons | Back, Start, Search Windows Phone Microsoft Corporation.
  • 5. Accelerometer +Y  Measures resultant acceleration (force) on device  Pros:  Available on all devices -Z  Cons: -X +X  Difficult to tell apart small orientation changes from small device motions 5 Windows Phone Microsoft Corporation.
  • 7. Camera  Access to live camera stream  PhotoCamera  Silverlight 4 Webcam  Display in your app  Video Brush 7 Windows Phone Microsoft Corporation.
  • 8. When to use each approach PhotoCamera Webcam  Take High Quality Photos  Record Video  Handle Hardware Button  Record Audio  Handle Flash mode and Focus  Share code with desktop  Access Samples (Pull Model)  Access Samples (Push Model) 8 Windows Phone Microsoft Corporation.
  • 10. Gyroscope  Measures rotational velocity on 3 axis  Optional on Mango phones  Not present in pre-Mango WP7 phones 10 Windows Phone Microsoft Corporation.
  • 11. Gyroscope API 11 Windows Phone Microsoft Corporation.
  • 12. Compass (aka Magnetometer)  Gives 3D heading of Earth’s magnetic and Geographic North  Subject to external electromagnetic influences  Requires user calibration over time  Great inaccuracies in orientation, up to 20 degrees  Significant lag  Availability:  Optional on “Mango” phones  Included in some pre-Mango WP7 phones 13 Windows Phone Microsoft Corporation.
  • 13. Compass API protected override void OnNavigatedTo(NavigationEventArgs e){ if (Compass.IsSupported) { compass = new Compass(); compass.CurrentValueChanged += compass_CurrentValueChanged; compass.Start() } } private void compass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e) { Deployment.Current.Dispatcher.BeginInvoke(() => { CompassRotation.Angle = -e.SensorReading.TrueHeading; Heading.Text = e.SensorReading.TrueHeading.ToString("0 "); }); } 14 Windows Phone Microsoft Corporation.
  • 15. Motion Sensor  Virtual sensor, combines gyro + compass + accelerometer  Motion Sensor vs. gyro or compass or accelerometer  More accurate  Faster response times  Comparatively low drift  Can disambiguate motion types  Has fall-back if gyro is not available Always prefer Motion Sensor when available 16 Windows Phone Microsoft Corporation.
  • 16. Motion API if (Motion.IsSupported) { _sensor = new Motion(); _sensor.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<MotionReading>> (sensor_CurrentValueChanged); _sensor.Start(); } void _sensor_CurrentValueChanged(object sender, SensorReadingEventArgs<MotionReading> e) { Simple3DVector rawAcceleration = new Simple3DVector( e.SensorReading.Gravity.Acceleration.X, e.SensorReading.Gravity.Acceleration.Y, e.SensorReading.Gravity.Acceleration.Z); … } 17 Windows Phone Microsoft Corporation.
  • 17. Motion Sensor Adapts to Devices Accelerometer Compass Gyro Motion Yes Yes Yes Full Yes Yes No Degraded Yes No Yes Unsupported Yes No No Unsupported  Degraded modes have lower quality approximations  When Motion.IsSupported is false, apps should use accelerometer or other input and control mechanisms 18 Windows Phone Microsoft Corporation.
  • 18. Sensor Calibration  Calibration Event is fired when calibration is needed  Both Compass and Motion sensors need user calibration  Apps should handle it  Provide UI asking user to move device through a full range of orientations  Not handling will cause inaccurate readings  We are considering providing copy & paste solution 19 Windows Phone Microsoft Corporation.
  • 19. Cloud and Integration Services Software App Model UI Model Foundation Software Foundation Hardware Foundation
  • 20. Run-time improvements Silverlight 4 Features Performance • Implicit styles • Sockets • Gen GC • RichTextBox • Clipboard • Input thread • ViewBox • IME • Working set • More touch • WebBrowser • Profiler events (IE9) (tap, double • VideoBrush tap) 21 Windows Phone Microsoft Corporation.
  • 21. Networking  Sockets  TCP  UDP unicast, Multicast ( on Wi-Fi)  Connection Manager Control  Overrides and sets preferences (e.g. Wi-Fi or cellular only)  HTTP  Full header access  WebClient returns in originating thread 22 Windows Phone Microsoft Corporation.
  • 23. Silverlight and XNA Shared Graphics  XNA inside Silverlight App  Integration at Page Level  XNA takes over rendering  Integration at Element level  Silverlight elements in XNA pipeline via UIElementRenderer  Shared input 27 Windows Phone Microsoft Corporation.
  • 25. Local database  SQL Compact Edition  Use object model for CRUD  LINQ to SQL to query, filter, sort  Application level access  Sandboxed from other apps  Uses IsolatedStorage  Access for background agents  DatabaseSchemaUpdater APIs SQL CE for upgrades 29 Windows Phone Microsoft Corporation.
  • 26. Database APIs: Datacontext and attributes // Define the data context. public partial class WineDataContext : DataContext { public Table<Wine> Wines; public Table<Vineyard> Vineyards; public WineDataContext(string connection) : base(connection) { } } // Define the tables in the database [Table] public class Wine { [Column(IsPrimaryKey=true] public string WineID { get; set; } [Column] public string Name { get; set; } …… } // Create the database form data context, using a connection string DataContext db = new WineDataContext("isostore:/wineDB.sdf"); if (!db.DatabaseExists()) db.CreateDatabase(); Windows Phone Microsoft Corporation.
  • 27. Queries: Examples // Find all wines currently at home, ordered by date acquired var q = from w in db.Wines where w.Varietal.Name == “Shiraz” && w.IsAtHome == true orderby w.DateAcquired select w; Wine newWine = new Wine { WineID = “1768", Name = “Windows Phone Syrah", Description = “Bold and spicy" }; db.Wines.InsertOnSubmit(newWine); db.SubmitChanges(); Windows Phone Microsoft Corporation.
  • 29. Cloud and Integration Services Application App Model UI Model Model Software Architecture Hardware Foundation
  • 30. Fast Application Resume  Immediate Resume of recently used applications  Apps stay in memory after deactivation  New “task switcher”  Long-press back button  While dormant  Apps are not getting CPU cycles  Resources are detached  You must recompile and resubmit targeting Mango 34 Windows Phone Microsoft Corporation.
  • 31. Mango Application Lifecycle Fast App Resume Resuming .. . Restore state! State preserved! running IsAppInstancePreserved IsAppInstancePreserved == Save State! == false true activated deactivated Tombstone Tombstoned dormant Phone resources detached the oldest Threads & timers suspended app Windows Phone Microsoft Corporation.
  • 33. Multi-tasking design principles Delightful and Battery Responsive UX Friendly Health Never Regret Network App Install Conscience Integrated Feel UX Hardened Services 39 Windows Phone Microsoft Corporation.
  • 34. Multi-tasking Options  Background Transfer Service  Background Audio  Background Agents  Periodic  On Idle  Alarms and Reminders 40 Windows Phone Microsoft Corporation.
  • 35. Background Audio  Playback  App provides URL or stream to Zune  Audio continues to play even if app is closed  App is notified of file or buffer near completion  Phone Integration  Music & Video Hub  Universal Volume Control (UVC), lauch app, controls, contextual info  Contextual launch – Start menu, UVC, Music & Video Hub  App Integration  App can retrieve playback status, progress, & metadata  Playback notification registration 41 Windows Phone Microsoft Corporation.
  • 36. Background Audio App Types  URL PlayList  Provide URL to play  Pause, resume, stop, skip-forward, skip-backward  Stream Source  Provide audio buffers  Custom decryption, decompression  Requires app to run some code in background 42 Windows Phone Microsoft Corporation.
  • 37. Background Agents  Agents  Periodic  On Idle  An app may have up to one of each  Initialized in foreground, run in background  Persisted across reboots  User control through CPL  System maximum of 18 periodic agent  Agent runs for up to 14 days (can be renewed) 44 Windows Phone Microsoft Corporation.
  • 38. Generic Agent Types Periodic Agents On Idle Agents  Occurrence  Occurrence  Every 30 min  External power, non-cell network  Duration  Duration  ~15 seconds  10 minutes  Constraints  Constraints  <= 6 MB Memory  <= 6 MB Memory  <=10% CPU All of this is requirements can change before RTM, but should not change too much 45 Windows Phone Microsoft Corporation.
  • 39. Background Agent Functionality Allowed Restricted  Tiles  Display UI  Toast  XNA libraries  Location  Microphone and Camera  Network  Sensors  R/W ISO store  Play audio  Sockets (may only use background audio APIs)  Most framework APIs 46 Windows Phone Microsoft Corporation.
  • 41. Notifications  Time-based, on-phone notifications  Supports Alerts & Reminders  Persist across reboots  Adheres to user settings  Consistent with phone UX 48 Windows Phone Microsoft Corporation.
  • 42. Alarms vs Reminders? Alarms Reminders • Modal • Rich information • Snooze and Dismiss • Integrates with other reminders • Sound customization • Snooze and Dismiss • No app invocation • Launch app • No stacking • Follows the phones global settings 49 Windows Phone Microsoft Corporation.
  • 44. Background Transfer Service  Start transfer in foreground, complete in background, even if app is closed  Queue persists across reboots  Queue size limit = 5  Queue APIs (Add, Remove, Query status)  Single service for many apps, FIFO  Download ~20 MB ( > over Wi-Fi)  Upload Size ~4 MB (limit to come)  Transfers to Isolated Storage 53 Windows Phone Microsoft Corporation.
  • 45. Cloud and Integration Services Integration App Model UI Model Services Software Architecture Hardware Foundation
  • 46. Live Tile improvements  Local Tile APIs  Full control of ALL properties  Multiple tiles per app  Create,Update/Delete/Query  Launches direct to Uri 56 Windows Phone Microsoft Corporation.
  • 47. Live Tiles – Local Tile API Continued…  Back of tile updates  Full control of all properties when your app is in the foreground or background  Content, Title, Background Content Content string is Background bigger Title Title  Flips from front to back at random interval  Smart logic to make flips asynchronous Windows Phone Microsoft Corporation.
  • 49. Push Notifications (Core) Enhancements Reliability Efficiency Performance • New TDET • TLS resume for • Faster state mechanism for sessions within 8 machine for faster broader network hours client service compatibility • Hints for • Smarter queue • Lowered polling improved radio logic for less interval for non- dormancy redundancy persistent • Concurrent tile connection downloads for less friendly networks radio uptime 59 Windows Phone Microsoft Corporation.
  • 50. Push Notifications – New Features!  MultiTile/Back of Tile Support  Can update all tiles belonging to your application  No API Change! – BindToShellTile now binds you to all tiles  Send Tile ID to service and use new attribute to direct update  3 new elements for back properties: BackBackgroundImage, BackContent, BackTitle  Deep Toast  Take users directly to an application experience  Uses standard SL navigation (OnNavigatedTo)  No API change! – BindToShellToast still all you need.  New element to send query parameters with a toast: Param Windows Phone Microsoft Corporation.
  • 51. Extras  Integration point between Bing Search and 3rd party apps  User launches 3rd party from Bing Search – search parameter is passed to the app  Four item types:  Movies  Places  Events  Products 61 Windows Phone Microsoft Corporation.
  • 52. New Choosers and Launchers  SaveRingtoneTask  AddressChooseTask  BingMapsTask  BingMapsDirectionsTask  GameInviteTask  Updates:  EmailAddressChooserTask  PhoneNumberChooserTask 63 Windows Phone Microsoft Corporation.
  • 53. Contacts  Read-only querying of contacts  Third party social data cannot be shared  Requires ID_CAP_CONTACTS 65 Windows Phone Microsoft Corporation.
  • 54. Calendar  Read-only querying of calendar appointments  Returns a snapshot (not live data)  You must refresh manually  Requires ID_CAP_APPOINTMENTS 69 Windows Phone Microsoft Corporation.
  • 55. Appointments API Appointments appointments = new Appointments(); appointments.SearchCompleted += new EventHandler<AppointmentsSearchEventArgs>((sender, e) => { ... = e.Results; }); Start date and time // get next appointment (up to 1 week away) appointments.SearchAsync(DateTime.Now, DateTime.Now + TimeSpan.FromDays(7), 1, null); end date and time Maximum items to return state Windows Phone Microsoft Corporation.
  • 56. What are Search Extras?  Added functionality 3rd party apps provide for Bing items  Four item types:  Movies  Places  Events  Products Windows Phone Microsoft Corporation.
  • 57. Three Easy Steps to Implement Search Extras 1. Update your app’s Manifest  Use the Extensions element  One child Extension element for each category your app supports  Your app will appear in those items!  This is a great way to drive downloads if your app isn’t yet installed 2. Add an Extras.XML file to your XAP  Specify captions for each Bing category 3. Accept Context to automatically open the item in your app  Create a SearchExtras page that accepts parameters.  Search for the item using the parameters passed to your app. Windows Phone Microsoft Corporation.
  • 58. Call to Action  Download the tools at http://create.msdn.com  7.5 allows you to build deeply integrated phone experiences – build them into your apps!  Multitasking opens up completely new experiences  Integration points are a key way for your app to shine 73 Windows Phone Microsoft Corporation.
  • 59. Atley Hunter, MCSD, MCDBA, MCPD MVP Windows Phone Development Twitter: @atleyhunter Blog: www.atleyhunter.com
  • 60. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 75 Windows Phone Microsoft Corporation.

Notas do Editor

  1. This slide could be presented as “now that we know which sensor might interest you, here’s a more technical description on what each sensor is”
  2. Compass demo under Sensors directory..
  3. Barcode reader for live stream , or File Sink demo (for video) or PhotoFun for camera (photos) … All under the camera folder in demos..
  4. Gyrohas drift ( indicates rotation even when device is stationary)..
  5. Sorry, we don’t have one. No Windows Phone 7 phones support this and I don’t have a newer phone 
  6. Emphasis on the fact that motion is a very accurate sensor when it comes to device orientation
  7. Compass demo under Sensors directory..
  8. KEY TAKEAWAY: Use Motion sensor instead of compass or gyro when availableRemember that the motion sensor is good for orientation, not translation. Translation (measuring distance travelled) is still a difficult problem. Why is it more accurate? Compass suffers from great inaccuracies in orientation, often more than 20 degreesCalibration issuesExternal magnetic forcesSignificant lagGyro suffers fromDrift in it’s data (data indicates rotation even when device is stationary)Accelerometer suffers fromDriftMotion sensor algorithm compensates for inaccuracies in each independent sensor.
  9. Where applicable,the APIs are compatible with Silverlight on the desktop. SL4 on desktop does not support Unicast. ---Connection Manager is WP component that manages connections on the phone.CM will connect in the following priority order:Desktop passthroughWiFiCellularYou can override this using the Network Preferences APIYou can figure out what type of data network the phone is using: 3G vs EDGE. Etc.
  10. Silverlight
  11. Chat 2.0 allows you to send text peer to peer using UDP (requires two phones) Shared Pad (also known as Chat Plus allows you to share a drawing pad .. Across IRC sockets is the same demo we demonstrated at MIX keynote. Note that it requires credentials and connecting to a real IRC server.
  12. XNA Model Viewer shows XNA models mixed with Silverlight controls (mostly buttons) .. XNA
  13. No direct SQL or DDL statements Database is specific to an app ( UI + agents can acesss but no other app can access) DatabaseSchemaUpdater is transactional ..
  14. ConstraintsOnly one is active at a time
  15. IMDB or MSN Extras or (if showing code) TreyResearch Task..
  16. EmailAddressChooser and PhoneNumberChooser now return display name.
  17. SaveRingToneTask, BingMapsTask, BingMapsDirectionsTask..