Monday, June 18, 2012

WP7 Platform Insights : Part 1 (Overview)


Today we will be discussing Microsoft’s latest mobile OS Windows Phone 7 (in short WP7). We can consider WP7 as a successor to Windows Mobile (WM) but not update to WM as WP7 developed from scratch. It is completely new refreshed mobile OS, which will compete with other mobile platforms. Focus of WP7 is more towards consumer as against Windows Mobile’s enterprise focus.

One of the major differentiator from other OS is its Metro design interface. Hub is another feature through which it combines local and online content. In addition, WP7 has tight integration with other Microsoft products like Xbox (most popular gaming platform), MS Office and Windows Live web-based services.


Brief History

In 2004, Microsoft started working on major update to WM under the codename ‘Photon’. However, this project came to end without any product release due to slowness. In 2008, Microsoft’s WM OS started losing its market share to Blackberry and iPhone. As an effect, Microsoft revamped the WM team in 2008 and started working on WM 7. Again, Microsoft failed to meet deadlines and it has released WM 6.5 as interim release instead of initially planned WM7.
Due to these hiccups, Microsoft developed new mobile OS from scratch in short span of time without providing backward compatibility. World saw the glimpse of Microsoft’s new mobile OS on 15 February, at Mobile World Congress (MWC) 2010 held in Barcelona. At MIX 2010 event, world witnessed some more details about this new OS. Finally, SDKs are arrived in September 2010.
Microsoft had many hiccups in OS naming also. Initially they released new mobile OS with name as ‘Windows Phone 7 Series’ transitioning from old windows mobile. As expected, this lengthy and difficult name came under criticism from around the world including developers and partners. Bowing to this pressure, Microsoft dropped ‘Series’ word from this name.
Year 2011, mobility world saw the new mega partnership between Microsoft and Nokia. As part of this partnership, WP7 became primary Smartphone OS for Nokia.


Platform Overview

Lets discuss how the WP7 application platform architecture is there and what development tools it provides.

Architecture

There are four main components in the WP7 Application Platform architecture


  • Runtimes
    • WP7 runtime supports Silverlight and XNA frameworks
    • You can run your Silverlight or XNA apps on WP7 with minor changes. These changes include adjusting UI for device’s screen resolution or making use of device specific features like GPS, Camera etc.
    • Runtime also includes phone specific components like sensors, Media etc.
  • Tools - When you install SDK, you will get many tools that are helpful for app development.
    • Visual studio – One of the best IDE is part of SDK. It supports debugger, designer, compiler, packager etc.
    • Expression Blend - Your UX team can use this tool and can create XAML files, which you can use it in your app directly. This helps developers and UX team to do their tasks independently.
    • Emulator – Developers can use emulator to run/debug their app before testing on actual device as it provides comparable performance to an actual device. WP7 emulator also supports emulating different device specific features like GPS, accelerometer etc. You can also take screenshots of your application.
    • XNA Game Studio – This is integrated game development environment used for Microsoft’s other platforms like Windows, Xbox 360 and Zune. Same tool is now available for WP7 developers. It includes other tools, which are useful for adding graphical and audio content into your game.
    • Documents – WP7 tools also includes sample codes, guides, API documentation etc.
  • Cloud Services – Cloud services are very useful to build powerful WP7 web applications with scalable features. It includes below mentioned services
    • Notifications (MPNS – Microsoft Push Notification Service) – Many applications need to fetch up to date information from server. For this, push notification is better as it reduces burden of polling and consumes less battery power.
    • Location – This cloud service is single source to get the position lookup data by making use of Wi-Fi, Cellular and GPS data. This service also includes AGPS, which improves fix for GPS.
    • Advertising SDK – This service is useful for monetizing your apps. Also provides efficient reporting mechanism.
    • Other services – Azure, Map, Identity, Social and Feeds are some other services which are supported WP7 platform.
  • Portal Services – Portal services supports marketplace related activities from single location. Below is list of some of the activities which portal services supports
    • Registration and validation – Developers can register here for App Hub using their Live ID.
    • Application submission – This includes set of online tools for helping developers to submit their apps in Marketplace. Here developers can track their apps certification status, provide updates to existing apps etc.
    • App Billing – Developers can use portal services to sell their paid apps. Marketplace supports mobile operator and credit card billing.
    • Business Intelligence – This is dashboard for your apps on marketplace. This dashboard shows all details of your apps like downloads, reviews, crashes etc.

Development Tools

We all know that Microsoft always provides best development tools compared any other technologies. Same is true in case of WP7. WP7 Developers can download and install Windows Phone SDK, which includes all necessary development tools and documents. WP7 SDK package contains below mentioned tools
Visual Studio 2010 Express for WP7
  • Development environment for WP7 which includes
    • Code editor and design surface for WP7
    • WP7 project templates
    • Toolbox containing WP7 controls
  • You can debug and deploy your apps on emulator or device
Note: If VS 2010 Professional or higher is already installed on your PC then WP7 SDK will install only plug-in for VS 2010 instead of VS 2010 Express for WP7
Silverlight SDK
  • Application framework used for writing RIA style user interfaces
  • It is XAML based and event driven app framework
  • Includes WP7 controls and web browser control
Expression Blend
  • Best UI design tool for designing XAML based interfaces for web and desktop applications
  • Accelerated results as design and development can be done independently
  • XAML files designed by UX team can be used by developer in their solutions directly
XNA Game Studio 4.0
  • Programming environment for creating games with VS
  • Includes XNA framework and managed libraries useful for game development for WP7, Windows, Xbox and Zune
WP7 Emulator
  • It can be used as a virtualized environment where you can debug, deploy and test your WP7 apps
  • Provides comparable performance to an actual device
  • Also supports simulation of GPS, accelerometer and orientation
  • Allows capturing screenshots
Other Tools
  • Advertising SDK allows you to monetize your apps
  • XAP deployment, isolated storage explorer and phone registration are some of the tools available as part of SDK
In next blog of this series, I will be discussing more about application development topics like frameworks and development lifecycle.

No comments:

Post a Comment