You are on page 1of 31

Windows Phone 7

2010 - Microsoft's counter-attack


to smartphones market
Family of Windows Mobile OS
Windows Mobile Classic devices

Windows CE (Compact Edtion) -


designed specifically for handheld
devices, based on Win32 API
PDA (personal digital assistant),
palmtop computer, PocketPC
were original intended platform
for the Windows Mobile OS
For devices without mobile phone
capabilities, and those that
included mobile phone
capabilities

Ref: http://en.wikipedia.org/wiki/Windows_Mobile
Family of Windows Mobile OS
Windows Mobile Classic devices

1996 Windows CE 1.0


1997 Windows CE 2.0
(ATM, games consoles,
Handheld PC's, kitchen
utensils)
2000 - Windows CE 3.0
- Pocket PC 2000 -
(became the os of choice
on many Pocket PCs,
looked and worked like
Windows 98, no phone PocketPC 2000
feature)
http://www.hpcfactor.com/support/windowsce/
Family of Windows Mobile OS
Windows Mobile Classic devices

2001 - CE 3.0 -
Smartphone 2002 used
for Pocket PC phones
and Smartphones, UI
reflect the new Windows
XP

PocketPC 2002
Family of Windows Mobile OS
Windows Mobile Professional devices

2003 Windws Mobile 2003 PocketPC


WM 2003
(Windows CE 4.2) - first release
under the Windows Mobile banner -
name changed form PocketPC to
Windows Mobile

2005 - WM5 (CE5.0) - new


standard API created for a
simplified programming of 3D apps
and games with Direct3Dmobile. It
use .Net Compact Framework
environment

Windows Moblie 5
http://notebooks.com/2010/04/12/a-brief-history-of-windows-mobile/

http://en.wikipedia.org/wiki/Smartphone
Family of Windows Mobile OS
Windows Mobile Professional devices
2007 WM6 (CE 5.2) (also year of WM 6
introducing iPhone) similar in design to
the Vista, works much like WM5, but
with much better stability
2008 WM 6.1 (year of releasing
Android)
2009 WM6.5, vertically scrollable
labels, Windows Marketplace
announced
Feb 2010 WM6.5.3, was officially
announced as first Windows Phone
6.5.3 smartphone
WM 6.5
Windows Phone 7

Launched in autumn 2010


Starts new series of Windows Phones
CE 6.0 kernel
WM 6.x are not upgradeable to WP 7
No backward compatibility yet
Metro UI based on tiles, can be managed with drag'n'drop
Integration with Xbox Live and Zune
Find My Phone feature in Windows Live
WP7 devices
10 devices operating Windows Phone 7, made by HTC, Dell, Samsung, and LG
More devices to be launched in 2011
Based on Qualcomm chips QSD8250 and QSD8650 with features: Embedded
Seventh-generation gpsOne GPS module, gpsOneXTRA Assistance, Adreno 200,
OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, Direct3D Mobile,
DirectDraw, Recommanded Maximum Clock Frequency: 1000 MHz

HTC HTC 7 Pro


HTC HTC 7 Surround
HTC HTC 7 Trophy
HTC HTC 7 Mozart
HTC HD7
LG Optimus 7
LG Quantum
Samsung Focus
Samsung Omnia 7
Dell Venue Pro
WP7 Minimum device requirements
Capacitive, 4-point multi-touch screen with WVGA (800x480)
resolution
1 GHz ARM v7
DirectX9 rendering-capable GPU
256 MB of RAM with at least 8 GB of Flash memory
Accelerometer, compass, ambient light sensor, proximity sensor
and GPS
5-megapixel camera with an LED flash
FM radio tuner
6 dedicated hardware buttons - back, Start, search, camera,
power/sleep and Volume Up and Down.
WP 7 gaming
1GHz CPU witch ARM architecture
Adreno 200 Graphics core (22 million triangles per/sec and133 M Pixels/sec)
on February 8th, 2011, only apps made in XNA 4.0 will be accepted;
OpenGL ES 2.0, Direct3D Mobile,
With XNA 4.0,

