380 likes | 974 Views
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
E N D
Windows Phone 7 2010 - Microsoft's counter-attack to smartphones market
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), 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 OSWindows 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) PocketPC 2000 http://www.hpcfactor.com/support/windowsce/
Family of Windows Mobile OSWindows 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 OSWindows 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 environment PocketPC WM 2003 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 OSWindows 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 • 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 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
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
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_StatusChanged) 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 – locationEvent 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 • ...
references • http://technologie.gazeta.pl/internet/1,104665,8160800,Windows_Phone_7_zbiera_niespodziewanie_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§ionId=null&elementId=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