Windows Mobile 6 Development Geoffrey Emery Inventor [email_address]
Live Fun
Tagging For Mobile  http://gettag.mobi Download App now Demo To follow
Warning…. Warning I am not a Microsoft Employee
Congratulations I am not a MicroSoft Employee This a true life recount  of My Dev Experiences over the last two weeks
Market Overview Mobile software is one of the fastest-growing development arenas. Windows Mobile is among the top players Over 28 million devices shipped in 2008! Apple shipped 13 million phones last year - forbes
Windows Mobile 6 Devices Windows Mobile 6 Standard (non Touch) Windows Mobile 6 Professional  (touch) Windows Mobile 6 Classic (non Phone)
The Future Is Touch
The Next Level Of Touch
Still not convinced?
 
Understanding Your Devolopment Choices and making the right decision .NET Compact Framework – RUNS ON YOUR PHONE You are building a mobile application that must support occasionally connected or offline scenarios. You are building a mobile application that will run on the client to maximize performance and responsiveness. ASP.NET for Mobile – IT’S A WEBSITE You are building an application that can rely on 100-percent network connectivity. Your team has ASP.NET expertise and you want to target a wide range of mobile devices. You are building an application that must have no client-side installation or plug-independencies. You want to support the widest possible range of devices. You want to use as few device resources as possible. Silverlight for Mobile – WINNER – RUNS ON YOUR PHONE AND WEBSITE You are building a Web application and want to leverage the rich visualization and UI capabilities of Silverlight. The devices you are targeting have easy access to or already have the Silverlight plug-ininstalled.
 
NET Compact Framework Managed-code stack (.NET Compact Framework 3.5) sits on top of native architecture Cellular, GPS, and other device services wrapped with .NET OEM  Applications OEM Extensions Application Compact Framework Class Libraries Execution Engine PAL Host operating system Native Code Managed Code
.NET Compact Framework and SQL Compact Language support Create solutions in C# or VB.NET Broad feature inclusion: LINQ (to dataset and objects)  Windows Communication Foundation SQL Server Compact 3.5 Royalty-free redist
Windows Mobile 6 SDK Emulator Images
 
Cellular Emulator and Hopper Cellular Emulator allows you to Target both voice and data connectivity scenarios. Explore different wireless network conditions in GSM/GPRS and UMTS networks. Hopper Test Tool Stresses all applications available through menu with random keystrokes, or only your application.
GPS Support Fake GPS: an NMEA .txt file simulates the movement of the device in space.  Configure it to test location-targeted functions. Dixies.txt Fakegpsdata.txt Note that for Windows Mobile Standard, you can configure GPS using the SDK’s GPSSettings.exe program  Professional and Classic have this utility built in.
Data Access Technologies Summary ADO.NET provides general retrieval, update, and management of data. On Windows Mobile, ADO.NET includes providers for Microsoft® SQL Server®, and Microsoft® SQL Server® Compact Edition. ADO.NET Sync Services. ADO.NET Sync Services is a provider included in the Microsoft Sync Framework synchronization for ADO.NET-enabled databases. It enables data synchronization to be built in occasionally connected applications. It period ically gathers  information from the client database and synchronizes it with the server database. Language-Integrated Query (LINQ). LINQ provides class libraries that extend C# and Microsoft Visual Basic® with native language syntax for queries. Queries can be performed against a variety of data formats, including DataSet (LINQ to DataSet), XML (LINQ to XM L),  in-memory objects (LINQ to Objects),.Understand that LINQ is primarily a query technology supported by different assemblies throughout the .NET Framework. For example,  LINQ to Entities/ LINQ TO  SQL  is included with the ADO.NET Entity Framework assemblies; LINQ to XML is included with the System.Xml assemblies; and LINQ to Objects is included with the .NET core system assemblies.
DAL Best Practices ADO.NET Are on a mobile device and want to access data through SQL Server Compact Edition. Need to use low-level APIs for full control over data access in your application. Are building an application that needs to support a disconnected data-access experience. ADO.NET Sync Services Consider using ADO.NET Sync Services if you: Need to build an application that supports occasionally connected scenarios. Need collaboration between databases. Are using Windows Mobile and want to sync with a central database server. LINQ to DataSets Want to execute queries against a Dataset, including queries that join tables. Want to use a common query language instead of writing iterative code. LINQ to Objects •  Need to execute queries against a collection. •  Want to execute queries against file directories. •  Want to execute queries against in-memory objects using the LINQ syntax. LINQ to XML •  Are using XML data in your application. •  Want to execute queries against XML data using the LINQ syntax.
.Net Tips Remember to install Mobile Center (or ActiveSync)  and Virtual PC You don’t need them to deploy projects But you do need them for internet connectivity When you create a new Smart Device project,  ignore the dropdown above the templates frame that lets you choose a target framework version . You can always choose another mobile device template  by changing the Form Factor property.
Vista Issues Do NOT install ActiveSync. You need Windows Mobile Device Center for device synchronization. Install Visual Studio 2008 SP1. If the SDK samples do not build, copy them to a different location.
ASP.NET for Mobile
Bad Designs For Touch
Good Designs For Touch
My Space Redesigned For Touch
Internet Explorer 6 Mobile Jscript v5.7, ported from Internet Explorer 8 for the desktop.  Much better support for AJAX applications. Improved fidelity, text wrap, touch-and-gesture pan support WML, Adobe Flash Lite 3.1 for Flash applications. Easy switch between Mobile and Desktop modes Both can be targeted with User Agent strings.
 
