SlideShare a Scribd company logo
cocktail d’expérience informatiques
             Genève 3 & 4 octobre 2011
                    Seconde édition
                      soft-shake.ch




Auteur    Sascha P. CORTI
  Track   Microsoft
Session   Windows Phone 7
          Mango Overview for
          Developers
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
Windows Phone 7 Mango
Overview for Developers
Sascha P Corti
       .
Developer Evangelist, Microsoft Switzerland
sascha.corti@microsoft.com | blog | twitter
Windows Phone 7 “Mango”
Windows Phone “Mango”
                          Extras, Tiles           Calendar
          Cloud and                               Contacts
         Integration      Push, Alerts             Maps
           Services
                        Fast App Switch        Silverlight and
        App      UI                                  XNA
       Model    Model    Multitasking            Integration

         Software           Gen GC                 SQL CE
        Architecture
                         Silverlight 4.0           Sockets

         Hardware
                            Camera, Sensors & Motion
        Foundation
                         Gyro              Flexible chassis
Cloud and
                  Integration
                    Services

                 App      UI
                Model    Model


                  Software
                 Architecture


                   Hardware
                  Foundation



Multi-Tasking
Multitasking
                        Start in Foreground
                        Continue in
   current fav          Background
      0:12
      0:11
      0:10
      0:09
   9:00 AM
   Friday
   Words 21
   October
   ByPaul van Dyk
   TechDays 2011 Fall
   Bern
   9:00 AM – 6:00 PM
Background Notification Service
                                Alarms
          using Microsoft.Phone.Scheduler;

          private void AddAlarm(object sender, RoutedEventArgs e)
          {
             Alarm alarm = new Alarm("Long Day");
             alarm.BeginTime = DateTime.Now.AddSeconds(15);
             alarm.Content = "It's been a long day. Go to bed.";
             alarm.Title = "Alarm";

              ScheduledActionService.Add(alarm);
          }



                                    Modal
                                    Snooze and Dismiss
                                    Sound Customization
                                    No App Invocation
                                    No Stacking
Background Notification Service
                                Reminders
          using Microsoft.Phone.Scheduler;

          private void AddReminder(object sender, RoutedEventArgs e)
          {
             Reminder reminder = new Reminder("CompanyMeeting");
             reminder.BeginTime = DateTime.Now.AddSeconds(15);
             reminder.Content = "Soccer Fields by The Commons";
             reminder.Title = "Microsoft Annual Company Product Fair 2009";
             reminder.RecurrenceType = RecurrenceInterval.Yearly;
             reminder.NavigationUri = new Uri("/Reminder.xaml", UriKind.Relative);

              ScheduledActionService.Add(reminder);
          }
                                    Persisted Across Reboots
                                    Rich Information
                                    Integrates with other Reminders
                                    Snooze and Dismiss
                                    Launch App
                                    Follows Phone Global Settings
Background Transfer Service
                     using Microsoft.Phone.BackgroundTransfer;
                     void DownloadWithBTS(Uri sourceUri, UriBackgroundTransferEventArgs
                          GetCurrentProgress()
                          BtsProgressChanged(object sender, destinationPath)
                     e)
                     {
My WP Book App       { btr = new BackgroundTransferRequest(sourceUri, destinationUri);
                        DrawProgressBar(btr.BytesReceived);

download
                     } btr.TransferStatusChanged += BtsStatusChanged;
                        DrawProgressBar(e.Request.BytesReceived);
                        btr.TransferProgressChanged += BtsProgressChanged;
                        BackgroundTransferService.Add(btr);
                     }
 Ready Player One
    completed


 Jpod
                                                          POST Great Mysteries o
                                                        <~3.0 MB
  WP7 for Devs         My WP             Background
                      Book App             Transfer        <20 MB
                                                            GET         Cloud
                                           Service
                                                           < 100 MB
                       ISO Store
demo…
Background Transfer Service
Generic Background Agents
                                  Occurrence: Every 30 min
                                  Duration:   15 seconds
 Agents                           Scenarios: Incremental Data Sync
     Periodic                  Occurrence: External power,   non-cell network
     On Idle                   Duration:   10 minutes
                               Scenarios: Data Feasting
     May have One or Both
 Initialized in Foreground, Run in Background
     Persisted across Reboots
 User control through Control Panel
     Up to a Maximum of 18 periodic agents
 Synchronize with Foreground through Mutex
 Agent runs for up to 14 Days (can be renewed)
