December, 2011

  • Canadian Mobile Developers' Blog

    Phone for the holidays!

    • 0 Comments

    Guest Post by Atley Hunter, Windows Phone MVP.  This post is also found on Atley’s personal blog.  This offer is from Atley himself (as opposed to Microsoft) because of the passion he has for the Windows Phone platform!

    Do you want to win a free Windows Phone or XBox? 

    How would you like someone to help you do it?

    I want to be that someone! I have built over 60 Windows Phone apps in the past year (including 3 in one day last weekend) and I want to help you win in the newest Microsoft Canada Windows Phone developer contest (http://www.developermovement.com/)!

    The rules are simple:

    1) You cannot already have an entry in this contest

    2) You must submit your ideas (they will still be yours!!!) to me at: atley_cmt@hotmail.com

    Best ideas will be placed in a draw to determine who wins

    3) You must be an Ontario resident and live no farther east than Kingston, no further west than Hamilton and live no further south than Lake Ontario and no further north than Orillia.

    4) You must choose a date for the development to happen between December 27th and December 30th (inclusive) 2011.

    I will:

    1) Come to your home/office/other meeting place (you can invite other developers if you want for help, or they can build their own apps, I’ll help them too!)

    2) Bring everything you will need (other than your computer) to develop Windows Phone apps (Cool Telerik tools, a testing phone, all the toolkits and tools already downloaded and ready to install)

    3) I will help you get started on your app idea and help you along the way.

    4) If you have a second app idea, I will build that one for you (you keep the source code, it’s your app) while you build yours

    You will get your own mini HackFest!!! with two finished apps ready for the marketplace before the end of the holidays!

    Email now as I’ll be drawing the winner on December 23rd (This FRIDAY!!!)

  • Canadian Mobile Developers' Blog

    Are you ready to #StartSomething? Canadian Windows Phone devs, start your engines and score killer rewards!

    • 4 Comments

    The Mango App Challenge has come and gone.  The contest elicited a huge response and many happy, Canadian developers now have the sweet goodness of Mango on the Windows Phones they won as a result of publishing 2 apps to the Windows Phone Marketplace.  Now we up the ante.  Get ready to #StartSomething by joining the Developer Movement and build Windows Phone apps to win seriously awesome prizes.  Fire up Visual Studio or XNA Game Studio and get started!

    76x76_Start_Something_ENSo, what exactly is the Developer Movement?  Well, it’s a contest like the Mango App Challenge was, but it’s actually even more than that.  You can win a wide variety great prizes (not just phones this time) by creating and publishing new Windows Phone apps to the Marketplace, for sure, but what we’re hoping is that you join us to start a revolution in the mobile space.

    Who is this contest for?  In a nutshell, if you are Canadian, it’s for you.  Whether or not you’ve built a mobile app/game before, built an app/game for a competitive platform like Android, iOS, Blackberry, etc., built a Windows Phone app before or not, this is a great offer for you.  For details on eligibility, I would check out the Terms and Conditions.

    How do I get started? Easy.  Go to the Developer Movement site and click on the Get Started button.  If you are one of the first 200 to sign up and you don’t already have a Marketplace publisher subscription, you’ll get signed up to the Marketplace for one year for free.  Just for signing up. (Don’t forget, if you are a student enrolled in an school that is participating in Microsoft’s Dreamspark programme you get a free membership already).  Once you’ve done that, go to the Developer Toolkit page and download the SDK, check out our learning resources and watch some of the video tutorials we provide!

    apps1-90x90What do I get if I publish apps and games and submit them to the contest? The prizing is tiered depending on the number of apps/games you publish.  The prizing is detailed on the Rewards page of the Developer Movement site.  Hint:  the prizes are really, really good.

    So fire up Visual Studio and Blend or XNA Game Studio and build apps and games!  It’s time to join the Developer Movement and #StartSomething!

     

  • Canadian Mobile Developers' Blog

    Enabling Fast App Resume in Legacy Windows Phone 7 apps by upgrading to 7.5

    • 2 Comments

    One of the more complicated concepts in phone development, regardless of the platform you are targeting, is multi-tasking.  The nature of a mobile device is to be resource-limited.  It’s not a PC where you have a significant amount of CPU, memory, storage and other assets to tap into in your apps and games.  The result is that you have to be wise in how your apps and games use resources on the phone.  The good news in Windows Phone 7 development is that a lot of the resource management is done for you (by virtue of the fact that app and game development is done in a managed environment – i.e.:  .NET).

    That said, you still should be smart about your code to make sure you are maximizing the experience of your app to your users.  This post covers Fast App Resume and how to enable it in your original Windows Phone 7 apps.

    Fast App Resume

    FasFARt App Resume is a feature of Windows Phone 7.5 that allows users to leave your app and come back to it without having the traditional “Resuming” screen show up.  This provides a cleaner, more fluid experience for your users and produces less wait time for them as well.

    Apps that target Windows Phone 7.5 from the get-go have Fast App Resume capabilities right from the get-go.  If you have built and published a traditional Windows Phone 7 app (i.e.:  not targeting Windows Phone 7.5), then this is a super-easy update to apply to your app that takes roughly 5 minutes of your time. 

    To take full advantage of Windows Phone 7.5 multi-tasking in your Windows Phone 7 apps, all you need to is open your existing Windows Phone 7 app in Visual studio, right-click on the root project/solution and select the “Upgrade to Windows Phone 7.1“ option in the context menu that pops up (see the image to the right for a screenshot).  Then recompile it.  Your app is now Windows Phone 7.5 multi-tasking enabled and you can submit that as an update to the Marketplace (which will need to be certified, of course).  Naturally, you may want to include other updates to your code before you submit the app for certification, however.

    (A quick note about the potential confusion between Windows Phone 7.1 and Windows Phone 7.5:  Windows Phone 7.1 and Windows Phone 7.5 are actually the same thing.  Engineers internally called the Mango update version 7.1 but when we went live with the update, the marketing team named it 7.5).

     

  • Canadian Mobile Developers' Blog

    Getting Paid on the Marketplace Just Got A Lot Easier!

    • 2 Comments

    w8

    Ok, I’ll admit it.  As a Canadian app publisher, getting paid on the Windows Phone Marketplace hasn’t exactly been an easy or straightforward process.  Apps that generated revenue via Microsoft’s Ad Centre product were initially restricted to US publishers only, but that restriction was lifted a little while ago.  Those of you who are offering paid apps on the Marketplace still have to submit paper-based US W-8 forms to the Marketplace in order to get access to the funds you earned from users paying for your apps.  That is, until now.

    Effective immediately, international developers (including Canadian publishers) can submit your W-8 forms to the Marketplace in digital format by emailing it to the Marketplace team!  There are some specifics that you’ll need to make note of, however, and I’ve listed these notes below:

    • You need to download a copy of the W-8 form (you can get it here and the IRS-provided instructions for filling it out are here)
    • Part 1 Lines 1-4 must be filled in
    • Part 1 Line 1 must match the name entered in the App Hub (for a Company this is the Publisher Name and for an Individual/Student this is the First and Last Name of the Developer)
    • Part 1 Line 2 “Country of incorporation or organization” must either contain “N/A” or match the country listed in Part 1 Line 4
    • Country on the form must match the country listed in the App Hub
    • Part 2 and Part 3 are NOT required.  Microsoft has eliminated the requirement for an ITIN and the developer is no longer subject to the 30%  US TAX withholding
    • You must sign and date the form

    Once you have filled out the form’s digital fields (as discussed in the bullet points above), you actually need to print out the form and physically sign and date it yourself.  The IRS unfortunately does not accept digital signatures for this form so Microsoft requires you to scan the form you’ve filled out (with your physical signature and date).  You then email your filled-out form to mplcomm@microsoft.com. 

    If you have any questions about how to submit your W-8 form to the Marketplace, you can also email mplcomm@microsoft.com.

    Happy coding, publishing and prospering!

  • Canadian Mobile Developers' Blog

    Great book references for Windows Phone Development

    • 0 Comments

    There are a great number of books on Windows Phone development out there and one of the common questions I get is which ones are good references to have on your shelf (or e-Reader of choice, as it were).

    Below is a list of the ones that I feel are good.  Most are based on what I have in my personal library, but there are some on my “wishlist” as well that come highly recommended by people whose opinions on Windows Phone I trust:

    Books in my Personal Library

    Books in my Wishlist

    Am I missing any that you find very useful?  Let me know!

  • Canadian Mobile Developers' Blog

    Like a Boss! Understanding the Difference between Panorama and Pivot in Windows Phone

    • 1 Comments

    LikeABossOne of the great features of Windows Phone is the natural feel of the left-to-right (or right-to-left) scrolling of apps and hubs.  There’s a good reason for this flow – the Windows Phone team looked into the behaviour of how users interact with the phone and figured out that the anatomy of the hand is such that its actually easier to scroll left and right vs. up and down (true story!).

    To that end, the Windows Phone SDK contains two major controls that allow you to take advantage of the left/right interaction:  Panorama and Pivot.

     

    Panorama Control

    The Panorama control is, as you might guess from its name, expansive in nature.  Panorama is a UI asset that is meant to draw the user into the app and literally immerse him/herself in the experience you have implemented. 

    Panorama controls are artful and shallow.  That is not to mean that Panorama controls are “eye candy” (although when properly implemented, the certainly are!).  Think of the Panorama as a canvas for a beautiful work of art.  They can be simple or complex, and they each have their own style.  The intent of the Panorama is to allow you as an app creator the ability to create an experience that has some semblance of structure (like the tabs you see in the image to the right), but also something that will allow the user to explore, discover and ultimately delight in the artful implementation that you have created.

    Some great implementations of Panorama can be found in the following apps:  The Weather Channel, MTV News (this app actually uses both Panorama and Pivot), IMDb.

    Panoramas are usually first implemented in the XAML of the screen (although like pretty much any UI asset in Silverlight, you can generate them equally via XAML or code like C# or VB).  Below is the the vanilla structure of a Panorama control:

      1: <!--Panorama control-->
    
      2:         <controls:Panorama Title="my application">
    
      3:             <controls:Panorama.Background>
    
      4:                 <ImageBrush ImageSource="PanoramaBackground.png"/>
    
      5:             </controls:Panorama.Background>
    
      6:  
    
      7:             <!--Panorama item one-->
    
      8:             <controls:PanoramaItem Header="first item">
    
      9:                 <!--Double line list with text wrapping-->
    
     10:                 <ListBox Margin="0,0,-12,0" ItemsSource="{Binding Items}">
    
     11:                     <ListBox.ItemTemplate>
    
     12:                         <DataTemplate>
    
     13:                             <StackPanel Margin="0,0,0,17" Width="432" Height="78">
    
     14:                                 <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
    
     15:                                 <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
    
     16:                             </StackPanel>
    
     17:                         </DataTemplate>
    
     18:                     </ListBox.ItemTemplate>
    
     19:                 </ListBox>
    
     20:             </controls:PanoramaItem>
    
     21:  
    
     22:             <!--Panorama item two-->
    
     23:             <!--Use 'Orientation="Horizontal"' to enable a panel that lays out horizontally-->
    
     24:             <controls:PanoramaItem Header="second item">
    
     25:                 <!--Double line list with image placeholder and text wrapping-->
    
     26:                 <ListBox Margin="0,0,-12,0" ItemsSource="{Binding Items}">
    
     27:                     <ListBox.ItemTemplate>
    
     28:                         <DataTemplate>
    
     29:                             <StackPanel Orientation="Horizontal" Margin="0,0,0,17">
    
     30:                                 <!--Replace rectangle with image-->
    
     31:                                 <Rectangle Height="100" Width="100" Fill="#FFE5001b" Margin="12,0,9,0"/>
    
     32:                                 <StackPanel Width="311">                                    
    
     33:                                     <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
    
     34:                                     <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
    
     35:                                 </StackPanel>
    
     36:                             </StackPanel>
    
     37:                         </DataTemplate>
    
     38:                     </ListBox.ItemTemplate>
    
     39:                 </ListBox>
    
     40:             </controls:PanoramaItem>
    
     41:         </controls:Panorama>

    As you can see, every Panorama should include a title and a background image.  You also add items (like the “family hike" item in the example image) via the PanoramaItem control.

    Pivot Control

    pivotIf you were to look at the Pivot and Panorama controls side by side and tell me that they are basically the same thing, just looking a little different, I wouldn’t blame you.  The differences to the user are fairly subtle, but to you as a developer/designer and to the experience your user has with your app (whether or not they realize it), those differences are both significant and ultimately determinant to the success of your app in many cases.

    We have already discussed Panorama and its mission:  Artful, Expansive, Immersive; basically it’s a canvas and you are the artist.  The Pivot control shares the left/right behaviour of Panorama but the common experience to the two controls really ends there.  The Pivot control is a deeper experience and meant to be data-driven.  What is meant by this is the fact that Pivot controls are largely list-based and pivot along data points.  Basically, if you have apps that are driven by list behaviours (for example, news articles in the Globe and Mail prototype example above), a Pivot control is much more suited to your needs than a Panorama.

    Great examples of Pivot-based apps include:  The Globe and Mail, Cocktail Flow, ScoreMobile.

    Like Panorama, Pivot controls are most commonly implemented in XAML (but can also be generated via code):

      1: <!--Pivot Control-->
    
      2:         <controls:Pivot Title="MY APPLICATION">
    
      3:             <!--Pivot item one-->
    
      4:             <controls:PivotItem Header="item1">
    
      5:                 <Grid/>
    
      6:             </controls:PivotItem>
    
      7: 
    
      8:             <!--Pivot item two-->
    
      9:             <controls:PivotItem Header="item2">
    
     10:                 <Grid/>
    
     11:             </controls:PivotItem>
    
     12:         </controls:Pivot>

    As you can see in the XAML, Pivots are less complex in the structure of the actual control itself.  The complexity of the control is left to the contents of the various PivotItem controls inside the Pivot, which more often than not contain lists.

    So there you have it!  In summary, here are the components and strengths of both Panorama and Pivot:

    Panorama

    Pivot

    Key Aspects
    • Artful
    • Shallow
    • Immersive
    • Meant to draw in a user
    • Allows the user to explore and discover
    • Data-driven
    • Deep
    • List-based
    • Focused
    • Displaying data
    Good in Scenarios Involving:
    • Significant user interaction
    • Multi-media
    • Consumer delight
    • High impact on first run
    • News articles or other lists
    • Repetitive user interaction
    • Task-oriented apps
    • Function-first apps
  • Canadian Mobile Developers' Blog

    Get to know the author of the TechDays Windows Phone Application: Louis-Philippe Pinsonneault

    • 0 Comments

    As you may know, the Microsoft TechDays Conference took place in Montreal last week and we have landed an interview with Louis-Philippe Pinsonneault, a local Montreal developer.  He is a really nice guy and a great developer.  I was very happy to finally meet him in person after chatting with him over email on several occasions. If you used the Windows Phone TechDays 2011 application (free download is available here) , then you may be interested to know that he’s the author!

    Can you introduce yourself?

    Hi, my name is Louis - Philippe Pinsonneault. I am a.NET developer who specializes in Silverlight and Windows Phone 7 development and I am also an MVP Device Application Development. I work for RunAtServer (www.runatserver.com), a company in Montreal with expertise in Web, RIA, Touch solutions and Mobile with.NET, Silverlight, Windows Phone and WPF, also offering courses on these same technologies.

    What is your experience in development with Windows Phone?

    I have personally developed 4 applications. I also have taken built applications such as Tou.tv (Radio Canada), and 10 applications for Sun Media (Canoe.ca, Journal de Montréal, Toronto Sun, etc) for RunAtServer.

    Tell us about the WP7 TechDays Canada application!

    It all started a year and a half ago, after coming back from the MIX09 in Las Vegas. I was looking for a project idea in order to explore Windows Phone development. A few weeks later, TechDays Team Canada put online an OData feed which gave access to the information of the Conference, and this is where I got the idea to make a first version of the TechDays 2010 application. It was therefore a purely personal decision to build something for TechDays and not initiated by Microsoft. But following some blogs posts, the team gave me the green light to make it the official application. This year I decided to update the application so as to publish TechDays 2011 (Canada).

    Have you integrated specific features from Mango in the TechDays App?

    This year, I wanted to improve the application while exploring the new features offered by Mango. So I used the "Fast Application Resume" which allows you to go back to the application without having to reload the data. I also implemented Secondary Tiles and Deep Linking. These secondary tiles,in the context of the application, allow direct access to the information of a city from the home screen.

    Did you experience any particular technical challenges while developing this application?

    The biggest challenge was the access to the data. In reality, it is not the access to data itself but the caching management. Last year, the application required a constant connection to access the data. This year, I wanted to make sure that the application could work in offline mode. After managing the cache, I realized that there were some performance issues. Given these performance issues, I changed my approach and I decided to load data in batch at startup. This has greatly improved the phone performance and reduced the use of its bandwidth.

    What is your favorite feature of Mango?

    From a ‘developer’ point of view, it is the Secondary Tiles, but from a ‘user’ point of view, it is the integration with Facebook, Twitter and LinkedIn as social media.

    What do you think about the WP7 platform?

    I think that it is an excellent platform, especially when you get familiar with XAML (eXtensible Application Markup Language, an XML format that defines the layout and behaviour of the UI). For a developer who already knows Silverlight or WPF, it is quite easy to develop applications. The interesting thing is that the major part of the code (C# / VB, XAML) is reusable in Silverlight applications. In addition, for those who are interested in the world of game, XNA allows to create games for the three platforms (WP7, XBOX and PC). And now you can easily integrate 3D parts made in XNA in a Silverlight-based Windows Phone application.

    Do you have any interesting recommendations (Blogs/books...)?

    There are many blogs on the subject. Recently, Jeff Blankenburg has made a series of blog posts on the different Mango’s functions. There is an excellent book on Windows Phone which was written by Charles Petzold called  "Programming Windows Phone 7" which is available in paper format and the ebook is available free of charge. Twitter is also an excellent source of information regarding Windows Phone development ( #wp7dev, #wpdev). And you can still find my blog where I write about my experience and about some features or components that I find interesting.

  • Canadian Mobile Developers' Blog

    Tick Tock… The Mango App Challenge is close to a stop…

    • 3 Comments

    The Mango App Challenge, a promotion Microsoft Canada launched a while back where you build and publish two Windows Phone apps and you get a free Windows Phone is now close to drawing to a close.  With a deadline to have your apps published by December 15, 2011, you still have time to get your apps in but you should probably start now if you haven’t yet and want to benefit from this offer!

    The response to this competition to-date has been truly amazing!  A great number of you are now sporting slick Windows Phone devices as a result of this promotion and in return the Marketplace has some really great apps that have been published and available for Windows Phone users.

    A great example of a fun entry would be AlphaDrops.  AlphaDrops is a highly addictive game by RWalrond (of Mossboard fame – I can’t help it; Walt Mosspuppet makes me laugh every time!) involving building words from letters dropping down the screen.  A great addition to the Marketplace and a lot of fun to play!  Below are some screenshots from the game:

    alphadrops

    Do you have a great app or game you’re building for Windows Phone?  Well, why not give it a go and enter the competition!  You still have a couple weeks to get published and enter the competition!

    If you need some pointers on building apps for Windows Phone, you may want to check out the Microsoft Canada Windows Phone Resource Page, as it gives you some great links on how to get started building for Windows Phone. 

    Good luck!

Page 1 of 1 (8 items)