Fanug - Pragmatic Windows Phone Developer

24
Local Touch – Global Reach www.us.sogeti.c om Samidip Basu Manager| Columbus ADI Practice Solutions Lead | MSFT Mobility Email: [email protected] Twitter: @samidip Info: http://samidipbasu.info Blog: http://samidipbasu.com Sogeti USA 8425 Pulsar Place, Suite 300 | Columbus, OH 43240. www.us.sogeti.com The Pragmatic Windows Phone Developer

description

 

Transcript of Fanug - Pragmatic Windows Phone Developer

Page 1: Fanug - Pragmatic Windows Phone Developer

Local Touch – Global Reach

www.us.sogeti.com

Samidip BasuManager| Columbus ADI PracticeSolutions Lead | MSFT MobilityEmail: [email protected]: @samidipInfo: http://samidipbasu.infoBlog: http://samidipbasu.com  Sogeti USA8425 Pulsar Place, Suite 300 | Columbus, OH 43240. www.us.sogeti.com

The Pragmatic Windows Phone Developer

Page 2: Fanug - Pragmatic Windows Phone Developer

Central Ohio Windows Phone User Grouphttp://cowpug.orghttp://meetup.com/cowpug@cowpug3rd Monday @ TechColumbus

Page 3: Fanug - Pragmatic Windows Phone Developer

3www.us.sogeti.com

Local Touch – Global Reach

What’s on the plate? .. Ok, way too much!

Windows Phone – The Platform & Design Decisions

SDK, Emulator Improvements & Marketplace Pitfalls

Let’s Peel Mango

Getting back to your hot wife or girlfriend - aka Push Notifications

Push Notifications from the cloud [Demo/Walkthrough]

Shopping List App with Mango features [Demo/Walkthrough]

StirTrek App with hints of MVVM [Demo/Walkthrough]

Introduction to OData

Browse Netflix with me [Demo/Walkthrough]

MVC3, EF 4.1, SQL Azure, OData & WP7 all play together [Demo/Walkthrough]

Azure Toolkit for WP7/iOS [Demo of template solution]

August WP7 Sweepstakes -- http://www.windowsphone7event.com/contest/ContestIndex.aspx Free unlocked Samsung Focus or Free Marketplace Reg!

Page 4: Fanug - Pragmatic Windows Phone Developer

4www.us.sogeti.com

Local Touch – Global Reach

WP7 Experience

Page 5: Fanug - Pragmatic Windows Phone Developer

Different, For Good Reasons

Smart Design

Integrated Experiences

Page 6: Fanug - Pragmatic Windows Phone Developer

6www.us.sogeti.com

Local Touch – Global Reach

Page 7: Fanug - Pragmatic Windows Phone Developer

CLOUD

SCREEN

Phone Emulator

Samples Documentation

Guides Community

Packaging and Verification Tools

Notifications

Location Identity Feeds

MapsSocial

App Deployment Registration

Validation

Certification

Publishing

Marketplace

MO and CC Billing

Business Intelligence

Update Management

Elements of the Application Platform

Tools

Portal ServicesCloud Services

Sensors Media Data

Xbox LIVE Notifications

.NET Framework managed code sandbox

Location

Phone

Runtime – On “Screen”

Page 8: Fanug - Pragmatic Windows Phone Developer

Two Flavors of Applications

Page 9: Fanug - Pragmatic Windows Phone Developer

9www.us.sogeti.com

Local Touch – Global Reach

Mango !! [Confirmed Features]

500 new features

Message Threading by contact

Live Messenger & Facebook chats

Group support for people hub

Deeper social integration thru Twitter & LinkedIn

Linked (multiple) Inboxes

Conversational email view

Voice commands for messaging

Deep-linked apps in Search results

Livelier Secondary Live Tiles with back flip information

Enhanced & more reliable Push Notifications for Deep-linked Toasts & Tiles

IE9 .. nuf said

Web-based WP Marketplace

Page 10: Fanug - Pragmatic Windows Phone Developer

10www.us.sogeti.com

