Microsoft reportedly plans to rename Nokia Oyj


When Microsoft’s acquisition of Nokia’s devices and services business closes, the software giant plans to rename Nokia Oyj to Microsoft Mobile Oy, according to a letter sent to suppliers.

The new wholly-owned subsidiary will serve as Microsoft’s mobile devices division, according to the letter, which informed suppliers that the terms and conditions of their contracts would not change when the deal is completed.

“Please note that upon the close of the transaction between Microsoft and Nokia, the name of Nokia Corporation/Nokia Oyj will change to Microsoft Mobile Oy,” a copy of which was obtained by Nokiapoweruser.

CNET has contacted Microsoft for comment and will update this report when we learn more.

When Microsoft announced its plans to acquire Nokia’s handset division and license some patents last September, the company said it expected the $7.2 billion deal to close by the first quarter of this year. However, Microsoft announced last month that antitrust reviews of the acquisition in Asia would delay the deal’s closure until April.

Nokia became Microsoft’s biggest and closest Windows Phone partner in a mutual bid for relevance in a market dominated by Apple’s iOS and Google’s Android.

Make Clickable Shapes in the Native Bing Maps Control

The native Bing Maps Windows Store control has two types of shapes: polygons and polylines. These shapes are great for representing areas and paths on the map. Often it is useful to be able to associate some information or metadata with these shapes. In past versions of Bing Maps we could easily store this information in the Tag property of the shape. This makes it easy to retrieve this data when a shape is clicked or tapped. Unfortunately,the MapPolygon and MapPolyline shapes in the native Bing Maps Windows Store control do not have a Tag property. Recently on the Bing Maps forums, one of our Bing Maps engineers pointed out that the MapPolygon and MapPolyline classes are both DependancyObjects. This means that we could create a DependencyProperty which adds a “Tag” property to these shapes. In this blog post we are going to see just how easy this is to do.

To get started, open up Visual Studio and create a new project in either C# or Visual Basic. Select the Blank App template, call the application ClickableShapes, and press OK.


Add a reference to the Bing Maps SDK. To do this, right click on the References folder and press Add Reference. Select WindowsExtensions, and then select Bing Maps for C#, C++ and Visual Basic and Microsoft Visual C++ Runtime. If you do not see this option ensure that you have installed the Bing Maps SDK for Windows Store apps.


If you notice that there is a little yellow indicator on the references that you just added. The reason for this is that the C++ runtime package requires you to set the Active solution platform in Visual Studio to one of the following options; ARM, x86 or x64. To do this, right click on the Solution folder and select Properties. Then go to Configuration Properties → Configuration. Find your project and under the Platform column set the target platform to x86. Press OK and the yellow indicator should disappear from our references.


Next open the MainPage.xaml file and update it with the following XAML. This will add a map to the app. Make sure to set the Credentials attribute of the Map element to a valid Bing Maps key.


    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <m:Map Name="MyMap" Credentials="YOUR_BING_MAPS_KEY"/>

Both the MapPolygon and MapPolyline classes derive from a common class called MapShape. Rather than creating two DependencyProperties, we can instead create a single one on the MapShape class. Open the MainPage.xamls.cs or MainPage.xaml.vb file and update it with the following code. This will create a DependencyProperty on the MapShape class called “Tag”.


using Bing.Maps;
using System;
using Windows.UI;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;

namespace ClickableShapes
    public sealed partial class MainPage : Page
        private MapShapeLayer shapeLayer;

        public static readonly DependencyProperty TagProp = DependencyProperty.Register("Tag", typeof(object), typeof(MapShape),new PropertyMetadata(null));

        public MainPage()

Visual Basic

Imports Bing.Maps
Imports Windows.UI
Imports Windows.UI.Popups

Public NotInheritable Class MainPage
    Inherits Page

    Private shapeLayer As MapShapeLayer

    Public Shared ReadOnly TagProp As DependencyProperty = DependencyProperty.Register("Tag", GetType(Object), GetType(MapShape), New PropertyMetadata(Nothing))

    Public Sub New()
    End Sub
End Class

Next we will add an event handler for when the map is loaded in the constructor of the app. In this event handler we will add a MapShapeLayer to the map for loading our shapes to. We will then generate a test polygon and polyline to the map. We will add some string as metadata to the Tag property by using the SetValue method on the shape. Update the constructor and add the MyMapLoaded event handler to the MainPage.xamls.cs or MainPage.xaml.vb file using the following code.


public MainPage()

    MyMap.Loaded += MyMapLoaded;

