From 0 to Windows Phone ‘Mango’ in 1 Day at DevTeach

 

Next week will be an awesome week in Montreal.  DevTeach, the premier level-300/400 developer conference in Canada is on from Tuesday 31st to Thursday June 2nd.  This includes a complete additional MobileTeach track around Android, iPhone & Windows Phone. 

Not only that, but I’ll be running the 1-day post-conference training session on Friday dedicated to Windows Phone

This week Microsoft announced news about the upcoming Windows Phone ‘Mango’ release that really seals the deal on possibly the greatest smartphone user experience to date and enhances arguably the best mobile developer experience even further.

In this comprehensive 1-day post-conference for the agile mind, I’ll start by showing attendees (familiar with .NET), how to create a Silverlight application from scratch using the MVVM pattern (including advanced features like a templated items control and a custom panel), making design decisions for the phone and how to get an application published.  We’ll then dive into the platform features, figure out data access, sensors, location and notifications, conquer storage and tombstoning and wrap up with other new major Mango features.  Attendees will get access to samples.

Introduction

From 0 to published WP7 MVVM Silverlight app including:

  • Development Tools
  • Silverlight Development
  • MVVM
  • Data Binding
  • Timers
  • ItemsControl
  • Custom Layout Panel
  • DataTemplates
  • Phone UI Design
  • Marketplace policies

Accessing device features including:

  • Input
  • Shell Integration
  • Sensors
  • Location

Getting data and notifications from the cloud including:

  • Data Access
  • Building Phone-compatible Services
  • Notification Services

Application Lifecycle & Tomb-stoning

Local Data Storage (including isolated storage, 3rd party and Mango options)

Other new major ‘Mango’ features

You can add on that extra bumper day to the 3-day main conference price at a discount or purchase direct 1-day access for $399.

As if that’s not enough, I’ll also be doing a demo in the conference keynote and a session on Silverlight 5 features in the conference Silverlight track (which I also lead).

Hope to see you there!

What’s Coming for WP7 developers in Mango

Blogged from the Microsoft Mix 11 Day 2 Keynote in Las Vegas

On day 2 of Microsoft’s Mix 11 conference, they explain how they will (in May) be “Delivering happiness” to Windows Phone developers. New Windows Phone end-user features will be announced at a later date.

Opportunity

Ecosystem

· Nokia will be bringing mobile billing expertise

Countries

· 16 more languages

· Developers in 38 (up from 30) countries can register to publish applications

· Phone users in 35 (up from 16) countries will be able to purchase apps

Discoverability

· New Program list – has the ‘long list’ initial letter jump buttons, a search button (inc. access to marketplace search in the results)

· Marketplace – Separates Apps, music, & Podcasts (US this fall)) and shows more details in list with publisher/price/rating

· Marketplace App page has a pivot: details, reviews, screenshots, related

· One-click install for free apps

· Auto-nav to apps list after install

· Search Extras – A Bing Search result can have extras deep linking into an app

Capability

Browser

· Browser uses same IE9 code-base for HTML5, JavaScript, CSS3

· Address bar at the bottom

· Background audio for HTML5 in browser (use phone controls too)

· H.264 video in video tag in full screen with controls

Phone integration

· Sockets

· SQL CE Database with ORM and Linq to SQL

· More launchers & choosers (inc. deep link to directions)

· Better access to contacts and calendar

· Pin to start of application deep links

· Raw camera access

· Access to compass

· Access to gyro (new optional hardware coming this year)

· Motion Sensor API (for ease of using compass and gyro)

· Ringtone API

Multi-tasking:

· Fast app switching – apps are suspending, and only terminated if necessary

· Background audio from apps (leveraging the standard phone media controls)

· Background downloads

· Setup alarms

· Live tile updating including animations

· “Live agents” occasionally run by a battery friendly scheduler (with user control of which ones can run this way) – gets events and can get location

Dev Experience:

New emulator features for Accelerometer (with 3D model of position) and location (with Bing maps input)

Performance improvement (for list)

· Scrolling and input

· Image decode

· Garbage collector (no pausing)

· Memory usage

Built on Silverlight 4 including RichTextBox

Local Database using SQL CE with ORM and LINQ to SQL

Can compose UI with Silverlight and XNA

Profiler (still free)

Upcoming Ottawa Windows 7, Windows Phone 7 & Silverlight Events

Tue Nov 30th 2010 at 5:00pm

Windows Phone 7 Developer Briefing

Thu Dec 2nd 2010 at 11:45am

Silverlight Firestarter (with roadmap announcement)

Thu Dec 2nd 2010 at 8:30am or 5:00pm

Building Awesome Apps for Windows 7! Community Tour

You can stay for the Windows 7 and Silverlight events on Dec 2nd at the same venue!!

Details below…

Tue Nov 30th 2010 – Windows Phone 7 Developer Briefing

Get Your App in Gear – Register today and join us at the Windows Phone 7 Developer Briefing

Join us for an informative Windows Phone 7 Briefing to learn more about developing on Microsoft’s latest mobile platform. The briefing will cover the two application frameworks available for Windows Phone 7, where to find developer resources, how to submit apps into Marketplace, and much more!

Register here:

Ottawa, On – November 30, 2010 at 5pm

AGENDA
Registration
5:00pm

Start
6:00pm

Introduction
Apps with Silverlight
Break/Q&A
Games with XNA
Next Steps/Q&A

End

9:00pm

Apps with Silverlight
Silverlight provides standard user controls and an event-driven model suited to building apps that bring information to the user. In this session, you’ll see an app or two built right in front of you, and learn about many aspects of Silverlight development for Windows Phone, including controls, laying them out, the model-view-viewmodel pattern, resources, themes, data binding and data templates, making asynchronous web requests, LINQ to XML and more.

Games with XNA
XNA is a game loop-based framework that makes it easier to build 2-D and 3-D games where gameplay, graphics and sound are key. You’ll watch the construction of a 2-D game and in the process learn about XNA’s game loop, resources, screen management, sprites, getting input from the accelerometer and touchscreen, collision detection, making use of game code libraries and other aspects of game development with XNA.

Next Steps
You’ve now had a taste of developing for Windows Phone with both Silverlight and XNA. What now? At this session we’ll cover where to get the tools and hardware, where to find additional developer resources such as tutorials, books and communities, how to register with the App Hub, how to submit an app to Marketplace and even talk about ideas for new apps.

Thu Dec 2nd 2010 at 12pm – Silverlight Firestarter (with roadmap announcement)

Come to the Microsoft Ottawa office on Dec 2nd 2010 @ 11:45 am ET sharp to watch the future of Silverlight unfold. 

On Dec 2nd 2010, Microsoft is running the all-day Firestarter event about Silverlight.  It opens with a keynote from Scott Guthrie (Corporate VP of the Developer Division) on the Future of Silverlight and features various sessions from renowned speakers.   It’s like another day of PDC just for Silverlight. 

We’ll be watching and discussing the morning portion of the live event as a group.  Colin Melia (Microsoft MVP for Silverlight), will be there along with Microsoft’s Christian Beauclair to discuss the event and answer questions.

Silverlight is THE developer platform for rapidly building and deploying UI- and media-rich data-connected business and consumer applications for the web, the desktop and the phone.  It’s available today.  Microsoft has invested and will continue to invest in Silverlight, and in products that use it including LightSwitch, Lync, Windows InTune, the new Azure Portal, etc.

No registration is required.

100 Queen Street (the World Exchange Plaza – with underground parking)

Suite 500 (5th floor)

Ottawa, ON

K1P 1J9

AGENDA
Welcome
11:45am

Live Broadcast start
12:00pm

End – continue watching at home

4:45pm

What is the Silverlight Firestarter?

· An Event. A one day, global, live streamed and on demand event keynoted by Scott Guthrie.