demo…
Background Agents
Cloud and
                          Integration
                            Services

                         App      UI
                        Model    Model


                          Software
                         Architecture


                           Hardware
                          Foundation



Application Lifecycle
New Application Resume UX
 Faster user experience!
 Enabled for all Mango apps
 Recompile & T your WP7 application
                est




           Resuming . . .
Application Lifecycle
                                               Fast App Resume

             State is
             Preserved
                         running     Tomb
                                    stoned
                                                              Save
                                                            App State!


                                      deacti
   Tomb    activated
                                      vated
  stoned                                           Tomb
                                                  stoned


                                   Phone resources detached
                         dormant
                                   Threads & timers suspended
Application Lifecycle
                                                        Resuming . . .

                           Restore
                           State !   running




                                               deacti
        Tomb             activated
                                               vated
       stoned



Tombstone        tomb                dormant
 the oldest     stoned
       app
Application Lifecycle
                Tomb
               stoned

                         running




                                   deacti
             activated
                                   vated




     tomb                dormant
    stoned
Multitasking Cheat Sheet
Job                                           Tool
Resume quickly from the lock screen           Fast App Switching
Set an alarm or reminder at a precise time Background Notification
Upload or download files                      Background Transfer
Event-based toast/tile updates                Push Notifications
Location-based services; regular toast/tile   Periodic Background Agent
updates; data pre-caching; etc.

Play music in the background                  Background Audio Player
Synchronize data; SETI@home; etc.             Resource-Intensive Agent
Real-time GPS tracking                        Run under the lock screen
Cloud and
                           Integration
                             Services

                          App      UI
                         Model    Model


                           Software
                          Architecture


                            Hardware
                           Foundation



New Sensor Capabilites
New Scenarios Enabled
Hardware Sensors & API
HARDWARE                     APIs
 Accelerometer                 MotionSensor
                                All the Sensor + Math
                                Use whenever available
 Compass                        Also works w/o Gyro
  Not Mandatory in HW
  (but present if Gyro is)

 Gyro                          Individual
  Not Mandatory in HW          APIs available
                               for all Sensors
demo…
Motion & Accelerometer
Cloud and
                   Integration
                     Services

                  App      UI
                 Model    Model


                   Software
                  Architecture


                    Hardware
                   Foundation



Local Database
Local Data Storage: Overview
Apps store private data in Isolated Storage
   Settings and properties in the app dictionary
   Unstructured data in Isolated Storage files                          App Root Folder
   Structured data in database files
                                                                                   Install
                          Creates root folder
       Package            sandboxed to App
       Manager                                                              DB     Database
                                                                                   File (r/o)


                                                                          App Data Folder

                          Creates/Manages
          App             files and settings
      WP7 Isolated
      Storage APIs                      Application         DB                     Application
                                        Settings File                              Files
                                                        Database file
“Mango”
Updated Developer Tools
Emulator & Developer Tools
Emulator Enhancements              Tools Enhancements
  Memory model improvements          Integrated Profiler
    Emulator can handle physical        Visual , Code and Memory
    memory fragmentations               profiler
  Media support for H.264, AAC       Performance Analysis
  Sensor Support                        Built-in anti-pattern analyzer
    Accelerometer and Location          Guides through step-by-step
  Multi-Touch                        Background Agent Debugging
Marketplace Test Kit
demo…
Developer Tools
Simulating GPS Data & Sensors
Profiling
Marketplace Test Kit
Cloud and
                           Integration
                             Services

                          App      UI
                         Model    Model


                           Software
                          Architecture


                            Hardware
                           Foundation



Live Tile Improvements
Live Tile Improvements
Local Tile APIs
  Full Control of ALL Properties
Multiple Tiles per app
  Create, Update / Delete / Query
  Launches directly to In App URI
Live Tiles – Local Tile API
Back of Tile Updates
  Full Control of all Properties when your App is in Foreground
  or Background
  Content, Title, Background
   Content     Content
   string is                                          Background
   bigger
                         Title    Title

  Flips from Front to Back at random Interval
  Smart Logic make Flips Asynchronous
The New Market Place
What’s New on the Marketplace?
http://windowsphone.com/s?appid=
8bda38b9-619e-4368-b849-d25630266c4b




                                       ITIN
     Resubmit Apps to Reach
         New Markets!
Marketplace: Distribution Options
                  “Beta”                  Private         Public
# of users        100                     unlimited       unlimited
App Price         Must be “free”          Can be “paid”   Can be “paid”
Time Limited      Expires after 90d       No              No
Updateable        No                      Yes             Yes
Certification     No                      Yes             Yes
Required
Discoverable      No                      No *            Yes
Access Control    Limited to test user No                 No
                  WLIDs provided
