Upload
moris-wood
View
215
Download
2
Embed Size (px)
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 [email protected]://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.