My Take Away from SharePoint Saturday New York 



This past weekend (Saturday July 25, to be specific) I attended the SharePoint Saturday New York conference. I’m not a SharePoint developer and my role has nothing to do with Sharepoint, so I must be out of my mind for wanting to get up at 4AM on a Saturday and drive into the middle of Times Square at the peak of summer. The effort however was well worth it as I left there feeling energized and inspired to continue to create (side) projects that run against this platform.

SharePoint Saturday events, if you are not familiar, are free events organized by enthusiastic volunteers and made possible by generous sponsors.  We get to hear and interact with individuals that are at the top of their fields of expertise and understand first hand why they deserve the credentials they have been awarded (MVP, etc). In my prior role as a Project Manager, I developed several client-side solution that leveraged SharePoint within the company. As I moved on from that role, I never rally gave up the platform, as to this day I still have side projects that are developed against it and, from time to time, provide freelance development consulting services.

I have always developed SharePoint client side solutions.   To me, SharePoint is simply my data store (API) and host for the solution. For a long time there were not many out there that were building solutions this way.  I can remember a few years back when I would look at the agenda for these types of conferences and all I would see were sessions on how to create server based solutions using managed code.  But this is not the case now a days. A large percentage of the sessions focused on how to create solutions using client side technologies like HTML5, CSS AND JavaScript, and most surprising, they explored alternatives to Microsoft’s Add-In model, which has never won me over.

The sessions I attended were:

  • “Love in the Time of Javascript: Useful Patterns for Client-Side Code in SharePoint” – Jason Specland (@jayspectech, slides )
  • “JavaScript Libraries for Office 365 Developer” – Tim Ferro (@timferro, slides)
  • “Developing Applidation for SharePoint with Modern Web Development” – Scot Hillier (@ScotHillier, slides)
  • “Building Applications with the Office 365 Unified API” – Rich Ross (@rich_ross)
  • “Building SharePoint Single Page Applications using AngularJS” – Steve Pietrek (@spietrek, slides)

Of these, the sessions by Tim Ferro and Steve Pietrek were the ones that most resonated with me and the approaches I use to develop for SharePoint. Don’t get me wrong; the other sessions were good (ex. I heard probably the best explanation of how oAuth2 works by Scot Hillier), but both of these guys do most of the work client side and outside of the Add-In model.  Spietrek’s session was the closest in style to the way I develop – right down to the toolset and deployment approaches.  They also showed a few techniques that I was not familiar with and will be looking more into (ex. run SPA in localhost and access normal SharePoint APIs – nice! or Registering JavaScript on all pages in Office 365 from the browser).

I also was inspired by Rich Ross’s session on the O365 unified API. Although he had Visual Studio open most of the time and working with C# code (you know: backend stuff… that I have never touched), the capabilities of the new unified Office 365 APIs will enable an entire new set of apps that can integrate with the office products.  There is great potential here and ideas were racing through my mind on the drive home.

As SharePoint development continues to shift to client side, I was surprised to not see more speakers advocate the use of Asynchronous Module Definition (AMD) or commonJS patterns. After all, most of the attendees where C# and .NET developers whom will be making the transition, and introducing them to a mechanism that allows them to modularize their solutions probably make more sense to them given their backgrounds.  Personally, I think that if they are going to be transitioning starting now, they should develop their solution using JavaScript version 6 (ES6) and utilize a transpiler to run that code in today’s browsers.  ES6 is the start of the real evolution of the JavaScript language and learning it has a greater value (IMO) than try to learn Angular or just about any other framework out there…

Overall, the event was great and I can’t believe I have missed a few of these in the last two years. It inspired me, motivated me and in a way, validated that the way I have been building stuff, ever since SharePoint 2007, is actually not so “anti-pattern”. If you want to listen to extremely smart and energized individuals talk about great subjects, I suggest attending these whenever they are available in your area.