Getting Started With Windows Phone 7


Introduction

In this article we are going to see what Windows Phone 7 is and what are the hardware and requirements for developing a Windows Phone 7 Application and also we are going to see the software development kit used to develop the application with Visual Studio 2010 IDE.

Windows Phone 7 applications are build on existing tools from Microsoft like Visual Studio 2010 IDE, Expression Blend, Silverlight and XAML code. Windows Phone 7 provides 2 types of frameworks upon which we can develop the applications and the types are as follows

  • Silverlight Framework: With this framework we can develop event based XAML applications for enterprise and consumer based application development.
  • XNA Games Framework: With this framework as the name itself suggest we can develop rich games (2D and 3D) games targeting the entertainment category.

With Windows Phone 7 we can develop application accessing the framework internally, though we have restrictions over developing applications targeting the native application development which is bit disappointed. We can develop native application with Windows phone 7 using VC++ but with some restrictions over using multi tasking and its features. Also we can make use of the .Net Compact framework which has support over the Windows Phone 7 Development.

Before we start with the development process of the Windows Phone 7 applications, we need to have a look at the requirements to set up the development environment. Microsoft has suggested with the software and hardware requirements which needs to be considered when we start developing the application. The hardware requirements are mainly considered for the device manufactures to certify the hardware required to have a better performance for the application that runs on the devices. As far as the software development considered we need to have the latest updates running so that we can make use of the framework more effectively to have a better application developed using the latest features.

Initially it was Windows Mobile (6.0, 6.5) where Microsoft provides developers to play around with the development of applications for mobile. We need to first know that Windows Mobile and Windows Phone 7 are 2 different platforms even though both run run on top of the CE Kernel as far as API's are concerned. Windows Mobile and Windows Phone 7 doesn't have support over each other to run the applications between the different platforms.

Hardware Requirements

Below are some of the hardware requirements the device manufactures to take care of while designing the device. These are the minimum requirements that should be considered and can have variations to have a better performed device. As a developer we will not have much of the control over these requirements, but developers can target the application development based on considering the device with the hardware requirements specified. When considering Windows Mobile we can say Windows Phone 7 have higher configuration for device manufactures as below.

  • Multi Touch (4 Ways) Capacitive screen
  • DirectX 9 Acceleration
  • Accelerometer
  • Global Positioning System(GPS)
  • 5 megapixel camera with flash
  • 8 Gig Bytes Storage
  • 256 MB of RAM
  • Button Controls

Hardware

Description

Display WVGA (800 x 480) Should have a minimum resolution of 800X480 for providing a good user interface.
Multi Touch (4 Ways) This is for providing option for multi user processes like accessing shared portion, used for games etc
DirectX 9 Acceleration This is specifically for the GUI based processes, like games, rich user application to maintain the standards.
Global Positioning System(GPS) This is for providing location specific processes like GPS navigator, to integrate with Maps etc.
Accelerometer  This is for providing the proper acceleration of the device normally used in games, location-based applications.
Compass This is for detecting the position like North, South, East, and West.
Light This is for using like a Flash light in the phone. Also we can enhance to use it across some external application for flash
Camera This is for taking pictures that can be stored and accessed online, also to integrate with the social networking sites like Facebook, Twitter etc.
Button Controls(Up, Down, Side buttons) This is for providing the functionality that normally all phone will have like attending the call, navigation etc
Network Connection  This is for providing the connectivity process like normal phones to make calls, text and similar purposes.
 Data Connection This is for providing the functionality of internet to the phone with the technologies of 2G, 3G etc.
256 MB of RAM This is the base requirement for a windows phone 7 manufacturer because 90 MB of memory can be used by the application our of 256Mb. This is strictly followed if fails then the application will fail in the Market Place
8GB flash storage This is for the storage among the applications

The items mentioned above are the minimum requirements, so a device can have maximum capacity to get a better performance. When we consider on setting up the development environment for the Windows Phone 7 Software Development Kit we need to consider below requirements to setup the software. Windows Phone 7 SDK is supported with one of the below OS with all the versions except the express version i.e. the Starter Versions

  • Windows Vista (All Editions)
  • Windows 7 (All Editions)

Also we need to have the below requirements on setting up the hardware for the development environment

Minimum 4GB Hard disk Space
Minimum 3GB Ram
DirectX 10 or above capable graphics card with a WDDM 1.1 driver

Once we are ready with the above development environment, we can install the Windows Phone 7.1 SDK on the machine. We need to note that if the older version of the Windows Phone (7.0) is available on the environment then we need to remove the older version before installing the newer version on the same environment. Windows Phone SDK 7.1 enables developers to target both Windows Phone OS 7.0 and Windows Phone OS 7.1 platforms. Applications that target Windows Phone OS 7.0 will run on both Windows Phone OS 7.0 and Windows Phone OS 7.1 devices. Applications that target Windows Phone OS 7.1 will not run on Windows Phone OS 7.0 devices.

Software Requirements

Once we are ready with the hardware setup of the environment we need to install the required software to start with the development of the Windows Phone 7 Applications. To start with Microsoft has provided the all the required and supported software with the SDK, which we can just download from the link below.

Windows Phone SDK 7.1

