adamnathan.netSubscribe to this blogMetro Web BrowserTODO ListAlarm ClockTip CalculatorSound RecorderGroceriesPick a CardNotepadStopwatchMetronomePinned SearchesFake CallMood RingCocktailsTODO ListAlarm ClockTip CalculatorSound RecorderGroceriesPick a CardNotepadStopwatchMetronomePinned SearchesFake CallMood RingCocktails
 Wednesday, August 15, 2012

You know you haven't blogged in awhile when you can't even remember how to log in and post. :)

I've been holed up in my writing cave but I wanted to take a moment to clarify something. There will NOT be a Volume II for my 101 Windows Phone 7 Apps book. I know there has been some confusion and I see a backlog of tweets asking me about it, so I'm sorry about that. I don't know why Amazon still lists the book, but if they haven't already cancelled your pre-order then you should go ahead and do so.

Why no Volume II? This was a joint decision between SAMS and me because:
  • The existing book is self-contained
  • Version 7.5 happened much faster than I was prepared for (which is a great thing!)
  • I figured I have one book left in me, and we decided it was better to have me write about Windows 8
Therefore, disregard the info on Amazon about Volume II. The Windows 8 book, however, is real. :) Its name will probably change to Windows 8 Apps with XAML and C# Unleashed. Amazon's date of publication probably isn't quite right, but I'll tell you as soon as I know a firmer date.

Thanks!
Wednesday, August 15, 2012 7:16:25 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1] - Trackback    
 Tuesday, June 14, 2011

1. Page 35: "// For the Setting class" should be "// For the Setting class from Chapter 20"
2. Page 218: The filename in the title of Listing 9.3 should be IncomingCallPage.xaml (not IncomingCall.xaml)
3. Page 221: The filename in the title of Listing 9.4 should be IncomingCallPage.xaml.cs (not IncomingCall.xaml.cs)
4. Page 226: The filename in the title of Listing 9.5 should be CallInProgressPage.xaml (not CallInProgress.xaml)
5. Page 230: The filename in the title of Listing 9.6 should be CallInProgressPage.xaml.cs (not CallInProgress.xaml.cs)
6. Page 261: The "containg" in the comment should be "containing"
7. Page 276: "SwitchViewButton_Click" should be "ViewButton_Click"
8. Page 386: The last comment line should use the word "Vary" instead of "Very"
9. Page 413: The last sentence in the 2nd paragraph should say "Rogers" instead of "Rodgers"
10. Page 453: In the first line of the last paragraph, "transitions can automatically" should be "transitions that can automatically"
11. Page 583: "IncludedStartingLetters" should instead be "ExcludedStartingLetters"
12. Page 750: The "imag" in the comment toward the bottom of the page should be "image"
13. Page 767: The "Add the animations to the storyboad" comment should instead be "Add the animations to the storyboard"
14. Page 771: The "Threshold" on the 6th-to-last line of the listing should be "Sensitivity"
15. Page 790: Toward the bottom of the page, the "stream.Read(SquawkBuffer," should be "stream.Read(bytes,"

Thanks to Jesus Rodriguez and Tad Anderson for finding these!

More details for anyone stuck on Chapter 1's "using WindowsPhoneApp":
You've got three options to make your project compile:
  1. Copy Settings.cs from the Chapter 1 code download and include it in your project.
  2. Create a new Settings.cs file in your project and type in the Settings.cs code from Chapter 20.
  3. Just use the project from the Chapter 1 code download.
Tuesday, June 14, 2011 12:52:41 PM (Pacific Standard Time, UTC-08:00)  #    Comments [16] - Trackback    
 Monday, May 02, 2011

I suppose I’m the most biased opinion available, but here’s why I think my Windows Phone 7 book is something special:

    1. The content.  An immense amount of useful info has been packed into it.  As my wife will tell you, it took a ridiculous amount of time to write it.  (In case you’re wondering, it usually took much longer to write about each app than it took to create the app.)  It did help that this is my 4th (gasp!) book on XAML and WPF/Silverlight concepts, so I pretty much knew how to explain layout, styling, and so on.  But I certainly can’t take all the credit.  I had a fantastic technical editor – Dave Relyea – whom I can’t thank enough.  He even got other notable team members involved, such as Jeff Wilcox and David Anson.  As a result, the person who wrote the Panorama control reviewed the Panorama chapter, the person who wrote the Pivot control reviewed the Pivot chapter, the person who wrote the charting controls reviewed the charting controls chapter, and so on.  It can’t get better than that!
    2. Full color printing.  It’s just beautiful to see C# and XAML with its Visual-Studio-style coloring, and of course the screenshots and other figures look great in color.
    3. The design.  I spent a lot of time thinking about the appearance of the book – inside and out – and I’m grateful that SAMS basically let me do whatever I wanted!  The rest of this post highlights some aspects of the design.