Target Users      Beta Users              Private Users   Public Users

* People who obtain deeplink can access
Marketplace: New Regions
 1.8 Billion More Potential Users
 Resubmit your App to reach New Markets!


                                               Hong Kong




                                   Singapore




                             Today (16)
                             +19 New (35)
Resources
Online Resources I : The Basics
App Hub              http://create.msdn.com
Tools                http://wpdev.ms/wpsdk71rc
WP on MSDN Library   http://wpdev.ms/wponmsdn
WP “How To” Index    http://wpdev.ms/wphowtos
WP UX Guide          http://wpdev.ms/wpuxguide
WP P&P Guide         http://wpdev.ms/wppnpguide
WP Dev Blog          http://wpdev.ms/developerblog
Porting to WP        http://wpdev.ms/porting
WP Labs (RTM)        http://wpdev.ms/wprtmhols
WP Labs (Mango)      http://wpdev.ms/mangohol
WP SL Quick Starts   http://wpdev.ms/xamlquick
Online Resources II : Videos
WP Jumpstart              http://wpdev.ms/jumpstarts
WP How To Videos          http://wpdev.ms/howvids
WP “Absolute Beginners”   http://wpdev.ms/beginvids
Inside WP on C9           http://wpdev.ms/insidewp
Design Toolbox            http://wpdev.ms/designtb
WP Game Dev Vids          http://wpdev.ms/gamevids
WP at MIX 11 Vids         http://wpdev.ms/wpmix11
WP at TENA 11 Vids        http://wpdev.ms/wptena11
Online Resources III : Other
App Hub FAQ                http://wpdev.ms/apphubfaq
App Hub Forums             http://wpdev.ms/ahforum
Registration Walkthrough   http://wpdev.ms/regwalk
Submission Walkthrough     http://wpdev.ms/subwalk
Cert Requirements          http://wpdev.ms/certreq
WP Samples on MSDN         http://wpdev.ms/officialsamples
SL Toolkit for WP          http://wpdev.ms/wpsltk
Azure Toolkit for WP       http://wpdev.ms/wpwaztk
Online Resources IV :                       3rd    Party
Silverlight Show on WP   http://www.silverlightshow.net/Search.a
                         spx?q=%5Bwindows-phone-7%5D
Windows Phone Geek       http://www.windowsphonegeek.com/
WPDEV on Twitter         http://twitter.com/#search?q=wp7dev
WPDEV on REDDIT          http://www.reddit.com/r/wp7dev
WPDEV on Stack           http://stackoverflow.com/questions/tag
Overflow                 ged/windows-phone-7
© 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.
Contacts: Hello, World!
Contacts contacts = new Contacts();

contacts.SearchCompleted += new
EventHandler<ContactsSearchEventArgs>((sender, e) =>
            {
                 ... = e.Results;
            });
                                                                  state
// E.g. search for all contacts
contacts.SearchAsync(string.Empty, FilterKind.None, null);


                     filter expression   Filter kind: name, email , phone
                     (not a regex)       or pinned to start)

// E.g. search for all contacts with display name matching "Sa"
contacts.SearchAsync("Sa", FilterKind.DisplayName, null);
Appointments: Hello, World!
Appointments appointments = new Appointments();

appointments.SearchCompleted += new
EventHandler<AppointmentsSearchEventArgs>((sender, e) =>
            {
               ... = e.Results;
            });                                start date and time

// E.g. 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
Performance and Best Practices
Be responsible
  Your privacy policy should cover how you use the
  user’s contact information
Keep out of the way
  Users have widely varying contact list sizes
  Your UI should handle delays gracefully
Don’t let data get stale
  Data returned is a snapshot
  Refresh state when reasonable
New Choosers and Launchers
New
 SaveRingtoneT ask
 AddressChooseT  ask
 BingMapsT ask
 BingMapsDirectionsT ask
 GameInviteTask
Updates:
 EmailAddressChooserT  ask
 PhoneNumberChooserT     ask
AddressChooserTask
private AddressChooserTask addressChooserTask;

// Constructor
public MainPage()
{
    this.addressChooserTask = new AddressChooserTask();
    this.addressChooserTask.Completed += new
                EventHandler<AddressResult>(
                                 addressChooserTask_Completed);
}

