Mango + Apollo = The Mangopollo Windows Phone Library

Sign in to queue


With Windows Phone 7.8 rolling out to devices, I thought this this library something you all might find interesting. If you want to live in both worlds, 7.x and 8, this library/toolkit looks like it might come in handy!


Maintaining two versions of its application can be complicated sometimes.

Mangopollo will allow you to easily take advantage of new windows phone tiles (cyclic, flip, iconic) if your application is run from a Windows Phone 7.8 or 8 as well as new launchers if your application is run from a Windows Phone 8 while remaining compatible with windows phone 7.


  • support for Windows Phone 7.8,
  • add implicit converter to CyclicTileData, IconicTileData and FlipTileData
  • add Mangopollo.light.dll, compatible with background agents


To install Mangopollo, run the following command in the Package Manager Console

PM> Install-Package Mangopollo

PM> Install-Package Mangopollo.Light


New Tiles Type

  • CycleTileData : mimic the WP8 class to create Cycle Tile
  • IconicTileData : mimic the WP8 class to create Iconic Tile
  • FlipTileData : mimic the WP8 class to create Flip Tile
  • CreateFlipTile: create a Flip type tile
  • CreateIconicTile : create an Iconic type tile
  • CreateCyclicTile : create a Cyclic type tile
  • CreateFromStandardTile : create a Flip type tile from a standard tile (WP7)
  • ShellTileExt.Create (Uri, ShellTileData, bool) : allows to add tiles wides to your main screen

New Launchers (not included in mangopollo.light.dll)

  • SaveAppointmentTask: create an appointment in the calendar of the phone
  • MapTask: launch the Map app (WP8 version with vector and offline map, contrary to BingMapTask)
  • MapDirectionTask : request a route using the Map app (WP8 version with vector and offline maps contrary to BingDirectionMapTask)
  • MapDownloadTask : display the maps download page
  • MapUpdaterTask : display the maps updater page


  • bool IsWP8() : Returns if the phone running the application is a Windows Phone 8
  • bool CanUseLiveTiles() : Return if the phone running the application is a Windows Phone 7.8 or +



  • a single application to maintain between windows phone 7 and windows phone 8
  • simplicity
  • the application will take advantage of the new tiles on windows phone 8 even if it's a WP7 app
  • use new offline maps tasks on Windows Phone 8

The disadvantages compared to a native Windows Phone 8 application:

  • Your application won't take advantage of new controls like the native panorama or native pivot
  • Your application will be displayed with a black band on 720p screen (HTC 8X)
  • You can't use new WP8 features like in-app purchase, WinPRT, etc..


Here's a couple snaps of it running on my notebook.

First in the 7.1 emulator;


Next in the Windows Phone 8 emulator;


Remember this is the same solution, same code.

In short, it helps you build adaptive Windows Phone apps, letting you build for 7.x and if run on 8, take advantage of the extra features there!

And best of all you get the source to the library, so you can all exactly what's going on and how...


The Discussion

Add Your 2 Cents