If you’ve somehow missed the intense buzz around Delve and the Office Graph over the last year you may have been surprised to find a new application in your Office 365 (O365) app launcher in the past couple of weeks. While Delve has been available to those opting into the first release program, it has finally begun being released to everyone with qualifying O365 subscriptions over the past couple of weeks.
What is Delve?
If you are like most of us in the modern world, you are doing your best to drink from the fire hose of information that is coming at you. Whether it’s in your personal life with news, Facebook, Twitter, email, etc. or in your work life with multiple social feeds, distribution lists, intranet portals, blogs, email and more. We’re all struggling to keep up.
Delve is a new application built on O365 that is designed to help us by automatically surfacing the most relevant content without the user having to go look for it or even know where it is stored. Think of it as that application that you can fire up when you first arrive at the office in the morning (or scan on your mobile device on the way into the office) to understand what is important and trending in your organization, to quickly find the document that you were working on the previous day, or get quick access to the people you are most connected to in the organization. Today, Delve will only surface documents that reside within O365 (including email attachments). However, all signs suggest that additional content sources will be available in the near to mid future.
As you can see below, the Delve user interface is aligned with some of the latest internet trends featuring a card-based layout which can be compared to popular sites like Pinterest or Flip Board.
Delve’s user experience is primarily comprised of “boards” and “cards”. Boards are simply a collection of cards. For example, I can create a custom board titled “European SharePoint Conference”. When I first create it, it will be empty. Then I can manually add cards to that board (using the “add to board” button seen above) to curate a view that I can use myself as well as share with others. Cards are representations of individual pieces of content that are being surfaced to you by Delve – in the current implementation these are most often documents. Think of them as search results formatted to look like something else. The cards have several pieces of critical information on them.
- Name/Title (clicking opens the document)
- Why the item has been surfaced to you
- Where it is stored (clicking opens the location)
- Rich image from within the content (clicking opens the document)
- Actions such as emailing, sharing, or adding the content to a board
On the left hand side of the screen there are three main links; “Home”, “My Work” and “Shared with me”.
Clicking on these links provide unique views with different sets of content as described below:
|Home||A mix of content you worked with and content that is popular with people you work with|
|My work||Documents you’ve recently worked on within O365|
|Shared with me||Content that has been explicitly shared with you|
There is also a small group of “People” on the left hand side. These are people you’re connected to via your corporate hierarchy, or that you work with on a regular basis. Clicking on these people will display content related to them.
All in all, Delve is a rather simple and elegant application. What is less simple is the underlying technology that drives the experience: the Office Graph.
What is the Office Graph?
The Office Graph is an underlying service that runs on O365. It is designed to securely capture key interactions (edges) between actors (users) and objects (documents and other content). For example, if I view a document, that interaction gets stored by the Office Graph making that information available for applications (like Delve) to create powerful experiences. An example interaction may look something like the image below.
The current high-level architecture of the Office Graph looks like the following:
Original image taken from this article.
As you can see, Office Graph intercepts, processes and analyses activities from the various services in O365 before storing them in a search index very similar to the normal SharePoint search index. In fact, querying the office graph is done using the same rest API that we use to query the SharePoint Search index, only we add a “flag” to tell O365 that this is a “Graph Query” instead of a normal search query. These queries utilize the new “Graph Query Language” or GQL. At this time, these search queries are the only way to interact with the Office Graph. There are no other APIs available currently.
For more on how to query the Office Graph, see “Query the Office Graph using GQL and SharePoint Online Search Rest APIs”. This article describes each of the types of edges and actions mentioned above as well as provides examples of Graph Queries.
Business Impact of Delve & Office Graph
From what I have seen, it is universally agreed that this technology is super cool and no doubt a fantastic and helpful innovation. However, some have concerns about how Delve and the Office Graph will be perceived by organizations from a privacy and compliance standpoint.
Concerns Around Privacy with Delve & Office Graph
One of the key concerns about Delve and the Office Graph are around privacy, security, and compliance. I want to be very clear. Delve will not surface any content to a user that she does not already have access to. All permissions are honored. A user will never see a document that they do not have access to. Microsoft does a good job of explaining this in this article. But there still remains a problem.
Many organizations employ what I like to call “security through obscurity”. For example, the company may have file shares where users and business groups store documents. File shares are notoriously security nightmares because they are very difficult to manage and it is very difficult to see how security and permissions are applied to content. The result is almost always that there is content that users technically have access to which they shouldn’t. But the problem never surfaces because the users don’t know the content exists. Hence “security through obscurity”. I’m using file shares as an example, but we find the same situation with SharePoint and other systems as well. With Delve, sensitive content that was not secured properly could now be surfaced automatically without anyone even looking for it. This is not a problem with Delve, per se. It’s a problem with companies’ content stewardship practices, but Delve (and other systems that “surface” content automatically) threatens to expose these issues.
I tend to look at the positive, so I will say that because Delve only surfaces content from O365, these should be relatively new and well-organized systems that don’t suffer from this problem (I can hear some of you snickering). I do believe though that organizations should address this issue, not by failing to take advantage of powerful tools like Delve, but rather by cleaning up and maintaining their content. In any case, Microsoft has at least provided a way for us to omit content from Delve.
At a high level, the Office Graph is either enabled, or disabled. There is no granularity to limit it by user type or anything else.
Microsoft did include one way for us to exclude content from Delve. I wouldn’t call this a comprehensive solution, but rather a mechanism that we can take advantage of to build something more robust and manageable for ourselves. While this method will hide content from delve, it will not hide it from the Office Graph. So any custom applications that query the Office Graph directly could still surface this sensitive content. It remains to be seen whether a more complete set of compliance controls will be made available for Delve and the Office Graph.
Extending the Solution
As mentioned previously, there are no CRUD APIs available for the Office Graph. The only way to interact with the Office Graph today is via the GQL. That said, a number of us are busy creating interesting experiences built on the Office Graph. Three such examples are Waldek Mastykarz (SharePoint MVP, Netherlands) and his colleagues at Mavention, Mikael Svenson (SharePoint MVP, Norway) and Richard diZerega (from Microsoft). I suggest you follow their blogs and read the specific articles at the links above.
There are two helpful tools I use when working with GQL and those are:
1. Graph Query Tester
This tool allows you to experiment with and test Graph queries and see what results will be returned. It’s a fantastic way to learn to work with the GQL. It even includes starter queries like those from the default Delve views.
2. SharePoint 2013 Search Query Tool
I use this tool (and used its predecessor, the FAST Search for SharePoint 2010 Query Logger) all the time. This is a great tool for debugging search queries of all kinds, but last year support for Graph Queries was added.
Even though there are no APIs available to directly manipulate the Office Graph, with GQL and some imagination, you can still create some very powerful tools!
Delve and the Office Graph are technologies that I am extremely excited about. They’re providing real business value today but also give us a glimpse into what is to come around predictive experiences, machine learning, obfuscation of system and locations and much more. This is groundbreaking stuff and can change how we work.
Delve is one of the first experiences built on the Office Graph (along with O365 Video Portals and the Clutter feature for outlook). In the future I would predict that the Office Graph drives many more experiences across O365 and the predictive magic that it is capable of is baked into more and more of our default experiences. As far as compliance and security concerns – I personally hope that, as these types of technologies emerge, organizations take it as an opportunity to improve their operations and practices around data security and stewardship rather than taking a pass on this innovative space.
Below is a list of additional links for learning more about Delve and the Office Graph.