3D graphic support:
- multitexturing (max 2 textures)
- Vertex Buffer Object
- Shadow mapping
- Skinned 3D model
- Stencil Buffer
- GPU instancing
- Alpha test
- Up to 3 per vertex lights
- Per pixel light
- Environment mapping
- Fog
- Blending
- No custom shaders support
Marketshare 2008 2009

Source: Gartner Research


Marketshare 2009 2010

http://www.gartner.com/it/page.jsp?id=1466313
Marketshare forecast
Samsung to Discard Windows
Phone
Samsung
Electronics, the
worlds No. 5
smartphone
manufacturer,
plans to discard
the WP7 OS to
increase phones
on the Android
platform and with
its own
smartphone
operating system

http://www.telecomskorea.com/market-8281.html
WP 7 growing popularity
In the first 6 weeks phone manufacturers sold 1.5 million
Windows Phone 7 devices to mobile operators and retailers
4th quarter of 2010 it had sold more than 2 million
Windows Phone 7 handsets are selling better than expected
T-Mobile USA said of WP7: "The customers are very satisfied
with the experience. Weve done well with the devices that we
sold
Many positive reviews
Developing

Windows Phone Developer Tools from Microsoft site for


free

http://create.msdn.com/en-us/home/getting_started
Two WP dev frameworks

The two frameworks, along Common Base Class Library provide a substantial number of
components for developers to construct applications on
Applications written for Silverlight or the XNA Framework today will run on Windows Phone with
only a minor number of adjustments, such as for screen size or for device specific features
Silverlight and XNA

framework for creating Rich Internet Application style Framework is focused on enabling
UI game developers to be successful
developing on Microsoft gaming
with emphasis on multimedia, animations, graphics, platforms
with features and purposes similar to those of Adobe
Flash provides a complete set of managed
APIs for game development
Hardware accelerated by DX
platforms WP, Xbox 360, Zune HD,
Started on mobile with WP7 and Symbian (series 60) Windows OS
FOR: FOR:
XAML based, event driven application framework high performance game
rapid creation of a Rich Internet Application-style user rapid creation of multi-screen 2D and
interface 3D games
use Windows Phone controls manage art assets such as models,
meshes, sprites, textures, effects,
embed video inside your application terrains, or animations in the XNA
Content Pipeline
use an HTML web browser control
Developing
.NET
XNA 4.0, Silverlight
Microsoft Visual Studio 2010
Developing
Microsoft Expression Blend, UI desing tool (vector-based 2D widgets, and
3D widgets with hardware acceleration via DirectX), XAML-based
Developing location
GPS, Wi-Fi, cellular radio are hardware in WP as providers of location data
with varying levels of accuracy and power consumption
On top of the hardware sits the native code layer which communicates
directly with the available sources of location data and decides which
sources to use to determine the location of the device based on the
availability of data and on the performance requirements specified by the
application.
layer also communicates over the Internet with a Microsoft-hosted web
service to look up location-related information from a database
User can choose between high accuracy or the default, power-optimized
setting
MovementTresholdProperty to set desired minimum change in position
StatusChange (disable, ready, noData, initializing) and PositionChange
Event
Even when the Location Service is able to obtain location data, initializing
and obtaining the first reading typically takes 15 seconds, but can take up to
120 seconds
Developing location - psudocode
using System.Device.Location // class import

GeoCoordinateWatcher watcher // variable declaration object

// Start the acquisition of data from the Location Service:
// eg. Click the event handler for the Start Location button
private void startLocationButton_Click(object sender,
RoutedEventArgs e)
{ // using high
accuracy
watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High)
// use MovementThreshold to ignore noise in the signal
watcher.MovementThreshold = 20;
// Addind event handlers for the StatusChanged and PositionChanged events
watcher.StatusChanged += new
EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusCha
nged)

watcher.PositionChanged += new
EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_
PositionChanged)
//start the Location Service
watcher.Start();
}
Based on Mirosoft's code samples http://msdn.microsoft.com/en-us/library/ff431782%28v=vs.92%29.aspx
Developing location
Event handler for PositionChanged

void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<..> e)


