Dariusz

advertisement
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
feature)
http://www.hpcfactor.com/support/windowsce/
PocketPC 2000
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
(Windows CE 4.2) - first release
PocketPC
WM 2003
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
world’s 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. We’ve 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
UI
with emphasis on multimedia, animations, graphics,
with features and purposes similar to those of Adobe
Flash


Hardware accelerated by DX


Started on mobile with WP7 and Symbian (series 60)
FOR:


XAML based, event driven application framework
rapid creation of a Rich Internet Application-style user
interface

use Windows Phone controls

embed video inside your application

use an HTML web browser control
Framework is focused on enabling
game developers to be successful
developing on Microsoft gaming
platforms
provides a complete set of managed
APIs for game development
platforms WP, Xbox 360, Zune HD,
Windows OS
FOR:



high performance game
rapid creation of multi-screen 2D and
3D games
manage art assets such as models,
meshes, sprites, textures, effects,
terrains, or animations in the XNA
Content Pipeline
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 page’s 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
Download