ColorViz for WP7 Mango, Beta 1

The first beta of ColorViz for Windows Phone 7 Mango is available as a zipped xap file.

ColorViz is an augmented reality application that helps red/green colorblind people distinguish colors in the environment around them. It does this two ways: 1) by providing RGB values (and in the future, color names), and 2) by applying some processing live video with some algorithms I wrote.

I hope to integrate more features very soon, but the app is totally useful as-is. I use it daily to help me with colors.

Feedback is always appreciated, especially from my colorblind brothers!

System Requirements:

  • A Windows Phone running the latest developer build of Mango.
  • The ability to sideload xap files.

Known issues:

  • Normal mode does not automatically resume after you switch out of the app. Temporary workaround is to tap the “Normal” button. Sorry, I’ve only been programming WP7 for a week and I’ve been learning as I’m going.
  • Framerates are okay, but could be better. I’m hoping that WP7 has something similar to Core Video on iOS and that I can offload more of the image processing onto the GPU.
  • I’ve only been able to test it on a single HTC Surround. It may cause your Samsung Focus to blow up. Let me know.

My thoughts after a few days with a Windows Phone 7 Mango device.

Note: This was hastily thrown together because people have been asking me. I’m sure I’ll be making minor additions and corrections, so check back at the top of this article for a change log.

8/10/2011 0815 – I’m told that other people can copy & paste in email. I don’t know what’s different, but I can’t. I can create a new email and paste contents from another app into it, but I cannot copy text from an email I’ve received. My touchscreen is working fine. Maybe it’s a Mango bug with the HTC Surround?


I’m finally getting to the point where I am noticing annoyances in WP7, so I thought this would be a good time to do an initial blurb about WP7. This isn’t a walk-through. I probably won’t go over stuff that’s been thoroughly covered elsewhere.

As I’ve mentioned before, I’m a fairly die-hard iPhone user. I bought the original iPhone on the first day it was available, and every model since. I’m currently using an iPhone 4 with iOS 5.0 Beta 5 on it. Also, I regular use many different Android devices of all different shades.

I’ve been pretty dismissive of Windows Phone 7, considering it a re-skinning of the usability horrors of the Windows Mobile days. I’m told that Windows Phone was really lacking before Mango.

I’ve only ever seen two WP7 phones in the wild (And they belonged to @shanselman and @timgreenfield) and both were in the same room. I’ve shown my ColorViz app to several people, technical and non-technical alike and none of them seem to have heard of or seen a Windows Phone (but at least they ooh and aah when I show them around).

The only plus in my mind, is that I knew the developer tools were outstanding. I have experience in developing iOS and Android — and now WP7 apps, and I find developing for WP7 more fun without as much hoop-jumping. The development tools are awesome.

For the past few days, I’ve been borrowing an HTC Surround for a week or so in order to develop and test ColorViz as well as some other WP7 apps. I was able to get a WP7 developer account free through the DreamSpark program, so I updated the Surround with the latest developer build of Windows Phone 7 Mango. I’ve only spent a few minutes with versions prior to Mango.

The Hardware:

I’m not going to go into too much about the hardware. It’s an old, beat up, scratched HTC Surround device, which I’m told was released in late 2010. The casing creaks when I handle it.The reception is spotty, but I suspect this is due to the phone having been used as a hockey puck.

It’s oddly-designed: it’s a slider, but it’s not a keyboard that slides out, it’s a useless speaker. WTF? Actually, it’s bad, but not that bad.

I just wanted to briefly describe the hardware, for when I talk about performance later.

The Metro User Experience:

Metro is what Microsoft calls the user interface. You can read more about Metro in this PDF, published by Microsoft.

It’s great. I think there are many things WP7 is doing better than the iPhone and Android, especially when presenting information to the user. I finally see what Microsoft was attempting to get across in those terrible “Don’t use your phone” commercials on TV. It’s not about not using your phone, it’s about getting to your information more quick and easily.

I kinda hate to post static screenshots of WP7 because it doesn’t do the interface justice. WP7 is highly oriented towards dynamic at-a-glance information and everything is animated.

Performance is outstanding throughout. The touch and scroll physics are excellent and very close to iOS. I never seem to get any stutters or notice any performance issues. I’ve noticed far more stutters in my day to day use of the iPhone, but that might be due to iOS 5’s beta status.¬† This piece of crap Surround seems to have a smoother perceived performance, but then again, I’m comparing two beta OSes in different stages of development, YMMV.

When you hit the power button, here’s what you see:

Hey! Why do you have pictures of my wife and kids on your phone?! Just kidding.