· Training. New self-paced labs and walk through videos.

· Interactive. Watch live and ask the Silverlight product team and local experts questions during the event.

· Why Silverlight? Silverlight is a powerful development platform for creating engaging, interactive user experiences for Web, desktop, and mobile applications when online or offline.

Full streaming event details – http://www.silverlight.net/news/events/firestarter/

Thu Dec 2nd 2010 – Building Awesome Apps for Windows 7! Community Tour

Windows® 7 represents an amazing opportunity for application developers. Since shipping just one year ago, more than 240 million licenses of Windows 7 have been sold. (That’s roughly seven copies of Windows 7 sold every second!). Windows 7 is also an amazing platform. Through integrated capabilities through the Windows Taskbar, sensors, text, and speech, it blends the best technology, innovation, and creativity to empower developers to create awesome apps.

Join Kate Gregory or Richard Campbell in five cities in Canada for the Building Awesome Apps for Windows 7 tour. Come hear how you can start taking advantage of the capabilities of Windows 7 in your new/existing applications TODAY. (Registration is free).

Register here:

Ottawa, On – Dec 2nd 2010 at 8:30am.

Ottawa, On – Dec 2nd 2010 at 5:00pm.

AGENDA
Registration *
8:30am/5:00pm

Start
9:00am/5:30pm

A Lap Around the Windows® API Code Pack

Building Touch-First Applications with Windows® 7

Q&A

End

11:30am/8:00pm

A Lap around the Windows® API Code Pack

The Windows API Code Pack for the .NET Framework is a managed library for building applications that light up on Windows 7. It provides access to new user interface features (taskbar jump lists, libraries, sensor platform and more) as well as "behind the scenes" features that make your applications more aware and responsive (restart and recovery, power management and more). This is a must-have library for developers targeting Windows 7 with managed code. In this session, you’ll learn how to quickly incorporate the Windows API Code Pack into your applications to take advantage of features in Windows 7.

Building Touch-First Applications for Windows® 7

In Windows 7, innovative touch and gesture support enable a rich and natural interaction with applications. Are your applications ready to support this new wave of PC form factors? Are they finger-friendly to support interactions and gestures on Windows 7? This session highlights the new multi-touch gesture APIs and explains how you can leverage them in your applications.

Got questions about this event? Email John Bristowe (Sr. Developer Evangelist, Microsoft Canada) – john.bristowe@microsoft.com / @jbristowe / blogs.msdn.com/cdndevs

*Light refreshments and snacks will be available

Discover The Future of Silverlight at the Ottawa Silverlight Firestarter Event

Come to the Microsoft Ottawa office on Dec 2nd 2010 @ 11:45 am ET sharp to watch the the future of Silverlight unfold. 

On Dec 2nd 2010, Microsoft is running the all-day Firestarter event about Silverlight.  It opens with a keynote from Scott Guthrie (Corporate VP of the Developer Division) on the Future of Silverlight and features various sessions from renowned speakers.   It’s like another day of PDC just for Silverlight. 

We’ll be watching and discussing the morning portion of the live event as a group.  As a Microsoft MVP for Silverlight I’ll be there along with Microsoft’s Christian Beauclair to discuss the event and answer questions.

Silverlight is THE developer platform for rapidly building and deploying UI- and media-rich data-connected business and consumer applications for the web, the desktop and the phone.  It’s available today.  Microsoft has invested and will continue to invest in Silverlight, and in products that use it including LightSwitch, Lync, Windows InTune, the new Azure Portal, etc.

 

SLFirestarter_150X240

No registration is required.

Dec 2nd 2010

11:45 ET (event started at noon)

100 Queen Street (the World Exchange Plaza – with underground parking)
Suite 500 (5th floor)
Ottawa, ON
K1P 1J9

Discover The Future of Silverlight at Another PDC-Like Day just for Silverlight

