Mobile Breathalyzer - Another Free Windows Phone App

January 19 2011

Got another (free) Windows Phone App in the marketplace:

 The Mobile Breathalyzer

Using revolutionary technology in Windows Phone 7, the Mobile Breathalyzer allows you to determine your blood alcohol content using your phone. Um, yeah, right. Download this joke app and then have your drunk friends try it. Watch them blow into the phone, expecting a result. Good times!

Give it a try! Thanks to @systim for doing the design. Good old designer/developer workflow on this one -- Blend/VS did the trick.


Using The Nonlinear Navigation Service To Solve Back Button Problems With Window Phone 7 Apps

January 10 2011

Started using the NonlinearNavigationService to solve some issues in my app where the back button threw my app into a loop and the user could never back out of the app to close it. Which made the app fail certification incidentally. (Because you manually can't prune the navigation history, this is really the best workaround to avoid this type of loop.) This service works great -- just add the dll and you are good to go -- except it doesn't work with the Page Transition Service from the Silverlight Toolkit.  That's too bad, but hopefully someone out there will address that! If anyone does, let me know...

Music Buzz - A Free Windows Phone 7 Application For Discovering Music and News About Your Favorite Bands

January 7 2011

I've taken Buzz off the Marketplace and replaced it with Music Buzz, which is the same thing, but free!  The ecomonics of the app store are worth noting: Buzz, priced at 99 cents, received 5 downloads in two months. Music Buzz has already been downloaded 1000 times in the last two weeks! 

Here's a description of the app:

Find music, news and more about the bands you love. You'll be amazed at the latest buzz and music (remixes, bootlegs and more) that the Music Buzz application will discover.  Please give it a try!

Here's a screenshot:



Eschewing NavigationService Model in favor of RootVisual Model

January 7 2011

When developing Windows Phone 7 apps, one is inclined toward the navigation model for moving between pages.  But it is worth calling out that there is a different way to proceed, which is to simply load your new page in the root visual, as follows:

App.Current.RootVisual = new Screen4();

This has the advantage and disadvantage of entirely bypassing the navigation framework, which means that the back button always exits your app. I say this is an advantage because for certain applications, that's the very behavior you seek, and you can find yourself getting into a lot of trouble with the navigtation history problems, which can cause your app to end up in a loop and not be able to be exited (since there is no App.Exit() method for Windows Phone 7 - see this blog post for the reasoning).  I say disadvantage because you lose the ability to do navigation transitions, as explained in this post.

Nonetheless, it is worth considering up front when you start an application as to whether you should use the NavigationService model or the RootVisual model.

IRhetoric Ported to BlogEngine 2.0

January 6 2011

Hat's off to the BlogEngine.NET folks on their 2.0 release.  A great release it is!  I've ported this blog to the 2.0 release. Everything went pretty smooth. The only issue I had was that I had to rem out the following line in web.config:

<!--<add name="ScriptModule"type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->


I suspect because my provider includes that already in their web.config, which gets inherited by my web.config.

I LOVE the new admin interface in BlogEngine.NET 2.0. Fantastic work.  Check out the video here to see it in action.  The comment moderation and capabilities are super strong. And I like how they baked in code formatting using the defacto standard of Syntax Highlighter.

Lastly, I'm really impressed with how they integrated the HTML5 audio/video tags with a super smooth fallback to Flash/Silverlight. You can see that in action below:

WebException on an HTC Windows Phone 7

December 9 2010

So, had this issue where HTTPWebRequest was throwing a WebException on a production HTC HD7 device – the error was "The remote server returned an error: NotFound."  However, the browser itself worked fine. What was really weird was that these same HTTPWebRequest calls work fine in the emulator and Samsung devices. I was totally flummoxed.

Turns out that there were a few misleading things to solve this bug.

First, was that all Web Request errors are mapped to a 404. So the real error could be (and was) different. In fact, the error from the server was a 500. The reason? The call to the server was the start of an OAuth handshake which involved sending a timestamp. Apparently, HTC phones with no SIM card don’t set the date or time correctly, and thus the DateTime.UtcNow was returning something totally bogus, and the server was rejecting the call.

The fix was to add a dialog to the app in the event that the time hasn’t been properly set.

One suggestion for debugging these types of HTTP failures is by setting the WiFi proxy on the phone to your machine’s IP, then using Fiddler2, and enabling the “Remote connections” option under Fiddler’s options.

SFMusicTech Notes

December 9 2010

I attended SFMusicTech, a conference in San Francisco that “brings together visionaries in the music/technology space, along with the best and brightest developers, entrepreneurs, investors, service providers, journalists, musicians and organizations who work with them at the convergence of culture and commerce. We meet to discuss the evolving music/business/technology ecosystem in a proactive, conducive to dealmaking environment.”

It’s a great conference to stay on top of what’s happening and see the trends in Silicon Valley through the lens of music.

Here’s a braindump of my notes:

Panel: Cutting Edge Legal Issues in Digital Music

· Apple’s clout: just recently forced music companies to support 90 second preview instead of 30 second. Don’t underestimate Apple’s power

· Pandora special cased from legal perspective

· Commerce a huge play for Facebook

· Terms of Service of a website can trump copyright law, other legal matters; beware of TOS!

· How would you change copyright law if you could wave magic wand? Make it 7 years instead of 75.

· Forgiveness model: but use up front with assumption that you are solid

· YouTube getting sued right now

· Look at Grokster as case where forgiveness model would never work

· TorrentFinder DNS shut down by immigration dept since server abroad

· COICA – law to allow feds to kill DNS inside states, probably won’t hit senate this year, maybe next year

Panel: Connected Devices

· Dropbox: great service

· Digital Fingerprinting: will be used to grab metadata while watching a movie or listening to a song

· Is it “one device to rule them all” or multiple devices?

· Android on the TV: Google TV

· Are we back to Mac vs. PC when looking at iOS vs. Android?

· Bluetooth: great example of even when there’s a standard, implementation can take years to sort out

· Finding apps is still an issue (GetJar, AppBrain: alternate stores for Android)

· Content: middle dropping out – its either Universal or indies, but the middle folks getting squeezed

New Product And Technology Demos

· Vocooo – karoke for mp3, very slick iOS implementation

· WinAmp for Android – equivalent to iTunes to iOS, allows management of library from pc to device, plus shoutcast integration

· AudioGalaxy – Redone, uses local exe to sync files, playlists. Works on Mac now

· – Chrome plugin, plus website integration with v2

· StageIt – webcam conferences, can tip musician, people making money with this doing shows

· RJDJ – Augmented sound, Bruce Sterling cred, Did app with Christopher Nolan and Hans Zimmer

· BeatLab – Like a poor man’s sequencer on the web, used audio manipulation in Flash 10

· Musixmatch – Lyrics API

Panel: Developer Platforms

· Twillio – great example of app gallery

· Imeem died, dev moved to Soundcloud

· Still can make huge money on Facebook platform: look at Phrases – 58 million users

· Don’t use APIs that are core to product; only ancillary features and functions

· Shout out to Gowalla as better than Fourquare in terms of aesthetics of API

Buzz For Windows Phone 7

November 23 2010

99[Update -- Buzz has been retired in favor of Music Buzz, which is the same app, but free!] 


Check out Buzz for Windows Phone 7. Find the buzz about the bands you love. You'll be amazed at the latest news, blogs, videos and music (remixes, bootlegs and more) that the Buzz application will find. 99 cents but it is worth it. Found stuff I wouldn’t have otherwise.

Here’s some screenshots:



Ten Tips To Make Your Windows Phone 7 More User Friendly

November 23 2010

I’ve now been using my Windows Phone 7 as my main phone device. And I’m definitely liking it. Out of the box, it is pretty darned intuitive and user friendly. But now, having used it for awhile, I’ve done some things to make it that much better.  Here’s what I’ve done:

  1. Change the lock screen to a black background. When using a phone I like to quickly glance at the screen to see if there are any new messages, etc.  And often just to see the time. I found using a photo on my lock screen to be too busy for this purpose.  They offer the use of a color lock screen, but they don’t offer black, which I think provides optimum readability since the lock screen text is always in white. So, I took a picture of a black sofa and then used that as my lock screen photo.
  2. Rearrange default tiles.  After using the phone for awhile, I determined which apps I kept returning to and rearranged my tiles based on usage. I still use my phone primarily to make calls, text message and use the calendar.  So here are the tiles that I have front and center on my phone
    1. Phone – After all, it is a phone!
    2. Messaging – Fastest way to text messages.
    3. Settings – When I’m out and about, I like to hook into wireless networks, so I find myself going to settings a lot to hook into wireless networks.  Plus, as I keep messing with the phone itself to get it the way I want it, I find myself in settings a lot. As such, I added the settings tile.
    4. Music – Now that I am using the phone as a Zune and plugging the 8th inch adapter into my home stereo and car, I find myself in the music section a lot.
    5. Calendar – At this point, I’ve been using my cellphone as a calendar for years, so it makes sense to have the calendar tile on there.
    6. Photos – Same with photos. Our phones are our cameras these days.

      (Note to Windows Phone team if you read this: I wish I could configure what images appear in the photos and music tile instead of it being hidden from me.)

      So, those six items each up all my space.  Below the fold on the home screen I am putting apps as I try them out.
  3. Change theme from dark to light. I really find reading white text on a a black background hard on the eyes after awhile. Thus, I changed the theme. Much better reading black text on a white background.
  4. Sync my phone over wireless. This is a really cool feature!  No more plugging the phone into a PC. Here’s how to do it: Note that you have to have a password protected wireless network for this to work. And, hey, all you iPhone users out there: this is a feature that isn’t on the iPhone!
  5. Manage my contacts/calendar via Outlook. See this post for more:
  6. Turn off location. Call me paranoid, but I don’t like location turned on with my phone.  See for more on why. What’s nice is that you can turn it off but still install apps that “think” they need it. For example, the official Twitter app says it is going to use your location when you try to install it, but you can still install it with location turned off.
  7. Change ringtone.  I liked 04 Silk.
  8. Turn off vibrate. Don’t like things vibrating in my pocket.
  9. Use speech recognition for search. The quality is really there! 
  10. Tilt phone to landscape mode when typing. It really makes the keyboard much more usable.

Missing ActiveSync? How To Sync and Import Contacts Into Windows Phone 7 From Outlook Using Windows Live Hotmail As A Bridge

November 16 2010

I am a long time user of Windows Mobile and I sync all my contacts and calendar appointments using ActiveSync with Outlook on my home PC.  These are all my personal contacts and personal appointments. It is a version of Outlook that is not connected to an Exchange server and is not tied to work.  Over the years this has been a rock solid back up for my contacts and appointments and, as I have moved from phone to phone, ActiveSync has always been perfect for getting all these contacts on to a new device.

So, when I got a Windows Phone 7, I needed to get all my contacts (phone numbers, etc.) and appointments on to the device.  But Windows Phone 7 doesn’t support ActiveSync. So what to do?

[UPDATED 11/18/2010 -- Another way to do this is using the Microsoft Office Outlook Hotmail Connector. That doesn't exactly sync your contacts/calendar, but allows you to drag and drop items from one place to the other.]

My initial searches for this on the web were suggesting that Google was the answer. But I didn’t want to use Google to sync my contacts and appointments.

The solution I found was to use Hotmail/Windows Live.  I was able to export my contacts and appointments out of Outlook and put them into Hotmail/Windows Live and then sync them to the device. Here’s how:


Step 1 – Export To .CSV

Getting your contacts out of Outlook 2003 or Outlook 2007 and into a .cvs works as follows:

  1. In Outlook, on the File menu, click Import and Export.
  2. Click Export to a file, and then click Next.
  3. Click Comma Separated Values (Windows), and then click Next.
  4. In the folder list, click the Contacts folder, and then click Next.
  5. Browse to the folder where you want to save the contacts as a .csv file.
  6. Type a name for the exported file, and then click OK.
  7. Click Next.
  8. Click Finish.

In Outlook 2010, it is a little more buried:

  1. Click the File tab.
  2. Click Options.
  3. Click Advanced.

Advanced command in the Outlook Options dialog box

  1. Under Export, click Export.

Export command in the Backstage view

  1. In the Import and Export Wizard, click Export to a file, and then click Next.
  2. Under Create a file of type, click the type of export that you want, and then click Next. The most common is Comma Separated Values (Windows), also known as a CSV file.

Step 2 – Import to Windows Live Hotmail

  1. Sign into Windows Live Hotmail.
  2. Click Contacts.
  3. Click Manage/Import
  4. Navigate to the .csv

You’re done!  To force your Windows phone to sync, go to settings, Email and Accounts and then press and hold the Windows Live account. It will display an option to Sync.


Unfortunately, Hotmail doesn’t allow you to do a bulk import of appointments.  Fortunately, I only had a smattering of appointments that I wanted to get copied on to my Windows Phone 7, so it wasn’t too painful to export each one individually and then import it into the Hotmail/Windows Live calendar.

Step 1 Export To .ICS

  1. Open the appointment that you want to export.
  2. Click “Save As” and make sure you are saving in the iCalendar format


Step 2 Import to Windows Live Hotmail

  1. Sign into Window Live Hotmail
  2. Click Calendar
  3. Click Subscribe (which turns out to be Subscribe/Import”)
  4. Change the radio button to Import. Also be sure to change the radio button to import into an existing calendar. One gotcha to watch out for is that, when you import an appointment into the Hotmail/Windows Live calendar, it tries to create a new calendar very annoying. You have to manually change the dropdown to your default calendar:


Unfortunately you’ll have to do this for each appointment you want to get into your Windows Phone.

Again, to force your Windows phone to sync, go to settings, Email and Accounts and then press and hold the Windows Live account. It will display an option to Sync.