Windows Phone 7 Revolution

by Kev Ritchie 16. December 2010 21:41

Yesterday I became the proud owner of a brand new Samsung Omnia 7 Windows Phone 7 device, courtesy of Ubelly, oh and of course me for coming up with the winning Twitter #techin8 competition entry.

The popularity of Windows Phone 7 meant that I had to wait a few weeks until I received it, so as you can imagine I have been waiting excitedly, like a child the night before Christmas.  All I have to say is; it was worth the wait!

Coming from using Windows Mobile 6.5, the first thing I noticed (apart from the awesome Metro design) was the fluidity and ease of navigating to applications and functions within the phone; using gestures to access the applications menu or using the very cool Live Tiles Smile  Oh, and the responsiveness, simply amazing!  It’s sooo quick.

After a quick browse about and getting a feel for the device, it was time to set it up for me Smile

First thing on my “set things up” list; e-mail.  I use Outlook at work and at home, so the choice for me, use Outlook on the phone too.  Adding an e-mail account to the phone was very simple, accessing the “email & accounts” option in settings, tapping “add an account” and tapping “Outlook” presents you with a screen to enter your e-mail account details, the phone will attempt automatically set up your account for you; if you’re like me and have a Hotmail account, you’ll have to access the Advanced settings when prompted as the automatic setup will fail.  The only thing I noticed here was that, if you tap into the Domain field (which you don’t need to do when adding a Hotmail account), you’ll have to start again because for some reason tapping in it means you have to enter something in it, the setup won't continue without it.  So DON’T tap in the Domain field, just enter m.hotmail.com in the Server field.  After figuring this out; eventually, all my Hotmail e-mails synchronised to the device.  Nice!

I also added my Windows Live account to the phone; which was much easier (yes, I know, I could have sync’d my e-mails this way too), the only thing I had to do here was combine my Hotmail/Live contacts in the People list with my phone contacts (where necessary), which was relatively simple and had an added bonus of displaying my contact’s Live Account profile pictures if they had one, which makes the People Live Tile a little more interesting Smile

I won’t bore you with all the apps that I downloaded, but all I’ll say is; if you’re at home, connect your phone to your laptop/desktop (make sure you have Zune installed and set up), navigate to the Marketplace and download and install your apps this way; it’s much quicker and doesn’t affect your phone’s monthly download quota.

I only have a few gripes with the phone; the first, you can’t set the Bluetooth on and not discoverable.  Second, you can’t add hidden Wi-Fi networks (you could do this on WM 6.5).  Third, you can’t set an Outlook e-mail synchronisation schedule (you could do this on WM 6.5) and last; and not a WP7 issue, but a device issue…no Micro SD slot.

If anyone knows how to get round any of those, let me know.

All that said and even though I’ve only had the phone a day, I wouldn’t trade it in for anything.  It’s a massive improvement on WM 6.5, from what I can remember about it Wink

Day 12 - Windows Azure Platform - Marketplace

by Kev Ritchie 12. December 2010 12:18

 

On the 12th day of Windows Azure Platform Christmas my true love gave to me the Windows Azure Marketplace.

What is the Windows Azure Marketplace?

You’ve probably heard of the Apple App Store; if not, it’s a central point for application developers to market and sell their applications.  The Windows Azure Marketplace is Microsoft’s way of allowing Windows Azure Application developers to do the same thing, but with one fundamental difference.  The Marketplace has an additional market; the DataMarket.

The DataMarket is a place that allows leading commercial data providers and authoritative public data sources to make data; such as image files, databases, reports on demographics and real-time feeds, readily available (at a price Wink) to business end users and application developers.  End users can consume this data using Microsoft Office tools like Excel or even use Business Intelligence tools like PowerPivot or SSRS (SQL Server Reporting Services) to mine this data and present it in a way that fits their business purposes.

Application developers can use data feeds to create real-time, content rich applications using a consistent RESTful approach.  This means that developers can consume this data using tools like Visual Studio; well basically any development tools that support HTTP.

Here’s a tad more info on both Markets http://www.microsoft.com/windowsazure/marketplace/

Well, this brings an end to the 12 days of Windows Azure Platform Christmas.  For anyone that has been reading and is new to the Windows Azure Platform, I hope this has given you a good insight into what each component of the platform provides and why you should think about using it.

If anything, it has also been a good learning exercise for me Laughing

I have only one thing left to say Merry Christmas!

Oh and here are some links for more detail on the platform:

Windows Azure Platform - http://msdn.microsoft.com/en-us/library/dd163896.aspx

The latest development SDKs - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018

Some express downloads to get you developing - http://www.microsoft.com/express/downloads/

Day 11 - Windows Azure Platform - Azure AppFabric Caching

by Kev Ritchie 11. December 2010 00:01

 

On the 11th day of Windows Azure Platform Christmas my true love gave to me the Windows Azure AppFabric Caching Service.

What is the Windows Azure AppFabric Caching Service?

The Caching Service is a collection of distributed in-memory caches that contain frequently accessed data from your Windows Azure application, the key being to improve application performance.

So how do you use it?

Well, to be able to use caching you first need to store data, to do this you need to programmatically insert the data into the caches using the Caching API.  With your frequently accessed data stored in the cache, you use a pattern called cache-aside to access it.  What this means is that you first check the cache for data before going to the database to retrieve it; here’s our performance improvement Smile.  What if the data isn’t in the cache?  Easy, retrieve it from the database and store it in the cache, so the next time your application needs the data, it gets it directly from the cache.

