Introduction
For users this new release means expanded hardware access, support for high-end gaming, and a better OS. For developers this Windows Phone 8 SDK includes many new APIs, giving developers many new opportunities and allowing them to create better apps. To create your own application you will need the Windows Phone 8 SDK, which can be downloaded from http://go.microsoft.com/fwlink/?LinkID=261873.
The arrival of the .Net Framework in Windows Phone 8 promises significant improvements in app performance and responsiveness, thanks to a new asynchronous programming model and a more efficient runtime engine. Microsoft claims Windows Phone 8 Apps will launch faster too. If you want to develop software that uses the camera on Windows Phone 8 devices, a large corner of the SDK is waiting for you.
First of all if you are planning to work on the Windows Phone 8 SDK, first check the System Requirements, which can also be available on the Windows Phone 8 SDK download page.
- Supported Operating Systems: Windows 8, Windows 8 Pro
- Operating system type
- Windows 8 64-bit (x64) client versions
- Hardware
- 6.5 GB of free hard disk space
- 4 GB RAM
- 64-bit (x64) CPU
- Windows Phone 8 Emulator
- Windows 8 Pro edition or greater
- Requires a processor that supports Second Level Address Translation (SLAT)
If your computer meets the hardware and operating system requirements, but does not meet the requirements for the Windows Phone 8 Emulator, the Windows Phone SDK 8.0 will install and run. However, the Windows Phone 8 Emulator will not function and you will not be able to deploy or test apps on the Windows Phone 8 Emulator.
Now what's new in the development platform? Yes, the answer is Windows Phone 8 would have been aligned with Windows 8 and that it would have be used WinRT as a runtime instead of Silverlight but the XAML isn't native like in Windows 8, but it's managed like in Silverlight. This means that the XAML we wrote for our Windows Phone 7 application is 100% compatible with Windows Phone 8 and can be reused with no changes. WinRT runtime is definitely one of the most interesting new features in Windows Phone 8 from a developer's point of view: now, thanks to this common base, you'll be able to port your applications to Windows 8 and vice versa much more easily than you actually do in Windows Phone 7.
I am referencing the MSDN Library, in which a glimpse of the features "available to you to use in your app development, and how to learn more about them" contains the following sections:
- SDK tools
- Tiles and notifications
- Lock screen
- Maps and navigation
- Location
- Speech
- Wallet
- Multi-resolution
- Direct3D and games
- App models
- Camera and photos
- Media
- User interface
- Communications
- Data and extensibility
- Windows Phone Store
Now here we start a brief introduction and work on each feature, one-by-one.
SDK Tools
The latest release of Windows Phone 8.0 includes several new exciting features and signifies a great evolution in the technology of Microsoft's operating system for mobile phones. From the users perspective, the new updated features in Windows Phone 8.0 provides better accessibility and utilization of hardware, expands memory access, and also has a high level of OS integration, all of which makes the Phones more adaptive. For the developers, the new version of Windows Phone 8.0, includes support of native game development, brings some new API, allows for high-end-games using Direct X and Direct 3D graphics.
The Windows Phone SDK 8.0 tool introduces new tools for developing, debugging and testing the application.
Developing and Debugging
- New project templates for creating Direct 3D applications. You learn about Direct3D and games in the later section.
- Helps in the Debugging of managed or native code: This feature provides more flexibility for the developer to choose the debugging mode whether to debug the managed code or the native code portion of an application.
- XNA Framework supports: The developer now can develop the application using the XNA framework that is supported in the Windows Phone SDK 8.0 version. The developer can easily reference and use the XNA Framework assemblies in apps that target the Windows Phone OS 8.0.
- Debugging Apps launched from a tile or notification: In the previous version of SDK the developer can debug the app when it launched directly, but now in a Windows Phone 8 application can debug even when it was launched from a Tile or a Push notification.
In this new release of the Windows Phone 8 SDK we get multiple resolutions supported. The Emulator supports all three resolutions supported in Windows Phone 8. It configures itself as a separate device on the network.
Testing tools
- Testing the app using Simulation Dashboard, this feature allows the developer to validate the app around real-life conditions. The Simulation Dashboard helps to estimate how the application will be performed under various real-world conditions in advance such as bulk downloads over slow network spped and other network connectivity issues etc.
- Capture Screen Shots: Publish of Screen shots provides the details page of the app in a visual manner. Now the screen shots of the app can be captured on a physical phone by using a special key combination and have to capture at least 1 screenshot for each resolution, but you can capture up to 8.
- App monitoring and profiling: The goal of app monitoring is to help you to understand the quality of your app, and to provide you actionable feedback to improve it. The app monitoring feature captures the key metrics for your app that are relevant from a quality perspective, and then rates your app based on the metrics. It helps to understand the problems such as slow startup time, high battery drain, high cost of network data, poor performance, out of memory errors etc.
New Tile Templates
The new Windows Phone SDK 8.0 brings 3 new types of tile sizes and new templates for designing live tiles. Windows Phone 8 includes the following classes for tiles:
Tiles resolution sizes:
Size |
Flip and Cycle |
Iconic |
Small |
159 * 159 pixels |
110 * 110 pixels |
Medium |
336 * 336 pixels |
202 * 202 pixels |
Wide |
691 * 336 pixels |
N/A |
For example you can see the following figure:
- Flip Template : This is the regular live tile that flips from front to back side. This enables the developer to customize the background image and text for both the front and back tile. You need to specify a PrimaryToken as "FlipTemplate" or using the FlipData class from code to create a flip tiles.
<PrimaryToken TokenID="" TaskName="">
<TemplateFlip>
<!--Design-->
</TemplateFlip>
</PrimaryToken>
- Cyclic Tile : It is similar to the FlipTile, but cycles through up to nine images. In the other words we can say CycleTileData template can cycle between 1 to 9 background images.
<PrimaryToken TokenID="" TaskName="">
<TemplateCycle>
<!--Design-->
</TemplateCycle>
</PrimaryToken>
- Iconic Template : This tile template describes an iconic tile template and more closely to the Windows Phone design principles. You need to use TemplateIconic XML in the WmAppManifest file or IconicTileData class for Iconic Template.
<PrimaryToken TokenID="" TaskName="">
<TemplateIconic>
<!--Design-->
</TemplateIconic>
</PrimaryToken>
Lock Screen Notifications
The good news in Windows Phone SDK 8.0 is that your apps are now capable of displaying notifications on the lock screen. The user can choose to customize this area in the lock screen notifications. Your app will have support of the lock screen notifications and background images and etc. by updating the app manifest file. All these new features have been grouped with the name of Live Apps, that refers to applications that, other than using live tiles, are able to interact with the lock screen.
New Maps Control and Navigation
Windows Phone 8 comes with a new Maps APIs that is different from available Maps APIs with Windows Phone 7.1. Using the new Map control of Windows Phone 8, the developer can integrate more advanced features such as displaying custom layers, routes and directions in the application.
The new Map control is available through the following namespaces:
using Microsoft.Phone.Maps;
using Microsoft.Phone.Maps.Controls;
using Microsoft.Phone.Maps.Services;
The Maps control brings many new features like Zoom feature, pitch property, CartographicMode, LandmarksEnabled, PedestrianFeaturesEnabled, etc.
New Location APIs
In the Windows Phone 8 a new set of Location APIs is provided for getting the phone's current location. With the new location APIs it is easier to track the user location continuously and even track the phone's location in the background also. The location data the phone provides comes from multiple sources including GPS, Wi-Fi, and cellular. This enables scenarios like run tracking and turn-by-turn navigation apps.
Speech
Windows Phone 8 also comes with new speech recognition and text-to-speech APIs that allows the user to interact with your app using their voice. The new version extends the speech functionality by adding a new feature called speech commands which enable developers to easily allow users to interact with their apps using speech.
There are three speech components that you can integrate with your app:
- Voice Commands : Now can now register voice commands that could either wake up the app or be used from within the app. It is based on special XML files, called VCD files, that stores for every information command all the required information, like the keyword to activate it and the navigation command to issue.
- Speech Recognition : Speech recognition conceptually seems very similar to the voice command feature, but is developed in a different way,
- Text-to-speech (TTS) : TTS was possible in previous versions of Windows Phone but it took a lot of work to setup and it required a network connection. Now Text-to-speech (TTS) is built into Windows Phone 8.
Wallet for Windows Phone 8
Windows Phone 8 introduces the Wallet that brings new and exciting opportunities for developers to provide users with a richer experience by integrating with their Wallet items.
Using the functionality provided through the Wallet users can collect coupons, credit cards, memberships, loyalty cards, and can create, read, write, and delete Wallet items from your app. Through the Windows Phone 8 Wallet experience, you can keep items up-to-date by using agents, and interact with the user through status messages and custom fields. In addition, the Wallet APIs allow developers to work with deals, memberships and payment instruments.
Background Agents and Payment Instruments are the very interesting features available in the Windows Phone 8 Wallet.
Background Agent helps refresh data in wallet items, receive activations/deactivations of the NFC secure element associated with the wallet item, and action any payment changes made in the wallet item. The Payment Instrument maintains a balance on an account maintained by your backend.
Support for Multiple Resolutions
The earlier Windows OS 7.1 only supports phones that have WVGA resolution, but in the new Windows Phone SDK 8.0 now supports WVGA, WXGA, and 720p resolutions.
The following are a list of resolutions that are supported in Windows Phone 8.
Resolution |
Aspect ratio |
Scaled |
Resolution |
WVGA |
480 * 800 |
15:9 |
480 * 800 |
WVGA |
768 * 1280 |
15:9 |
480 * 800 |
720p |
720 * 1280 |
16:9 |
480 * 853 |
The following image shows how a screen appears in phones (published by Microsoft):
Direct3D and games
In the Windows Phone 8.0 one extensive functionality introduced to native development is Direct3D. Direct3D App refers to apps that are written entirely in native code, and which use only Direct3D for their UI.
There are other types of apps referred to as "Managed Apps" but this type of app uses a completely different app model than managed apps, and can't use many of the features of managed apps, such as live Tiles and push notifications. But, Direct3D Apps also provide several new features like software keyboard input support, device theme, and screen resolution detection and many more. In addition Direct3D graphics also support to Microsoft Media Foundation APIs for playback and capturing audio and video.
In Visual Studio 2012 you can create a "Windows Phone Direct3D Application" which uses these new features.
Camera and Photos
Microsoft recognized that many smartphones are often more camera than phone today. This Windows Phone 8.0 new release includes advanced enhancements for working with photos. It includes advanced capture APIs that provide the ability to auto-upload photos to a web service, new ways to extend the photos experience etc.
This includes the following new features.
- Lenses for Windows Phone 8
Windows Phone 8 provides a new feature called a lens that appears in the Windows Phone built-in camera app. It launches right into a viewfinder experience to help the user capture the moment. A lens provides the user a consistent entry point into the viewfinder of your app. It provides a unique experience for viewing or editing photography using a rich media lenses.
The lens feature is a type of extensibility available to apps that provide unique camera functionality via the camera APIs.
- Auto upload Apps
By registering your app as an auto-upload app, your app is able to automatically upload photos to a photo storage service using a background agent. Unlike other background agents, resource-intensive agents for auto-upload apps do not expire.
- Advanced capture APIs
Windows Phone Runtime includes advanced capture APIs from the Windows.Phone.Media.Capture namespace. Use theWindows.Phone.Media.Capture.PhotoCaptureDevice class to control photo properties such as ISO, white balance,
- Device Information
Using the new Windows Phone 8 CameraDevice APIs it's possible to get additional information on photo and video camera settings. Information such as supported resolution, focus area, white balance, ISO, shutter sounds, and more are all available through this new API.
Media
When we talking about Music Media Library in Windows Phone 8, we found that Windows Phone 8 provides the facility to easily add and remove music files from our music collection by using SaveSong and Delete methods, these methods belongs to MediaLibrary class. This API is the Mirosoft.XXne.Framework.Media.PhoneExtensions namespace in the Microsoft.Xna.Framework.MediaLibraryExtensions.dll assembly.
Now we are moving to the pictures media library in Windows Phone 8. In Windows Phone 8 when we save a picture then two thumbnail images are automatically created for each picture. The first one is a small thumbnail image which can be retrieved using the GetThumbnail method of the Picture class. The second one is a preview image which has the same dimensions as the phone's screen, which can be retrieved using the GetPriewMethod method of the Picture class.
User Interface
In the Windows Phone tree are some new controls which are following:
- LongListSelector
- Pivot
- Panorama
- WebBrowser
- ProgressBar
LongListSelector
It belongs to the Microsoft.Phone.Controles Namespace in the Microsoft.Phone Assembly. It is used to group, display and scroll through the long list of data.
Pivot
It belongs to the Microsoft.Phone.Controles Namespace in the Microsoft.Phone Assembly, and provides a quick way to manage the navigation of views within an application. This Control has been removed from the SDK and are now present in the phone's read only memory.
Panorama
Creates a panoramic view of items that can be panned side-to-side. This control also has been removed from the SDK and is now present in the phone's read only memory.
WebBrowser
It is based on Internet Explorer 10 and allows HTML rendering and navigation functionality to be embedded in an application.
ProgressBar
The ProgressBar represents a control that indicates the progress of an operation with improved performance.
Launchers
Launchers are used to perform common tasks in Windwos Phone 8. The following Launchers are new in Windows Phone 8:
- SaveAppointmentTask
- MapDownloaderTask
- MapsTask
- MapsDirectionsTask
- ShareMediaTask
Communication
- VoIP : In Windows Phone 8 we can create an app that is implemented over IP. When any other users install this app, the app shows up in the app list of users like another app. It allows developers to implement a VoIP App and integrate it with the platform, to implement a VoIP App several components are available:
- Foreground App
- VoipHttpIncomingCallTask
- VoipForegroundLifetimeAgent
- VoipCallInProgressAgent
- VoipKeepAliveTask
- Windows Phone Runtime assembly
- VoIP cloud service
- Bluetooth : It is a technology that allows us to wirelessly communicate within a 10 meter range. In Windows 8 Phone we can create an app using the API that communicates with other devices using Bluetooth. Some API are:
- PeerFinder
- PeerInformation
- StreamSocket
- ConnectionRequestedEventArgs
PeerFinder
Create a socket connection between these peer apps. A peer app is another instance of an app running on another device.
PeerInformation
Contains info that identifies a peer app or device.
StreamSocket
Supports network communication using a TCP stream socket.
ConnectionRequestedEventArgs
Contains properties that are passed to an app by the ConnectionRequested event.
- Proximity : It is a set of classes and supports connection between devices. Using this API we can create an app for sending data between devices using NFC, use a phone to interact with NFC tags and make a wireless connection between apps on approximate devices.
Data and extensibility
- Custom contact store: In Windows Phone 8 we can create a Custom Contact Store. We can create a custom property for a contact that is saved in the Custom Contact Store.
- Search extensibility: The goal of Search extensibility is to save user's time. Users that search the web with the Search button can launch a relevant page in your app directly from Bing search results and quick cards.
- File and URI associations: You can use file and URI associations in Windows Phone 8 to automatically launch your app when another app launches a specific file type or URI scheme.
Windows Phone Store
In-App purchase
In Windows Phone 8 an In-App purchase is a new way for you to earn more money with your apps. Through In-App purchase you can sell digital content in your app using IAP (in-app purchase), Like new game level, magazines, and movies or "consumable" goods such as game food and temporary access to content (e.g. renting a movie). Now an In-App purchase is fully integrated with the new Windows Phone Dev Center (the old AppHub), so that you'll be able to create new items to purchase, choose the price and differentiate it according to the market, exactly like you do with a regular application.
Conclusion
These new features sound good and cool to play. Guys install the SDK and play with the new emulator. If you have any existing applications you may want to try them with this newer version.
Thanks to reading my article. I look forward to see your comments below.