Local Touch – Global Reach

Mango !! [Confirmed Features] .. Contd.

Bing vision, voice & music searches

Quick Cards in search results include apps & info

Local scout in Bing

Multitasking, new app state & fast app switching

Background agents to schedule actions

Background audio

New sensors - compass, gyroscope & the combined motion API

Sockets for IM & multi-player games

Enhanced access to camera feed

Silverlight & XNA Integration

Application Profiling

Enhanced emulator

Local DB & Linq to SQL

Encrypted credentials store

Stronger partner ecosystem; more countries

Page 11: Fanug - Pragmatic Windows Phone Developer

11www.us.sogeti.com

Local Touch – Global Reach

Mango !! .. Oh, the rumors.

Tethering .. curse the carriers

4G

Bing Turn-by-Turn directions – In for sure

Front-facing cameras – Supported; Skype & Lync clients coming soon

Page 12: Fanug - Pragmatic Windows Phone Developer

12www.us.sogeti.com

Local Touch – Global Reach

It’s not always Sunny & 73o !!

Page 13: Fanug - Pragmatic Windows Phone Developer

13www.us.sogeti.com

Local Touch – Global Reach

Push Notifications

Page 14: Fanug - Pragmatic Windows Phone Developer

14www.us.sogeti.com

Local Touch – Global Reach

Push Notifications Contd.

Notification types – Live Tile Update, Toast or Raw; depending on type, notification is sent either to App or Shell.

Tile – visual dynamic representation of application content within phone’s start page, if pinned by user (through Context Menu); ongoing communication to user based on frequency of cloud service actions; the backend cloud service can control a tile’s background image (may be expensive if no local resource) & counter, as configured.

Toast – displays notification as an overlay onto user’s current screen; intrusive & hence to be used sparingly; user may touch to launch application; cloud service may control title & subtitle of toast; appropriate for peer-to-peer apps; users have to have an explicit option to agree to toasts.

Toast and Tile notification are system defined notification in Windows Phone 7 platform.

Raw – App can receive messages from cloud constantly using PN; eliminates need for custom code to have persistent connection open with backend cloud service; only possible if app running in foreground.

Page 15: Fanug - Pragmatic Windows Phone Developer

15www.us.sogeti.com

Local Touch – Global Reach

Push Notifications Contd.

For now, 3rd party apps are not permitted to run in the background for efficiency reasons [changes in Mango]; hence need for communication channel from backend services so that apps need not be kept running to receive updates or keep polling & in turn draining battery.

Push Notification service (MPNS) is designed to provide a cloud service with a dedicated & persistent channel for pushing notifications to interested mobile devices. Interacts with carrier networks.

When a cloud service needs to inform user of something “interesting”, it sends a notification request to PN service. PN, in turn, routes the notification to subscribing devices as a Toast or Tile notification.

Enhanced Push Notifications in Mango – Improved TDET detection, Fast resume of channel, Max channels up to 30 now and API enhancements to handle multiple 2-sided tiles & deep-linked Toasts.

Page 16: Fanug - Pragmatic Windows Phone Developer

16www.us.sogeti.com

Local Touch – Global Reach

What is… the Cloud for a Mobile Developer?

A style of computing where massively scalable IT-enabled capabilities are delivered ‘as a service’ to external customers using Internet technologies.- Gartner

Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.-Wikipedia

A way of delivering value and monetization efficiency.- Jonathan Appavoo

The notion of data and applications and hardware sources being accessed remotely.- Kartik Hosanagar

In a recent Economist survey, 20 years ago your typical knowledge worker got 80 percent of the info needed to do their job came from inside the company. Today, it’s completely flipped. Cloud computing is the technical response to this reality.- Anthony Arrott

Cloud is the worst buzzword I’ve ever heard. Vapor, something you can’t touch. I think it’s a lot of hype, but then again, here I am offering that service.- Vance Checkletts

Page 17: Fanug - Pragmatic Windows Phone Developer

17www.us.sogeti.com

Local Touch – Global Reach