Request Header Mobile Mode says... User-Agenet: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 8.12; MSIEMobile 6.0) Used to say... User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) Desktop Mode says... User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) (Same as Internet Explorer 6 for PC.)
Coding Best Practices Use separate HTML, CSS, and JScript files. Load JScript at the end of the page that’s not needed for layout. Do not ask the browser to resize via <img>. Streaming video should not be larger than the screen resolution. Choose the right bit rate  EDGE and 3G networks.
New Offerings Here Today My Phone -  a backup and storage service for your phone. Recite Tag -  a note taking and search application for Windows Mobile phones  Mesh For Mobile – almost Tag – 2d color bar code Live Sync
Windows Mobile 7 Windows 7 A Focus On Touch... ... And Gestures A New Media Interface
Final Thoughts Writing apps for your phone is fun! Writing mobile web pages is challenging but well worth it..
Contact Information @-  [email_address] Blog  - blog.geoffreyemery.com
Last Fun
What You Need Visual Studio 2008 Professional SP1 Alternative: Visual Studio 2005 SP1. Windows Vista  Windows XP SP2, Windows Server 2003, or Windows Server 2008 will also work.  Windows Mobile Device Center for Vista ActiveSync 4.5 for Windows XP or Windows Server 2003
What You Need (cont.) Two separate Windows Mobile 6 SDKs Windows Mobile 6 Standard SDK for smartphones Windows Mobile 6 Professional SDK for all Pocket PCs Windows Mobile 6.1.4 Device Emulator Images
Install  and Configuration Install Visual Studio 2008 SP1 First. Be sure to include support for Mobile Development And SQL Compact Then Windows Mobile 6 Refresh. Finally, the new 6.1.4 Emulators You’ll need to install Virtual PC 2007 for networking support Even within a virtual image Don’t forget to set the connection type as DMA instead of Bluetooth