private void   addressChooserTask_Completed(object sender, AddressResult e)
{
    if (null   == e.Error && TaskResult.OK == e.TaskResult)
    {
         ...   = e.DisplayName;
         ...   = e.Address;
    }
}
Microsoft.Phone.UserData
Important points
  Contacts and Appointments APIs are read only
  Third party social network data cannot be shared
Contacts/Appointments Data Shared

                                Contact Name   Other Contact Appointments
                                and Picture    Data          / Events
Windows Live Social                  YES           YES           YES
Windows Live Rolodex
                                     YES           YES            n/a
(user created and SIM import)
Exchange accounts
                                     YES           YES           YES
(corporate plus Google, etc.)
Operator Address Books               YES           YES            n/a
Facebook                             YES           NO             NO
Other networks in the People
                                     NO            NO             NO
Hub (e.g., Twitter)
The New Market Place
MarketPlace: Improvements
Challenges Fixed                          Challenges Remaining
Support Responsiveness. 98% of            App certification consistency and test
support inquiries are now responded       results feedback.
to within 24 hours                        ID validation process is cumbersome.
Free app submission limits.               Revamping individual validation
Increased limit from 5 to 100 per year    process
Market-specific registration              W-8 form requirement (for non-US
challenges. Fixed registration form       developers). Working to simplify and
and postal code validation logic          automate
Registration problems due to Xbox         Submission process has errors.
profile. Fixed the linking of developer   Working to eliminate bottlenecks
profile information between App hub       and streamline process
and xbox.com                              Registration payment failures for
Blank or incomplete test results.         some. Fixing remaining payment
Now providing complete certification      exception scenarios.
failure report
New Beta Distribution Service
 Distribute pre-certified Apps to a Set of Beta Users
 Capabilities
    Developer selects List of Testers
    (up to 100)
    Developer sends Email with
    Private Deeplink to the T esters
    Only T esters selected in App Hub
    can test the Application and
    provide Feedback for 90 days
    Beta cannot be updated
 Benefits
    No need to unlock Phones to test Apps

More Related Content

PDF
soft-shake.ch - Introduction to HTML5
PDF
HTML5 Intoduction for Web Developers
PDF
Wordcamp Thessaloniki 2011 The Nextweb
PDF
Great Java Application Server Debate
PDF
Open World Forum 2009 Migration With Telosys
PPTX
Java and windows azure cloud service
PDF
Nuts and Bolts of WebSocket Devoxx 2014
PDF
Jetty 9 – The Next Generation Servlet Container
soft-shake.ch - Introduction to HTML5
HTML5 Intoduction for Web Developers
Wordcamp Thessaloniki 2011 The Nextweb
Great Java Application Server Debate
Open World Forum 2009 Migration With Telosys
Java and windows azure cloud service
Nuts and Bolts of WebSocket Devoxx 2014
Jetty 9 – The Next Generation Servlet Container

What's hot (20)

PDF
What’s new in Nuxeo 5.2?
PDF
Building Next-Gen Web Applications with the Spring 3 Web Stack
KEY
WordPress Plugins for n00bs
PPTX
WebSocket protocol
PDF
WebPagetest - Good, Bad & Ugly
PPTX
Php push notifications
PPTX
Developing iPhone and iPad apps that leverage Windows Azure
PDF
Introduction to WebSockets
PPTX
HTML5 WebSocket Introduction
PPTX
Normalizing x pages web development
PPTX
Apache CloudStack's Plugin Model: Balancing the Cathedral with a Bazaar
PDF
Performance Improvements in Browsers
PDF
Flex Continuous Quality Builds Flex & (Ant || Maven)
PPTX
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
PDF
Building complex and modular RIAs with OSGi and Flex
PDF
Jetty Continuation - 이상민
KEY
The HTML5 WebSocket API
PDF
Rock-solid Magento Deployments (and Development)
PDF
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
PPT
A web perf dashboard up & running in 90 minutes presentation
What’s new in Nuxeo 5.2?
Building Next-Gen Web Applications with the Spring 3 Web Stack
WordPress Plugins for n00bs
WebSocket protocol
WebPagetest - Good, Bad & Ugly
Php push notifications
Developing iPhone and iPad apps that leverage Windows Azure
Introduction to WebSockets
HTML5 WebSocket Introduction
Normalizing x pages web development
Apache CloudStack's Plugin Model: Balancing the Cathedral with a Bazaar
Performance Improvements in Browsers
Flex Continuous Quality Builds Flex & (Ant || Maven)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
Building complex and modular RIAs with OSGi and Flex
Jetty Continuation - 이상민
The HTML5 WebSocket API
Rock-solid Magento Deployments (and Development)
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
A web perf dashboard up & running in 90 minutes presentation
Ad

