I wanted to see what would happen if all of the apps on the Windows Phone 7 Start screen received a tile notification, causing the flip feature to activate, at the same time.
It’s actually pretty flippy.
I wanted to see what would happen if all of the apps on the Windows Phone 7 Start screen received a tile notification, causing the flip feature to activate, at the same time.
It’s actually pretty flippy.
I didn’t plan on sharing this email with the public, but I thought it may be useful for others.
My wife is pretty computer savvy but she’s not a developer or a tech geek, so I translated a bit of the marketing speak for her.
—–
The full site for iOS5 is here: http://www.apple.com/ios/ios5/ Check out the video when you have a chance.
Here’s a few details I thought you’d like:
And best of all it will work on the iPhone 3GS – so there’s no need to feel bad that you have the iPhone 4, and I’m using the old 3GS
I mentioned I was going to shelve this project for now, but I started thinking about implmenting the same style and layout in HTML.
“Metro in HTML?!”
Yes, I said it. And its really not too far of stretch, especially when you think of the style of menus, focus on typography and the print and infographic-based design concepts. That’s very “webby”.
If you remember from the previous post, the goal was to match a Silverlight for Windows Phone page to the PSD Design Templates provided by the Windows Phone Design team. By the end of it, I was able to get very close only truly stumbling on the lack of font tracking or charcter spacing in Silverlight on the Windows Phone.
Instead of waiting for Silverlight 5 (which includes charcter spacing) to get on the Windows Phone (next year?) I thought I would try the same exercise in a technology that does in fact allow you to set font tracking – CSS.
You can see the results in action here -> Metro Line View double line in HTML.
Or check out the image below:
A few notes on the implementation:
- I started the project using the HTML5 Boilerplate is a project template. It includes a CSS rest and normalization and a load of other useful features. I expect to use it again in the future.
- There is no special CSS casing for different browsers. I wanted to serve them all the same plate and see how they would render.
- I switched to “Segoe UI” from “Segoe WP” which works much better in the browser (which makes sense, of you think about it) so there are slight chracter differences no matter how close the layout.
- Letter-spacing is tricky (especially since the fonts are not the same). It appears that in the first line item “Text” could use less space and “example” could use more. I went with a happy medium for all.
- I went the easy route and decided to use absolute positioning and pixel values since the exact heights were important. In a real implementation, I’d likely need to move to a relative solution.
Relative values especially become important when you start thinking of different screens and devices. In the photo below you can see the test page loaded in an iPhoen 3GS, iPhone 4 and Samsung Focus (WP7 NoDo).
The viewport is set to device-width and the initial scale is set to 1, the difference is the absolute values for font size and spacing mixed with the different levels dpi per screen and browser upscaling. If I were to switch over to relative values I could get much more consistant results.
This was a fun exercise, but is it the first and last time, I’ll be implementing the Metro design language in HTML?
No, I don’t think so.
I was recently working on a Windows Phone 7 application where one of the goals was to be very true to the Metro design guidelines. Like many applications we were using the trusty ListBox to show items with titles and subtitles, which all works pretty smoothly until that title starts wrapping. Then it quickly becomes apparent how much work is need to adjust the Silverlight templates to match the PSD Design Templates.
We did get very close to parity with the design templates and I thought I’d share the process for those interested in matching the native layout of the — List View double line.
If you don’t have them already download the Design Templates for Windows Phone 7. After extracting the files open the enclosed PDF which will act as a guide to the contents of the many large PSD files. Each files focuses on design and layout of different native WP7 components, not all components have a directly related Silverlight control, but its pretty simple to find something similar.
For a full walkthrough of the Design Templates check out this video screencast on the .toolbox site.
Open the “ListView_PSD.psd” file and you’ll see six different templates for the List view. The target is the view in the center of the top row — Double Line.
In order to create a lightweight image to use for comparison, I quickly grabbed and flattened the target.
Now the goal is just to create the matching XAML and templates which can be reused within real applications. Thankfully Expression Blend has a project template that gets us more than halfway there.
And right away, MainPage is loaded with a ListBox which includes some runtime and designtime data and a similiar data. The image to the right is an overlay of our target and current layout.
In order to use the target as a guide it will be much easier if the text is the same.
To avoid all the typing, you can download the edited files here.
Even though our focus is the ListBox, layout starts at the top of the page so we need to get that right first.
Now other than the tracking of -10 on the PageTitle we’re set. Unfortunately adjusting font tracking in Silverlight 4 is not possible, but it is planned for Silverlight 5!
Now that the header is looking good its time to address the list items. We’ll do this first by adjusting the position of the ListBox which acts the origin for all items.
The first list item looks good now, other than the aforementioned tracking issue.
Although the text is now lining up properly for the first and second items, you may notice that the subtitle of the second item is breaking when it shouldn’t.
The StackPanel used as the container element for the ItemTemplate is not wide enough, although looking at the default width of 432 it matches the redlines in the target.
480 device width minus 24 pixels on each side equals 432, so where’s the disconnect? Its in the default styling of the title text box and in the visual vs hit target. Setting the background of the StackPanel to red highlights the answer. The StackPanel is 9 pixels away from the edge and not 24 as it appears to be.
We need to increase the width to account for this, as well as address the TextBlock spacing for the subtitle
And now for the final feat and the most advanced bit of trickery, adjusting the template to accommodate for the wrapping behavior. In Silverlight we do have control over Line Height but you must first change the lesser known LineStackingStartegy property.
To explain the previous steps, after setting the LineStackingStrategy for the title, we found a height that matched the target and then adjusted the margins accordingly. Then realizing that the MinHeight value is not going to work for the wrapped title items we shifted to adding a margin bottom to the subtitle.
Although it takes a little extra fine-tuning you can see that it is possible to get pretty close to the Metro design templates for your WP7 apps.
The one big thing missing is font tracking, but that will show up in Silverlight 5 as a Character Spacing property on text controls. Since the upcoming WP7 “Mango” release will bring the phoen up to Silverlight 4, I’m guessing I’ll revisit this post summer 2012 around when Silverlight 5 makes it to the phone. Then we can finally rest and reproduce a perfect match.
Until then, this little project is going on the shelf.
You can download the final source code here.
After looking at a few of the avatars of people I follow on twitter, I noticed a few of the common patterns for avatars and captured them in a grid, organized by columns.
The trends, as I found them:
Certainly not scientific, maybe not even interesting information, but the bits can be used for others things, such as a never ending photo mosaic.
Originally, I was researching avatars after watching the TED video Ron Gutman: The hidden power of smiling. As the title suggests, Ron let’s loose the secret power of the smile. If Ron is right: Nishant and Kelly you’re going to be happy and successfully for years to come, Shawn – it’s not looking so good.
I opened a PSD file today which contained a WP7 panorama design and this is what I saw:
Metro, the design language for Windows Phone 7 is all about the grid. At least that’s where you start; then you break the rules to help enforce brand and the intent of your app.
If you’re involved with Windows Phone 7 app design and you haven’t already watched Megan Donahue’s MIX11 talk Advanced Application Design, watch it now. It takes a step beyond, “what is Metro” and moves to “how do I apply it and make something memorable”.
Then once you’ve watched that, check out Ward Bell’s talk All Thumbs: Redesigning an Existing UI to Suit Windows Phone 7. Ward takes the concepts and inspiration designs from Metro and applies a business application perspective. Its all about “Jetro” and its more about experience design than i think Ward even knows.
I’ve always been a big fan of the Mono monkey logo, so when I received a notice about the MonoGame logo contest from ChrisNTR I was inspired.
In a short bit of time, this came out:

My idea was to build off the existing Mono logo and a little bit of game playing energy. I wanted the monkey to appear in motion as if playing a “monkey-ish” game, but I also wanted a strong focus on his hands and thumbs which are often a big part of our “human” games.
While the motion itself can portray the idea of portability, it could also be interpreted as if the monkey is about to pick up the text and carry it somewhere else (perhaps yet another platform, even).
And the nice thing is starting off with a base shape, its pretty easy to add extra chrome for special events. Here’s the logo trying to blend in with the current Mono logo.

Now to take a look at the actual MonoGame project:
MonoGame is a free OpenGL implementation of the XNA Framework for MonoTouch, MonoDroid, Mac OS X & now Windows. Our goal is to allow XNA developers on Windows & Windows Phone 7 to port of their games to the iPhone / iPod / Android / Mac OS X (visa versa), with minimal hassle.
Oh nice, I like the sound of that. This calls for more reading, less drawing…
Throwing Stars is a new HTML5 game where the goal is to throw a star across the sky and collect all of the sparkling tokens before you run out of stars. Of course it’d be too easy if there were just tokens out there – watch out for walls, planets that will try and get in your way or black holes looking to swallow your star .
We, at Pixel Lab, were given the chance to work together with Ze Frank’s star.me team to build this game as a way for people to win an invite to the new star.me site. It was a fast and furious project, but we were inspired by the site’s whimsical feel and we had a hard deadline to make it to the star.me and IE9 launch at SxSW.
Here’s a few of the tools that helped us out:
One more thing to point out, we also enjoyed the much acclaimed openess of it being another HTML5 game. We were able to use Mac or Windows for development, with everything safely stored on github. And the game runs on multiple browsers, OSs and devices. Of course its not perfect across the board yet, but its exciting to see the potential.
I’m looking forward to our next HTML5 project, which I believe starts right now…
One of the interesting features that you find with Windows Phone 7 devices is the addition of the Back and Search buttons to the Home button area.