The Cover

From the start, SAMS was on-board with the idea of “lets make the book look like the phone.”  It’s a bit of a risk to do a book that isn’t tied to a well-known series like “Unleashed,” but it was one we were all willing to take.  Here’s my initial, very rough, sketch of what the cover could look like (way back when Windows Phone 7 was Windows Phone 7 Series):

image

Here’s what I came up with after making the fateful decision to cover 101 apps:

 image

Volume I uses the Windows Phone blue & orange colors; Volume II uses Windows Phone green & orange.  Although these are placeholder icons, the idea from this point onward was to use the actual 101 app icons from both volumes.  The hardest part for me was coming up with a decent arrangement for the odd number of icons.  My name & face are supposed to resemble a pinned contact, and the SAMS area is supposed to be somewhat like a double-wide tile.  SAMS always liked emphasizing “full color” on the cover of my past books, so I figured it would be a good thing to fill the missing three spaces.

Later, I imagined what the rest of the cover should look like, and decided it would be better to use an avatar rather than an actual photo of me:

image

I did many more revisions not shown here, including placing the real app icons and coming up with a final avatar.  I also moved the “FULL COLOR” rectangle so it would separate the 50 Volume I apps from the 51 Volume II apps.  Here’s the final result by SAMS (who also felt my “Building Your First” title was too long):

image

By the way, the latter 51 icons that hint at Volume II's apps are basically placeholders.  Given that I’m still working on Volume II, and I change/reorder apps as I write, I don’t even know the final list yet.  Maybe a future printing of Volume I will correct the Volume II icons, making the current printing a collector’s item. Smile

Chapters

The first page of each chapter looks a bit like a panorama and a bit like the phone’s Start experience.  Here’s my first sketch of what a chapter’s first page should look like:

image

After this, we made the call to simply name each chapter with the app name, otherwise it would get too cumbersome. Here’s my next sketch, after a few more tweaks:

image

I wanted each chapter’s title to be presented roughly like a featured app in the marketplace, with an all-caps Segoe WP Black caption under the icon.  Here’s the final result:

imageimageimage

I think it also ended up working well for non-chapter sections like the introduction.  And the blue area does a nice job of showing where each chapter begins and ends when you hold a physical book and see all the little blue stripes along the paper edges.

Sidebars

I love sidebars.  I’ve always used a lot of them, and four different kinds of them.  Naturally, I wanted them to fit the Windows Phone style.  I don’t need to show my original sketches here, because SAMS did such a good job recreating them in the book:

image

Notice the ellipsis used for “digging deeper” rather than a left-aligned icon.  This sidebar is mimicking an expanded application bar, as if you’re digging deeper into an app. In fact, the grey matches the color of the standard application bar under the light theme.

I like their style much better than the style from my WPF books:

image

Misc. Other Pages

Finally, here’s a smattering of pages from the book:

imageimageimageimageimageimageimageimageimageimageimageimageimageimageimage

Monday, May 02, 2011 1:42:00 AM (Pacific Standard Time, UTC-08:00)  #    Comments [11] - Trackback    
 Tuesday, April 26, 2011

I had no idea you could do this until now!  Does your WP7 app have a bad review, and you wish you could get in touch with the person who left the review?  (Not to harass the person!  To get more info, fix the problem, and turn them into a happy customer.)

In Zune, click on social, then INBOX, then the teeny-tiny NEW MESSAGE button at the bottom of the screen.  You can send them a message using their screen name shown in the review.  And it’s better than Twitter: You can use up to 230 characters!

image

Unfortunately, the recipient’s new-message notification is very subtle.  (Some text appears under their name in the top-right corner.)  And messages expire after 30 days.  Still, it’s much better than nothing!

Tuesday, April 26, 2011 3:54:00 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1] - Trackback    
 Saturday, April 16, 2011

I love the Windows Phone hardware Back button. Sure, it's currently a lousy way to switch between apps (this is fixed in the "Mango" release), but I love the consistency when it comes to navigating within an app or returning to an app after launching something like the web browser. I certainly miss the button when using my iPad.

However, the hardware Back button is a source of grief for developers submitting apps to the Windows Phone Marketplace due to requirement 5.2.4:

5.2.4 Use of Back Button
To maintain a consistent user experience, the Back button must only be used for backwards navigation in the application.
a. Pressing the Back button from the first screen of an application must exit the application.
b. Pressing the Back button must return the application to the previous page.
c. If the current page displays a context menu or a dialog, the pressing of the Back button must close the menu or dialog and cancel the backward navigation to the previous page.
d. For games, when the Back button is pressed during gameplay, the game can choose to present a pause context menu or dialog or navigate the user to the prior menu screen. Pressing the Back button again while in a paused context menu or dialog closes the menu or dialog.

I’ve had my Pool game rejected for part (d) because it didn’t enable pausing. To me, the phrasing makes that seem optional!

I’ve had apps such as Metro Web Browser rejected for part (c) because I didn’t realize that an inline list picker counts as a "dialog" or "context menu." But fair enough, I see that the built-in apps collapse an expanded list picker when the hardware Back button is pressed, so my apps should do that, too.

This post is about (b). I was surprised to be told that I violated this rule for my new Baby Name Eliminator app (get it now!), which had the following page navigation structure:

Attempt #1:

attempt1

Every blue arrow represents either a forward navigation to another page or the opening of a dialog, so pressing the hardware Back button returns to the previous state. The issue was with MainPage, and its state transition represented by the orange arrow. This page has two modes: a “getting started” mode that only appears until the user taps “start eliminating,” and a “list of names” mode that appears once the button is tapped. The user can only ever return to the “getting started” mode by tapping the “start over” app bar button. Therefore, no matter which mode MainPage is in, pressing the hardware Back button exits the app.

So the certification tester complained that after tapping “start eliminating,” pressing Back didn’t return to the previous page. Of course, there is no previous page! Although this was obvious to me and I thought it would be obvious to the tester (because the app bar doesn’t animate in & out like it would for a true page navigation), I could appreciate that users might be surprised by this behavior. However, it made no sense to navigate back to the “getting started” mode once elimination was underway, and it would be an unnecessary extra step to continue showing it each subsequent time the app is launched. I view this “getting started” mode to be much like an initial login into an app, and I should be able to do this without adding an extra back-navigation step.

Therefore, I did a quick fix and changed the style of the “getting started” UI to look a bit more like a temporary overlay rather than a page on its own:

Attempt #2:

attempt2

I’m ashamed to admit it, but I even added an obnoxious message box that appears after the user tapped “start eliminating” that explained that this page will now enter elimination mode, and that the way to start over was to tap “start over”; the Back button would exit the app. This, of course, was for the benefit of the tester rather than users. (Yes, I know that the app submission form has a “tester notes” box in which you can leave special instructions, as well as a “requires technical exception” check box. But frankly, I’m terrified to use either of these. I can imagine these putting my app into some special queue that requires certain testers and therefore increases the certification time. I don’t know if this is actually true.)

This second attempt failed certification the exact same way. How could this be? I started doubting if I even remembered to attach the new binary!

After this second failure, I decided to change the navigation structure. Instead of using an initial “getting started” UI, MainPage would start out looking like an empty list, but with instructions to tap the “settings” button to get started. The new SettingsPage is just the old FilterPage, but with the rest of the “getting started” UI merged in (the gender radio buttons and an OK button):

Attempt #3:

attempt3

In this scheme, the user must explicitly navigate forward to do the initial configuration, then navigate back to what becomes the list of names. There’s no need for a “start over” button… the user can start over by changing the settings at any time.

This version of the app passed certification, and is now live here. Although I’d say this specific enforcement of the Back button rule is questionable, I do feel like the final scheme is the best one. It’s a bit more clear for users, a bit more flexible (the user can explore a different gender or filters without damaging their list-in-progress), and I think the consolidated settings makes sense. So, at least in this case, I lost a little time, but the users won!

Saturday, April 16, 2011 6:54:27 PM (Pacific Standard Time, UTC-08:00)  #    Comments [29] - Trackback    
 Wednesday, April 13, 2011

...during today's keynote @ MIX '11. Love it!

http://twitpic.com/4kf1ej
Wednesday, April 13, 2011 12:59:00 PM (Pacific Standard Time, UTC-08:00)  #    Comments [25] - Trackback    
 Monday, April 11, 2011

I think Appendix A is the most important appendix. It provides a list of lessons ordered alphabetically, rather than the app-by-app organization in the Table of Contents. Here is the list:

2D Transforms

Chapter 13, "Metronome"

