The 100% Inspiration Tour. An Introduction to Building Connected Mobile Applications Gavin King...

Preview:

Citation preview

The 100% The 100% Inspiration Inspiration

TourTour

An Introduction to Building An Introduction to Building Connected Mobile ApplicationsConnected Mobile Applications

Gavin KingAcademic Team, Microsoft UKgking@microsoft.comhttp://blogs.gotdotnet.com/gking

Topics

The proliferation of Smart Devices

Overview of device development scenarios

Web applications

Smart, local applications

Ink Enabled applications

How you get can started building connected applications!

Device Evolution

Next GenerationNext GenerationClientsClients

Always connectedAlways connected Natural user interfacesNatural user interfaces Integrated communicationsIntegrated communications Multiple form factorsMultiple form factors Personal information Personal information

gatewaysgateways

Ca

pab

iliti

es

Ca

pab

iliti

es

TimeTime

DumbDumbTerminalTerminal

PC CUIPC CUI

WebWebPC GUIPC GUI

Next Gen Next Gen ClientsClients

Client-ServerClient-Server

Smart Form Factors

Embedded Devicese.g. Auto, MP3

Personal OrganisersGSM and PIM capabilities

Smart Phones

Connected Laptops

Tablet PCsUltimate natural language input devices

codeweb pages

Client sideClient sideWeb AppsWeb Apps

Mobile WebBrowser

Mobile WebBrowser

LocalExecution

LocalExecution

code

EmbeddedEmbedded

Real-TimeExecutionReal-TimeExecution

Device Application Architecture

Mobile Web Applications

Applications that run in a browser or communicate via standard web protocols

Some possible scenariosNews and information

Commerce (e.g. shopping or banking)

Connected gaming experiences

Corporate data access (e.g. employee email)

Mobile Web Challenges

With so many manufacturers, form factors and protocols development is a headache!

Here are just a few application design considerations:

New device support

Different form factors

Varying markup languages

Different device capabilities

State management

Content management

Custom tools and solutions

Site maintenance and administration

Reducing the ‘Plumbing’ CodeASP .NET Mobile Controls

Write one device independent mobile page

Saves coding a page/app per device

Adaptively render to devices based on browser, device and gateway combination

Screen size, graphics capabilities, etc.

Same design paradigm (WYSIWYG) and tool (VS .NET) as regular web applications

Adaptive RenderingAdaptive Rendering

Advantages of Mobile Controls

Supports multiple mark-up languagesWML1.1 (WAP), cHTML 1.0, xHTML Mobile and Basic profile, HTML 3.2

Supports a wide variety of devices Web enabled mobile phones, PDAs and PagersNo need to recompile for new devices

Customizable and extensibleBuilt on top of the .NET Framework

Windows/CE FreeBSD

.NET Framework Refresher

MacOSX

Common Language Runtime

Base Class Library

Data and XML

ASP.NET Windows Forms

Common Language Specification

VB C++ C# J# …W

eb M

atrixV

isual S

tud

io.N

ET

codeweb pages

Client sideClient sideWeb AppsWeb Apps

Mobile WebBrowser

Mobile WebBrowser

LocalExecution

LocalExecution

code

EmbeddedEmbedded

Real-TimeExecutionReal-TimeExecution

Device Application Architecture

.NET Compact Framework

A lightweight version of .NET Framework

Designed for resource-constrained devicesAround 1.5 Mb of device RAM or ROM

Runs applications securely locally on the deviceHigh performance JIT compiler

Reliable and secure

Supports interactive, offline, and networked experiences

Full support for XML Web Services

Smart Device Extensions

Same programming model and tools as desktop .NET applications

New project type in Visual Studio

Full support for XML Web Services

Desktop device emulator to aid implementation and testing

There is very little learning required in order to write powerful applications

that target a wealth of devices

What is a Web Service?

““A programmable A programmable application application component component

accessible via accessible via standard Web standard Web

protocols”protocols”

Consuming Web Services from Consuming Web Services from a Smart Device Applicationa Smart Device Application

Common Features

Verifiable type safe executionNo uninitialized variables, unsafe casts, bad array indexing or bad pointers

Garbage Collection

JIT compilation

Full error handling with exceptions

Common type systemCall, inherit, and source-level debug across different languages

Key Differences

Need to keep the footprint small!

No support for COM InteropGood support for calling native DLLs

RemotingFull support for XML Web Services

Reflection

No Generic SerializationDatasets can be serialized to XML

Subsets of other areas of functionality…

Evolution of the NotebookThe Tablet PC

The most powerful smart clientEnabled by tech advancements

Mobile connectivity built inA whole new usability paradigm based on digital ink

Slate or convertible devicesInk enabled applicationsHand writing applicationsGesturesPen input and control

Tablet Characteristics

Smart hardware capabilitiesElectro-magnetic digitiserFully connected

Ink is now a first class data typeNot a bitmap!

Includes full .NET FrameworkDevelopers can create new types of ink enabled applications

Don’t need a Tablet device to build ink apps

Tablet Design Considerations

Screen orientationLandscape versus Portrait

Control precisionPen taps are not as precise as the mouse

Pen obstructionHand can obscure pop-up menus

Ink expectationsDoes it make sense to use ink everywhere?

Building Ink Enabled Building Ink Enabled ApplicationsApplications

Windows XPWindows XPWindows CEWindows CE

MicrosoftMicrosoftSmartphoneSmartphone

Pocket PC + Pocket PC + PPC PhonePPC Phone

EditionEdition

Other Other Windows CE Windows CE

DevicesDevices

Notebook Notebook PCsPCs

Tablet PCsTablet PCs

Non-MS Non-MS PlatformsPlatforms

.NET .NET FrameworkFramework

.NET .NET Compact Compact

FrameworkFramework

Visual Studio .NETVisual Studio .NET

The Microsoft Mobile Platform

Summary

Moore’s Law is showing no signs of slowing!

Three key design scenarios for connected applications

Web

Smart

Ink Enabled

.NET is a highly functional and versatile development platform – especially for devices

Further Resources

Microsoft Developer Networkmsdn.microsoft.com

Smart Devices Communitysmartdevices.microsoftdev.com

Useful Smart Devices Siteswww.microsoft.com/windowsmobilewww.microsoft.com/windowsxp/tabletpc/ developers

Inspiration Tour Sitewww.microsoft.com/uk/inspiration

© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Recommended