Tools and downloads available for FREE for all students and educators at http://www.dreamspark.com
Day 1-Metro Design Principles: Designing your Windows Phone app
To start, be sure you've downloaded the tools you need from the links above. Ready? Let's think about the design of your application. After you've watched the Development Showcase Video, extend your understanding of Metro-based Windows Phone design principles.
Day 2-Creating your first Windows Phone user interface
It's time to think about creating a Windows Phone user interface for your app. XAML is the declarative language used in Silverlight to create your UI, the controls, shapes, text, and other content presented on the screen. Take a look at creating a cool user interface for your application and get started today.
Day 3-Building your first Silverlight application for Windows Phone
Now's the time to determine whether you'll be creating a Silverlight application or an XNA Framework application. Think about the type of application you are creating, the type of end user you are targeting, and what your app will do. Then learn more about creating your first Silverlight or XNA framework application.
Day 4-Creating a splash screen for your Windows Phone application
Any application that takes more than a few seconds to load should include a splash screen so the user knows the application is launching. Read more about how to create a splash screen for your Windows Phone application.
Day 5-Adding panorama and pivot controls to your application
Unlike standard applications that are designed to fit within the confines of the phone screen, panoramic applications offer a unique way to view controls, data, and services by using a long horizontal canvas that extends beyond the confines of the screen. Meanwhile, the Windows Phone pivot control provides a quick way to manage views or pages. It can be used for filtering large data sets, viewing multiple data sets, or switching application views. Learn to implement Panorama and to add Pivot Controls.
Day 6-Adding an application bar to your application
The Application Bar is a row of icon buttons along the bottom of the phone's screen that provides users with quick access to an application's most common tasks. Learn how to create an Application Bar in XAML, to create an Application Bar in code, and when you need to change icon buttons and menu items.
Day 7-Changing the on-screen keyboard input scope in Windows Phone
Controls like text boxes use the on-screen keyboard. Depending on the type of data the user is entering, the input scope of the default keyboard may not be the best choice. You can make it faster and easier for users to enter data in your Windows Phone applications by changing the on-screen keyboard to one of many built-in options..
Day 8-Applying theme resources for Windows Phone
A theme is a set of resources used to personalize the visual elements on a Windows Phone. You can create applications that preserve the look and feel of the native device UI from a stylistic standpoint (e.g., background colors and accent colors). Learn more on how theme resources ensure that controls and UI elements appear consistently across Windows Phone devices to make for a better user experience.
Day 9-Performing page navigation on Windows Phone
Pages hold discrete sections of content in your application. The Windows Phone Application Platform provides frame and page classes to facilitate navigation to separate sections of content. You can create as many pages as needed to present the content in your application and then navigate to those pages from the frame. Learn more about how to perform page navigation on Windows Phone.
Day 10-Working with tiles in Windows Phone
A tile is a link to an application displayed in Start. There are two types-application tiles and secondary tiles. The application tile is created when a user pins an application to the home screen. Tapping the application tile navigates the user to the application's opening page. A secondary tile is created programmatically by an application based on interaction from the user. Typical uses for a secondary tile include a weather application that pins a tile to Start for each city the user wants a weather report for, or a news application that pins a tile to Start for each type of news that the user would like to see. Note that you can have secondary tiles for an application on Start without having an application tile. Watch a demonstration on how to update an application tile as well as how to create, delete, and update secondary tiles.
Day 11-Using Photos with your Windows Phone app
Great images get a lot of attention, and the ability to take and select photos can contribute to app usage. Implementing the camera capture task enables users to take a photo from your application using the built-in camera application. You can also implement the Photo Chooser task to enable users to select an existing photo from the phone.
Day 12-Storing files and folders with Windows Phone
Let's look at how to perform the following isolated storage tasks in your application:
- Obtain a virtual store for an application
- Create a parent folder
- Create and add text to an isolated storage file
- Read the text placed in the storage file
The objective is to create a single-page application in which you can enter a string of text, write it to a file, and then read the contents of the text file. Read more about storing files and folders.
Day 13-Using the Isolated Storage Explorer Tool
Isolated Storage Explorer (ISETool.exe) is a command-line tool that was installed with the Windows Phone SDK. Isolated Storage Explorer is used to list, copy, and replace files and directories in isolated storage. This enables you to verify that files are being saved in the correct location with the correct data.
Day 14-Downloading data with WebClient on Windows Phone
Discover how to download and grab data with WebClient by learning to create a basic RSS reader. The guidance and code examples in this topic are based on a code sample called RSS Reader Sample, which can be downloaded from the Code Samples for Windows Phone page. Follow along and learn how to build a
Day 15-Using Launchers and Choosers with your app
Launchers and Choosers enable users to perform common tasks and provide an overall consistent user experience. At the same time, by using Launchers and Choosers you can distinguish your applications by providing additional functionality. Examples of Launcher tasks include composing an email, sharing a link on a social network, and opening the browser to a specific Web site. Examples of Chooser tasks include selecting a contact's email address, selecting a photo from the phone, and saving a new ringtone.
Day 16-Extending the Pictures Hub and Picture Viewer experience
Your application can extend Windows Phone in three ways:
- Pictures Hub: Let users launch your photo application from the app's pivot page in the Pictures Hub.
- Picture Viewer: Let users launch your photo application from the apps link in the picture viewer. From the deep link URL, obtain a token that corresponds to the picture from which your application was launched.
- Share Picker: Let users launch your application from the share link in the picture viewer and share their photos to a Web service. From the deep link URL, obtain a file ID that corresponds to the picture from which your application was launched. Learn more about how to extend the Pictures Hub and Picture Viewer experience.
Day 17- Integrating with the Music + Videos Hub for Windows Phone
The Music + Videos Hub is a focal point for all music, video, and podcast activity on a Windows Phone. Applications in the Music + Videos Hub provide an integrated music and video experience on the phone as their primary function. These applications integrate with the Music + Videos Hub using the MediaHistory and MediaHistoryItem classes to help ensure a consistent end-user experience for media playback. Check out more information on integrating your app with the Music + Videos Hub.
Day 18-Extending the search experience with App Connect
You can extend the search experience on Windows Phone by enabling App Connect in your application. Today, learn to create an App Connect-enabled application and test it with various quick cards, including product cards, place cards, and movie cards. The application featured in this topic also extracts parameters from the App Connect deep link URI and displays them on an application page.
Day 19-Accessing the microphone in a Silverlight application
Windows Phone provides a robust media platform that allows application developers to stream video and audio, control the FM tuner, and integrate with the Music + Videos Hub. Take time to understand how to get audio input from the Windows Phone microphone in a Silverlight application by using the Microsoft.Xna.Framework.Audio.Microphone class.
Day 20-Adding push notifications to your app
Push notifications are a great way to add an engaging feature to your app and get users coming back for more. The Windows Azure toolkit for Windows Phone makes it easy to add support for push notifications from Windows Azure. Download the toolkit and check out the docs and you'll have the libraries you need for both your app and a Web interface you can use to push your messages. Once you've got that mastered, be sure to check out all the other great stuff you can leverage with the toolkit, like Windows Azure storage services, membership services to provide authentication, and authorization for your phone applications.
Day 21-Accessing the camera image stream
You can create a camera application using the camera API for capturing pictures. Read up and learn how to display the camera viewfinder, programmatically trigger the shutter, and save a captured image to the media library and isolated storage. Once you understand how to create the base camera application, you will be on your way to implementing flash and focus, changing capture resolution, and using the phone hardware shutter button.
Day 22- Implementing background agents into your application
Background agents and Scheduled Tasks perform tasks in the background, even if the foreground application is not running. The different types of Scheduled Tasks are designed for different types of background processing scenarios and therefore have different behaviors and constraints. Learn how to implement an application that uses a Scheduled Task to register a background agent. You'll also gain an understanding of the scheduling, duration, and limitations of scheduled tasks.
Day 23-Localizing your application
By following a few simple steps, you can design and develop applications that can be easily localized, or adapted to, a specific local market. This process mostly involves the text strings in your application and the Application Bar if the Application Bar menu items include text. Additionally, you can choose to localize your application title. Learn how to separate localizable resources from code by creating language-specific resource files that Visual Studio then uses to create assemblies that allow your application to support many languages.
Day 24-Creating trial applications for Windows Phone
Trial mode gives you the option of allowing users to try your application before buying it. The Windows Phone Application Platform makes it easy for you to create trial applications as well as a full version of your app within a single XAP package. Users wishing to buy an app they are trying can seamlessly access the Marketplace from within the trial app. There are no restrictions around how you design the trial experience. You can determine the extent of functionality that you want to expose, whether the trial mode is of a limited duration, or how you want to encourage your user to buy your application.
Day 25-Adding ads to your application
One way to monetize your Windows Phone apps and games is by including ads from Microsoft Advertising. The Microsoft Advertising SDK for Windows Phone enables you to create applications that easily integrate and provide monetization, ad targeting, and seamless reporting. Learn how to implement mobile advertising in your app.
Day 26-Deploying and testing your app on a Windows Phone device
You can use both the Windows Phone Emulator and a physical Windows Phone device to develop and test your applications. Although the Windows Phone Emulator addresses many development scenarios, it is important to have the ability to test your application on a physical device as well. To deploy an application to a physical Windows Phone device for development and testing work, there are some steps you must take first. Take a look at this Deploying and Testing on Your Windows Phone article to learn more.
Day 27-Performance tuning your app
If you want to create a successful Windows Phone application that users will enjoy, you will need to spend time on performance. Even if you have a great idea for an application, if the application is slow, unresponsive, or periodically crashes, users will stop using it. What to do? Simple-use the Windows Phone Performance Analysis tool, a profiling tool to evaluate and improve the performance of your applications. First you will capture and analyze performance data of your app and use that to understand common performance issues and how to address them.
Day 28-Creating screenshots for Windows Phone Marketplace submission
You'll need to create screenshots of your application to be shown in the details page of the Windows Phone Marketplace catalog so potential end users can preview your app. Because there are several certification requirements related to application screenshots, be sure to review all of the information available.
Day 29-Using the Windows Phone Marketplace Test Kit
The Windows Phone Marketplace Test Kit provides a suite of automated, monitored, and manual tests to help prepare your application to be accepted in the Marketplace the first time you submit it. The test kit enables you to identify and fix issues before Marketplace submission, which saves time in the submission process.
Day 30-Windows Phone Marketplace submission walkthrough
There are four steps to submitting your application to the Windows Phone Marketplace:
- Upload your application
- Provide the application description
- Set the application pricing
- Submit your application
Before beginning your submission, you will want to review the App Hub Application submission walkthrough. This will help prepare you for the application submission process.
App Hub and getting ready to submit to the Marketplace
Windows Phone Interoperability Resources:
Windows Phone Guide for Android Application Developers
Android to Windows Phone API Mapping Tool
Windows Phone Guide for iPhone/iOS Application Developers
iPhone/iOS to Windows Phone API Mapping Tool
Week 1 Resources
Metro-based Windows design principles
Creating a user interface for your application
Creating your first Silverlight application
Creating XNA framework
Creating a splash screen
Create an application bar in XAML
Create an application bar in code
Changing icon buttons
Changing the on-screen keyboard
Week 2 Resources
Applying a theme
Performing page navigation
Working with tiles
Storing files and folders
Using the Isolated Storage Explorer
Code samples for Windows Phone
Build a basic RSS reader
Week 3 Resources
Week 4 Resources
Localizing your app
Creating a trial application
Deploying and testing
Capture performance data
Marketplace test kit
App Hub Application submission walkthrough
Windows Phone Marketplace resources
Developing and publishing applications overview
Application certification requirements for Windows Phone
Application submission walkthrough
Windows Phone Performance Analysis
Windows Phone Marketplace Test Kit