At the very top of the screen, you have the usual cell bars, data mode, battery indicator, and a crooked Wi-Fi icon.

Right under that, I have audio controls for a podcast or song I’m currently listening to. If you’re not listening to anything, that doesn’t clutter the screen. It’s very nice, and I prefer it over the iPhone double-tap the home button method.

Under that, you’ve got the date & time, and your next appointment. At the very bottom, you have little icons if you’ve got new emails, text messages, and so on.

To unlock the screen, you slide the page up, and come to the Start screen, mine’s green today, but I switch colors daily:

The Start screen is composed of many tiles. Tiles were the most confusing thing for me, as I initially became familiar with WP7.

Tiles are basically app widgets. The calendar app has a tile. The Facebook and Twitter apps each have their own tiles, and so on. You can also pin a tile for a contact — note the tile for my wife Sarah, above. The tile animates between her name and a photo of her. It’s pretty slick.

You can add, remove, or reposition tiles however you want. You can add any number of tiles you want and you scroll vertically to see them:

If anybody ever sent me messages on Twitter or Facebook, there would be numbers on the icons above. Outlook also would have a new message count. The Pictures tile is a dynamic slideshow, similar to what you’d see on the Apple TV or Mac OS X slideshow screensaver.


The Me icon on the Start page is all about you. It elegantly notifies you about the latest activity regarding you in your social networks (which seems to include Twitter, Facebook, LinkedIn and Live [who cares about Live?]). I don’t know if this is extensible to app developers so that they can add functionality to this list, such as Google+. Tap on the Me tile, and it takes you to the following:

The profile page shows your basic profile and most recent activity — and allows you to post an update to one or all of your social networks. Swipe left across the page to the notifications page:

The notifications page shows you all the recent mentions, messages, and activity regarding you in your social networks. Swipe once again, and you’re taken to the what’s new page:

The what’s new page shows all of your recent activity. What you’ve tweeted, posted, and so on. I don’t find myself using this page so much.


The inverse of the Me tile and app is the People tile and app. The People app integrates your social networks and your phone contacts rather elegantly, unlike Apple’s non-integration, and HTC’s crappy Android implementation.

The people page displays your profile picture, I’m not sure why. But right under that are customizable groups of people that you create. I created Family and Work groups, and assigned contacts to each. And under groups are all your phone and social network contacts.

When I tap on a group, I am taken to a group page. This group page is a subset of social network activities, photos, and updates from the people in this particular group. I think it’s extremely well-designed and intuitive. A whole different, more immersive experience from what you get on Android or iOS.


Apps are generally launched by tapping the little arrow icon on the right side of the Start screen. This takes you to a rather unattractive list of apps:

It’s not much worse than the boring grids of app icons prevalent in iOS and Android, and I don’t have any better ideas, so it goes. If you have a lot of apps, you can use the search button:

Ok, so I threw in that last screenshot more to show you what the on-screen keyboard looks like. It obviously drew much inspiration from the iPhone’s and it works much the same. It works better than Android’s and as well as iOS’s. When you’re typing out an essay, it does offer quick tap word suggestions right above the keyboard ala Android, which is very handy.

Available Apps

I wish smartphone companies would stop bragging about the number of apps in their app stores. It doesn’t really matter. Google and Microsoft are playing right into Apple’s game with this when they should be focusing on the fact that all three platforms basically have all of the apps most people want.

List the apps you really care about that you use regularly. Not that many of them, I bet.

Fortunately, most of these apps are available on Windows Phone 7 now. I currently have Facebook, Twitter, Evernote, Amazon Mobile, Amazon Kindle, (an unofficial) Google Voice client, WordPress and Bejeweled installed, as well as the prerequisite flashlight and fart apps. Angry Birds, Plant Vs. Zombies and so on are also there, and they seem to perform as well as they do on the iPhone 4.

The Browser

I’m no fan of Internet Explorer in any form. I question why Microsoft isn’t using WebKit like every other smartphone vendor and every web app outfit already supports. Instead they’re using their own custom job and web application developers must specifically support the WP7 browser, which seems unlikely given WP7’s miniscule market share.

Fortunately, if you manually type in the iPhone-specific URL for many places, IE renders it beautifully. Here’s the WebKit version of Google Reader, which works perfectly, for example:

However, this trick doesn’t work everywhere, even across Google apps. The WebKit version of the Google+ web app just switches you back to the boring, PalmOS-like xhtml site.

Hopefully, WP7 support will improve, or Microsoft will enable you to spoof user agents for sites in IE (or maybe I should code up a custom browser to do so?).