On Dec 2nd 2010, Microsoft is running the all-day live streaming Firestarter event about Silverlight.  It opens with a keynote from Scott Guthrie (Corporate VP of the Developer Division) on the Future of Silverlight and features various sessions from renowned speakers.   It’s like another day of PDC just for Silverlight running from 9:00 am PT to 5:15 pm PT. 

Silverlight is THE developer platform for rapidly building and deploying UI- and media-rich data-connected business and consumer applications for the web, the desktop and the phone.  It’s available today.  Microsoft has invested and will continue to invest in Silverlight, and in products that use it including LightSwitch, Lync, Windows InTune, the new Azure Portal, etc.

SLFirestarter_300X250 (2)

This Firestarter event was announced before PDC and with the recently announced keynote on the future of Silverlight, it emphasizes Microsoft’s commitment to Silverlight.

Want more commitment?  Read or see what Microsoft executives have had to say:

The State of Silverlight with Scott Guthrie and John Papa (Oct 21 2010)

PDC and Silverlight – by Bob Muglia, President, Server & Tool Business (Nov 1 2010)

Silverlight Questions – by Scott Guthrie, Corporate VP, Developer Division (Nov 4 2010)

Also, here’s a great post on the subject:

Silverlight’s Bright Future – by Ward Bell (Nov 10 2010)

In-Depth Developer Training, Samples, Marketplace Assistance, Promotion, Device Face-Time & Loaner Device Access for Windows Phone 7

Windows Phone 7 devices are coming to market this Oct/Nov in several markets.

Time is running out to get in on the launch and test device access is vital for some applications.

Get these benefits from the Windows Phone 7 Boot Camp that I’m running, sponsored by Microsoft at their Canadian offices:

  • 2 solid workshop days to rapidly build your WP7 Developer knowledge and beyond – covering major topics in depth, samples, exercises and expertise in Microsoft technologies
  • 50!! Demos/Examples
  • Priority invite to Microsoft Canada’s deployment clinics to test your application(s) on a real device unless you have a relationship with Microsoft, this may be your only opportunity before retail device availability!!!
  • FREE go-to-marketplace support from Microsoft to get your application into the marketplace and potential promotion – you’ll be connected with a Microsoft evangelist to help you with getting your application(s) into the marketplace with potential for application promotional
  • Information, 40+ samples & exercises to walk away with

Due to a shortage with devices, Microsoft Canada has withdrawn the loaner program (substituting the deployment clinics) and a device cannot be present in all bootcamp cities.

There are many free resources on the web, but none offer these benefits along with interactive learning.

Want More?  How about, all this for less?  Use the promo code WP7BOOTCAMP to get $100 off.

Register today.

Live Meeting Presentation Today on Windows Phone 7 + OData + Silverlight + Azure

image

I’m doing a 1.5 hour Live Meeting presentation today at 16:00 ET on these hot topics for the Windows Azure User Group

The audience objectives include:

  • Learn key features of Silverlight, OData & the Windows Azure Platform
  • Learn about preparing an application for use with Windows Azure & SQL Azure
  • Learn stages and ways to deploy a full application to the Windows Azure Platform
  • Learn how Silverlight can interact with Windows Azure Platform technologies.

Register for this hot-topic event and participate remotely.

https://www.clicktoattend.com/invitation.aspx?code=147804

If you are looking for in-depth rapid training on developing for Windows Phone 7 development AND hands-on time with a device, then you should consider registering for the this major 2-day boot camp running across Canada.

Windows Phone 7 Boot Camp

Quick Tip for Silverlight 4 Runtime Version Matching Issue

Today I opened a few of my Silverlight 4 projects only to be greeted by the following error when attempting to start debuggin:

"Unable to start debugging. The Silverlight Developer Runtime is not installed. Please install a matching version"

What?!

The tools were installed.

I remembered that I’d recently installed a new version of the Silverlight 4 runtime that had been required to view this new theme:

http://www.silverlight.net/content/samples/sl4/themes/jetpack.html