3D Transforms

Chapter 17, "Pick a Card Magic Trick"

Chapter 45, "Coin Toss"

Chapter 19, "Animation Lab"

Accelerometer Basics

Chapter 44, "Boxing Glove"

Accelerometer Calibration

Chapter 47, "Moo Can"

Accelerometer Data Smoothing

Chapter 47, "Moo Can"

Accelerometer, 2D Motion

Chapter 49, "Balance Test"

AccelerometerHelper

Chapter 47, "Moo Can"

Chapter 48, "Level"

Chapter 49, "Balance Test"

Chapter 50, "Pedometer"

Activated Event

Chapter 10, "Tip Calculator"

Alignment

Chapter 4, "Stopwatch"

Angle, Based on Accelerometer

Chapter 48, "Level"

Animation Basics

Chapter 12, "Silly Eye"

Animations, Creating in C#

Chapter 16, "Lottery Numbers Picker"

Animations, Sharing

Chapter 16, "Lottery Numbers Picker"

Application Bar

Chapter 2, "Flashlight"

Application Lifecycle

Chapter 10, "Tip Calculator"

Application Manifest

Chapter 1, "Tally"

Application State

Chapter 10, "Tip Calculator"

ApplicationIdleDetectionMode

Chapter 9, "Fake Call"

Audio Files, Saving

Chapter 36, "Sound Recorder"

Binary Resources

Chapter 1, "Tally"

Chapter 2, "Flashlight"

Chapter 6, "Baby Sign Language"

Background Worker

Chapter 11, "XAML Editor"

Chapter 24, "Baby Name Eliminator"

Chapter 25, "Book Reader"

Bitmap Caching

Chapter 19, "Animation Lab"

Brushes

Chapter 2, "Flashlight"

Build Actions, Content Versus Resource

Chapter 1, "Tally"

Chapter 2, "Flashlight"

Chapter 6, "Baby Sign Language"

Button

Chapter 1, "Tally"

Cache Mode (Cached Composition)

Chapter 19, "Animation Lab"

Canvas

Chapter 5, "Ruler"

Capabilities

Chapter 1, "Tally"

Charts

Chapter 29, "Weight Tracker"

Check Box

Chapter 10, "Tip Calculator"

Clipping

Chapter 12, "Silly Eye"

Chapter 13, "Metronome"

Closing Event

Chapter 10, "Tip Calculator"

Color Animations

Chapter 15, "Mood Ring"

Color Picker

Chapter 12, "Silly Eye"

Combo Box

Chapter 25, "Book Reader"

Composition Target's Rendering Event

Chapter 30, "Cowbell"

Content Controls

Chapter 5, "Ruler"

Content Presenter

Chapter 10, "Tip Calculator"

Context Menu

Chapter 26, "TODO List"

Control Templates

Chapter 10, "Tip Calculator"

Coordinates

Chapter 8, "Vibration Composer"

Copy & Paste

Chapter 11, "XAML Editor"

Currency Formatting

Chapter 10, "Tip Calculator"

Custom Controls

Chapter 19, "Animation Lab"

Custom Fonts

Chapter 20, "Alarm Clock"

Data Binding

Chapter 6, "Baby Sign Language"

Chapter 10, "Tip Calculator"

Chapter 23, "Baby Milestones"

Data Contract Attributes

Chapter 26, "TODO List"

Data, Shipping with Your App

Chapter 24, "Baby Name Eliminator"

Chapter 25, "Book Reader"

Data Templates

Chapter 6, "Baby Sign Language"

DataContractJsonSerializer

Chapter 39, "Paint"

DataContractSerializer

Chapter 39, "Paint"

Date Picker

Chapter 7, "Date Diff"

DateTimeOffset

Chapter 21, "Passwords & Secrets"

Deactivated Event

Chapter 10, "Tip Calculator"

Decryption

Chapter 21, "Passwords & Secrets"

Deep Zoom

Chapter 41, "Deep Zoom Viewer"

Dependency Properties

Chapter 18, "Cocktails"

Deserialization

Chapter 39, "Paint"

Disabling Automatic Screen Lock

Chapter 9, "Fake Call"

DoubleAnimation

Chapter 12, "Silly Eye"

Double-Tap Gesture

Chapter 41, "Deep Zoom Viewer"

Drag Gesture

Chapter 42, "Jigsaw Puzzle"

Drop Shadows

Chapter 15, "Mood Ring"

Dynamic XAML

Chapter 11, "XAML Editor"

Easing Functions

