I’ve been accepted as a Microsoft Regional Director

I’m happy to have accepted the prestigious Microsoft Regional Director award in February, 2011.

The Regional Director program is an award that is given to outstanding community members, who support the Microsoft Stack. You may have heard of the MVP program? The Microsoft Most Valuable Professional’s are awarded based on a specific technology. I’ve been an ASP.net MVP since 2003, and continue that award through the time of this posting in 2011. The Regional Director award is given to members of the community that have tremendous reach across multiple technologies. It’s important to understand, I don’t work for Microsoft as an employee, and that this is simply an award that I have been given.

To put the award into perspective, there are (I’m guessing here) around 6000 Elite Technology MVP’s worldwide. There are only (again I’m guessing) around 250 regional directors from around the globe.

I’m honored to become a part of such a strategic and influential group of people. Regional Directors have been around for many many years, and now I’m the new kid on the block. While I do know many (err most) of the Regional Directors, I’m excited to meet and build a relationship with the others on the team that I don’t already know. Especially the international members.

Thank you to everyone that had a hand in making this happen. I won’t let you down.

@scottcate (on twitter)

Windows Phone 7 App Rejected–Crashes when Offline

I wrote an application for the Windows Phone Marketplace, and it was rejected. I use the internal WebBrowser control, and I never tested it without the internet connection. Here is the hard part – the Emulator is always connected, there isn’t a way to turn it’s internet connection off (that I know of).

So I tested it on my phone, in airplane mode, and sure enough, it crashes.

Here is some code from MSDN that I was able to use to do some checking if there was internet access.

Windows Phone: Working with MediaLibrary.GetPictureFromToken

I struggled with this for a while, so I thought I would throw up a post, to help out people running into this is in the future.

From MSDN: Here is the code sample you’re lead to, to use the Extras item in the photo hub.

Add the Extras.xml file …

   1: <?xml version=1.0 encoding=utf-8 ?>

   2: <Extras>

   3:   <PhotosExtrasApplication>

   4:     <Enabled>true</Enabled>

   5:   </PhotosExtrasApplication>

   6: </Extras>

and then use the OnNavigatedTo method.

   1: protected override void OnNavigatedTo(NavigationEventArgs e)

   2: {

   3:     //Gets a dictionary of query string keys and values

   4:     IDictionary<string, string> queryStrings = this.NavigationContext.QueryString;

   5:  

   6:  

   7:     //This code ensures that there is at least one key in the query string, and check if the "token" key is present.

   8:     if (queryStrings.ContainsKey("token"))

   9:     {

  10:         

  11:         //This code retrieves the picture from the local Zune Media Database using the token passed to the application.

  12:         MediaLibrary library = new MediaLibrary();

  13:         Picture picture = library.GetPictureFromToken(queryStrings["token"]);

  14:  

  15:         //Creates WriteableBitmap object and adds to the Image control Source property.

  16:         BitmapImage bitmap = new BitmapImage();

  17:         bitmap.SetSource(picture.GetImage());

  18:         WriteableBitmap picLibraryImage = new WriteableBitmap(bitmap);

  19:         retrievePic.Source = picLibraryImage;

  20:     }

  21: }

The problem is …. well there are a couple problems.

When you run this code (or when I ran it), I was getting an “An Unknown Exception has Occurred” error. Great – thanks for that. Inner Exception was null, so no help there. The error was happening on line 13, where the photo was trying to be fetched.

First. You can’t debug this. Because you can’t see pictures on your phone, while it’s connected to Zune, which it must be to have the debugger attached. So you unplug your phone, and then you can see your pictures, and the Extras in the application bar, but … if it fails you don’t know why.

Here are the steps I took, and then finally solved the problem.

First, I wrote the token (which is a GUID) to a text box. Once I knew the GUID, I could run the code outside of OnNavigatedTo, and then I noticed in the Quick Watch window that Library was instantiated, but had no photos, saved photos, genres, nothing. Everything was zero count. Then it hit me. The App Cap’s weren’t turned on.