{
if (e.Status == GeoPositionStatus.Ready)
{
// get the current location
GeoCoordinate co = watcher.Position.Location;
// optionaly Stop the Location Service to conserve battery power.
watcher.Stop();
}
}

Based on Mirosoft's code samples http://msdn.microsoft.com/en-us/library/ff431782%28v=vs.92%29.aspx


Developing location
Event handler for StatusChanged
void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
{
switch (e.Status)
{
case GeoPositionStatus.Disabled:
// The Location Service is disabled or unsupported.
// Check to see if the user has disabled the Location Service.

case GeoPositionStatus.Initializing:
// The Location Service is initializing.
// Disable the Start Location button.

case GeoPositionStatus.NoData
// The Location Service is working, but it cannot get location data.
// Alert the user and enable the Stop Location button.

case GeoPositionStatus.Ready:
// The Location Service is working and is receiving location data.
// Show the current position and enable the Stop Location button.
}
}

Based on Mirosoft's code samples http://msdn.microsoft.com/en-us/library/ff431782%28v=vs.92%29.aspx


Developing - Accelerometer
Accelerometer is a sensor that measures acceleration forces such as gravity or
the forces caused by moving the sensor. All Windows Phones have at least
one accelerometer sensor that, when accessed by the managed
Accelerometer AP Ican be used to provide input to applications
It is built on top of a more general sensor framework so other sensors that may
be supported by Windows Phones in the future will be accessed in a similar
way
Imports: using Microsoft.Devices.Sensors
Declaration: Accelerometer accelerometer = new Accelerometer()
Ad event: accelerometer.ReadingChanged += new
EventHandler<AccelerometerReadingEventArgs>(acc_ReadingChanged)
Implemet event: acc_ReadingChanged(..) { Disp.Invoke => AccChanged(e) }

Event is raised when accelerometer has new data. Event handler is called from different
thread than the one in which page is running, then Dispatcher class has to be used to
invoke method in pages thread:
AccChanged(AccelerometerReadingEventArgs e)
{
get acc data
}

Run: accelerometer.Start()

Based on: http://msdn.microsoft.com/en-us/library/ff431810%28v=VS.92%29.aspx


Marketplace
Apps, games, and music as an
available category
99$ for registration as
developer or up to five free
applications yearly; each
additional free application can
be listed for a $19.99 USD fee
99$ for app subbmisom
5 free points for app
subbmision
70% of each application sale
will be paid to developers
App must meet specified
requirememts
Windows Phone 7 Application Certification
Requirements

application must be fully functional when acquired from the Windows Phone
Marketplace
application must run on any Windows Phone 7 device, regardless of model,
screen size, keyboard hardware, and manufacturer
The application must not terminate unexpectedly
The application must render the first screen within 5 seconds after launch
Application must not exceed 90 MB of RAM usage
Location aware applications must not hang or terminate unexpectedly when
the Location Service is turned off on the phone
Sound effects through the SoundEffect class will be mixed with the
MediaPlayer. The SoundEffect class should not be used to play background
music.
Support
Forum
Examples and code samples
Books, free ebook with samples
msdn.microsoft.com
...
*Free Bluescreen application at Marketplace
references

http://technologie.gazeta.pl/internet/1,104665,8160800,Windows_Phone_7_zbiera_niespodziew
anie_dobre_recenzje.html
http://notebooks.com/2010/04/12/a-brief-history-of-windows-mobile/
http://www.operating-system.org/betriebssystem/_english/bs-wince.htm
http://en.wikipedia.org/wiki/List_of_Windows_Phone_devices
http://nyagurak.blogspot.com/

http://pdadb.net
http://en.wikipedia.org/wiki/.NET_Compact_Framework
http://www.hpcfactor.com/support/windowsce/wce6.asp
http://www.idc.com/about/viewpressrelease.jsp?containerId=prUS22486010&sectionId=null&ele
mentId=null&pageType=SYNOPSIS
http://www.brighthub.com/computing/windows-platform/articles/1295.aspx
http://en.wikipedia.org/wiki/Windows_Marketplace_for_Mobile
http://en.wikipedia.org/wiki/Windows_Mobil

You might also like