Mobile Devolpment Slides

  • 1.
    Windows Mobile 6Development Geoffrey Emery Inventor [email_address]
  • 2.
  • 3.
    Tagging For Mobile http://gettag.mobi Download App now Demo To follow
  • 4.
    Warning…. Warning Iam not a Microsoft Employee
  • 5.
    Congratulations I amnot a MicroSoft Employee This a true life recount of My Dev Experiences over the last two weeks
  • 6.
    Market Overview Mobilesoftware is one of the fastest-growing development arenas. Windows Mobile is among the top players Over 28 million devices shipped in 2008! Apple shipped 13 million phones last year - forbes
  • 7.
    Windows Mobile 6Devices Windows Mobile 6 Standard (non Touch) Windows Mobile 6 Professional (touch) Windows Mobile 6 Classic (non Phone)
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
    Understanding Your DevolopmentChoices and making the right decision .NET Compact Framework – RUNS ON YOUR PHONE You are building a mobile application that must support occasionally connected or offline scenarios. You are building a mobile application that will run on the client to maximize performance and responsiveness. ASP.NET for Mobile – IT’S A WEBSITE You are building an application that can rely on 100-percent network connectivity. Your team has ASP.NET expertise and you want to target a wide range of mobile devices. You are building an application that must have no client-side installation or plug-independencies. You want to support the widest possible range of devices. You want to use as few device resources as possible. Silverlight for Mobile – WINNER – RUNS ON YOUR PHONE AND WEBSITE You are building a Web application and want to leverage the rich visualization and UI capabilities of Silverlight. The devices you are targeting have easy access to or already have the Silverlight plug-ininstalled.
  • 13.
  • 14.
    NET Compact FrameworkManaged-code stack (.NET Compact Framework 3.5) sits on top of native architecture Cellular, GPS, and other device services wrapped with .NET OEM Applications OEM Extensions Application Compact Framework Class Libraries Execution Engine PAL Host operating system Native Code Managed Code
  • 15.
    .NET Compact Frameworkand SQL Compact Language support Create solutions in C# or VB.NET Broad feature inclusion: LINQ (to dataset and objects) Windows Communication Foundation SQL Server Compact 3.5 Royalty-free redist
  • 16.
    Windows Mobile 6SDK Emulator Images
  • 17.
  • 18.
    Cellular Emulator andHopper Cellular Emulator allows you to Target both voice and data connectivity scenarios. Explore different wireless network conditions in GSM/GPRS and UMTS networks. Hopper Test Tool Stresses all applications available through menu with random keystrokes, or only your application.
  • 19.
    GPS Support FakeGPS: an NMEA .txt file simulates the movement of the device in space. Configure it to test location-targeted functions. Dixies.txt Fakegpsdata.txt Note that for Windows Mobile Standard, you can configure GPS using the SDK’s GPSSettings.exe program Professional and Classic have this utility built in.
  • 20.
    Data Access TechnologiesSummary ADO.NET provides general retrieval, update, and management of data. On Windows Mobile, ADO.NET includes providers for Microsoft® SQL Server®, and Microsoft® SQL Server® Compact Edition. ADO.NET Sync Services. ADO.NET Sync Services is a provider included in the Microsoft Sync Framework synchronization for ADO.NET-enabled databases. It enables data synchronization to be built in occasionally connected applications. It period ically gathers information from the client database and synchronizes it with the server database. Language-Integrated Query (LINQ). LINQ provides class libraries that extend C# and Microsoft Visual Basic® with native language syntax for queries. Queries can be performed against a variety of data formats, including DataSet (LINQ to DataSet), XML (LINQ to XM L), in-memory objects (LINQ to Objects),.Understand that LINQ is primarily a query technology supported by different assemblies throughout the .NET Framework. For example, LINQ to Entities/ LINQ TO SQL is included with the ADO.NET Entity Framework assemblies; LINQ to XML is included with the System.Xml assemblies; and LINQ to Objects is included with the .NET core system assemblies.
  • 21.
    DAL Best PracticesADO.NET Are on a mobile device and want to access data through SQL Server Compact Edition. Need to use low-level APIs for full control over data access in your application. Are building an application that needs to support a disconnected data-access experience. ADO.NET Sync Services Consider using ADO.NET Sync Services if you: Need to build an application that supports occasionally connected scenarios. Need collaboration between databases. Are using Windows Mobile and want to sync with a central database server. LINQ to DataSets Want to execute queries against a Dataset, including queries that join tables. Want to use a common query language instead of writing iterative code. LINQ to Objects • Need to execute queries against a collection. • Want to execute queries against file directories. • Want to execute queries against in-memory objects using the LINQ syntax. LINQ to XML • Are using XML data in your application. • Want to execute queries against XML data using the LINQ syntax.
  • 22.
    .Net Tips Rememberto install Mobile Center (or ActiveSync) and Virtual PC You don’t need them to deploy projects But you do need them for internet connectivity When you create a new Smart Device project, ignore the dropdown above the templates frame that lets you choose a target framework version . You can always choose another mobile device template by changing the Form Factor property.
  • 23.
    Vista Issues DoNOT install ActiveSync. You need Windows Mobile Device Center for device synchronization. Install Visual Studio 2008 SP1. If the SDK samples do not build, copy them to a different location.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
    Internet Explorer 6Mobile Jscript v5.7, ported from Internet Explorer 8 for the desktop. Much better support for AJAX applications. Improved fidelity, text wrap, touch-and-gesture pan support WML, Adobe Flash Lite 3.1 for Flash applications. Easy switch between Mobile and Desktop modes Both can be targeted with User Agent strings.
  • 29.
  • 30.
    Request Header MobileMode says... User-Agenet: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 8.12; MSIEMobile 6.0) Used to say... User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) Desktop Mode says... User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) (Same as Internet Explorer 6 for PC.)
  • 31.
    Coding Best PracticesUse separate HTML, CSS, and JScript files. Load JScript at the end of the page that’s not needed for layout. Do not ask the browser to resize via <img>. Streaming video should not be larger than the screen resolution. Choose the right bit rate EDGE and 3G networks.
  • 32.
    New Offerings HereToday My Phone - a backup and storage service for your phone. Recite Tag - a note taking and search application for Windows Mobile phones Mesh For Mobile – almost Tag – 2d color bar code Live Sync
  • 33.
    Windows Mobile 7Windows 7 A Focus On Touch... ... And Gestures A New Media Interface
  • 34.
    Final Thoughts Writingapps for your phone is fun! Writing mobile web pages is challenging but well worth it..
  • 35.
    Contact Information @- [email_address] Blog - blog.geoffreyemery.com
  • 36.
  • 37.
    What You NeedVisual Studio 2008 Professional SP1 Alternative: Visual Studio 2005 SP1. Windows Vista Windows XP SP2, Windows Server 2003, or Windows Server 2008 will also work. Windows Mobile Device Center for Vista ActiveSync 4.5 for Windows XP or Windows Server 2003
  • 38.
    What You Need(cont.) Two separate Windows Mobile 6 SDKs Windows Mobile 6 Standard SDK for smartphones Windows Mobile 6 Professional SDK for all Pocket PCs Windows Mobile 6.1.4 Device Emulator Images
  • 39.
    Install andConfiguration Install Visual Studio 2008 SP1 First. Be sure to include support for Mobile Development And SQL Compact Then Windows Mobile 6 Refresh. Finally, the new 6.1.4 Emulators You’ll need to install Virtual PC 2007 for networking support Even within a virtual image Don’t forget to set the connection type as DMA instead of Bluetooth

Editor's Notes

  • #2 Hello and welcome to an introduction to Windows Mobile 6 development. I’m [name]. We’ve got lots to cover today so let’s get started!