Tuesday, October 18, 2011

Forced Mango Update

I was waiting and waiting for my Mango update, I even contacted Sprint.  Unfortunately Sprint is not set up for effective customer support, this is the topic for another post (Will Sprint support their new Apple customers effectively?).  I called twice, visited my local Sprint store numerous times, until I got to the root of the issue, "they" were releasing the updates in batches, the Sprint store alluded to Sprint as the culprit, but according to the Internet it's Microsoft that is releasing the updates.  Microsoft has a very valid reason for holding off on the release, "Quality", they need to make sure the updates are going well before releasing them to all (and potentially having a deluge of problems to deal with).

I saw references to forcing the Mango update on the Internet, and tried one way which did not work.  Switching the update settings on the phone on and off multiple times, did not work for me.  I then found a YouTube video explaining another way, which did work.  The instructions are here: http://youtu.be/bO0ZnoKXyqY  and I found the link in this conversation: http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2011/10/03/windows-phone-7-5-update-status.aspx

The update took a while and seemed to be hung on the last Phone restart, I ended up powering it down, and powering it back up, even though my PC screen said not to. :-)

It's working now, and I am happy.

The Sprint lesson I learned is to ask detailed questions to the techs and to ask them if they are an expert on my phone, I had one admit to me he was an Android Tech and was told by management not to pass off windows calls to Windows Techs but to try and fix it on his own.

Tuesday, December 7, 2010

Capabilities - Removing Networking and Location Capabilities

Well, well, well.... I've learnt my lesson again.  Don't use something you do not know well.  I was using the copyright object/thingamagig and did not understand what it did and what it's purpose was, but I felt I should insert my copyright in my app, so I used it.

Well it looks like it was the culprit causing my app to have a Location and Networking Capability, when my app did not have a need for either.

I found this by taking a two headed approach.

  1. I built a Hello world application, checking on the capabilities at each step.
    1. Using the new Capabilities detection tool
      1. On my Vista 64 machine it was found here after installing it: C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Tools\CapDetect
      2. In a Command window (Dos Window)
      3. goto the above directory
      4. And run the following
        1. CapabilityDetection.exe Rules.xml  "C:\Users\David\Documents\Visual Studio 2010\Projects\HelloWorldWindowsPhoneApplication\HelloWorldWindowsPhoneApplication\Bin\Debug"
  2. I removed unnecessary items from the working app one by one to find running the above tool to see what the culprit was.

Microsoft's instructions can be found here: http://msdn.microsoft.com/en-us/library/gg180730(VS.92).aspx


I think Capabilities is a mis-nomer.  In my case and I think most cases we would want our apps to have the minimum amount of capabilities our apps require.  Why would a user want to buy/download an app that has a location requirement, that does not have a perceived need for it, a user would have privacy concerns.

Now I need to resubmit my apps.

Wednesday, November 24, 2010

Setting the background image for an app

For a simple Windows Phone app in the MainPage.xaml file add this line right after the opening to the Grid definition:

        <Grid.Background>
            <ImageBrush ImageSource="your Background file here.png"/>
        </Grid.Background>

Note: The background.png file is not for the app it is for the Tile when your app gets pinned to the Start Screen, and it should be 173X173. 

Is Sprint releasing Windows Phone 7 phones?

According to the Sprint Customer rep I talked to this morning, Sprint already has a Windows Phone 7 on the market.  when I had a chance to look it up online, I found they had a Windows Phone, just not a Windows 7 Phone, it was Windows Mobile 6.1, it was the HTC Touch Pro 2.

http://shop.sprint.com/NASApp/onlinestore/en/Action/DisplayPhones?phoneSKU=PPCT7380SP

A chat with a sprint.com person, said check back next week.  I just did a Google search and found this: HTC 7 Pro, Sprint's Windows Phone 7: Hands On | News & Opinion | PCMag.com

Looks like it's coming soon, don't know about everything working in landscape mode though.  The phone in question is set up to work well in landscape mode when in the open position, see the article for more details.

Last I heard it was in their lab and we should expect it second quarter 2011!

Windows Phone 7 app build and deploys but does not run

  • I could not get the app to run on the phone or in the emulator
    • It built and deployed with no errors
    • Cause: I changed the project name, and the startup App was now blank
    • Solution: Make sure to change the Startup Object on the Properties page of the Application

Thursday, November 18, 2010

Always retest in Trial mode

I released my first paid application to the Marketplace!

I decided to download it in trial version to see it running, the first thing I noticed was the trial version did not run well, as the trial version does not work with the default settings, oh well back to the drawing board, and back through the whole process to get it back into the Marketplace...

Monday, November 8, 2010

Debugging without the Debugger

I had a problem, my app worked well in the debugger, when I submitted it to the Marketplace it failed as it would not run on the phone.  I then tried to deploy it to the phone emulator, and it did not run there either.

I then figured I should rebuild the App piece by piece and check each step to see if it deployed and ran on the emulator.  I then found the method (function) that caused the trouble.

I put a trial mode in my app, and tested by faking a trial mode with a settings object saved in IsolatedStorageSettings.  My problem was I was storing the setting in Isolated Storage with a guard clause checking for the debugger (not deployed), when I did the test in the code I did not include the debugger guard clause.  So when running in the Debugger everything worked, when deployed it crashed on trying to get the isTrial setting.



IsTrial blog entry by a Microsoft Phone "evangelist", Jeff's 31 days of Windows phone is an excellent introduction to writing apps for the Windows Phone.

http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-23-Providing-Trial-Versions-of-Your-App.aspx