Monday, September 26, 2011

Cloud Services for Windows Phone 7







Have you ever done an application that requires a huge space for your data, and consumes a huge amount of processing power ??

If you did it, or you are imagining that you can do it.... how do you imagine it ??

Client server application ??
for how much and how long you will build this thing ??

if you are doing it the old fashion, then you are wasting lots and lots of money and time.

So what d you think for a Phone application ??
millions of operations and and lots of data to be saved, lots of calculations ......etc.


10 years ago it was impossible.
5 years ago it seemed to be impossible.


But Now ........ it is a piece of a cake :D

This is possible when you are going to build a Windows Phone 7 application using Microsoft Windows Azure Cloud services for windows phone 7, this is what i'm going to discuss in this article, i'll not go very deep in to cloud but i'll try my best to explain the Azure services for windows Phone 7.

we will discuss in this post an over view of the Windows Phone 7 application platform and start a series of posts to explain every thing with Windows Phone 7 and we will be starting with the Cloud Services 

lets talk a little bit about the Application Platform of Windows phone 7 first to get things clear,

The Windows Phone 7 application platform consists of 4 elements : Run time,Tools and support, Cloud Services, and Developer Portal Services.

So what each one of those actually do??
i'll explain this in details in future posts but i'll tell you a brief about each one of those.

1-Run time : is the part you can see on the phone it self the code you write to create a Silverlight application or an XNA Game and the user use it, so simply it is what the user see.
2-Tools & support :  are the tools that you as a developer use to develop the different flavors of applications that you can check it out in my old presentation.

3-Cloud services : the services of by Windows Azure for windows phone 7 ..... in simple words some ready made services on Cloud you call it in your application to use..... not literally but it is like that ..... to give you the chance to imagine it.

4-Developer portal services : after you finish your application you will need the different services that you could use to get you application to the users ..... the market that you will put your application on so that the different users can download and buy.

all of theses are cool stuff and and they all complete each others and integrate completely to serve your needs.

Lets start with the Cloud services :


we can redivide the way we look to cloud services for windows phone 7 in to 3 parts, "Yours", "Theirs" , and "Ours".
what is "Yours" : is that you build, you consume, it is very easy with cloud computing services like windows azure

"Theirs" : is that they have made for you easy APIs that you know, and Windows communication Foundation SOAP.REST.LINQ(WCF)

"ours" : is what they made for us to use which are the services (Notification, Location, Xbox Live, & App, Deployment & Marketplace)

So what are these services ????!

First we have :

Notifications :

To enable efficient, dynamic, and up-to-date information and communication channels, Windows Phone Application Platform provides an API to enable services to notify the user when relevant events have occurred. This eliminates the need for polling and reduces battery consumption.
Row notifications

There are 3 types of Notifications :
1-Tile notification
2-Toast notification
3-Row notification
Tile Notification










____________________________________________________________
Location and Cloud services:
The Location Cloud Services will work together with the Location APIs on the phone, making its presence transparent to the developer. The service will use Wi-Fi, cellular, and GPS data to provide a single source for providing position lookup. Assisted GPS (AGPS) is available to improve the fix for GPS.

_____________________________________________________________
Location, Feeds, Social, and Maps Services :
The extensive variety of web services in the cloud allow consumers to identify themselves, interact with social communities, receive data feeds, and use maps for navigation. Developers can enrich this experience by providing new applications that use these services.
_________________________________________________________
And finally >> Windows Azure:

Visual Studio 2010 provides the development environment for creating applications using the Windows Azure™ Platform, an Internet-scale cloud computing and services platform hosted in Microsoft data centers. The Windows Azure Platform provides a range of functionality to build applications that span from consumer web to enterprise scenarios and includes a cloud operating system and a set of developer services. Fully interoperable through the support of industry standards and web protocols such as Representational State Transfer (REST) and Simple Object Access Protocol (SOAP), you can use the Azure services individually or together, either to build new applications or to extend existing ones






Finally if you want to view a demo that is expalining Push notification application i would recommend one i found on Code project :) Click here 



This was the topic i presented in the Azure boot Camp second day that was organized by the Azure community in Egypt 


please feel free to use or edit my presentation for your own use in the way you like :)
Thank you.