Chapter 12, "Silly Eye"

Ellipse

Chapter 5, "Ruler"

Email Launcher

Chapter 11, "XAML Editor"

Embedded Resources

Chapter 24, "Baby Name Eliminator"

Emulator-Specific Code

Chapter 3, "In Case of Emergency"

Encryption

Chapter 21, "Passwords & Secrets"

Event Bubbling

Chapter 10, "Tip Calculator"

Event Triggers

Chapter 12, "Silly Eye"

Filmstrip-Style Swiping

Chapter 28, "Alphabet Flashcards"

FindElementsInHostCoordinates

Chapter 40, "Darts"

Flick Gesture

Chapter 40, "Darts"

Fonts, Custom

Chapter 20, "Alarm Clock"

Frame Rate Counter

Chapter 13, "Metronome"

FrameReported Event

Chapter 37, "Reflex Test"

Gesture Listener

Chapter 40, "Darts"

Chapter 41, "Deep Zoom Viewer"

Chapter 42, "Jigsaw Puzzle"

Chapter 43, "Spin the Bottle!"

Gradient Brushes

Chapter 15, "Mood Ring"

Graphs

Chapter 29, "Weight Tracker"

Grid

Chapter 4, "Stopwatch"

Hardware Back, Start, & Search Buttons

Chapter 5, "Ruler"

Hit Testing

Chapter 5, "Ruler"

Chapter 11, "XAML Editor"

Chapter 40, "Darts"

Icons

Chapter 1, "Tally"

Image

Chapter 6, "Baby Sign Language"

Image Brush

Chapter 17, "Pick a Card Magic Trick"

Image Cropping

Chapter 42, "Jigsaw Puzzle"

Indeterminate Progress Bars

Chapter 18, "Cocktails"

Ink Presenter

Chapter 39, "Paint"

INotifyPropertyChanged

Chapter 21, "Passwords & Secrets"

Input Scopes

Chapter 3, "In Case of Emergency"

Inertia, Simulating

Chapter 43, "Spin the Bottle!"

Isolated Storage

Chapter 20, "Alarm Clock"

JSON Serialization

Chapter 39, "Paint"

Keyboard, On-Screen & Hardware

Chapter 3, "In Case of Emergency"

Keyframe Animations

Chapter 14, "Love Meter"

Launching Event

Chapter 10, "Tip Calculator"

Line

Chapter 5, "Ruler"

Chapter 9, "Fake Call"

Line Breaks

Chapter 8, "Vibration Composer"

Line Height

Chapter 9, "Fake Call"

List Box

Chapter 6, "Baby Sign Language"

List Box Item

Chapter 10, "Tip Calculator"

List Box Items, Stretching

Chapter 25, "Book Reader"

List Box, Multi-Selection

Chapter 36, "Sound Recorder"

List Picker

Chapter 25, "Book Reader"

Chapter 26, "TODO List"

Local Databases

Chapter 24, "Baby Name Eliminator"

Lock Screen (Disabling or Running During)

Chapter 8, "Vibration Composer"

Chapter 9, "Fake Call"

Chapter 30, "Cowbell"

LongListSelector

Chapter 18, "Cocktails"

Looping Selector

Chapter 16, "Lottery Numbers Picker"

Looping Sound

Chapter 31, "Trombone"

Manipulation Events

Chapter 40, "Darts"

Margins

Chapter 3, "In Case of Emergency"

MediaElement

Chapter 33, "Subservient Cat"

Chapter 30, "Cowbell"

Message Box

Chapter 2, "Flashlight"

Microphone Audio Playback

Chapter 35, "Talking Parrot"

Chapter 36, "Sound Recorder"

MultiScaleImage

Chapter 41, "Deep Zoom Viewer"

Multithreading

Chapter 11, "XAML Editor"

Chapter 24, "Baby Name Eliminator"

Chapter 25, "Book Reader"

Multi-Touch

Chapter 38, "Musical Robot"

NetworkInterface.InterfaceType

Chapter 32, "Local FM Radio"

Object Animations

Chapter 15, "Mood Ring"

Obscured Event

Chapter 10, "Tip Calculator"

Observable Collections

Chapter 21, "Passwords & Secrets"

One-Time Actions

Chapter 17, "Pick a Card Magic Trick"

Chapter 50, "Pedometer"

Opacity Masks

Chapter 17, "Pick a Card Magic Trick"

Orientation Basics

Chapter 3, "In Case of Emergency"

Orientation Lock

Chapter 4, "Stopwatch"

Padding