The great thing about using the Caching Service is that because it’s in the Cloud, your cache is distributed to multiple Windows Azure Instances giving you scalability, availability and fault tolerance, all of which is automatically configured and administered for you.  Less Work! Smile

Caching is not a new concept, but the provision of caching through the Cloud is and is a welcome feature to the increasingly popular Platform as a Service.

Tomorrow’s installment:  The Azure Marketplace, links and stuff

P.S. If you have any questions, corrections or suggestions to make please let me know. 

Day 10 - Windows Azure Platform - Azure AppFabric Access Control

by Kev Ritchie 10. December 2010 00:01

 

On the 10th day of Windows Azure Platform Christmas my true love gave to me Windows Azure AppFabric Access Control.

What is Windows Azure AppFabric Access Control?

It’s very common these days to have an application that integrates with other services like Facebook, Google, Windows Live ID, AD FS (Active Directory Federation Services) 2.0 and Yahoo.  The complexity of this comes in when you have to control the different types of identity tokens that the Identity Service Providers of these services return when you attempt to log in.  The Access Control Service was provided to allow your application to have a single point of sign on and authorisation, so that you don’t have to worry about the different types of tokens provided by these Identity Service Providers.

So how does it work?

Let’s say you’ve developed an application that integrates with Facebook.  The first thing your application would do is authenticate itself with the Facebook Identity Service Provider with the e-mail address and password you provided.  The Facebook Identity Service Provider would then pass back a token to your application which would then be passed on to the Access Control Service.  When Access Control receives the token, it validates it to make sure that it did come from Facebook, it then; based on rules defined by the application’s administrator in the Access Control Rule Engine, creates a new token which is passes to your application.  Finally, your application processes this token to make sure that it was sent from Access Control and completes the sign on process.

This does seem like a more complicated process, but what’s key here is that regardless of Identity Service Provider, Access Control will serve up one familiar defined token to your application.  As a developer, that is sooo much better! Smile  Think of all that complexity that’s just been removed.

For a bit more information and some samples, why not visit CodePlex

Tomorrow’s installment: Windows Azure AppFabric - Caching 

P.S. If you have any questions, corrections or suggestions to make please let me know. 

Day 9 - Windows Azure Platform - Azure AppFabric Service Bus

by Kev Ritchie 9. December 2010 00:08

 

On the 9th day of Windows Azure Platform Christmas my true love gave to me the Windows Azure AppFabric Service Bus.

What is the Windows Azure AppFabric Service Bus?

Before I jump in and waffle on about the Service Bus.  I’ll mention a little bit about Windows Azure AppFabric; what it is and what it does.

Windows Azure AppFabric is a platform made up of three services; Service Bus, Access Control and Caching.  The purpose of this platform is to provide you with a way of building and managing, reliable, secure applications that run on Windows Azure.

So, back to today’s topic; Service Bus.

It’s quite common these days to expose services to the internet that allow applications; that either you or a third-party has created, to access data within a secure network.  To allow this kind of infrastructure to work you would need to set up your service on a public facing server with ports and holes punched through a firewall and maybe some NAT policies to allow connections in and out.

The Service Bus was built to relieve the aches and pains of setting up such an infrastructure.   So, how does it work?

Let’s say for an example you want to expose data using a WCF Service.  First, you would register an endpoint between your service and the Service Bus.  When this endpoint is created, the Service bus automatically creates its own corresponding endpoint.  The Service Bus then assigns you a URI (Uniform Resource Identifier) root, below which you can create any hierarchy you like.  This allows your endpoints to be assigned specific discoverable URIs.

Now, if an application; either in the Cloud or somewhere else, contacts the Service Bus with a specific endpoint URI, the Service Bus takes that URI and finds the appropriate endpoint registered with your service.  This request process uses the Atom Publishing Protocol (http://bitworking.org/projects/atom/rfc5023.html) which returns an AtomPub service document with references to the endpoints the Service Bus exposes.  Once the application has this document it can invoke calls to the Service Bus which in turn relays these calls through to the appropriate service; the WCF Service registered at the start of this example

This all sounds great, but how does this get past setting up firewalls etc.?

The service that you register with the Service Bus opens a TCP connection with the Service Bus (this is important).  This connection is then held open by the Service Bus, which fixes two issues raised earlier; NAT and Firewalls.  NAT is no longer an issue because traffic on the open connection with Service Bus will always be routed to the service/application.  Firewalls are no longer an issue because the connection was initiated from inside the network; an important point made earlier.

For all you security peeps out there, the Service Bus only exposes one IP Address which means you don’t have to expose multiple addresses, limiting the surface for attacks.

In this post I’ve talked about using WCF Services to expose data to the outside world, but you can also use other technologies like Java to expose data or application functionality; you just need to make sure you communicate with TCP, HTTP or HTTPS.  Simples Smile

The Service Bus also provides a message buffer service, which allows the queuing of messages up to 256 kilobytes, which are persisted to disk and can be read by the service at a later point; they’re also replicated which means fault tolerance, a major feature of the Windows Azure Platform.

Exposing services or applications is never a simple task, but what I’ve tried to show you is that it’s very simple to implement with the Service Bus.  This is the one feature that keeps appearing in each component of the Windows Azure Platform; simplicity!  It’s there to make your job simpler, so all you focus on as a developer is the application.

Tomorrow’s installment: Windows Azure AppFabric – Access Control

P.S. If you have any questions, corrections or suggestions to make please let me know.

Powered by BlogEngine.NET 2.5.0.6
Theme by Mads Kristensen | Modified by Mooglegiant