Cortana Analytics Suite Leverages Azure Big Data Services for Customer Ready Workloads

What is Cortana Analytics

Microsoft announced a new Big Data service – Cortana Analytics.  Cortana Analytics leverages and bundles existing Azure big data and BI services such as HD Insights, Power BI, Azure Data Lake, Azure ML, etc. and provides customers with a monthly subscription to access a collection of pre-configured customer ready solutions including:

  • Fraud detection
  • Product recommendations
  • Churn analysis
  • Face and speech recognition
  • Text analytics

In addition, Cortana Analytics will provide a dedicated front-end presentation tier as well as expected touch and voice commands for interacting with data.


Read More

Microsoft’s New GigJam App Takes on Composite Applications

Microsoft announced a new application called Project GigJam which is designed to create that unified portal type presentation layer through an application that can be used as a native composite app with your laptop, tablet or phone.

The basic metaphor is a user designs a “gig” (named for the gig economy) by adding a set of cards.  These cards are presentation views of underlying services, repositories or applications.  The user can link data together across multiple applications – for example, a customer stored in CRM and in SAP.  Once they have created their view the user can share it with colleagues, annotate them, etc.

The user can also hide items that they do not want to share simply by crossing them out:


Co-authoring, co-reviewing and real time collaboration is also built as well as cortana voice integration.

Read More

Developing with SharePoint Script Editor vs. Custom App Parts

Creating custom user experiences and branding components in SharePoint involves using JavaScript and HTML to render content within a SharePoint page layout.  As a simple example, you might want to include a JavaScript based “slider” that loads up list items or pages and displays them on your home page.


The JavaScript file pulls a set of list items from a SharePoint list and using JQuery adds them to a <DIV> element as “slides”.

In order to implement this type of solution, there are a couple options:

1. Use a simple script editor web part and just add your HTML as source code and a link to your JavaScript file and load it directly into your page.

2. Build a custom App Part that contains the JavaScript code, the HTML, and the configuration properties and deploy it your site.

As a team, we have tried both approaches and we have some clients who prefer approach #1 and some that prefer approach #2.  Here is a quick comparison of the pros and cons of each approach.

In general, our current approach is to start with approach #1 and then if we need to do so we’ll mature the code into #2 if the customization is complex, intended for mass re-use, etc.  For something like a slider that is showing up on a single home page for one client, using a simple script editor is much simpler.  However, if we were going to build a complex control that we wanted to deploy to dozens of clients, we would use approach #2.

Using the Script Editor


  • Simple to deploy – just upload your JS file and stick your HTML into the script editor.  You could also have your JS injected right into the script editor.
  • HTML is rendered within the main page, e.g. there are no IFrames involved.
  • Easy to update the JavaScript code using SharePoint Designer
  • JavaScript can be “re-used” if it is externalized on multiple pages.
  • Easier to make responsive than the App Part approach.
  • JavaScript files can be versioned if uploaded to a document library with version control turned on


  • Code isn’t packaged and deployable as a component
  • Code cannot be added to the app store
  • Lack of a configuration layer (e.g. you don’t have properties that your content editor can configure in the app part properties)
  • HTML is not easily re-usable – you need some minimal amount of HTML and a link to the JS file in your script editor.
  • Content author needs to know how to add the HTML, JavaScript, etc.
  • Permissions are based on the context of the user loading the page.  Lacks the permission model used in App Parts.
  • Debugging is done through browser as directly loaded JavaScript
  • Lack of integration with Visual Studio – you can edit the code but no built in deployment/debugging mechanism
  • Lack of support for multiple “views”

Creating an App Part


  • An App Part is a deployable component (code is packaged into a zip file) and can be uploaded to the app store (both the SharePoint app store or your internal tenant/farm app store)
  • App Parts have a configuration layer that allows you to define configuration properties – very useful for specifying things like the list name, fields to map, locations, etc. for pulling data.
  • App Parts are first class projects in Visual Studio
  • Content Authors can add an App Part with zero knowledge of HTML/JavaScript – they just add the component to the page.
  • Visual Studio integration with publishing of your app and debugging
  • Support for multiple pages as views
  • App Parts are versioned as components (e.g. the entire package of files making up the component).


  • App Parts are rendered within IFrames.
  • Deployment is slower – it involves several steps including deploying to the app store, then deploying to the site and then adding to the page.  In our experience, unit testing is significantly slower because the deployment cycle is slower.
  • Making App Parts responsive is much more complicated because they are hosted wtihin a fixed width, fixed height IFrame.
  • No ability to change the code from SharePoint Designer