Chapter 3, "In Case of Emergency"

Page Navigation

Chapter 6, "Baby Sign Language"

Page State

Chapter 10, "Tip Calculator"

Pagination

Chapter 25, "Book Reader"

Panorama

Chapter 27, "Groceries"

Chapter 28, "Alphabet Flashcards"

Password Box

Chapter 21, "Passwords & Secrets"

Path

Chapter 5, "Ruler"

Chapter 9, "Fake Call"

Chapter 10, "Tip Calculator"

PerformanceProgressBar

Chapter 18, "Cocktails"

Perspective Transforms

Chapter 17, "Pick a Card Magic Trick"

Phone Launcher

Chapter 3, "In Case of Emergency"

Phone Theme Resources

Chapter 1, "Tally"

Photo Chooser

Chapter 23, "Baby Milestones"

Chapter 39, "Paint"

Chapter 42, "Jigsaw Puzzle"

Picker Box

Chapter 19, "Animation Lab"

Chapter 25, "Book Reader"

Pie Charts

Chapter 29, "Weight Tracker"

Pinch Gesture

Chapter 41, "Deep Zoom Viewer"

Chapter 42, "Jigsaw Puzzle"

Pivot

Chapter 26, "TODO List"

Chapter 29, "Weight Tracker"

Point Animations

Chapter 15, "Mood Ring"

Polygon

Chapter 5, "Ruler"

Polyline

Chapter 5, "Ruler"

Popup

Chapter 11, "XAML Editor"

Chapter 39, "Paint"

Progress Bar

Chapter 4, "Stopwatch"

Progress Bar, Indeterminate

Chapter 18, "Cocktails"

Property Paths

Chapter 15, "Mood Ring"

Quick Jump Grid

Chapter 18, "Cocktails"

Radio Button

Chapter 10, "Tip Calculator"

Radio Tuner

Chapter 32, "Local FM Radio"

Reading & Writing Files

Chapter 22, "Notepad"

Reading & Writing Pictures

Chapter 23, "Baby Milestones"

Rectangle

Chapter 5, "Ruler"

Chapter 9, "Fake Call"

Repeat Button

Chapter 5, "Ruler"

Resources

Chapter 9, "Fake Call"

Chapter 12, "Silly Eye"

Rotate Gesture

Chapter 43, "Spin the Bottle!"

RotateTransform

Chapter 13, "Metronome"

Routed Events

Chapter 10, "Tip Calculator"

Runs

Chapter 20, "Alarm Clock"

ScaleTransform

Chapter 14, "Love Meter"

Screenshots, Taking from Phone

Chapter 42, "Jigsaw Puzzle"

Scroll Viewer

Chapter 3, "In Case of Emergency"

Seadragon

Chapter 41, "Deep Zoom Viewer"

Serialization

Chapter 23, "Baby Milestones"

Chapter 39, "Paint"

Settings

Chapter 20, "Alarm Clock"

Settings Pages

Chapter 12, "Silly Eye"

Settings Page Guidelines

Chapter 20, "Alarm Clock"

Shaking Detection

Chapter 46, "Noise Maker"

Silverlight for Windows Phone Toolkit

Chapter 7, "Date Diff"

Silverlight Toolkit

Chapter 29, "Weight Tracker"

Size Properties

Chapter 3, "In Case of Emergency"

Slider

Chapter 5, "Ruler"

Sound Detection

Chapter 34, "Bubble Blower"

Sound Effects

Chapter 30, "Cowbell"

Sound Looping

Chapter 31, "Trombone"

Sound Manipulation

Chapter 31, "Trombone"

Sound, Playing Backwards

Chapter 36, "Sound Recorder"

SoundEffectInstance

Chapter 31, "Trombone"

Splash Screen

Chapter 1, "Tally"

Stack Panel

Chapter 4, "Stopwatch"

Status Bar

Chapter 1, "Tally"

Storyboard Basics

Chapter 12, "Silly Eye"

Storyboards as Timers

Chapter 18, "Cocktails"

Storyboards, Checking Status

Chapter 14, "Love Meter"

Stretch Gesture

Chapter 41, "Deep Zoom Viewer"

Styles

Chapter 9, "Fake Call"

Tag

Chapter 8, "Vibration Composer"

Text Box

Chapter 3, "In Case of Emergency"

Chapter 11, "XAML Editor"

Theme Detection

Chapter 10, "Tip Calculator"

Throwing Detection

Chapter 44, "Boxing Glove"

Chapter 45, "Coin Toss"