Look & Feel

I really like the look and feel of WP7. Everything is simple and clean and readable. With this simpleness, I sometimes wonder if I’ll get sick of looking at it. But, I’d definitely take Microsoft locking down what an OEM can molest, over what vendors like HTC, Motorola, and Samsung have done to Android, which leaves me feeling like a 16 year old converting his base model Kia sedan into his high school’s wannabe racing sensation.

Gripes so far (I’ll have more, I assure you)

– Audio volume. There is one volume control for every sound system wide; from the ringer, to text notifications, to alarms, to listening to music, to on-screen keyboard taps. Totally annoying. Copy the iPhone or Android. Do whatever, just fix it.

– When/where you can copy/paste is pretty hit or miss. I can’t copy text from an email, for example. There doesn’t seem to be any logic to this, and if there is a logic to it, it’s not intuitive to me.

РThe On-screen keyboard: no haptic (vibratory) feedback. Instead you (and those around you) have to rely on loud click and pop sounds for feedback (tied to system volume). Personally, I prefer no audio feedback and brief haptic feedback when typing  ala Android.

Today’s Closing Thoughts

I don’t want to give the phone back. It’s a pleasure to use (albeit with a couple major gripes) and develop on (I don’t find developing on iOS and Android fun at all).

When I compare iPhone and Android. It’s not about the big things, they both have that. It’s about the little things, the small details & nuances. The iPhone & WP7 wins at that. Android? Not so much.

I’m really big on at-a-glance features, and WP7 clearly hands iOS its ass in this area. Customizable tiles vs. this ugly atrocity from iOS 5?!:

No contest.

In many other areas, iOS serves quite the ass-whoppin’, but it’s clear to me that Microsoft is on the right course and may actually be a real competitor again with Mango. I kind of don’t want to give the phone back at this point.

WP7 particularly shames Android. It’s much faster than Android on the same exact hardware. It’s also prettier. Sure, you can customize the look of Android in and out, but it still always leaves me with that “Racing spoiler on a Kia” taste.

You’ll either love WP7 or you’ll hate it, but you won’t really know until you play with it in person.

Stay tuned. I have the phone for a couple more days and I’ll post more rants and raves. Questions, comments, requests? Shoot me an email, tweet, or comment and I’ll get back to you ASAP.

Things in Windows Phone Mango That Bug Me

*Work in progress, check back for more as I spend some time with WP7*

Note: This perspective comes from a long-time iPhone user dogfooding Windows Phone Mango build 7712 on an old, beat-up refurbished HTC Surround for a week. This should not be taken as am “I Hate WP7” post.

I don’t think I’m ready to switch from an iPhone as my main device, but I’ve been very impressed with WP7 and I think that there are many things WP7 is doing a lot better than iOS.

1. On-screen keyboard sounds: For a better typing experience, WP7’s OSK provides audio feedback for each key tap. However, there are no independent volume controls for this, so if your system volume is is set to medium-high, the keyboard taps become quite loud and distracting to those around you.

In contrast, when you’re on an iPhone, the keyboard clicks stay at a more reasonable volume level, no matter the system sound volume level.

I’d also like to see the option to enable vibration haptic feedback for key presses. Android has this option and it works well — especially in environments where clicking sounds are going to draw glares from those around you.

2. Everyone seems to despise Windows Phone. I spent some time with WP7 devices both at an AT&T Wireless corporate store, and a Best Buy. Both places, the sales people spoke of the WP7 devices with disdain and tried to steer me to an Android device.

When I show the WP7 version of ColorViz to people, I almost always get “Coool!” and then the question “Why the hell are you developing this on WP7? WP7 sucks!” as if I had just thrown an empty Big Mac wrapper on George Washington’s grave. This is a huge image/PR issue for the WP7 product team and I don’t know how to fix it.

I’m not sure if the animosity is towards Microsoft, WP7’s Windows Mobile roots or what. After using the device, it’s pretty clear this is not your grandpa’s dad’s Windows Mobile 6 phone. The interface is modern, unclunky, and at least as responsive as iOS 5 on an iPhone 4.

3. The alarm app volume. Like many others, I don’t use the alarm clock on my nightstand, I use my mobile phone to wake me up.

What bugs me about the alarm app is that it seems to use the system volume level for the alarm. This should be a separate volume control. I normally keep my system volume level low, so when I’m getting notifications, I’m not bothering my office mates with sounds.

To it’s credit, the alarm app still sounds when the phone is placed in vibrate mode.