Microsoft Twitter Analytics Tools(Consuming Big Data from Hadoop on Azure) with PowerPivot for Excel 2010 & Build PowerView Reports on SharePoint 2010 & SQL Server 2012 Analysis Services


Microsoft Twitter Analytics tool (Download from here) is part of SQL Azure Social Analytics Labs & leverages built in support for consuming Big Data (Hadoop on Azure, Hive Tables data, HDFS ) on BI tools(PowerPivot for Excel 2010, SSRS 2012 , SSAS 2012 & PowerView Reports on SharePoint 2010). Twitter Analytics is computed data for analysis of Social Analytics tool (Twitter, LinkedIn, Facebook) to compute Top Tweets of the Day, Top Tweeter, Top Mentions etc. Overall computation focuses on Big Data Analytics on Windows Azure features commonly consume big data from Apache Hive, HDFS on Azure to MS BI tools.

  • Lets start first installing the tool on local system. It needs PowerPivot for Excel 2010 as recommendation engine to analyse the analytics sheet.

  • The Twitter Analytics installer installs the Twitter Analytics PowerPivot Excel 2010 sheet on your desktop. Analyse the Twitter Analytics PowerPivot sheet by providing the comma seperated queries to get data for Top Tweets for Top MSFT Products(Bing, Windows Phone, SQL Server etc.)

  • Lets check for Top People section of the Twitter Analytics tool for Favourite MSFT Products.

  • The Top Tweet Tones & Mentions about Top MSFT Products renders as follows.

  • The Details data shows off the Twitter Data Analytics according to Search Query,Date, Time of Day,Type, Tone & Tweeters.

  • Next, upload the Twitter Analytics PowerPivot Excel sheet into SharePoint 2010 PowerPivot Gallery part in order to build interactive PowerView Reports on SharePoint .

  • After uploading to SharePoint PowerView Gallery, Click on PowerView Report icon to build up the PowerView Report.

 

  • Implement the PowerView Report on MSFT Twitter Analytics Social Analytics Big Data with SharePoint 2010 web part & select Top Tweets of the day, Top Mentions of the Day about top MSFT Products, Tones count & People Positive , Negetive & Neutral Tones on Products like Bing, Office, SQL Server, Windows Phone.

Build Cross Platform App Development for Windows Phone with PhoneGap 1.9 build on Apache Cordova


Cross Platform Application Development for Windows Phone , Android , iOS, Samsung bada, BlackBerry & Palm Web Os devices are possible by the help of PhoneGap tool which is built & supported by Open – Source Apache Cordova Framework. The PhoneGap 1.9 tool is HTML5 platform which bridges the compatibility of native application support on Mobile Web applications. PhoneGap leverages the features of HTML5, CSS 3 & javascript. Download PhoneGap tools from http://phonegap.com/download.

  • Lets start by first downloading the latest PhoneGap version 1.9 supported by Apache Cordova framework & open lib/Windows Phone folder from the PhoneGap tool folder.
  • Copy the Zip archieve named CordovaStarter -1.9.0 & paste it inside the  Visual Studio 2010/ Visual Studio 2012 Templates/Project Templates/Visual C#/Silverlight for Windows Phone folder.
  • Now open the Visual Studio & start a new PhoneGap Cordova Project for Windows Phone.

  • Lets check the new PhoneGap Cordova project created for Windows Phone. The default app page is MainPage.xaml.
  • Inside the www folder , there are three files as index.html, cordova-1.9.0.js & master.css.
  • Inside the GapLib folder , there is the main .dll called WP7CordovaClassLib.dll.
  • The CordovaResourceDictionary.xml contains all the HTML5 resources which is stored in isolated storage of the phone. The default code in the dictionary file as follows:

<CordovaSourceDictionary>

<FilePathValue=www\cordova-1.9.0.js/>

<FilePathValue=www\index.html/>

<FilePathValue=www\master.css/>

</CordovaSourceDictionary>

  • Check the default PhoneGap Cordova web app page on Windows Phone executing on top of native application.

 

REST Services for Mobile ASP.NET MVC 4 with Code-First Entity Framework & Web API with SQL Azure on Visual Studio 2012 Ultimate


REST based services are quite easier to access via ASP.NET MVC 4 Mobile Web applications with Web API framework. With REST , each object can be uniquely identified & accessed via Code Access URL with its own Routing logic & behaviour. To implement a REST services for Mobile ASP.NET MVC 4 application with Web API & entity framework , lets start by creating a new ASP.NET MVC 4 web applivation from VS 2012 Ultimate.

  • Select the Project type as Internet Application by default.

  • Delete the default Model  folders file & create a new class & name it as Contacts.cs. Add the following code into it.

using  System;

using  System.Collections.Generic;

using  System.Linq;

using System.Web;

using System.Globalization;

namespace  ContactsApp.Models

{

public class Contact

{

public int ContactId { get; set; }

public string Name { get; set; }

public string Address { get; set; }

public string City { get; set; }

public string State { get; set; }

public string Zip { get; set; }

public string Email { get; set; }

public string Twitter { get; set; }

public string Self

{

get

{

returnstring.Format(CultureInfo.CurrentCulture,“api/contacts/{0}”, this.ContactId);

}

set { }

}

}

}

  • Delete the default controllers & Build thee solution & create a new Controller by selecting the Contact Model class.

  • Now select Tools -> Library Extension Manager -> Package Manager Console & paste the following commands.

