Windows Phone Free Time Machine Promotion Launches; Microsoft Offers Tips to Optimize Windows Phone App Startup Time; [Windows Phone Proposal]

Microsoft Windows Phone offering "more free time" to Windows Phone users on Monday the April 9th. "Hey, life is busy. Free time can be scare. What would you do with more free time in your day?" Microsoft asks in a April 4 blog post announcing the promo "Windows Phone Free Time Machine Promotion."The promo website […]

Microsoft Windows Phone offering "more free time" to Windows Phone users on Monday the April 9th. "Hey, life is busy. Free time can be scare. What would you do with more free time in your day?" Microsoft asks in a April 4 blog post announcing the promo "Windows Phone Free Time Machine Promotion."

Windows Phone Free Time Machine Promotion

The promo website offering the "free time" also mentions three cities, New York, Chicago, and San Francisco, and no word on the relation to the event.

Update:04/09: Microsoft's teaser site is live now -- and is a giveaway contest promoting the launch of the Nokia Lumia 900 Windows Phone. The grand prize will be a trip for four people to Hawaii.

In addition, there will be 200,000 more instant prizes.

All, you have to do is just enter your email address and mailing address you then play a small game where you match tiles on the virtual Nokia Lumia 900. Once that's done you are informed if you win.

According, to the contest rules -- the prizes include "50 $250 gift codes for Best Buy, 100 $150 gift codes to Mollymaids.com, 1,000 $50 gift codes for Omaha Steaks, 2,500 $30 gift codes for the movie ticket website Fandango.com, 7,500 $5 Amazon.com gift codes and 190,000 gift codes for 160 Microsoft Points," Microsoft revealed.

In additon, today, is special live Windows Phone events at New York City, Chicago and San Francisco. And, the reality TV star Kourtney Kardashian will be at one of the two New York City events (the Bryant Park location) scheduled today.

In other Windows Phone news, Microsoft's Mike Battista on a Windows Phone Developer blog talks about "Optimizing Apps for Lower Cost Devices is Optimize Startup Time."

Microsoft advises that to understand the areas of opportunity for improving startup time, it's important to understand the workflow of a launching application:

  1. The App constructor is called in App.xaml.cs.
  2. XAML in App.xaml is parsed.
  3. Application_Launching is called in App.xaml.cs.
  4. The Page constructor of your MainPage is called.
  5. XAML in your MainPage is parsed.
  6. OnNavigatedTo is called in your MainPage.

Battista suggests to minimize the impact of XAML parsing on startup time, you can simplify and remove unnecessary XAML from both your MainPage and from App.xaml.

  1. Remove unnecessary namespaces declared in <phone:PhoneApplicationPage>.
    1. If your XAML elements aren't prefixed by a declared namespace, then the namespace declaration can be safely removed.
  2. Avoid explicit declarations of default attribute values.
    1. Grid.Row="0", for instance, is the default value if Grid.Row is not declared, so just don't declare it.
    2. SupportedOrientations="Portrait" and Orientation="Portrait" can be removed as well for portrait only pages since this is the default.
    3. Understand default values and remove redundant XAML.
  3. Avoid retemplating controls in App.xaml.
    1. Retemplating controls can require complex XAML which is expensive to parse.
    2. For Metro-style apps that are theme-aware, this is less of a concern. If you need to retemplate controls to support a branded experience, for instance, then understand what is necessary to override and what can be omitted.
    3. If templates are only needed for particular pages, consider moving the custom templates to the pages that need them. This will delay the cost of parsing the XAML until the necessary page is loaded rather than require the cost to be paid at startup.
  4. Normalize Style declarations.
    1. If you are consistently setting FontFamily, FontSize, and Foreground in a similar way on several TextBoxes, for instance, then consider using Styles instead.
  5. Simplify page layouts.
    1. Don't use nested Grids and StackPanels when one root container would be sufficient to layout your page.
  6. Declare your app bar in code.
    1. This will be faster to process than parsing the XAML and is actually the only way to localize your app bar components.

Just came across this "Windows Phone Proposal- The Ultimate in Romance" video on Channel9 -- " Well...Kevin Reynolds has now raised the bar for marraige proposals. He did it with a self developed Windows Phone app...it truly brings a tear to my eye. I'm gushing...gentlemen- take notes!"

{cf thumbnail=http://farm6.staticflickr.com/5115/7044843553_944c6d152b_q.jpg}