Viewers also liked (7)

PDF
UGreen Sprint Review
PDF
Pero Este Trabajo Yo Para Qué Lo Hago. Rosario Hdez. CataláN. Con Dibujos De ...
PPTX
Understanding Azure websites
PDF
Palestra Superintendente de Tecnologias Educacionais - João Lúcio Duarte
PDF
Estado de la ordenación de los bosques tropicales (2011)
PPTX
titan vs rolex stp analysis
PDF
Les mails hotmail
UGreen Sprint Review
Pero Este Trabajo Yo Para Qué Lo Hago. Rosario Hdez. CataláN. Con Dibujos De ...
Understanding Azure websites
Palestra Superintendente de Tecnologias Educacionais - João Lúcio Duarte
Estado de la ordenación de los bosques tropicales (2011)
titan vs rolex stp analysis
Les mails hotmail
Ad

Similar to soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers? (20)

PDF
Xtopia2010 wp7
PDF
Development Model for The Cloud
PPTX
A lap around mango
PPTX
Windows Phone 7.5 Mango - What's New
PDF
Windows Azure For Architects
ODP
Android. behind the scenes_programatica 2012
PPTX
Ca today here and_now_martin_vajda
PDF
Windows Azure Interoperability
PDF
V fabric overview
KEY
Intro To webOS
PDF
01 introduction
PDF
Архитектура ОС Tizen
PPTX
Introduction to Streaming Distributed Processing with Storm
KEY
Cloud Review V2
PPTX
Running High-Speed Serverless with nuclio
PDF
Introduction - The Hack Session
PDF
Joyent Cloud Data Sheet
PPTX
What's new in Windows Phone Mango for Developers
PDF
Building Java Apps on Heroku and Force.com
PPTX
Dell web monsters-oct2011-v6-public
Xtopia2010 wp7
Development Model for The Cloud
A lap around mango
Windows Phone 7.5 Mango - What's New
Windows Azure For Architects
Android. behind the scenes_programatica 2012
Ca today here and_now_martin_vajda
Windows Azure Interoperability
V fabric overview
Intro To webOS
01 introduction
Архитектура ОС Tizen
Introduction to Streaming Distributed Processing with Storm
Cloud Review V2
Running High-Speed Serverless with nuclio
Introduction - The Hack Session
Joyent Cloud Data Sheet
What's new in Windows Phone Mango for Developers
Building Java Apps on Heroku and Force.com
Dell web monsters-oct2011-v6-public

More from soft-shake.ch (20)

PPTX
soft-shake.ch - WebMatrix: Your Web Made Easy
PDF
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
PDF
soft-shake.ch - Clojure Values
PDF
soft-shake.ch - Data grids and Data Grids
PDF
soft-shake.ch - Data grids and Data Caching
PDF
soft-shake.ch - JBoss AS 7, la révolution
PDF
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
PDF
soft-shake.ch - Tests d'intégration JavaEE avec Arquillian
PDF
soft-shake.ch - Un zeste d’Erlang dans le shaker!
PDF
soft-shake.ch - Déploiement continu sur le cloud avec SlipStream
PDF
soft-shake.ch - An introduction to social architecture
PDF
soft-shake.ch - Hands on Node.js
PDF
soft-shake.ch - De Hermes RUP à Hermes Scrum
PDF
soft-shake.ch - Stewardship et motivation
PDF
soft-shake.ch - Agile qu'es aco : scrum xp lean
PDF
soft-shake.ch - Documentation et agilité
PDF
soft-shake.ch - Agilité = discipline et rigueur ?
PDF
soft-shake.ch - Transition agile & Accompagnement au changement
PDF
soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structurée
PDF
soft-shake.ch - Le développement durable
soft-shake.ch - WebMatrix: Your Web Made Easy
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Clojure Values
soft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Caching
soft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch - Tests d'intégration JavaEE avec Arquillian
soft-shake.ch - Un zeste d’Erlang dans le shaker!
soft-shake.ch - Déploiement continu sur le cloud avec SlipStream
soft-shake.ch - An introduction to social architecture
soft-shake.ch - Hands on Node.js
soft-shake.ch - De Hermes RUP à Hermes Scrum
soft-shake.ch - Stewardship et motivation
soft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Documentation et agilité
soft-shake.ch - Agilité = discipline et rigueur ?
soft-shake.ch - Transition agile & Accompagnement au changement
soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structurée
soft-shake.ch - Le développement durable

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Encapsulation theory and applications.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Machine Learning_overview_presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Tartificialntelligence_presentation.pptx
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
August Patch Tuesday
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Univ-Connecticut-ChatGPT-Presentaion.pdf
Encapsulation_ Review paper, used for researhc scholars
Encapsulation theory and applications.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectroscopy.pptx food analysis technology
Machine Learning_overview_presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
Group 1 Presentation -Planning and Decision Making .pptx
Tartificialntelligence_presentation.pptx
TLE Review Electricity (Electricity).pptx
Heart disease approach using modified random forest and particle swarm optimi...
August Patch Tuesday
Digital-Transformation-Roadmap-for-Companies.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...

soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

  • 1. cocktail d’expérience informatiques Genève 3 & 4 octobre 2011 Seconde édition soft-shake.ch Auteur Sascha P. CORTI Track Microsoft Session Windows Phone 7 Mango Overview for Developers
  • 3. Windows Phone 7 Mango Overview for Developers Sascha P Corti . Developer Evangelist, Microsoft Switzerland sascha.corti@microsoft.com | blog | twitter
  • 4. Windows Phone 7 “Mango”
  • 5. Windows Phone “Mango” Extras, Tiles Calendar Cloud and Contacts Integration Push, Alerts Maps Services Fast App Switch Silverlight and App UI XNA Model Model Multitasking Integration Software Gen GC SQL CE Architecture Silverlight 4.0 Sockets Hardware Camera, Sensors & Motion Foundation Gyro Flexible chassis
  • 6. Cloud and Integration Services App UI Model Model Software Architecture Hardware Foundation Multi-Tasking
  • 7. Multitasking Start in Foreground Continue in current fav Background 0:12 0:11 0:10 0:09 9:00 AM Friday Words 21 October ByPaul van Dyk TechDays 2011 Fall Bern 9:00 AM – 6:00 PM
  • 8. Background Notification Service Alarms using Microsoft.Phone.Scheduler; private void AddAlarm(object sender, RoutedEventArgs e) { Alarm alarm = new Alarm("Long Day"); alarm.BeginTime = DateTime.Now.AddSeconds(15); alarm.Content = "It's been a long day. Go to bed."; alarm.Title = "Alarm"; ScheduledActionService.Add(alarm); } Modal Snooze and Dismiss Sound Customization No App Invocation No Stacking
  • 9. Background Notification Service Reminders using Microsoft.Phone.Scheduler; private void AddReminder(object sender, RoutedEventArgs e) { Reminder reminder = new Reminder("CompanyMeeting"); reminder.BeginTime = DateTime.Now.AddSeconds(15); reminder.Content = "Soccer Fields by The Commons"; reminder.Title = "Microsoft Annual Company Product Fair 2009"; reminder.RecurrenceType = RecurrenceInterval.Yearly; reminder.NavigationUri = new Uri("/Reminder.xaml", UriKind.Relative); ScheduledActionService.Add(reminder); } Persisted Across Reboots Rich Information Integrates with other Reminders Snooze and Dismiss Launch App Follows Phone Global Settings
  • 10. Background Transfer Service using Microsoft.Phone.BackgroundTransfer; void DownloadWithBTS(Uri sourceUri, UriBackgroundTransferEventArgs GetCurrentProgress() BtsProgressChanged(object sender, destinationPath) e) { My WP Book App { btr = new BackgroundTransferRequest(sourceUri, destinationUri); DrawProgressBar(btr.BytesReceived); download } btr.TransferStatusChanged += BtsStatusChanged; DrawProgressBar(e.Request.BytesReceived); btr.TransferProgressChanged += BtsProgressChanged; BackgroundTransferService.Add(btr); }  Ready Player One completed  Jpod POST Great Mysteries o <~3.0 MB WP7 for Devs My WP Background Book App Transfer <20 MB GET Cloud Service < 100 MB ISO Store
  • 12. Generic Background Agents Occurrence: Every 30 min Duration: 15 seconds Agents Scenarios: Incremental Data Sync Periodic Occurrence: External power, non-cell network On Idle Duration: 10 minutes Scenarios: Data Feasting May have One or Both Initialized in Foreground, Run in Background Persisted across Reboots User control through Control Panel Up to a Maximum of 18 periodic agents Synchronize with Foreground through Mutex Agent runs for up to 14 Days (can be renewed)
  • 14. Cloud and Integration Services App UI Model Model Software Architecture Hardware Foundation Application Lifecycle
  • 15. New Application Resume UX Faster user experience! Enabled for all Mango apps Recompile & T your WP7 application est Resuming . . .
  • 16. Application Lifecycle Fast App Resume State is Preserved running Tomb stoned Save App State! deacti Tomb activated vated stoned Tomb stoned Phone resources detached dormant Threads & timers suspended
  • 17. Application Lifecycle Resuming . . . Restore State ! running deacti Tomb activated vated stoned Tombstone tomb dormant the oldest stoned app
  • 18. Application Lifecycle Tomb stoned running deacti activated vated tomb dormant stoned
  • 19. Multitasking Cheat Sheet Job Tool Resume quickly from the lock screen Fast App Switching Set an alarm or reminder at a precise time Background Notification Upload or download files Background Transfer Event-based toast/tile updates Push Notifications Location-based services; regular toast/tile Periodic Background Agent updates; data pre-caching; etc. Play music in the background Background Audio Player Synchronize data; SETI@home; etc. Resource-Intensive Agent Real-time GPS tracking Run under the lock screen
  • 20. Cloud and Integration Services App UI Model Model Software Architecture Hardware Foundation New Sensor Capabilites
  • 22. Hardware Sensors & API HARDWARE APIs Accelerometer MotionSensor All the Sensor + Math Use whenever available Compass Also works w/o Gyro Not Mandatory in HW (but present if Gyro is) Gyro Individual Not Mandatory in HW APIs available for all Sensors
  • 24. Cloud and Integration Services App UI Model Model Software Architecture Hardware Foundation Local Database
  • 25. Local Data Storage: Overview Apps store private data in Isolated Storage Settings and properties in the app dictionary Unstructured data in Isolated Storage files App Root Folder Structured data in database files Install Creates root folder Package sandboxed to App Manager DB Database File (r/o) App Data Folder Creates/Manages App files and settings WP7 Isolated Storage APIs Application DB Application Settings File Files Database file
  • 27. Emulator & Developer Tools Emulator Enhancements Tools Enhancements Memory model improvements Integrated Profiler Emulator can handle physical Visual , Code and Memory memory fragmentations profiler Media support for H.264, AAC Performance Analysis Sensor Support Built-in anti-pattern analyzer Accelerometer and Location Guides through step-by-step Multi-Touch Background Agent Debugging
  • 29. demo… Developer Tools Simulating GPS Data & Sensors Profiling Marketplace Test Kit
  • 30. Cloud and Integration Services App UI Model Model Software Architecture Hardware Foundation Live Tile Improvements
  • 31. Live Tile Improvements Local Tile APIs Full Control of ALL Properties Multiple Tiles per app Create, Update / Delete / Query Launches directly to In App URI
  • 32. Live Tiles – Local Tile API Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background Content, Title, Background Content Content string is Background bigger Title Title Flips from Front to Back at random Interval Smart Logic make Flips Asynchronous
  • 33. The New Market Place
  • 34. What’s New on the Marketplace? http://windowsphone.com/s?appid= 8bda38b9-619e-4368-b849-d25630266c4b ITIN Resubmit Apps to Reach New Markets!
  • 35. Marketplace: Distribution Options “Beta” Private Public # of users 100 unlimited unlimited App Price Must be “free” Can be “paid” Can be “paid” Time Limited Expires after 90d No No Updateable No Yes Yes Certification No Yes Yes Required Discoverable No No * Yes Access Control Limited to test user No No WLIDs provided Target Users Beta Users Private Users Public Users * People who obtain deeplink can access
  • 36. Marketplace: New Regions 1.8 Billion More Potential Users Resubmit your App to reach New Markets! Hong Kong Singapore Today (16) +19 New (35)
  • 38. Online Resources I : The Basics App Hub http://create.msdn.com Tools http://wpdev.ms/wpsdk71rc WP on MSDN Library http://wpdev.ms/wponmsdn WP “How To” Index http://wpdev.ms/wphowtos WP UX Guide http://wpdev.ms/wpuxguide WP P&P Guide http://wpdev.ms/wppnpguide WP Dev Blog http://wpdev.ms/developerblog Porting to WP http://wpdev.ms/porting WP Labs (RTM) http://wpdev.ms/wprtmhols WP Labs (Mango) http://wpdev.ms/mangohol WP SL Quick Starts http://wpdev.ms/xamlquick
  • 39. Online Resources II : Videos WP Jumpstart http://wpdev.ms/jumpstarts WP How To Videos http://wpdev.ms/howvids WP “Absolute Beginners” http://wpdev.ms/beginvids Inside WP on C9 http://wpdev.ms/insidewp Design Toolbox http://wpdev.ms/designtb WP Game Dev Vids http://wpdev.ms/gamevids WP at MIX 11 Vids http://wpdev.ms/wpmix11 WP at TENA 11 Vids http://wpdev.ms/wptena11
  • 40. Online Resources III : Other App Hub FAQ http://wpdev.ms/apphubfaq App Hub Forums http://wpdev.ms/ahforum Registration Walkthrough http://wpdev.ms/regwalk Submission Walkthrough http://wpdev.ms/subwalk Cert Requirements http://wpdev.ms/certreq WP Samples on MSDN http://wpdev.ms/officialsamples SL Toolkit for WP http://wpdev.ms/wpsltk Azure Toolkit for WP http://wpdev.ms/wpwaztk
  • 41. Online Resources IV : 3rd Party Silverlight Show on WP http://www.silverlightshow.net/Search.a spx?q=%5Bwindows-phone-7%5D Windows Phone Geek http://www.windowsphonegeek.com/ WPDEV on Twitter http://twitter.com/#search?q=wp7dev WPDEV on REDDIT http://www.reddit.com/r/wp7dev WPDEV on Stack http://stackoverflow.com/questions/tag Overflow ged/windows-phone-7
  • 42. © 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.
  • 43. Contacts: Hello, World! Contacts contacts = new Contacts(); contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>((sender, e) => { ... = e.Results; }); state // E.g. search for all contacts contacts.SearchAsync(string.Empty, FilterKind.None, null); filter expression Filter kind: name, email , phone (not a regex) or pinned to start) // E.g. search for all contacts with display name matching "Sa" contacts.SearchAsync("Sa", FilterKind.DisplayName, null);
  • 44. Appointments: Hello, World! Appointments appointments = new Appointments(); appointments.SearchCompleted += new EventHandler<AppointmentsSearchEventArgs>((sender, e) => { ... = e.Results; }); start date and time // E.g. 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
  • 45. Performance and Best Practices Be responsible Your privacy policy should cover how you use the user’s contact information Keep out of the way Users have widely varying contact list sizes Your UI should handle delays gracefully Don’t let data get stale Data returned is a snapshot Refresh state when reasonable
  • 46. New Choosers and Launchers New SaveRingtoneT ask AddressChooseT ask BingMapsT ask BingMapsDirectionsT ask GameInviteTask Updates: EmailAddressChooserT ask PhoneNumberChooserT ask
  • 47. AddressChooserTask private AddressChooserTask addressChooserTask; // Constructor public MainPage() { this.addressChooserTask = new AddressChooserTask(); this.addressChooserTask.Completed += new EventHandler<AddressResult>( addressChooserTask_Completed); } private void addressChooserTask_Completed(object sender, AddressResult e) { if (null == e.Error && TaskResult.OK == e.TaskResult) { ... = e.DisplayName; ... = e.Address; } }
  • 48. Microsoft.Phone.UserData Important points Contacts and Appointments APIs are read only Third party social network data cannot be shared
  • 49. Contacts/Appointments Data Shared Contact Name Other Contact Appointments and Picture Data / Events Windows Live Social YES YES YES Windows Live Rolodex YES YES n/a (user created and SIM import) Exchange accounts YES YES YES (corporate plus Google, etc.) Operator Address Books YES YES n/a Facebook YES NO NO Other networks in the People NO NO NO Hub (e.g., Twitter)
  • 50. The New Market Place
  • 51. MarketPlace: Improvements Challenges Fixed Challenges Remaining Support Responsiveness. 98% of App certification consistency and test support inquiries are now responded results feedback. to within 24 hours ID validation process is cumbersome. Free app submission limits. Revamping individual validation Increased limit from 5 to 100 per year process Market-specific registration W-8 form requirement (for non-US challenges. Fixed registration form developers). Working to simplify and and postal code validation logic automate Registration problems due to Xbox Submission process has errors. profile. Fixed the linking of developer Working to eliminate bottlenecks profile information between App hub and streamline process and xbox.com Registration payment failures for Blank or incomplete test results. some. Fixing remaining payment Now providing complete certification exception scenarios. failure report
  • 52. New Beta Distribution Service Distribute pre-certified Apps to a Set of Beta Users Capabilities Developer selects List of Testers (up to 100) Developer sends Email with Private Deeplink to the T esters Only T esters selected in App Hub can test the Application and provide Feedback for 90 days Beta cannot be updated Benefits No need to unlock Phones to test Apps