Windows 8 Desktop

Microsoft has been a busy company this year with refreshes on most of its biggest solutions. Not only has SharePoint gone through a massive update, but so has Windows. If you’re still unfamiliar with the changes in Windows 8, then be prepared for a shocker. In the new UI, applications have been stripped of chrome and are full-screen solutions. Windows 8 was designed with touch as a first-class input method.

SharePoint 2013 brings several new features, but the two that will empower client application development the most are the greatly expanded Client-Side Object Model (CSOM) and the REST APIs. While the maturity of these features is important for Microsoft’s push to SharePoint Online and client-side development, it also opens up complex functionality for Windows, mobile, and external web applications.

Data Binding

There are several ways to access SharePoint externally. RSS isn’t robust, but gives you a simple, structured way to consume lists. Web Services, the foundation of SharePoint client access in prior releases, are available. However, they are deprecated, so they shouldn’t be used in new development. That leaves us with the above-mentioned CSOM and REST. For Windows Store Apps, managed CSOM isn’t natively supported. So REST is our data source of choice.

The REST APIs have been improved in SharePoint 2013. While listdata.svc still exists, it’s for backwards compatibility. Now there’s the new “/_api” endpoint. Under this, there’s access to more than just Site Collections, Webs and Lists. Search, BCS, Taxonomy, and Translation are now available.

Security

Windows Store Apps have an App Manifest where you can configure Capabilities that give access to functionality from the system. For apps that interact with SharePoint, typically Enterprise Authentication, Internet (Client), and Private Networks (Client & Server) are required. Enterprise Authentication give the app access to authenticate the user against Active Directory, thus determining what access, if any, in SharePoint the user has. Internet (Client) is simply allowing the app access to the internet. Finally, Private Networks (Client & Server) grants access to Intranet networks.

Contracts

In addition to the Capabilities, there are objects called Contracts. Contracts are agreements between other apps and Windows functions. There are several types of Contracts, but the most pertinent to SharePoint would be Search. The Search Contract gives your app the ability to pull results directly from SharePoint Search into your app with just a few lines of code.

Notifications and Tiles

Ideally, your SharePoint environment is used heavily by your users. If so, a  Windows Store App that consumes SharePoint data probably gets new data regularly. Why not notify users of your app without them having to load it? You can do that with Notifications. Whether it’s through Toast “popup” messages or through Live Tiles, your users will appreciate it.

Live Tiles replace app icons in Windows 8. They can contain rich, dynamic content that updates automatically. They consume XML data and can be pushed or pulled. Push notifications require some server-side configuration, but are better on mobile device battery life as there isn’t continuous polling like with pull notifications.
Pull notifications can be configured to grab data as quickly as every 30 minutes. This is a simple block of code to write to keep tiles and other notifications up to date with pertinent information.

Conclusion

Bringing SharePoint to the Desktop will benefit end users with information from their start screen instead of having to crawl into sites through the browser. By using the REST APIs, developing a Windows Store App that consumes this data will be simple. Security is straight forward and the ability to add Contract functionality will create a richer experience. Notifications will give the users the information they need, when they need it.

SharePoint Conference 2012 session was presented by Corey Roth, SharePoint MVP.