Developing TWiT.tv for Windows Phone 7: From Concept to Marketplace

Add Comment | Jan 17, 2011

Recently I spoke at the January 2011 meeting of the New York City Silverlight Meetup about my experience developing the TWiT application for Windows Phone 7. I spent time walking people through the phone tool experience, how I developed the TWiT application and the challenges that were faced and overcome.

During the talk I discussed tips, tricks, and "gotchas" every Windows Phone developer will want to know about. There was no code during this demo, but instead I focused on the process and important lessons which I think is more important. Anyone can learn to code, but getting an application to Marketplace is a lot more than simply writing C# and XAML.

image

Channel9 Presentation: http://channel9.msdn.com/posts/Developing-TWiTtv-for-Windows-Phone-7-From-Concept-to-Marketplace

Big thanks to my buddy Peter Laudati (DPE NY/NJ) who came up with the idea to record and made this get to Channel9.

ExtraSmall instances cannot deploy “The subscription is not authorized for this feature”

Add Comment | Dec 01, 2010

Today the Microsoft Azure team released the Windows Azure SDK 1.3 and the new Windows Azure Management Portal.

One of the features this introduces is “extra small instances” of Windows Azure which will allow you to run instances at a much lower cost. I have been personally waiting for this feature as I simply don’t need the full power of Azure for my podcast website so I quickly jumped to try it.

Unfortunately it seems that the portal still wont let you deploy these smaller instance types as when I tried I got an error “The subscription is not authorized for this feature” when pushing to Staging. Changing my package back to Small instance allowed me to deploy without issue.

I am sure this is a temporary situation but I wanted to document it if anyone else hits it today or in the next few days.

Update – Fix found … it seems: Looks like im stupid and missed how to turn on Extra Small instances for my environment Smile. It seems that if you go into http://windows.azure.com and use the new management portal, select “beta programs” from the left menu you will see an option to turn on “extra small VM” option.

I have not tried it yet but this is clearly the cause of my problem

My interview on GFQNetwork (Silverlight, WP7, HTML5)

Add Comment | Nov 22, 2010

alt

I am back with another interview with my friends on GFQ Network, check out the video interview and let me know what you think Smile.

Description:

“You want more tech? GFQ brought more Tech. On this special Tech-filled show, we brought in Microsoft Developer, and podcaster, Dmitry Lyalin discusses creating an application for the brand new Windows Phone 7, the life cycle of doing such coding, why Silverlight is (still) amazing and a relevant versus Flash and HTML5, the openness of learning to program for Microsoft, media mis-direction against all things MS, the Zune Marketplace and why creating an app for TWiT is a monumental task to undertake! See more from Dmitry, including Blogs and links to his Podcast, at www.lyalin.com

Watch/listen here: Interview - Dmitry Lyalin 11-15-10

Connected Show #38 – WCF? Droid Does!

Add Comment | Nov 22, 2010

image

And, we’re back! It’s been two months since our last show, but the Connected Show is alive and well!  Episode #38 is available now!

In an increasingly diverse world of mobile devices, the .NET developer is likely to end up supporting multiple mobile platforms. In this episode, guest Roger Heim joins Peter to talk about connecting .NET & WCF Services with Android clients.

Also, it seems that I unknowingly join the show with my take on the PDC 2010 announcements. Peter covers the (in)sanity of Silverlight v. HTML5.

CLICK HERE TO LISTEN!

Dmitry on Tech News Weekly

Add Comment | Nov 13, 2010

alt

This Friday (10/12/2010) I was happy to be invited to join Tech News Weekly (a news show on the GFQ web-based television Network). We covered some cool topics and I got to talk about Windows Phone 7 and XBOX Kinect, it was a lot of fun.

If you missed the live broadcast then go watch or listen the archive:

Tech News Weekly Ep.8 – Its On Like Donkey Kong 11-12-10

Connected Show #37 Published - Spelunking Windows Phone 7 Development

