Windows Phone 7 Unleashed Session 1
Upcoming SlideShare
Loading in...5
×
 

Windows Phone 7 Unleashed Session 1

on

  • 1,709 views

Special thanks to Daniel Egan. This presentation provides an introduction to Windows Phone 7, helps developers decide which user controls (Pivot, Panorama), user interface concerns, and step to get ...

Special thanks to Daniel Egan. This presentation provides an introduction to Windows Phone 7, helps developers decide which user controls (Pivot, Panorama), user interface concerns, and step to get your app in Marketplace.

Statistics

Views

Total Views
1,709
Views on SlideShare
1,707
Embed Views
2

Actions

Likes
2
Downloads
36
Comments
0

2 Embeds 2

http://www.techgig.com 1
http://admin 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Windows Phone is a whole new kind of phone, targeted specifically at consumers, who work hard every day to balance their work lives and their personal lives. These were the key focus areas for our design and development effortsNew philosophy on what the device needs to doFocus on the end user, not on enterprises Improved “glanceable” design paradigm with “Metro”Standardized experience across all devices, maanufacturers and all carriersStrong developer platform for building rich, interactive applications on the phone – a key part of our “3-screens and a cloud” strategyWindows Mobile Phones were essentially PPCs that got phone capabilities added to them. This device has been redesigned from the ground-up to be easy to use, incorporate the things you do and care about, and give you the information you need quickly and easily.Depending on the size of the crowd, I also ask about the screen shot here and ask for their feedback.
  • The Smart Design starts with what we call the “Metro” Design Language – not a language like developers would think of – but a natural language for expressing designs. The inspiration for the WP7 UX was based on signage around Metro Rail stations – clean, clear, easy to read information that you can take in quickly. We also refer to this as “glanceable” information – information you can take in at just a glance.It’s not about the fancy chrome, gradient fills or shiny, inactive icons – it’s about the information you need right now to get back to your “life in motion”…
  • Hubs are viewports into phone functionality – the phone UX is not about hosting applications, it’s about hosting experiencesThere are 6 hubs in WP7 – developers can integrate their software into them
  • Windows Phone 7 Series has a very detailed hardware specification to ensure a consistent user experience for consumers across network providers. This way, phone customers will be able to continue using their existing service provider but get the same UX as everyone else. The consistent hardware and software platform also ensures that Microsoft can, through a centralized Windows Update mechanism, manage updates and patching to the phone platform in a consistent way, across providers.Highlights of slide: Detailed hardware spec to ensure a consistent user experience for consumersSingle display at launch, smaller display in future (lower price point for easier adoption)All capacitive touch devices – no more stylus!3 buttons only – not 5, not 1 – but 3Memory is minimum configuration, more is allowed
  • Connecting applications with data via Cloud Services One of the “3 screens” in our strategyYours: services that you write for your application, specific to your application, or part of a larger application deploymentTheirs: services built by 3rd parties (Netflix, US Government, SAP, etc) over open protocols (e.g. SOAP, REST, ODATA) for you to use in your S+S application.Ours: services built by Microsoft used with your phone (e.g. Notification, Update, Location), and applications you write for your phone (e.g. Xbox Live)
  • Building Silverlight-based UX navigation is similar to Web-based navigation:Navigation is from Page to PagePages are described as relative URIs (i.e. “/DetailsPage.xaml”)QueryString can be used (i.e. “/DetailsPage.xaml?id=123”)Back button is integrated and “smart” compared to the browser’s back button
  • InstallationApp codePhone capabilitiesLanguageCertification:- ReliabilityPerformanceSecurity