So the answer is …..

Make sure you have the ID_CAP_MEDIALIB turned on in your WMAppManifest.xml file, like line 6 below.

   1: <Capabilities>

   2:   <Capability Name="ID_CAP_LOCATION"/>

   3:   <Capability Name="ID_CAP_NETWORKING"/>

   4:   <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>

   5:   <Capability Name="ID_CAP_GAMERSERVICES"/>

   6:   <Capability Name="ID_CAP_MEDIALIB"/>

   7: </Capabilities>

Microsoft Listens–WinPhone7 App Submission Changes

Wait, what’s going on again?

It’s all around Windows Phone 7 application development and the submission process to the Windows Phone Marketplace. Microsoft is on the hunt for app devs to build apps for Windows Phone 7. Of course they are, right? You need apps to make the platform more enticing for users to buy, to build a marketplace, for apps to be developed, and round-and-round.

I’ve built a bunch of applications for Windows Phone 7. Some for me, some for friends, some for Microsoft, some of other companies, etc. Originally, each developer was allowed 5 free application submissions. If an app was rejected, you could fix it, and resubmit, and that counts two submission points. Because the platform is new, and I’m still learning the ins-and-outs, I’m not afraid to admit I’ve had a few rejections. Some I agree with, and some I don’t, but that’s not the point of this post. After your 5 app submissions (pass or fail) the submission price is $20USD.

Since the beginning of WP7, I’ve been telling Microsoft Rep’s that the $20 hit is hurting more than helping them. Most seemed to agree, and as of today, the free submission count, per developer account is raised to 100.

WooHoo – Thank you Microsoft for listening!

Azure Boot Camp Trip Report–Feb 5, 2010

This past week, I hosted another bootcamp @Gangplank in Chandler, AZ. This was done in conjunction with AZGroups.org, our local Microsoft Evangelist Michael Palermo( @Palermo4 ) and a few rock solid guys in the community. Namely, Andre Wilson (@awilsong), and Chris Coneybeer (@coneybeer).

We had 31 people in attendance, who all left happy, and more knolwedgebale about azure.

Goal.Accomplished = True;

We ran the full day event in two halves, first half Learn, second half Do. The “Do” part was made possible by the Azure Bootcamp team, supplying us with 30 day free/trial Azure accounts. These were pre-provisioned Azure accounts that were associated with LiveIDs. Ready to log into and start using. Andrew started with a Basic intro to what is Azure, then @coneybeer did a bit on Azure storage (table, sql, blob, and queue), and Andrew finished up the learning section with Deployment.

The second half of the day was spent building a project that was a basic shopping cart. One team built the order entry system, and posted orders to an Azure queue. The other team monitored the Azure queue, and processed the order. Pretty simple, and we finished the day with an ordering system that was pretty cool. I hosted the code in my DiscountASP.net Team System TFS account. This made it easy for the two teams to work on the same project.

In wrapping up with @coneybeer and @awilsong, we chatted about a better way for next time. Like life, things evolve, and sometimes you don’t know the best way, until you’ve done it once or twice. Remember the first half of the day was Learn? We had labs for people to do, and everyone finished the labs. So our “better idea for next time” is to build the labs, so they support the beginnings of the project that will be used/built later.

So in stead of the labs being throw away learning, they would actually be the foundation of the application that would later be built. This is slightly different than the Windows Phone 7 bootcamp we did where we had a contest for users/teams to build a better application than everyone else.

I like the one big project as a team better, and the idea that it’s all in my TFS (on DiscountASP.NET) means that the learning / project doesn’t have to stop at the end of the day.

Hey @coneybeer and @awilsong THANK YOU for providing the content, funding, and general fun.

Hey @Palermo4 THANK YOU for the funding you provided from Microsoft for Food and Beverages.

Hey @Gangplank THANK YOU for the facility.

azurephoto

@ScottCate