Huh .. say that again?

The Cloud is just another place to host your code/stuff, but you are billed like a utility.

Augment your Mobile Solutions with cloud support.

State of the web

Practicality?

Page 18: Fanug - Pragmatic Windows Phone Developer

Windows Azure Boot Camp WindowsAzureBootCamp.com

In preparation for today’s Boot Camp, please take a moment to ensure you have registered for the 30-day free Windows Azure platform pass:

Need to Register?•Go to www.windowsazurepass.com•Select your Country and Enter Promo Code: “DPCE01”•Login with your Windows Live ID and complete the registration information

Already Registered but haven’t received confirmation email?•Go to https://windows.azure.com•Login with your Windows Live ID

Page 19: Fanug - Pragmatic Windows Phone Developer

19www.us.sogeti.com

Local Touch – Global Reach

Windows Azure Components

Virtualized Computation provides massive application scalability. Customers can build a combination of web and worker roles. Those roles can be replicated as needed to scale the applications and computational processing power.

Storage Services allow customers to scale to store large amounts of data – in any format – for any length of time, only paying for what they use or store.

Service Management is performed by the Fabric Controller, which controls all the resources within the data center. The Fabric Controller deploys your service and monitors the overall health of the fabric.

Security and Control State-of-the-art physical security processes combined with strictly controlled OS access model. Data is replicated in multiple fault domains in location selected by the customer.

State-of-the-art data centers located around the world. Host your applications and data securely, accessible from everywhere you allow.

Page 20: Fanug - Pragmatic Windows Phone Developer

20www.us.sogeti.com

Local Touch – Global Reach

Web and Worker Roles

WEB ROLE

•Interacts with end-user or web services

•Communicate with worker roles directly or via queues

WORKER ROLE

•Initiates their own requests for data or tasks from the queue

•Similar to a "batch job” or Windows service

• Build services and solutions with any combination of Web and Worker Roles

• Communicate via HTTP/HTTPS, TCP/IP, and ports other than 80 and 443

• Develop with Microsoft and non-Microsoft tools: ASP.NET, WCF, other .NET tools, Java, Python, Ruby, etc.

Page 21: Fanug - Pragmatic Windows Phone Developer

21www.us.sogeti.com

Local Touch – Global Reach

Storage Services

• Windows Azure storage is an application managed by the Fabric Controller

• Windows Azure applications can use native storage, MySQL within a VM, or SQL Azure

• Application state is kept in storage services, so worker roles can replicate as needed

• Blobs can be stored in global Windows Azure Content Delivery Network (CDN)

Page 22: Fanug - Pragmatic Windows Phone Developer

22www.us.sogeti.com

Local Touch – Global Reach

SQL Azure

Benefits of SQL Azure:•Unlimited, automated scaling •Self managing, self healing •Automatic failover•Multi-tenant•Low friction provisioning•Pay as you consume•Business Ready SLA

Page 23: Fanug - Pragmatic Windows Phone Developer

23www.us.sogeti.com

Local Touch – Global Reach

O(h my ) Data

“In very simple terms, OData is a resource-based Web protocol for querying and updating data. OData defines operations on resources using HTTP verbs (PUT, POST, UPDATE and DELETE), and it identifies those resources using a standard URI syntax. Data is transferred over HTTP using the AtomPub or JSON standards. For AtomPub, the OData protocol defines some conventions on the standard to support the exchange of query and schema information. (Source: MSDN Magazine, June 2010 Issue)”

Services that expose their data using the OData protocol are referred to as OData producers, and clients that consume data exposed using the OData protocol are referred to as consumers. Head over to http://odata.org for more information about Odata, a list of current producers & consumers and what all this means for developers.

The OData protocol enables access to information from a broad range of clients. At present, there are client libraries available for Windows Phone 7, iPhone, Silverlight 4, PHP, AJAX/Javascript, Ruby, or Java.

Page 24: Fanug - Pragmatic Windows Phone Developer

Local Touch – Global Reach

www.us.sogeti.com

Questions?

Thank you !!