Family of Windows Mobile OSWindows Mobile Classic devices Windows CE Compact Edtion - designed specifically for handheld devices, based on Win32 API PDA personal digital assistant,
Trang 1Windows Phone 7
2010 - Microsoft's counter-attack
to smartphones market
Trang 2Family 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
capabilities
Ref: http://en.wikipedia.org/wiki/Windows_Mobile
Trang 3Family of Windows Mobile OS
Windows Mobile Classic devices
Trang 4Family of Windows Mobile OS
Windows Mobile Classic devices
Trang 5Family of Windows Mobile OS
Windows Mobile Professional devices
2003 – Windws Mobile 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
Trang 6Family of Windows Mobile OS
Windows Mobile Professional devices
2007 – WM6 (CE 5.2) – (also year of
introducing iPhone ) similar in design to
the Vista, works much like WM5, but
with much better stability
Feb 2010 – WM6.5.3, was officially
announced as first Windows Phone
6.5.3 smartphone
WM 6
WM 6.5
Trang 7Windows 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
Trang 8WP7 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
Trang 9WP7 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
Trang 10WP 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
- Up to 3 per vertex lights
- Per pixel light
Trang 11Marketshare 2008 2009
Source: Gartner Research
Trang 12Marketshare 2009 2010
http://www.gartner.com/it/page.jsp?id=1466313
Trang 13Marketshare forecast
Trang 14Samsung 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
Trang 15WP 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
Trang 16Windows Phone Developer Tools from Microsoft site for free
http://create.msdn.com/en-us/home/getting_started
Trang 17Two 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”
Trang 18 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
Silverlight and XNA
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
Trang 20 Microsoft Expression Blend, UI desing tool (vector-based 2D widgets, and 3D widgets with hardware acceleration via DirectX), XAML-based
Trang 21Developing – location
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
Trang 22Developing – 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)
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
Trang 23Developing – location Event handler for PositionChanged
Based on Mirosoft's code samples http://msdn.microsoft.com/en-us/library/ff431782%28v=vs.92%29.aspx
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs< > e){
Trang 24Developing – location Event handler for StatusChanged
Based on Mirosoft's code samples http://msdn.microsoft.com/en-us/library/ff431782%28v=vs.92%29.aspx
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
}
}
Trang 25Developing - 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:
Trang 26 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
Trang 27Windows Phone 7 Application Certification
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
Trang 28 Forum
Examples and code samples
Books, free ebook with samples
msdn.microsoft.com
Trang 29*Free „Bluescreen” application at Marketplace