I’d have included a screenshot of the theme, but that would mean using a VM and going through the ordeal again.

I searched around and found a few notes on this forum…

http://forums.silverlight.net/forums/p/188683/433695.aspx

It is true that the tools include a special debug version of the silverlight runtime, however, it’s missing an important step:

You need to uninstall the currently installed Silverlight 4 end-user runtime before re-installing the Silverlight 4 Tools for Visual Studio – http://go.microsoft.com/fwlink/?LinkID=188039 – otherwise you haven’t reverted to the older developer runtime required and just waste a good 10 minutes for nothing.

I’m not sure how Microsoft is going to handle this going forward.  The builds are just slightly different, but the tools will not tolerate the difference.

Silverlight Sample Application – Part 5

In this series blog post I’m completing this run about the sample Silverlight application that was used in the Ottawa and Toronto code camps this year.

You can get the source to the application on CodePlex.

The purpose of the application (other than to show people how to get started with Silverlight application development), was to be an IT event information application.  The fourth ‘page’ of the application shows a map of the area indicating the location of the event.

Here it is showing the location of the Ottawa IT Day event.

20100613 map

This was done using the Bing Maps Silverlight control.

There are 4 key resource links for using this control.

To use the control you:

  • Install the SDK (which will place a couple of important DLLs in a folder you specify when installing)
  • Add a reference to the SDK DLLs to your project.
  • Add the MapControl namespace to your page XAML

20100613 map ns

  • Add the control to your XAML

20100613 map xaml 

  • Setup the control how you link in your code behind file

20100613 map code

The ApplicationId is obtained from the developer portal where you’ll need to agree to various licensing conditions.  With the Id the control will show a message indicated that it needs to be licensed.

A specific ZoomLevel is set in this example and the view is set to road mode.

The Location is set up from properties on the Application class and initialised elsewhere in this case.

The map is centred on the desired location and a Pushpin added there too.

A piece of control tree is created in code and this is added to the map and positioned at the desired location.  See the interactive SDK to learn how to add information to the map.

This control is extremely powerful and can be seem working live in the Silverlight page designer inside Visual Studio, e.g. set the ZoomLevel as an attribute on the XAML map element and you’ll see the map zoom in live!

Quite straight forward and you can (as with any XAML-related coding) chose for the most party whether to place settings in XAML or in code.

My only real issue with the control is the licensing for use of the control on intranets.

This concludes the posts on the sample application.

Check out other series blog posts for previously posted information about this sample application.

Silverlight Sample Application – Part 4

In this series blog post I’m continuing to talk about the sample Silverlight application that was used in the Ottawa and Toronto code camps this year.

You can get the source to the application on CodePlex.

The purpose of the application (other than to show people how to get started with Silverlight application development), was to be an IT event information application.  The second ‘page’ of the application shows information on the tracks and sessions available.

Here it is showing session information for the Ottawa IT Day.

20100613 sessions

This data was published using an OData-based service which is included with the source code.

Silverlight 4 includes networking classes specifically for OData.  We can use the Add Service Reference feature to add proxy classes which in this case include EventDataContainer.

20100613 sessions code

Silverlight includes LINQ to OData client classes so we can create a LINQ query on the container client proxy class which will be translated (when enumerated) using the magic of IQueryable-based LINQ implementations into an OData URI.  We create a DataServiceCollection based on the Track proxy class and assign it to the ListBox so that results can be shown once this DataServiceCollection is populated.  We then set up a completion handler on the collection and then load the collection asynchronously which causes the LINQ query to be converted.

Once the query completes, we’ll have a set of Track objects in the collection that will appear bound in the UI.  For each Track object we then asynchronously load the Session information underneath each Track.

DataServiceCollection is great because it includes the INotifyCollectionChanged implementation that works with the Silverlight binding system to show the session information under each track as the data loads in.

Check out the code to see the bindings in the XAML.

Check out other series blog posts for more information about this sample application.