My first impression of this choice was not a good one. Users would need to learn to depend on the Home row buttons and wouldn’t see any buttons within the bounds of the current app itself. And depending on the specific device, the hardware buttons may be pressed accidentally which could cause confusion for the user.
It appears I was not crazy as both of the issues came to light in public forums after release.
It is a new concept and users need to be helped to see how it works and to start depending on it. The good news is that the whole OS works this way so it shouldn’t take too long before the design feels right to the user. After using the device myself for awhile, it actually becomes a nice familiar safety button I can use to get of different screens.
The only time I seem to trip on it still is when I back out of the app on accident. This normally happens when I press the button too many times in a row or when i forget what the Home screen of the app looks like.
But App developers will prevail in this world of Back button singularity!
Here’s how the Facebook app deals with the Home screen/Back button/kill my app issue.
They’ve added a warning dialog, that can be turned off when the user feels comfortable with the behavior.
Although the accidentally backing out of the Home screen is the most destructive because it kills the app, which means you then have to sit through the app loading again which on WP7 is almost always noticable (can’t wait for the update!), cancelling a screen can still be an issue.
Users are used to the seeing a cancel or Back button and some app developers still add them into their screens. This may go away eventually, but at this point most 3rd party app developers don’t feel like footing the education bill. You’ll notice that even in the Outlook New Mail screen there is an “X” button to cancel the New Mail creation.
Overall the important part when designing your WP7 apps is to remember the Back button guidance so your app behaves like users expect:
Finally only break the guidance when you feel like you really need to, and then hope you still make it through the submission process. ←
Less than a month to go for the big MIX11 conference and the buffet of sessions and events looks tasty and they haven’t even released the official sessions yet. Presently you can peruse the site and find the Boot Camps, UX Lightning Talks (hooray!), R&D sessions, Open Source Fest and the Open Call talks.
This will be my first time attending MIX not as a Microsoft employee and I’m looking forward to waiting in the registration line, avoiding the glare form Ward’s shirt, huddling in awe after Robby’s talk and getting my MIX11 grocery bag.
For more tips on attending MIX, I’d forward you to @TommyLee‘s Field Guide to MIX but it appears to be a 404 now. If you’re interested keep an eye on his twitter account. I’m sure once SxSW is over he’ll start talking about MIX again.
Another good source of the haps at MIX is the official Countdown to MIX11 show.
Now on to this Boot Camp business…
The above sketch is a preview of the app the Grant Hinkson and I are working on for the Windows Phone 7 Boot Camp for MIX11.
Here’s the official blurb:
In this workshop you’ll see a complete Windows Phone app built from the ground up. We’ll walk from File > New Project all the way through app submission in the marketplace. You’ll learn all the tips and tricks required to make your app feel like a native app, from smooth page transitions to highly performant progress bars. You’ll leave with a fully functional app that you can start customizing with your own data and submit to the marketplace for instant global reach.
Grant and I are both programmer nerds who are also nerdy about design, so we’ll be presenting a pragmatic and design attentive way to build an app for Windows Phone 7.
- How easy is it to build a Windows Phone 7 app?
- How do you make an app feel native, but stand out enough to be memorable?
- What kind of development decisions are needed to work well with the environment?
- What is the submission and update process like?
We’re really looking forward to the Boot Camp and we hope to see you there. If you haven’t registered already for MIX, do it now, before its too late- MIX11 Registration.
I hope to see you there, if not in the Boot Camp, at least in a hallway or two.
And now a parting gift…