Read More

Power BI Visualization Goes Open Source, Uses JavaScript, HTML 5 and D3.JS

Power BI Visualizations are going Open Source!  Microsoft has published and will maintain all its code for the visualization layer of Power BI on GitHub

We’re enabling developers to easily add custom visuals into Power BI for use in dashboard, reports and content packs. To help you get started, we’ve published the code for all of our visualizations to GitHub. Along with the visualization framework, we’ve provided our test suite and tooling to help the community build high quality custom visuals for Power BI. All of this is available as an open source project on GitHub.

This means that developers will be able to contribute customizations back into the repository as well as potentially extend their local implementations using custom visualizations. 

It’s not quite clear how these extensions or customizations will be enabled within a client implementation – for example, can you build your own “Power BI Apps” that extend the framework?  Can you deploy customizations to your own Power BI tenant?  Could you create visualizations that are distributed through some kind of app store?  These are all options in the Office 365 world that don’t really exist yet in the Power BI world but look like interesting future possibilities.

The other key shift is the use of open source JavaScript frameworks.  All of Power BI’s visualizations are apparently built on top of D3.js which is an open source visualization framework that uses JavaScript for rendering visualizations within the browser.  There are some really neat D3 visualizations out there in the world that could be re-purposed within the Power BI context.

Read More

Compliance Management key to the SharePoint / Office 365 Platform

Compliance management is increasingly becoming one of Microsoft’s key features within the Office 365 platform.  If you look at the SharePoint 2016 updates, one of the three key areas for new features is incremental improvements in compliance management.


In the past month, there have been a number of additional feature announcements around improvements to compliance management within Office 365.  These show Microsoft’s continued investment in compliance management as a key part of the evolution of the Office 365 platform.

Archiving of non-Microsoft Data in Office 365

Microsoft has just announced the ability to use Office 365 as an archive for non-Microsoft generated content through partnerships with Actiance and Globalnet.  Using these partnerships, customers will be able to archive, retain, discover, hold and audit content from sources such as Facebook, Twitter, Yahoo Messenger, Google Talk, Cisco Jabber, Box, Drop Box, and more.


Auto Expanding Archives

Microsoft will now allow for auto-expanding, highly scalable archiving of content.  Previously, there were some limits on how much could be archived and if you wanted to expand you had to call customer service.  The new archives are infinitely scalable and automatically increase as they are filled up with content. 

New Data Loss Prevention for One Drive Offline Files

Microsoft has released a feature for One Drive that allows administrators to define a list of domain that are trusted.  Any computers who try to take files offline that aren’t members of the domain are then blocked. 

In addition to the work we’re doing on the sync client we’re also investing in administration features that allow IT to manage the sync function to limit potential data leakage. Many organizations want to ensure their users are only able to sync files to managed or domain-joined PC’s thereby limiting data leakage possibilities on unmanaged home and personal computers. Today we’re excited to announce that we’re releasing this capability for OneDrive for Business administrators! This complements the other data loss prevention investments we’re making right across Office 365.

New Compliance Toolset for Exchange Public Folders

Microsoft has announced that the Office 365 archiving and eDiscovery features can be used with Exchange public folders.

Today, we are pleased to announce that the Office 365 archiving and eDiscovery toolset is being extended to include public folders. Customers can now place public folder content on hold to preserve it for legal or regulatory requirements. They can perform eDiscovery functions on public folder data, including search, preview and export. Entire public folders or specific content (based on keywords) can be preserved immutably. They can delete aged items out of public folders. And all administrative activities on public folders are fully audited. Throughout all these operations, users can continue to interact with public folder data without any change in their experience.

Announcing compliance for public folders 1

Read More