Tilt Effect

Chapter 19, "Animation Lab"

Time Picker

Chapter 9, "Fake Call"

Timers

Chapter 2, "Flashlight"

Toggle Button

Chapter 10, "Tip Calculator"

Toggle Switch

Chapter 20, "Alarm Clock"

Tombstoning

Chapter 10, "Tip Calculator"

Touch Points

Chapter 37, "Reflex Test"

Tracking Individual Fingers

Chapter 38, "Musical Robot"

Chapter 39, "Paint"

Triggers

Chapter 12, "Silly Eye"

Turning-Over Detection

Chapter 47, "Moo Can"

Two-Way Data Binding

Chapter 23, "Baby Milestones"

Undo & Redo

Chapter 39, "Paint"

Unobscured Event

Chapter 10, "Tip Calculator"

URL Encoding & Decoding

Chapter 18, "Cocktails"

User Controls

Chapter 4, "Stopwatch"

UserIdleDetectionMode

Chapter 9, "Fake Call"

Chapter 30, "Cowbell"

Value Converters

Chapter 21, "Passwords & Secrets"

Vector Graphics

Chapter 5, "Ruler"

Vibration

Chapter 8, "Vibration Composer"

Chapter 9, "Fake Call"

Video

Chapter 33, "Subservient Cat"

Visibility

Chapter 4, "Stopwatch"

Visual State Manager (VSM)

Chapter 19, "Animation Lab"

Walking Motion

Chapter 50, "Pedometer"

Web Browser Control

Chapter 18, "Cocktails"

Wrap Panel

Chapter 8, "Vibration Composer"

Chapter 45, "Coin Toss"

WriteableBitmap

Chapter 42, "Jigsaw Puzzle"

XAML Reader

Chapter 11, "XAML Editor"

XAML Resources

Chapter 9, "Fake Call"

XAML-Defined Elements, Naming

Chapter 1, "Tally"

XML Namespaces

Chapter 1, "Tally"

XmlSerializer

Chapter 39, "Paint"

XNA

Chapter 2, "Flashlight"

Chapter 30, "Cowbell"

Chapter 31, "Trombone"

Chapter 34, "Bubble Blower"

Chapter 35, "Talking Parrot"

Chapter 36, "Sound Recorder"

Z-Index

Chapter 4, "Stopwatch"

Zoom Gesture

Chapter 41, "Deep Zoom Viewer"

Monday, April 11, 2011 10:58:36 PM (Pacific Standard Time, UTC-08:00)  #    Comments [28] - Trackback    
 Sunday, April 10, 2011

Part I                  Getting Started
1          Tally
                  The Application Manifest
                  Capabilities
                  Icons
                  Splash Screen
                  XML Namespaces
                  Status Bar
                  Phone Theme Resources
                  Naming XAML-Defined Elements
                  Button
2          Flashlight
                  Application Bar
                  Timers
                  Brushes
                  Message Box
3          In Case of Emergency
                  Orientation
                  On-Screen Keyboard
                  Hardware Keyboard
                  Text Box
                  Input Scopes
                  Scroll Viewer
                  Size Properties
                  Margins and Padding
                  Emulator-Specific Code
4          Stopwatch
                  Grid
                  StackPanel
                  User Controls
                  Alignment
                  Progress Bar
                  Visibility
                  Orientation Lock
5          Ruler
                  Canvas
                  Vector Graphics
                  Slider
                  Repeat Button
                  Hardware Back, Start, & Search Buttons
                  Hit Testing
                  Content Controls
6          Baby Sign Language
                  Page Navigation
                  Data Binding
                  Data Templates
                  List Box
                  Image
                  Resource Versus Content Build Actions
7          Date Diff
                  Silverlight for Windows Phone Toolkit
                  Date Picker
8          Vibration Composer
                  Vibration
                  Wrap Panel
                  Running While the Screen is Locked
                  Getting Coordinates of an Element
                  The Tag Property
                  Line Breaks
9          Fake Call
                  Resources
                  Styles
                  Time Picker
                  Text Line Height
                  Disabling Automatic Screen Lock
10         Tip Calculator
                  Application Lifecycle
                  Control Templates
                  Routed Events
                  Theme Detection
                  Toggle Button, Radio Button, & Check Box Controls
                  List Box Items
                  Data Binding to a Named Element
11         XAML Editor
                  Dynamic XAML
                  Popup
                  TextBox Manipulation
                  Background Worker
                  Copy & Paste


