Having just returned from SPTechCon Austin 2016, I wanted to share some of the insights and common topics I noticed during several of the great sessions they had this week.
Some of the core topics that seemed to have the most coverage and included in the keynotes was the upcoming PowerApps and LogicApps, along with developing for Office 365 with Office Add-Ins and branding of the apps with Office Fabric UI.
PowerApps / LogicApps
Think of PowerApps as your mobile forms platform (not an InfoPath replacement), while LogicApps will allow you to create business processes and workflows in a visual manner improving upon the SharePoint Designer interface, making it all web-based.
It allows you to start from either a template, your data source, or from scratch to build out your mobile form targeting a tablet or mobile device.
Microsoft currently provides 10 pre-defined data sources that you can connect to, however you can also build your own REST API interface to expose other data to your PowerApp. The goal is to provide simple CRUD operations against this data and if combined with LogicApps you can provide rich workflows connected to services with conditional logic defined or use existing templates to quickly build a workflow.
Two areas that were of great interest to me during the 3-day conference was the session on add-in building with Microsoft Graph - not to be confused with the Office Graph which is used to query and render connected data that you see currently in Delve. The second area was in regards to SharePoint Online / O365 performance and troubleshooting which is a different beast than working with SharePoint on-prem, especially with custom branding applied to your sites.
At first I was thinking this session would contain information on how to interact with Office Graph that would help build "Delve" style interfaces that represent relationships among objects, however it actually refers to a single endpoint that you can use to access a number of Microsoft's cloud technologies.
While this is great and will be beneficial for the majority of Add-In developers to use this single endpoint, you may still need to access service specific API's (i.e. SharePoint Search REST API) for the latest features and capabilities that aren't exposed yet in the Microsoft Graph API.
Microsoft provides some helpful tools for testing against the API, such as the Microsoft Graph Explorer test harness and also the API Explorer v2 that will allow you to try these API methods against your own O365 tenant.
Some other exciting preview features that will be available soon include an Excel API, allowing CRUD and navigation of workbook core elements, rich formatting and editing of cells/tables and data visualation through native charts.
You will also soon have the ability to use a converged authentication endpoint allowing your Add-In to use Azure AD and Microsoft Accounts with a single authentication token.
Office Fabric UI
This has started to become a very hot topic for Office and SharePoint Add-In development. Microsoft is providing an open-source library for adding similar CSS/Icons and components to your apps that match what you see in Office 365 applications developed by Microsoft.
One interesting use of this I saw at a session at SPTechCon Austin, was modifying the default list views in SharePoint to match the styles available in Office Fabric UI. This involved using the Fabric UI CDN stylesheet reference and a custom XSL stylesheet that you can point your list view webpart to.
You can find more information and tons of samples about this at http://dev.office.com/fabric
Troubleshooting SharePoint Online / Office 365 Performance
This session proved very helpful for a recent scenario we had with a client that had custom branding along with a large navigational structure causing poor load performance on the SharePoint site.
According to Microsoft, the top 1% of the slowest loading SharePoint Online pages take more than 5 seconds to load.
There are several factors that can contribute to slow performance and since we are talking about SharePoint Online / Office 365 it is very important to also consider the performance could be caused by networking or the plumbing to the Microsoft data center versus your actual SharePoint site.
You can start troubleshooting to see if network latency or SharePoint is causing the performance degradation by looking at page load time from browser debugging tools (network tab), along with viewing custom SharePoint response headers (i.e. SPIisLatency, SPRequestDuration and X-SharePointHealthScore).
One quick test to see if your problem is with the network, versus SharePoint is to add up the SPRequestDuration and SPLatency values in the response header and then subtract that from the total time of the page load. If that number is fairly high, then you have time lost elsewhere (i.e. too many hops on network, network router problem, etc.)
If the network performance is not your culprit, then here are some other areas to check that will cause performance problems:
- Too many calls to the same server/URL for asset files - try to combine them into minified or sprite image files since a browser can only make 6 calls at once to a single server. Use of a CDN is recommended for common libraries.
- Navigation style can have a huge impact - If you have a large menu hierarchy, SharePoint must make several calls to the SQL server for each page request. We have actually developed a cross-site, cross-web application global navigation solution that provides caching of the security-trimmed menu items that will improve site speed.
- Too many webparts on a single page and heavy use of the Content Query Web Part (CQWP) - Try to use the Content Search Web Part instead (CSWP) which is one of my favorite web parts or start implementing client-side add-ins on your SharePoint site using technologies such as AngularJS and the Microsoft Graph REST API's available to take the load off the SharePoint server when processing.
Be sure to check out the slides from this presentation and more detailed information on using the CSWP by Sean McDonough here.
You can also find the other SPTechCon Austin 2016 session slides located here.
The SPTechCon Austin 2016 conference was filled with great sessions and content and was one of the better conferences I have attended recently. It provided for some great networking opportunities and with the smaller session size compared to Ignite, it was much easier to be able to chat with the speakers after each session.
Look forward to next year!