What You’ll Need (Can You Say “Samples”?)
Chapter 1: The Life Story of a Windows Store App: Platform Characteristics of Windows 8
Leaving Home: Onboarding to the Windows Store
Discovery, Acquisition, and Installation
Playing in Your Own Room: The App Container
Different Views of Life: View States and Resolution Scaling
Those Capabilities Again: Getting to Data and Devices
Taking a Break, Getting Some Rest: Process Lifecycle Management
Remembering Yourself: App State and Roaming
Coming Back Home: Updates and New Opportunities
And, Oh Yes, Then There’s Design
A Really Quick Quickstart: The Blank App Template
QuickStart #1: Here My Am! and an Introduction to Blend for Visual Studio
Creating a Map with the Current Location
Capturing a Photo from the Camera
Extra Credit: Receiving Messages from the iframe
Chapter 3: App Anatomy and Page Navigation
Local and Web Contexts within the App Host
Referencing Content from App Data: ms-appdata
Sequential Async Operations: Chaining Promises
Error Handling Within Promises: then vs. done
Debug Output, Error Reports, and the Event Viewer
Branding Your App 101: The Splash Screen and Other Visuals
App Lifecycle Transition Events and Session State
Suspend, Resume, and Terminate
Basic Session State in Here My Am!
Data from Services and WinJS.xhr
Handling Network Connectivity (in Brief)
WinJS Tools for Pages and Page Navigation
The Navigation App Template, PageControl Structure, and PageControlNavigator
The Navigation Process and Navigation Styles
Optimizing Page Switching: Show-and-Hide
WinRT Events and removeEventListener
Chapter 4: Controls, Control Styling, and Data Binding
The Control Model for HTML, CSS, and JavaScript
WinJS stylesheets: ui-light.css, ui-dark.css, and win-* styles
Strict Processing and processAll Functions
Example: WinJS.UI.Rating Control
Example: WinJS.UI.Tooltip Control
Working with Controls in Blend
Styling Gallery: HTML Controls
Styling Gallery: WinJS Controls
Chapter 5: Collections and Collection Controls
Quickstart #1: The FlipView Control Sample
Quickstart #2a: The HTML ListView Essentials Sample
Quickstart #2b: The ListView Grouping Sample
ListView in the Grid App Project Template
A FlipView Using the Pictures Library
Template Elements and Rendering
Template Functions (Part 1): The Basics
When Is ListView the Wrong Choice?
Options, Selections, and Item Methods
Optimizing ListView Performance
Template Functions (Part 2): Promises, Promises!
Principles of Windows Store App Layout
Quickstart: Pannable Sections and Snap Points
The Many Faces of Your Display
Screen Size, Pixel Density, and Scaling
Adaptive and Fixed Layouts for Display Size
Fixed Layouts and the ViewBox Control
Multicolumn Elements and Regions
App Bar Basics and Standard Commands
Showing, Hiding, Enabling, and Updating Commands
Custom App Bars and Navigation Bars
WinJS.UI.Flyout Properties, Methods, and Events
Improving Error Handling in Here My Am!
Chapter 8: State, Settings, Files, and Documents
AppData APIs (WinRT and WinJS)
Storage Folders and Storage Files
The FileIO, PathIO, and WinJS helper classes (plus FileReader)
Using App Data APIs for State Management
IndexedDB and Other Database Options
Design Guidelines for Settings
Implementing Commands: Links and Settings Flyouts
Programmatically Invoking Settings Flyouts
User Data: Libraries, File Pickers, and File Queries
The File Picker API (and a Few Friends)
Documents and Removable Storage
Rich Enumeration with File Queries
Touch, Mouse, and Stylus Input
The Touch Language, Its Translations, and Mouse/Keyboard Equivalents
What Input Capabilities Are Present?
The Input Instantiable Gesture Sample
Keyboard Input and the Soft Keyboard
Soft Keyboard Appearance and Configuration
Adjusting Layout for the Soft Keyboard
Graphics Elements: Img, Svg, and Canvas (and a Little CSS)
Additional Characteristics of Graphics Elements
Video Playback and Deferred Loading
Disabling Screen Savers and the Lock Screen During Playback
Playback Manager and Background Audio
Loading and Manipulating Media
Media Properties in the Samples
Image Manipulation and Encoding
Transcoding and Custom Image Formats
Custom Decoders/Encoders and Scheme Handlers
Flexible Capture with the MediaCapture Object
Selecting a Media Capture Device
Streaming from a Server and Digital Rights Management (DRM)
Chapter 11: Purposeful Animations
Systemwide Enabling and Disabling of Animations
CSS Animations and Transitions
The Independent Animations Sample
Rolling Your Own: Tips and Tricks
Custom Data Formats: schema.org
Deferrals and Delayed Rendering
Search in the App Manifest and the Search Item Template
Basic Search and Search Activation
Launching Apps: File Type and URI Scheme Associations
Activation of a File Picker Provider
File Open Provider: Local File
File Save Provider: Save a File
File Save Provider: Failure Case
Chapter 13: Tiles, Notifications, the Lock Screen, and Background Tasks
Alive with Activity: A Visual Tour
The Four Sources of Updates and Notifications
Tiles, Secondary Tiles, and Badges
App Activation From a Secondary Tile
Creating the Payload, Method 1: Populating Template Content
Creating the Payload, Method 2: XML Strings
Creating the Payload, Method 3: The Notifications Extensions Library
Cycling, Scheduled, and Expiring Updates
Butter and Jam: Options for Your Toast
Push Notifications and the Windows Push Notification Service
Requesting and Caching a Channel URI (App)
Managing Channel URIs (Service)
Sending Updates and Notifications (Service)
Windows Azure Toolkit and Windows Azure Mobile Services
Background Tasks and Lock Screen Apps
Background Tasks in the Manifest
Building and Registering Background Task
Tasks for Maintenance Triggers
Tasks for System Triggers (Non-Lock Screen)
Lock Screen–Dependent Tasks and Triggers
What We’ve Just Learned (Whew!)
Network Information and Connectivity
Network Information (the Network Object Roster)
Providing Headers and Credentials
Suspend, Resume, and Restart with Background Transfers
Authentication, Credentials, and the User Profile
Single Sign On with Live Connect
The User Profile (and the Lock Screen Image)
Encryption, Decryption, Data Protection, and Certificates
Web Sockets: MessageWebSocket and StreamWebSocket
The ControlChannelTrigger Background Task
Loose Ends (or Some Samples To Go)
Chapter 15: Devices and Printing
The XInput API and Game Controllers
Enumerating Devices in a Class
Windows Portable Devices and Bluetooth Capabilities
Near Field Communication and the Proximity API
Finding Your Peers (No Pressure!)
Tap to Connect and Tap to Activate
Sending One-Shot Payloads: Tap to Share
Providing Print Content and Configuring Options
Chapter 16: WinRT Components: An Introduction
Choosing a Mixed Language Approach (and Web Workers)
Quickstarts: Creating and Debugging Components
Quickstart #1: Creating a Component in C#
Quickstart #2: Creating a Component in C++
Key Concepts for WinRT Components
Implementing Asynchronous Methods
Async Basics in WinRT Components
Arrays, Vectors, and Other Alternatives
Scenarios for WinRT Components
Obfuscating Code and Protecting Intellectual Property
Chapter 17: Apps for Everyone: Accessibility, World-Readiness, and the Windows Store
Planning: Can the App Be a Windows Store App?
Planning for Monetization (or Not)
Revenue Sharing and Custom Commerce for In-App Purchases
The CurrentAppSimulator Object
Trial Versions and App Purchase
Listing and Purchasing In-App Products
Screen Readers and Aria Attributes
Scale + Contrast = Resource Qualifiers
High Contrast Tile and Toast Images
World Readiness and Localization
User Language and Other Settings
Formatting Culture-Specific Data and Calendar Math
Part 1: Separating String Resources
Part 2: Structuring Resources for the Default Language
Creating Localized Resources: The Multilingual App Toolkit
Testing with the Pseudo Language
Releasing Your App to the World
Promotional Screenshots, Store Graphics, and Text Copy
Testing and Pre-Certification Tools
Onboarding and Working through Rejection
Getting Known: Marketing, Discoverability, and the Web
Final Thoughts: Qualities of a Rock Star App
Survey Page