private void MyMapLoaded(object sender, RoutedEventArgs e)
    //Add a shape layer to the map
    shapeLayer = new MapShapeLayer();

    //Create mock data points
    var locs = new LocationCollection();

    locs.Add(new Location(0, 0));
    locs.Add(new Location(10, 10));
    locs.Add(new Location(10, 0));

    //Create test polygon
    var polygon = new MapPolygon();
    polygon.Locations = locs;
    polygon.FillColor = Colors.Red;

    //Set the tag property value
    polygon.SetValue(TagProp, "I'm a polygon");

    //Add a tapped event
    polygon.Tapped += ShapeTapped;

    //Add the shape to the map

    var locs2 = new LocationCollection();
    locs2.Add(new Location(20, 20));
    locs2.Add(new Location(40, 40));
    locs2.Add(new Location(50, 20));

    //Create test polyline
    var polyline = new MapPolyline();
    polyline.Locations = locs2;
    polyline.Width = 5;
    polyline.Color = Colors.Blue;

    //Set the tag property value
    polyline.SetValue(TagProp, "I'm a polyline");

    //Add a tapped event
    polyline.Tapped += ShapeTapped;

    //Add the shape to the map

Visual Basic

Private Sub MyMapLoaded(sender As Object, e As RoutedEventArgs)
    'Add a shape layer to the map
    shapeLayer = New MapShapeLayer()

    'Create mock data points
    Dim locs = New LocationCollection()

    locs.Add(New Location(0, 0))
    locs.Add(New Location(10, 10))
    locs.Add(New Location(10, 0))

    'Create test polygon
    Dim polygon = New MapPolygon()
    polygon.Locations = locs
    polygon.FillColor = Colors.Red

    'Set the tag property value
    polygon.SetValue(TagProp, "I'm a polygon")

    'Add a tapped event
    AddHandler polygon.Tapped, AddressOf ShapeTapped

    'Add the shape to the map

    Dim locs2 = New LocationCollection()
    locs2.Add(New Location(20, 20))
    locs2.Add(New Location(40, 40))
    locs2.Add(New Location(50, 20))

    'Create test polyline
    Dim polyline = New MapPolyline()
    polyline.Locations = locs2
    polyline.Width = 5
    polyline.Color = Colors.Blue

    'Set the tag property value
    polyline.SetValue(TagProp, "I'm a polyline")

    'Add a tapped event
    AddHandler polyline.Tapped, AddressOf ShapeTapped

    'Add the shape to the map
End Sub

Finally we will need to create the event handler for when the shapes are tapped. When a shape is tapped we will be able to use the GetView method on the shape to retrieve the Tag property. We will then take this value and display it to the user using a MessageDialog. Add the following event handler to the MainPage.xamls.cs or MainPage.xaml.vb file.


private async void ShapeTapped(object sender, TappedRoutedEventArgs e)
    if (sender is MapShape)
        var poly = sender as MapShape;
        var tag = poly.GetValue(TagProp);

        if (tag != null && tag is string)
            var msg = new MessageDialog(tag as string);
            await msg.ShowAsync();

Visual Basic

Private Async Sub ShapeTapped(sender As Object, e As TappedRoutedEventArgs)
    If TypeOf sender Is MapShape Then
        Dim poly = TryCast(sender, MapShape)
        Dim tag = poly.GetValue(TagProp)

        If tag IsNot Nothing AndAlso TypeOf tag Is String Then
            Dim msg = New MessageDialog(TryCast(tag, String))
            Await msg.ShowAsync()
        End If
    End If
End Sub

The application is now complete. Deploy the app by pressing F5 or clicking on the Debug button. When the app is running tap or click on the shapes on the map. When the event is fired a message will be displayed that contains the metadata stored in the Tag property of the shape.


Note in this example I simply stored a string in the Tag property, but you can store any object you want in it. You can download the full source code for this code sample from the Visual Studio code gallery here.

If you are looking for some other great resources on Bing Maps for Windows Store apps, look through this blog, go to the Bing Developer Center blog, or check out all the Bing Maps MSDN code samples.

Microsoft’s Project My Screen app now available to download

If you have Windows Phone 8.1 and have been dying to try out the Project my Screen feature today is your lucky day.

The download is currently available on Microsoft’s servers here, and it seems to work pretty well.

Unfortunately the app is a Windows desktop app, not Windows Metro, but is still full screen on the desktop, making meaning you can not snap the app to the side of your screen or open it in a window and still get other work done.

To use the feature, install the Project My Phone app, activate Project My Phone in Settings, and connect your phone and run the app.

EDIT: Having issues having it up and running? This tweet from Matteo Pagani might help you 🙂

Bing Is Here To Stay!

Every couple of months, new rumors about Microsoft trying to sell off its Bing search engine pop up. At some point late last year, the word on the street was that if then-CEO candidate Stephen Elop would take the reins of the company, he would sell Bing as soon as possible. After last week’s Build developer conference, I think we can now put those rumors to rest. Bing is now a core part of Microsoft’s strategy, and there is no way it could sell Bing without disrupting many of the services it has recently built.