This SDK will install the development environment providing options for the developers to develop applications and games on both Windows Phone 7.0 and Windows Phone 7.5 The above Windows Phone SDK 7.1 installs a list of products which are in the list below.

  • Microsoft Visual Studio 2010 Express for Windows Phone
  • Windows Phone Emulator
  • Windows Phone SDK 7.1 Assemblies
  • Silverlight 4 SDK and DRT
  • Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
  • Microsoft Expression Blend SDK for Windows Phone 7
  • Microsoft Expression Blend SDK for Windows Phone OS 7.1
  • WCF Data Services Client for Window Phone
  • Microsoft Advertising SDK for Windows Phone

Once the installation of the Windows Phone 7.1 SDK is done we can see new templates added to the Visual Studio 2010 IDE (Silverlight for Windows Phone 7 and XNA Games Studio ) we are well set to start with the application development.

Windows Phone 7 Architecture

The architecture of Windows Phone 7 is made on top of 4 main components of which each component have internally many items to be seen in depth which we will see in our upcoming articles. To have a quick look below figure gives some idea on the architecture of the Windows Phone 7

image_thumb8.png

Image Reference - Microsoft MSDN

The 4 main components on which the Windows Phone 7 Architecture lies are as follows

  • Runtimes: Silverlight and XNA framework provides with an excellent environment for the developers to build a much optimized application.
  • Tools: Visual Studio IDE, Expression Blend and the tools provides the developers with flexibility to design and develop user rich applications.
  • Cloud Services: Windows & SQL Azure, Notification Services, Location Services provides developers with usage of data across the frameworks with support over other 3rd party services as well.
  • Portal Services:  Windows Phone Market Place provides developers with upload and certifying the application to the market.

Where Silverlight Framework fits in Windows Phone 7 ?

Silverlight is basically used for light weight business applications and normal 2D games development using the XAML (Extensible Application Markup Language) Programming. Developers will have much flexibility using this framework along with much used UI tools like Microsoft Blend, Adobe Photoshop etc. to create a vector based process that can be easily transported to XAML. This is really a not new topic compared to the XNA development since Silverlight is already in market for developing rich browser applications and it provides an option of creating applications with XAML which is highly advantageous of creating a vector based application. So it gives the developers on full control of the layout, design, structure and also the data binding components. Silverlight application development for Enterprise or Consumers looks like the image as shown in the screen below.

image 2.png

Where XNA Framework fits in Windows Phone 7 ?

XNA is basically used for developing rich games where the framework comes with a game engine (with 3D) which helps the game developers to provide rich 3D games. Unlike Silverlight XNA is not much known across the developers since it has been used to develop Xbox games using Managed code. Why Microsoft provided the XNA engine with the windows phone 7 is mainly because of integration of Xbox live integration with Windows Phone 7. XNA engine provides the rich user experience that ever y developers take advantage in providing next generation games with 2D and 3D game loop engines. XNA Game Studio application development for the entertainment or for the enterprise looks like the image as shown in the screen below.

image3.png

How Windows Azure Cloud fits in Windows Phone 7 ?

When we create an application with Windows Phone 7, we need to save some data for future retrieval which is going to be bit tough here. Windows phone 7 doesn't provide the direct connectivity with database to save the data. To overcome this we need to use AZURE, Windows azure provides the platform of Cloud Computing in storing and retrieving the data from different locations using Windows Phone 7. Say today we created a small application in windows phone 7 using Silverlight. Day to-day when the development increases and finally we get an excellent product, then the number of user visit gets increased which eventually requires an enterprise database to save the details. So at this case we can use the Azure availability of extending the size of the database as per the need since it maintains in the cloud. If we use Azure for the development of the Windows Phone 7, Microsoft has provided with an additional advantage of using Bing Maps which is given free of cost only for the windows phone 7. Additionally Push notification services are also been provided in the cloud where we can use it to send notifications to the mobiles as Text which is eventually a bitter process for the business needs.

Windows Phone 7 Development Life Cycle

We as developers of windows phone 7 we need to register with App hub using the below link http://create.msdn.com/en-US/ and giving our Windows Live credentials which acts like a single sign on for all the process which Microsoft provides. The main idea behind registering with App hub is once registered and developed an application in Windows Mobile phone 7 we can use our registered hand set as a physical device tester to test our application. App Hub provides developers with up to 3 devices can be registered and test it in real-time. Now let us jump through the steps involved in the application development life cycle of the windows phone 7.

Steps to register to APP HUB Market Place

Step 1 :  Register with App Hub

As mentioned above App hub is the Microsoft place where we need to register and use for testing the application in real-time. Please follow the below steps to register in App Hub.

Step 2 : Market Place Certification procedures

Once we are registered with the App Hub, before proceeding with the development consider reading the certification process document in order to avoid rejection of the product at the market level. Please refer to the below link for the Application Certification process checklist and validation. http://go.microsoft.com/?linkid=9730558
Once the development is completed and the validation process is checked and passed by the Market, then the application will be available online for downloads.

Microsoft reserves the rights to give 5 free applications downloads and unlimited number of paid application downloads. Microsoft charges an amount of 99$ for the market place registration to submit the application developed. And for each download the Microsoft takes 30% of the fees paid and the developer will get 70% for his development charge.

Conclusion


We have seen in this article the complete overview on What Windows Phone 7 development is and the hardware and software requirements for developing the Windows Phone 7 Application in detail. In our upcoming article in this series of article we are going to see some of the interesting features of the Windows Phone 7 development.


Similar Articles