Friday, March 31, 2017

If you don’t care about the backdrop or thought process, skip to the end about how I envision Office 365 Groups to help organizations in the future.
Once upon a time someone came up with the idea that using a web site was a good way for people to collaborate at work. Thus, SharePoint was born, and many office workers have over the years learned to love and hate SharePoint and all that comes with it.

The SharePoint team site was a place to go to collaborate and find resources related to a project, department, customer, special interest group; and the list goes on. It was the landing page for a particular context. On the front page of the site you could see documents, links to external resources and other useful information. You could even have a news feed and later Yammer embed to bring enterprise social into the fold. And this is very much what you see in present day SharePoint use as well. Dashboards and pages with contextual information en masse.

Below is a screenshot of a site soon to be rolled out into production for a customer. The front-page lists documents, information about the project, and lo and behold the page also has links to external resources which the project might use; an old 2010 style on-premises SharePoint site, a file share, a Dropbox location and a SaS solution.

The site itself is the context, and from this context the users can find related functions and information, all in the context of this project. Access and security wise the external resources may, or may not replicate the site security – but not really an issue. We’ve done this for a long time and we make it work.

People are used to finding functions from a context, and they know where to go to start – in this case a particular team site. Finding that one site is another problem all together, but for the sake of argument, let’s pretend that works as well.

An example from real life where you go from context to function:

In your bedroom (context), you will find a bed to sleep in (function), and commonly a dresser with your clothes (function)

Going the other way, which might not be as intuitive are:

Visiting the bed section at IKEA displays many beds (function), but not necessarily one you can use (context), and IKEA don’t carry clothes afaik.

Which brings us over to Office 365 Groups.

Office 365 Groups

An Office 365 Group is the equivalent to a classic team sites context – except an Office 365 Group does not have a landing page, although it now has an associated team site. If you want to work with Group files (context), you head over to OneDrive (function). If you want to look at the group conversations, you head over to Outlook. So instead of going context to function, you go to the function and find the group context you are looking for. I’m not saying it’s good or bad, but different, and perhaps not how most people are acting on an everyday basis.

The closest you get in Office 365 Groups today, is to navigate to the Group in Outlook (web version). Here you will find links to the other functions of that group. But to get there you end up going function, context, function. If you are a member of many groups, then finding the context can take time.

Hitting each of the navigation links for a group will take you to the appropriate function in the right context. You could also navigate to OneDrive, and find the files from there instead, or go to the group team site. But neither of these allow you to navigate to other functions in your group context unless you go back to Outlook. So, all in all, it’s a function to context construct.

If you are using Yammer instead of Outlook, then this will serve as your navigation HUB.

OneDrive

If I head over to OneDrive I will see contextual file views from all my Group memberships.Site

Heading over to the Groups site it has a link in the upper right corner to Group conversations, which will send you to either Outlook or Yammer. Your two-click jump from a site to for example Planner.

What about my 3rd party resources then? Well, I could add them in a link list at the groups site, but that means the built-in functions are available from Outlook, while my custom ones are only available from the team site, unless I duplicate them. Did someone say navigation chaos?

I have the solution!

On valentine’s day, I ranted a bit on Facebook about classic sites vs. Office 365 Groups, security and how to tie services together. I’ve highlighted the important part below.

The irony is that I actually did this at the MVP Summit in November 2015 together with Wictor Wilén, but guess no one listened nor payed attention as it was late in the week and people were thirsty. So here goes.

Teams to the rescue (sort of, except it’s not perfect)

YES! Microsoft Teams have gone ahead and implemented what I envision. For a Team connected to your Office 365 Group you can add custom tabs, pointing to web pages of your choice. With some extra work, you can also get deep linking and icons for these 3rd party resources. In the image below I have added links to a Dropbox folder and Jira board.

The drawback - It’s only available in the Microsoft Teams client, and not associated with the Group object in the Microsoft Graph.

And in my opinion, they have messed up how they integrate files and OneNote. Each channel has a folder or section, and you need to go to the Office 365 Group if you want to see it all, or switch channels. To me, a Teams channel is too narrow of a sub-context, and I’d be happy if the client listed the same as OneNote/OneDrive does instead of a subset.

But at least you have one client application you can keep open which quickly lets you move to a context, and from there to any function you desire.

My wish!

I wish the product group developing Office 365 Groups would look at Microsoft Teams, and allow us to add custom links/tabs which would show up in whatever function I was using of an Office 365 Group. I want a universal navigation experience to any function from any other function I choose to add. Make it holistic like the in the Teams client, and we'll sort out if we want to use the AAD group for security or not.

This means I could jump between any function in my context from anywhere. I would not have to navigate to Outlook, Yammer, OneDrive or Planner, locate my Group (context) and then start working. Give me an API, and I could add the Groups header with information and navigation to any 3rd party tools as well.

Today, the Microsoft Teams client is as close as it gets (web and desktop clients), and perhaps in a not so distant future features will converge and make Office 365 Group navigation as easy as pie.
For those of us technically inclined, it should be quite easy to get this working. I spotted a tweet March 8th from Microsoft Graph Principal Program Manager Yina Arenas @Microsoft which allows arbitrary schema extensions to Groups objects in the Microsoft Graph.

This is all that is needed. Agree on a schema, put it in the Microsoft Graph, and have all UI’s interact with the same data. I’m sure if Microsoft puts the right people in a room for one hour, they can agree on this and could roll out universal navigation across all Office 365 Group functions, and 3rd party developers could hook in their own stuff. Time will tell if this rant will stay just that, a rant, or if the right people pays attention and gives us nirvana, utopia, a great Office 365 Groups experience!