Add Comment | Sep 24, 2010

connectedShow_HalfSizeDmitryHeadshot2

Connected Show #37 – Spelunking Windows Phone 7 Development

In this episode, “guest” Dmitry Lyalin joins Peter to talk about building a real world Windows Phone 7 application. Dmitry unveils that he is developing a Windows Phone 7 application for Leo Laporte’s This Week In Tech (TWiT) network.  Dmitry walks us through the phone tool experience, how he developed the TWiT application, and the challenges he faced.

Also, Dmitry and I cover the latest Microsoft developer news, including ASP.NET security, Windows Phone Dev tools RTM, & the Internet Explorer 9 Beta.

CLICK HERE TO LISTEN!

Announcing–TWiT Application for Windows Phone 7

Add Comment | Sep 16, 2010

I am really happy to finally announce publically my efforts to build a WP7 app for http://www.twit.tv. This is something I’ve been working on since late July so its great to finally talk about it publically.

For full info check out these links below or my dedicated Windows Phone 7 site for all future apps:

Connected Show #36 – Steve Marx on Azure

Add Comment | Sep 03, 2010

image

In this episode, the one and only Windows Azure Tactical Strategist, Steve Marx, joins Dmitry and Peter to give us an update on the Windows Azure platform. Steve talks about common real world Windows Azure use patterns, including storage and compute instance configurations.

Steve uses some strategic tactics to tell us what’s in the tea leaves for the future of Azure. Peter also responds to “cat ladies & acne-laden teenagers” by sharing “The Memo”.

CLICK HERE TO LISTEN!

 

MarxBus3

WP7 “XamlParseException occurred” trying to run application

Add Comment | Aug 04, 2010

image

If you’re developing a Windows Phone 7 application you might run into this nasty error when trying to run your application:

System.Windows.Markup.XamlParseException occurred
  Message= [Line: 0 Position: 0]
  LineNumber=0
  LinePosition=0
  StackTrace:
       at MS.Internal.XcpImports.CheckHResult(UInt32 hr)…

The cause here isn't obvious from the exception, but actually its very simple once you know what to look for. In my case a basic cut-n-paste error caused bad binding code to get written:

Bad code

<Image Source="{Binding RelativeSource=ImageUri}" Grid.Column="0" />
<TextBlock Text="{Binding RelativeSource=Description}" Grid.Column="1" />

Correct code, error resolved!

<Image Source="{Binding Path=ImageUri}" Grid.Column="0" />
<TextBlock Text="{Binding Path=Description}" Grid.Column="1" />

(should have Path instead of RelativeSource, doh…)

So why so generic?

Windows Phone 7 is based on Silverlight 3 which from what I’ve been told has this as a known limitation, XAML error just don’t report great amounts of exact information.

Honestly its not something I noticed during my few projects around SL3 and now in SL4 there is better handling of reporting the exact issue.

What does this mean for WP7 developers?

This means that WP7 will have this issue for now. Hopefully WP7 will eventually move to Silverlight 4+ and we will see a better experience.

For now when you get this error simply try to look for some bad XAML that isn't breaking during Compile but will mess you up at runtime.

Detecting the Emulator in Windows Phone 7 SDK (WP7)

Add Comment | Jul 29, 2010

Today I had to write some code that would detect the Emulator we use to test WP7 Silverlight applications. For some reason though I had a really hard time finding the answer. Therefore I decided to post the solution here and to link the thread I finally did find which helped me find figure it out, which is this thread here.

Solution:

string DeviceTypeDetected = string.Empty;

switch (Microsoft.Devices.Environment.DeviceType)
{
    case Microsoft.Devices.DeviceType.Device:
        DeviceTypeDetected = "Real Device Detected!";
        break;
    case Microsoft.Devices.DeviceType.Emulator:
        DeviceTypeDetected = "Emulator Detected :(";
        break;
}