Windows Phone 7 Unleashed Session 1 Windows Phone 7 Unleashed Session 1 Presentation Transcript

  • Bruce D. Kyle
    ISV Architect Evangelist
    Microsoft
    Windows Phone 7Unleashed
    Session I
  • Session 1 : Getting Started
  • Session 1 Agenda
    WP7 – Phone Overview
    Application Architecture
    Application Life cycle
    Hardware Foundation
    Application Bar
    Panorama and Pivot
    Red Threads
    MVVM
    Marketplace
  • A different kind of phone,designed for a life in motion
    Philosophy
    Customer
    Design
    Experience
    Platform
  • The Windows Phone Design System Codename “Metro”
  • Integrated Experiences
    PEOPLE
    OFFICE
    PICTURES
    MUSIC+VIDEO
    MARKETPLACE
    GAMES
  • Standardized Hardware Foundation
    Capacitive touch
    4 or more contact points
    800 WVGA / 480 HVGA
    Sensors
    A-GPS, Accelerometer, Compass, Light, Proximity
    Camera
    5 mega pixels or more, flash required, camera button required
    Multimedia
    Common detailed specs, Codec acceleration
    Memory
    256MB RAM or more, 8GB Flash or more
    GPU
    DirectX 9 acceleration
    CPU
    ARMv7 Cortex/Scorpion or better
    480 WVGA / 320 HVGA
    Hardware buttons | Start, Search, Back
  • Session 1 : The Architecture
    Building the Foundation
  • Software Architecture
    Applications
    Your App UI and logic
    Frameworks
    Silverlight
    XNA
    HTML/JavaScript
    CLR
    App Model
    UI Model
    Cloud Integration
    Xbox LIVE
    Bing
    Location
    Push notifications
    Windows Live ID
    App management
    Licensing
    Chamber isolation
    Software updates
    Shell frame
    Session manager
    Direct3D
    Compositor
    Kernel
    Hardware BSP
    Security
    Networking
    Storage
    A-GPS Accelerometer Compass Light Proximity
    Media Wi-Fi Radio Graphics
    Hardware Foundation
  • Windows Phone 7 Frameworks Details
    Windows Phone Frameworks
    Camera
    Device Integration
    Launchers & Choosers
    Windows Phone Controls
    PhoneApplicationPage
    PushNotification
    WebBrowserControl
    Sensors
    PhoneApplicationFrame
    Silverlight Presentation and Media
    XNA Frameworks for Games
    Controls
    Drawing
    IsolatedStorage
    Drawing
    GamerServices
    Media
    Graphics
    Shapes
    Markup
    Media
    Navigation
    Audio
    Content
    Input
    Application Object
    Common Base Class Library
    IO
    Runtime
    Resources
    Globalization
    Text
    Net
    Reflection
    Location
    Diagnostics
    Collections
    ComponentModel
    Configuration
    Security
    ServiceModel
    Linq
    Threading
  • Cloud Integration
    Windows Phone
    Your Web Service
    Custom Web Service
    Windows Phone Application
    Existing Web Services
    Notification Service
    Location Service
    Microsoft Services
    Frameworks
    Cloud integration client services
    • Built-in user experiences and APIs integrated with key Microsoft services
    • Familiar API frameworks for interacting with existing Web 2.0 services
    • Rich support for incorporating custom web services into app-specific experiences
  • UI Model: Familiar Web Concepts
    Web application
    Provide media represented as HTTP resources linked by URL’s
    Phone application
    Provides UI as XAML pages connected into cross-app flows by URI’s
    System tray
    Shell frame
    Requests pages, renders UI, and handles navigation across apps
    Web browser
    Requests HTTP resources, renders them, and handles navigation across sites
    App bar
    Sessions and back stack
    Groups together sequences of pages corresponding to a user’s activity across apps
    History and tabs
    Groups together sequences of HTTP resources corresponding to a user’s activity across sites
  • Session 1 : Page Types
    Building the Foundation
  • Splash Screen
    Not really a page…
    Just a jpg
  • Single Page
  • Application Bar
    Automatically added to new page
    But commented out
    Can be done in XAML or code behind
    Two Parts
    ApplicationBarIconButton (Limit 4)
    ApplicationBarMenuItem
    You can set the opacity (0.0 – 1.0)
    Automatically Rotates and Adjusts
  • Application Bar
    Best Practices
    Use instead of your own menu system
    Use the default system theme color
    Use Opacity of .0 , .05, 1
    If Opacity is < 1 Screen is Full : Otherwise Screen will be shorter
    Do not use an Icon button for  Back
    Don’t use more than 5 Menu items ( between 14 and 20 characters)
  • Panorama
  • Panorama
  • Panorama
  • Panorama
  • Pivot
  • Pivot
  • Pivot or Panorama??
  • Demo
    Getting Started
    • Orientation
    • Keyboard Input
    • Application Bar
    • Panorama
    • Pivot
    • Splash Screen
  • Session 1 : Red Threads
  • Red Threads
    Optimize for “life maximizers”
    Red Threads
    A thread or a theme that runs throughout the entire user experience
    Three Red Threads
    Personal
    Relevant
    Connected
  • Red Threads
    Personal
    Your Day, your way
    Present information that is pertinent to user
    Consider this almost as if every WP7 application should be like a dashboard the filters information down to your role
  • Red Threads
    Relevant
    Your people, your location
    Show information pertinent to the environment the user is currently in
    An example would be a locator for sporting events around the user based on GPS
  • Red Threads
    Connected
    Your stuff, your piece of mind
    Application should be able to interact with networked information (Cloud, online services) BUT not be dependent on this
    Make sure the user experience is high even in a disconnected state
  • Session 1 : MVVM
    Model View View Model
  • MVVM
    MVVM stands for
    Model
    View
    View-Model
  • What's MVVM?
    • an architectural pattern created by John Gossman from WPF team
    • is a variation of MVC pattern
    • is similar to Martin Fowler’s PresentationModel pattern
    • WPF Data Binding & Commanding
    View
    ViewModel
    Model
  • Motivation and benefits
    • Testabiltiy ( ViewModelis easier to unit test than code-behind or event driven code)
    • Clearseparationbetween User Experience designer and developer
    • Increases the "Blendability" of your view
    • Model never needs to be changed to support changes to the view
    • ViewModel rarely needs to be changed to support changes to the view
    • No duplicated code to update views
  • MVVM
    • View knows ViewModel
    • ViewModelknows Models
    • But not vice versa.
    View
    ViewModel
    Model
  • Model
    Typical class that covers a database
    Could be a WCF Service and its client reference
  • ViewModel
    Provides data to and from the View
    Responds to both the View and the Model
    Informs the View of changes in the data
    Reusable (at least much more than code behind a form)
  • ViewModel
    Knows nothing about the View
    Does not “push” data into the view
    TextBox1.Text = object.Name()
  • View
    Uses Binding to “subscribe” to the ViewModel
    Interprets business data and state of ViewModel to the human
    Nothing but Presentation - XAML
    No or minimal code-behind
  • Cons of MVVM
    • lack of standardization so everyone has own favor
    • For simple UI, M-V-VM can be overkill
    View
    ViewModel
    Model
  • MVVM Light Toolkit
  • Third Party Support
    • Prism
    • MVVM Light
    • Caliburn
    • Silverlight FX
  • Session 1 : Marketplace
  • Application Marketplace
    Enhanced Discovery
    • Easy to find great applications, games
    • Fun to browse the marketplace
    Simple, Reliable Acquisition
    • Try before you buy
    • Buying and downloading content is a breeze
    • Payment flexibility (MO billing and credit card)
    • Easy application updates
  • Test Criteria Pillars
    technical validation
    policy validation
    market validation
    http://go.microsoft.com/?linkid=9730558
  • Publishing Process
    Upload Application (XAP)Meta Data (Icons, descriptions, icons)
    Check for size (< 500 mb)
    Recommended size < 20 MB for OTA
    Check Application code (No Native API)Check if Type SafeNo Debug Symbols
    Check for Phone Capabilities
    Check languages
    Application and Game Submission
    .xap
    .xap
    .xap
    .xap
    .xap
    .xap
    .xap
    .xap
    .dll
    .dll
    .dll
    .dll
    .dll
    .dll
    .dll
    .dll
    App
    Packaging &
    Validation
    App
    submission
    Marketplace
    Windows Phone 7 Deployment Service
    Apply
    Test
    Criteria
    Add
    Metadata
    Sign
    Add Metadata and repackage application.
    Sign XAP and appears on Marketplace
    Check the app works (does it crash, hang, etc..)
    Start splash in 1 second
    Accept user input 19 secondsTest for malicious code
  • Device Unlock for Application Development
    api
    Unlock retail devices for development
    Manage registered devices through the
    developer portal
    3 devices/year
    1 device/year students
  • © 2010 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.
  • Live Tiles