enable-migrations

 add-migration Initial

Now , select the Configuration.cs file from Migrations folder & paste the following code.

namespace

ContactsApp.Migrations

{

using System;

using System.Data.Entity;

using System.Data.Entity.Migrations;

using System.Linq;

using ContactsApp.Models;

internalsealedclassConfiguration : DbMigrationsConfiguration<ContactsApp.Models.ContactsAppContext>

{

public Configuration()

{

AutomaticMigrationsEnabled = false;

}

protected override void Seed(ContactsApp.Models.ContactsAppContext context)

{

context.Contacts.AddOrUpdate(p => p.Name, new Contact

{

Name = “Debra Johnson”,

Address = “1234 Main St”,

City = “Redmond”,

State = “WA”,

Zip = “10999”,

Email = “debra@example.com”,

Twitter = “debra_example”

},

new Contact

{

Name = “Thorsten Weinrich”,

Address = “5678 1st Avenew W”,

City = “Redmond”,

State = “WA”,

Zip = “10999”,

Email = “thorsten@example.com”,

Twitter = “thorsten_example”

},

new Contact

{

Name = “Yuhong Li”,

Address = “9012 State St”,

City = “Redmond”,

State = “WA”,

Zip = “10999”,

Email = “yuhong@example.com”,

Twitter = “yuhong_example”

},

new Contact { Name = “Jon Orton”, Address = “3456 Maple St”, City = “Redmond”, State = “WA”, Zip = “10999”, Email = “jon@example.com”, Twitter = “jon_example” },

newContact { Name = “Diliana Alexieva-Bosseva”, Address = “7890 2nd Street E”, City = “Redmond”, State = “WA”, Zip = “10999”, Email = “diliana@example.com”, Twitter = “diliana_example” }

);

}

}

}

  • In the package-Manager console , enter the following code :

update-database

Build the solution & add the following code in index.cshtml :

@model IEnumerable<ContactsApp.Models.Contact>

@{

ViewBag.Title = “Home”;

}

@section Scripts {

@ Scripts.Render(“~/bundles/knockout”)

<script type=”text/javascript”>

function ContactsViewModel() {

var self = this;

self.contacts = ko.observableArray([]);

self.addContact =

function () {

$.post(“api/contacts”,

$( “#addContact”).serialize(),

function (value) {

self.contacts.push(value);

},

“json”);

}

self.removeContact = function (contact) {

$.ajax({

type: “DELETE”,

url: contact.self,

success:

function () {

self.contacts.remove(contact);

}

});

}

$.getJSON( “api/contacts”, function (data) {

self.contacts(data);

});

}

ko.applyBindings(new ContactsViewModel());

</script>

}

<ul id=”contacts”data-bind=”foreach:contacts”>

<li class=”ui-widget-content ui-corner-all”>

<h1 data-bind=”text:Name”class=”ui-widget-header”></h1>

<div><spandata-bind=”text:$data.Address ||      ‘Address?'”></span></div>

<div>

<span data-bind=”text:$data.City || ‘City?'”></span>

<span data-bind=”text:$data.State || ‘State?'”></span>

<span data-bind=”text:$data.Zip || ‘Zip'”></span>

</div>

<div data-bind=”if:$data.Email”><adata-bind=”attr:{href:  ‘mailto:’+Email},text:Email”></a></div>

<div data-bind=”ifnot:$data.Email”><span>Email?</span></div>

<div data-bind=”if:$data.Twitter”><adata-bind=”attr:{href:     ‘http://twitter.com/&#8217; +Twitter},text:’@@’+Twitter”></a></div>

<div data-bind=”ifnot:$data.Twitter”><span>Twitter?</span></div>

<p><a data-bind=”attr:{href:Self},click:$root.removeContact”

class=”removeContact ui-state-default ui-corner-all”>Remove</a></p>

</li>

</

ul>

<form id=”addContact”data-bind=”submit:addContact”>

<fieldset>

<legend>Add New Contact</legend>

<ol>

<li>

<label for=”Name”>Name</label>

<input type=”text”name=”Name”/>

</li>

<li>

<label for=”Address”>Address</label>

<input type=”text”  name=”Address”/>

</li>

<li>

<label for=”City”>City</label>

<input type=”text”name=”City”/>

</li>

<li>

<label for=”State”>State</label>

<input type=”text”name=”State”/>

</li>

<li>

<label for=”Zip”>Zip</label>

<input type=”text”name=”Zip”/>

</li>

<li>

<label for=”Email”>E-mail</label>

<input type=”text” name=”Email”/>

</li>

<li>

<label for=”Twitter”>Twitter</label>

<input type=”text”name=”Twitter”/>

</li>

</ol>

<input type=”submit”value=”Add”/>

</fieldset>

</form>

  • Render the View on IE 10 & Check the script & view on iPhone & BlackBerry browsers.

Windows 8 Release Preview Virtual Labs are Available from MSDN


The Windows 8 Release Preview & Windows Server 2012 RC Virtual Labs are now available from MSDN. Explore the content of Windows 8 Release Preview of Creating Metro Style Apps in C#, Semantic Zoom , snapping of Metro Style apps, Search & Share, Application Bar & Navigation Content in Metro Style Apps, Process LifeTime Management, Settings & Tiles , Notification, Windows Store, Touch & Pointer input.

More about the labs : http://msdn.microsoft.com/en-US/jj206431.aspx