windows phone development
TRANSCRIPT
Puja Pramudya
Microsoft Innovation Center
21 November 2010
Windows Phone
USER EXPERIENCE
DIFFERENT KIND OF PHONE
Design Philosophy
Start
Custom Application
Personal Weather surfaced on the live tile in Start
Relevant Weather updated based on your location
Connected Weather for your contacts
Connected Weather for your contacts
THE PLATFORM
DIFFERENT KIND OF PHONE
Platform Goals
Help end users personalize their phones
Help developers be profitable
Enable cloud powered experiences
Hardware Platform
Capacitive touch 4 or more contact points
Sensors A-GPS, Accelerometer, Compass, Light, Proximity
Camera 5 mega pixels or more
Multimedia Common detailed specs, Codec acceleration
Memory 256MB RAM or more, 8GB Flash or more
GPU DirectX 9 acceleration
CPU ARMv7 Cortex/Scorpion or better
800 (
480)
480 (320)
Hardware buttons | Back, Start, Search
Application Platform
CLOUD
SCREEN
Cloud Services
Runtime – On “Screen”
Code you write
on the Client
Code you write &
Services you use in
the Cloud
Tools & Support
Developer Portal Services
Tools you use to
Design & Develop
Tools you use to
Ship & Sell
Application Platform
CLOUD
SCREEN
Cloud Services
Runtime – On “Screen”
Code you write
on the Client
Code you write &
Services you use in
the Cloud
Tools & Support
Developer Portal Services
Tools you use to
Design & Develop
Tools you use to
Ship & Sell
CLOUD
SCREEN
Phone Emulator
Samples Documentation
Guides Community
Packaging and Verification Tools
Notifications
Location Identity Feeds
Maps Social
App Deployment Registration
Validation
Certification
Publishing
Marketplace
MO and CC Billing
Business Intelligence
Update Management
Tools
Portal Services Cloud Services
Sensors Media Data
Xbox LIVE Notifications
.NET Framework managed code sandbox
Location
Phone
Runtime – On “Screen”
Client
CLOUD
SCREEN
Runtime – On “Screen”
Code you write
on the Client
Sensors Media Data
Xbox LIVE Notifications
.NET Framework managed code sandbox
Location
Phone
Runtime – On “Screen”
Build Applications
High performance game framework
Rapid creation of multi-screen 2D and 3D games
Rich content pipeline
Mature, robust, widely adopted technology
Xbox 360
Windows
Zune
Application framework (rich functionalities: multimedia, graphics, animation and interactivity all in a single runtime environment)
User interfaces are declared in Extensible Application Markup Language (XAML) and programmed using.NET Framework
Programming logic can be written in any .NET languages (C#, VB.NET)
Build Applications
Graphics UI control heavy consider Silverlight
Require rich vector graphics through XAML, then Silverlight is your only choice
Media Rich video support consider Silverlight
Tooling Microsoft Blend in your pipeline, Silverlight is your best choice
Build Applications
Graphics UI control heavy consider Silverlight
Require rich vector graphics through XAML, then Silverlight is your only choice
Media Rich video support consider Silverlight
Tooling Microsoft Blend in your pipeline, Silverlight is your best choice
Graphics For 3D graphics your choice is the XNA Framework Game Loop
Sprite heavy 2D applications should consider the XNA Framework Game Loop
Simulation/Drawing Those who prefer a traditional update/draw/present frame loop should use the XNA Framework
Tooling Those who want to use the XNA Framework Content Pipeline core graphics types
Development Tools
CLOUD
SCREEN
Tools & Support
Tools you use to
Design & Develop
CLOUD
SCREEN
Phone Emulator
Samples Documentation
Guides Community
Packaging and Verification Tools
Tools
Development Tools
Visual Studio Debug
Silverlight & XNA Project Types
- Emulator
- Device
Developer Registration Tool
XAP Deployment Tool
DEMO
THE DEVELOPMENT TOOLS
Cloud Services
CLOUD
SCREEN
Cloud Services
Code you write &
Services you use in
the Cloud
CLOUD
SCREEN
Notifications
Location Identity Feeds
Maps Social
App Deployment
Cloud Services
Notification Service Location Service
Custom Web Service
Push Notification
Push Notification
Push
client
Push
service
Your
service
Tile
App
Toast
Send push data to URI
Send push
data to client
Send URI
to server
Open push channelReturn URIData to App
Data to toast
Data to tile
Event
devic
e
clo
ud
Push Notification
Location Services
Location services
WiFi
+ Accuracy - Power - Speed - Indoors
- Accuracy + Power + Speed - Wilderness
- Accuracy +/- Power +/- Speed +/- Urban areas
GPS
Towers
where am i?
Portal Services
CLOUD
SCREEN
Developer Portal Services
Tools you use to
Ship & Sell
CLOUD
SCREEN
Registration
Validation
Certification
Publishing
Marketplace
MO and CC Billing
Business Intelligence
Update Management
Portal Services
Portal Services
Application and Game Submission
Sign
Windows Phone 7 Deployment Service
.xap
.dll
App
submission
App
Packaging &
Validation
.xap
.dll
.xap
.dll
.xap
.dll
Apply
Test
Criteria
Marketplace
Add
Metadata
.xap
.dll
.xap
.dll
.xap
.dll
.xap
.dll
Portal Services
DEEPEN CUSTOMER CONNECTION
Trial API
Broad business model & billing support
Push Notification, update & glance able tiles
EASILY MANAGE YOUR BUSINESS
Single self-service portal
Transparent policies, open to 3rd party services
INCREASED DISCOVERABILITY
Single easy-to-find marketplace on device & PC
Reach all WP7 consumers with worldwide distribution
Localized merchandising to promote the best apps
DEMO
BUILDING APPLICATION
New Controls
Data Binding & Data Template
• Clean code
• Time saving
• Maintainability
• Developer-Designer
collaboration
Web Services
External sources : SOAP (WCF, SOAP-
based)
HTTP
REST
Data Format : XML
JSON
RAW
Hosting Own Server
3rd Party
Azure
Navigation
Input
Touch
Soft Input Panel
Application Bar
Hardware Buttons
Accelerometer
Orientation
Phone Specific
Location-aware Push Notification Multitouch
Launcher & Chooser Media
Maps Localization
Accelerometer
Radio FM Office
Animation Cloud
Browser
Linq
Bing Hub
GPS Theme
Isolated Storage
What is NEXT ?
Learn
• Charlez Petzold (http://www.charlespetzold.com/)
• Puja Pramudya
(http://bit.ly/wp7ebook)
YOUR TURN. YOUR IDEAS.
Build killer application