SharePoint Q&A: Todd Baginski and Developing in SharePoint 2013

SharePoint Q&A: Todd Baginski and Developing in SharePoint 2013

Besides helping me get my numbers straight in counting down the days to when ski season starts, Todd Baginski is a SharePoint expert you can count on for answers. Curious about what's going on in the SharePoint developer world, I caught up with my fellow Coloradoan (on the day I checked in with him, it was 37 days to go), and asked him aboutSharePoint 2013 for developers.

Todd is scheduled to present several workshops at  SharePoint Connections (co-located with DevConnections in Las Vegas Oct. 29-Nov. 1 ). One is on creating Internet-facing SharePoint sites and another is on creating cross-device compatible  SharePoint applications in the mobile world

SharePoint Pro: I know you've been working with SharePoint for quite a while—how long have you been involved with it?

Todd Baginski: I’ve been involved with SharePoint for 11 years now, going all the way back to the very first version of SharePoint.

SharePoint Pro: Not everyone shares your passion for SharePoint. What do you say to developers who dismiss SharePoint? Why should folks develop for SharePoint?

Todd Baginski: When I chat with developers who dismiss SharePoint, I try to help them understand that SharePoint may actually be used to accelerate their development efforts. SharePoint offers many great things to build on that one would typically create from scratch each time they develop a web application.

Some examples are a framework to quickly provision sites and web pages, built-in security integration with Active Directory or other directory services, a navigation framework, Office integration, and search functionality. Building these core elements into web applications takes a long time if you do it from scratch; with SharePoint you merely reuse them and configure them to meet your web application’s needs.

SharePoint Pro: What is the biggest challenge people face in developing Internet-facing SharePoint sites?

Todd Baginski: Actually, I think there are two challenges that are tied for the biggest challenge when it comes to making Internet-facing SharePoint sites. The first challenge starts at the beginning of the project when you create the information architecture and component architecture for your web site.

Understanding how to get the most out of SharePoint takes an experienced architect and analyst to identify the best way to store information in SharePoint sites and present it to the end user, while also ensuring the site performs well and content authors can easily update the content in the web site without having to write any code.

The second challenge is knowing and implementing the proper techniques to ensure the site performs well and loads quickly in a web browser. These are defined during the architecture stage and implemented during the development phase in a project. Many of these techniques aren't specific to SharePoint and should be used on any web site: minifying CSS and JS files, using Content Delivery Networks (CDNs), optimizing images, reducing the total amount of requests a page makes, and loading content asynchronously.

However, there are a few techniques specific to SharePoint; like suppressing the loading of certain JS files for anonymous users and properly configuring page output and blob caching that go a long way to make your site perform well.

SharePoint Pro: What is the biggest challenge people face in developing mobile apps that integrate with SharePoint?

Todd Baginski: For this question, also, there are two challenges that are tied for the biggest challenge. The first one is planning for authentication. There are multiple options you can take to authenticate to a SharePoint server from a mobile device. Sometimes your options may be limited depending on how your native application is written.

For example, are you writing your mobile application in native code like iOS, Java, or Silverlight? Or, are you making cross-device compatible applications with HTML and JavaScript? Depending on the way you code your mobile apps, your options differ. Another thing which may limit how you can authenticate to your SharePoint server from a mobile application is the type of authentication modes enabled on your SharePoint server.

For example, is Forms Based Authentication (FBA) available, or has the SharePoint site been published with a Unified Access Gateway (UAG) Server? Depending on which modes are available, you'll have to adjust your code accordingly.

The second challenge is deciding what type of mobile application to build. You have many options, including responsive designs, mobile-enabled web sites, native mobile applications, or cross-device compatible mobile applications.

In SharePoint 2013 you can also take advantage of device channels and device channel content panels to target specific content to devices based on their type. For example, you could create a device channel to support Windows Phones, and another to support Android Phones, then create content targeted to each specific type of device. Analyzing the different options and choosing the one which most appropriately fits the mobile application’s goals should be done up front.

SharePoint Pro: What kinds of challenges await people wanting to develop for SharePoint 2013?

Todd Baginski: Probably the biggest challenge facing folks who are about to develop on SharePoint 2013 is the new application model. It's much different than traditional SharePoint development patterns.

The new pattern enables developers to host applications (data, logic, services, presentation) on servers other than the SharePoint server, like Microsoft Azure, or Amazon’s cloud services. A new skill set related to cloud technologies and programming against distributed systems in a cross-domain environment is required to successfully architect and implement applications with the new model.

On the flip side, although these systems are more challenging to architect than typical SharePoint server-side based solutions, they allow you to create your solution on any platform you like. For example, you could create an application that you deploy to a SharePoint site and your end users think is running in the SharePoint site, when in reality the application is running off a PHP server connected to the Internet. You can authenticate to SharePoint from a PHP application, upload documents, check them in, check them out, etc.

The APIs that allow this remote access from JavaScript and PHP code encapsulate a giant portion of the SharePoint API and give you the ability to create many different types of web applications with a wide variety of functionality and integration with SharePoint. This really opens up the door for folks who are not familiar with Microsoft technologies or SharePoint to start building apps that work with SharePoint! 

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.