Part II         Transforms & Animations
12         Silly Eye
                  Animation
                  Event Triggers
                  Named Resources
                  Settings Page
                  Color Picker
                  Clipping
13         Metronome
                  2D Transforms
                  Animating Rotation
                  Animation Completed Event
                  Frame Rate Counter
14         Love Meter
                  Keyframe Animations
                  Animating Scale
                  Checking Storyboard Status
15         Mood Ring
                  Color Animations
                  Property Paths
                  Gradient Brushes
                  Object Animations
                  Point Animations
                  Drop Shadows
16         Lottery Numbers Picker
                  Sharing Animations
                  Creating Animations in C#
                  Looping Selector
17         Pick a Card Magic Trick
                  3D Transforms
                  Opacity Masks
                  Image Brush
                  One-Time Actions
18         Cocktails
                  Quick Jump Grid
                  Dependency Properties
                  URL Encoding & Decoding
                  Storyboards as Timers
                  Indeterminate Progress Bars
                  LongListSelector
19         Animation Lab
                  Custom Controls
                  Visual State Manager
                  Bitmap Caching
                  Tilt Effect


Part III         Storing & Retrieving Local Data
20         Alarm Clock
                  Isolated Storage
                  Settings
                  Settings Page Guidelines
                  Toggle Switch
                  Using Custom Fonts
                  Runs
21         Passwords & Secrets
                  Encryption & Decryption
                  Password Box
                  Value Converters
                  DateTimeOffset
                  Observable Collections
                  INotifyPropertyChanged
22         Notepad
                  Reading & Writing Files
23         Baby Milestones
                  Reading & Writing Pictures
                  Serialization
                  Two-Way Data Binding
24         Baby Name Eliminator
                  Local Databases
                  Shipping Data with Your App
25         Book Reader
                  Pagination
                  List Picker
                  Stretching List Box Items


Part IV         Pivot, Panorama, Charts & Graphs
26         TODO List
                  Pivot
                  Context Menu
                  Data Contract Attributes
27         Groceries
                  Panorama
28         Alphabet Flashcards
                  Filmstrip-Style Swiping
29         Weight Tracker
                  Charts & Graphs


Part V         Audio & Video
30         Cowbell
                  Playing Sound Effects
                  Composition Target's Rendering Event
31         Trombone
                  Sound Manipulation
                  Sound Looping
                  SoundEffectInstance
32         Local FM Radio
                  Radio Tuner
                  The NetworkInterface.InterfaceType Property
33         Subservient Cat
                  Playing Video
                  MediaElement


Part VI         Microphone
34         Bubble Blower
                  Sound Detection
                  Reversing a Slider
35         Talking Parrot
                  Microphone Audio Playback
36         Sound Recorder
                  Saving Audio Files
                  Playing Sound Backwards
                  Multi-Selection List Box


Part VII         Touch & Multi-Touch
37         Reflex Test
                  The Touch.FrameReported Event
                  Touch Points
38         Musical Robot
                  Multi-Touch
                  Tracking Individual Fingers
39         Paint
                  Ink Presenter
                  Manual Serialization and Deserialization
                  XmlSerializer
                  DataContractSerializer
                  DataContractJsonSerializer
                  Undo & Redo
40         Darts
                  Gesture Listener
                  Manipulation Events
                  Flick Gesture
                  Hit Testing with FindElementsInHostCoordinates
41         Deep Zoom Viewer
                  Pinch & Stretch Zooming Gestures
                  Double-Tap Gesture
                  MultiScaleImage
42         Jigsaw Puzzle
                  Drag Gesture
                  Image Cropping
                  WriteableBitmap
43         Spin the Bottle!
                  Rotate Gesture
                  Simulating Inertia


Part VIII         Accelerometer Tricks
44         Boxing Glove
                  Accelerometer Basics
45         Coin Toss
                  Throwing Detection
46         Noise Maker
                  Shaking Detection
47         Moo Can
                  Turning-Over Detection
                  AccelerometerHelper
                  Data Smoothing
                  Accelerometer Calibration
48         Level
                  Determining the Phone's Angle
49         Balance Test
                  2D Motion
50         Pedometer
                  Analyzing Walking Motion


Appendices
A          Lessons Index
B          XAML Reference
C          Theme Resources Reference
D          Animation Easing Reference
E          Geometry Reference
Sunday, April 10, 2011 9:31:21 PM (Pacific Standard Time, UTC-08:00)  #    Comments [21] - Trackback    
<July 2014>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
Adam's Books
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
© 2014 Adam Nathan