There are some credible reports that back in 2012, Microsoft did indeed try to sell Bing to Facebook. But that was 2012 when Bing was “just” a search engine. Today, things look different. Bing offers much more than basic search and it’s become a core platform for Microsoft.

Bing logo

The best example for how important Bing has become to Microsoft is probably Cortana — the company’s newly announced personal digital assistant. It pulls from a huge variety of services that are all part of the larger Bing ecosystem. It uses Bing’s entity engine to find facts, Bing’s machine learning tools, the Bing-branded voice-recognition service to actually understand its users, and the Bing stream-processing engine to parse real-time information from a huge range of sources.

The jury is still out if Cortana can compete with the likes of Siri and Google Now (or if users are even all that interested in these tools to begin with), but none of what Microsoft built here would have been possible without Bing as the platform to power it all.

It’s worth remembering that Bing isn’t only responsible for powering big set pieces like Cortana. It’s also baked into lots of small features in Windows, including the built-in search tools. Bing Code Search makes life a little bit easier for developers in Visual Studio, too. Bing Maps may not get a lot of play in the press (or with users, I think), but it’s a credible alternative to Google Maps and its 3D maps (still in preview and only on Windows 8.1) are actually more detailed than Google’s.

It’s impossible to know if this was always Microsoft’s master plan for Bing — but chances are it wasn’t. Now, however, it looks as if this attempt at building a smart search engine has given Microsoft a way to be a bit more agile in reacting to market demands. While it isn’t leapfrogging the competition, it can at least offer a meaningful challenge to some of the recent advances from Google and Apple. Whether that’s enough remains to be seen, but at least it gives the rest of the field a reason to stay paranoid and push their services forward, too.

Free eBook! Location Intelligence for Windows Store apps

These days it’s not easy getting free stuff. The few times you get it, it’s either bad quality or fullfilled of ads. But this is not the case.

“Location Intelligence for Windows Store Apps” is here, and it’s free. It’s an eBook.

Location Intelligence has been one of the fastest growing industries in recent years and continues to grow at an exponential rate. Seventy to eighty percent of all business data has some sort of geospatial context. Many companies want to make use of this data however most of them do not know where to start. Many of these same companies are planning to create Windows Store apps.

In this book we will dive into the world of location intelligence and the different options for creating location aware applications in Windows 8.1. The first half of the book focuses on the inner workings of Window Store Apps and the various location related tools available such as sensors and the Bing Maps SDK. The second half of the book focuses on creating several useful location intelligent apps. All code samples are provided in JavaScript, C# and Visual Basic.

Table of Contents

  • Chapter 1: Getting Started
  • Chapter 2: The Sensor and Location Platform
  • Chapter 3: Bing Maps JavaScript API
  • Chapter 4: Bing Maps Native API
  • Chapter 5: Bing Maps REST Services
  • Chapter 6: Bing Spatial Data Services
  • Chapter 7: Working with Spatial Data
  • Chapter 8: Drawing on the Map
  • Chapter 9: Creating an Augmented Reality App
  • Chapter 10: Creating a Templatable Compass Control
  • Chapter 11: Cross Platform Development

Download the book from:

The code samples for the book can be downloaded here.


Happy reading! 🙂

A quick overview about Geo-Fencing

Geo-fencing (geofencing) is a feature in a software program that uses the global positioning system (GPS) or radio frequency identification (RFID) to define geographical boundaries. A geofence is a virtual barrier.

Programs that incorporate geo-fencing allow an administrator to set up triggers so when a device enters (or exits) the boundaries defined by the administrator, a text message or email alert is sent. Many geo-fencing applications incorporate mapping features, allowing administrators to define boundaries on top of a satellite view of a specific geographical area.  Other applications define boundaries by longitude and latitude or through user-created and Web-based maps.

The technology has many practical uses. For example, a network administrator can set up alerts so when a hospital-owned device (such as a tablet or a phone) leaves the hospital grounds, the administrator can disable the device. A marketer can geo-fence a retail store in a mall and send a coupon to a customer who has downloaded a particular mobile app when the customer (and his smartphone) crosses the boundary.

Geo-fencing has many uses including:

Use Example
Fleet management When a truck driver breaks from his route, the dispatcher receives an alert.
Human resource management An employee smart card will send an alert to security if an employee attempts to enter an unauthorized area.
Compliance management Network logs record geo-fence crossings to document the proper use of devices and their compliance with established rules.
Marketing A restaurant can trigger a text message with the day’s specials to an opt-in customer when the customer enters a defined geographical area.
Asset management An RFID tag on a pallet can send an alert if the pallet is removed from the warehouse without authorization.
Law enforcement An ankle bracelet can alert authorities if an individual under house arrest leaves the premises.