SharePoint Framework - In Marc Anderson's Own Words

This installment in our series asks experienced SharePoint developers to share their thoughts on the SharePoint Framework. In this series, we ask each person a series of questions and let them share their thoughts.

Wednesday, June 6, 2018

Webinar recording

Summary

This is one installment in our series “In Own Words” by Voitanos asking experienced SharePoint developers to share their thoughts on the new development model for SharePoint - the SharePoint Framework. In this series, we ask each person a series of questions and let them share their thoughts.

Marc Anderson

I’m Marc Anderson. I’m a SharePoint consultant and I do other stuff but pretty much everything I do is SharePoint so, I say it that way. I have my own little company outside Boston with Julie Turner called Sympraxis Consulting.

What’s your background as a SharePoint developer?

Well, it’s a little varied, right? I never did the service side stuff and that was actually sort of an election on my part. I saw some interesting things that I could do in other ways, plus I had some clients where deploying stuff to the server was just never gonna happen. So, we came up with other ways to do things and that’s where the development on the client’s side came from doing things like data view web parts, which actually execute on the server but we can work on from the client. That whole sort of set of tool usage came from necessity as much as anything else. Plus, I really like the way we could make some really useful stuff that was right in front of people.

How much time have you spent with the SharePoint Framework?

Well, I’ll be honest, I don’t use it really at all. The good thing is I went to the first developer kitchen, which we do talk about these things even though we don’t talk about what happens in them necessarily. I got to see some of the early versions of things, got to understand what the tooling was, got to understand sort of how it was going to be built, which changed some of my approaches to things. I was just at a dev kitchen so, I’ve seen where it is. What I struggle with is a use case for it in the work that I do with my clients. I tend to build full page applications or at least applications that take over the majority of the page so, a web part itself doesn’t really have much interest to me unless that web part can expand and take up a lot more space. We’re doing a lot of things that will be able to be turned into SPFx things later. We’re developing towards that but we’re not actually using the SPFx to put stuff into client instances.

What is your impression of SharePoint Framework today?

I think it’s an excellent starting point. I think SPFx is the right answer. I think that Microsoft is finally catching up to a way of development that the rest of the world as been doing for quite sometime. I’m incredibly bullish on it, which sounds sort of silly given that I just said that I don’t use it but I’m incredibly bullish on the way their approaching developing with SharePoint now. I think this is the right way to go. I think it provides a better UX. I think its gonna change the way we think about building solutions for the better for end users, which is actually the point, it’s not about the developers. I think its an awesome thing. I’d love to see it keep going, I wanna see where it heads. It’s a version one, version ones don’t have to be bad and this one isn’t but it only does a certain amount of things and we’ll see more.

What is your impression of the SharePoint Framework roadmap?

I think the road map is good in that it’s hitting the things most people want. I think they’re doing a good job of prioritizing use cases and understanding what people will use next so, that’s good. I also think that in some cases they’re sort of missing the boat. Give us something for our full page app, that to me should have been part of the first release. I think probably there’s some confusion what that even means and we’ll get that straightened out. I think that what’s there is great but again, let’s keep going.

What is your favorite part of the SharePoint Framework?

Its interesting, it’s not a development answer, it’s a we can do better stuff for end users. We can put that functionality right on the glass. I talk a lot about this at sessions at conferences, the reason that client side development is good is not some sort of language you use prejudice or religion on my part. I think we can build better solutions. I think that SharePoint developers are going to have to learn how to build those better UXs.

I think there’s a lot of catch up there from, not the post Mac world, but we’re sort of bridging now between the post Mac world and the its running as JavaScript in the browser world and the way you interact with the user, and what you can let users do, and what kinds of things you can develop is very different than what you could without thinking that way. I think its not just a tooling challenge, I think it’s a understanding what UX means, what it really means, not the definition of it and thinking about how you can get closer to your users and use that tooling that’s in SPFx to actually build better stuff. ‘Cause I really think that’s possible.

What is the one thing you would add to the SharePoint Framework?

Right now I call it overwrought, it’s very complicated to look at and to use. I’d love to see something like an SPFx Lite and I don’t know what that exactly looks like. I don’t know if it takes Typescript out or it make the build process more straightforward or whatever. I talk a lot about the spectrum of people who build stuff in SharePoint, everything from somebody whose just adding columns to a list to hardcore server developers, there’s a lot of room in between and I think that SPFx can help address the needs of some of the people in the middle.

Right now I think it’s really catering to the server side developers coming down from the server, that’s a good strategic move, I think that’s what Microsoft needed to do in order to make this shift. At the same time, you’ve got people sort of coming up from the JavaScript world or coming from sort of the power user/citizen developer, we’ve got lots of words we like to kick around for this stuff, and we need to think about how to help them accomplish what they do too. I’m hoping that there’s some way to use this technology stack to bridge that in the middle. Having that single page app, I just want to drop some script into a page idea, will help but we need to keep that surface wide for those citizen developers or whoever we want to call ’em. We need to keep that surface as broad as possible so that they can continue to do the good stuff that they’ve been doing to make this platform successful.

What is the one thing you would change to SharePoint Framework?

It sort of follows from what I said about SPFx Lite, I think that the learning curve to get to the way that SPFx is constructed right now, its not insurmountable but you really do have to work. Anytime you start with a new paradigm you’ve got some climbing to do and I think that a lot of people coming from the traditional SharePoint development world are gonna struggle with that. Good training is always a good thing. Training only gets you so far, you really have to shift your mindset, the Malcolm Gladwell’s 10,000 hours doesn’t happen without 10,000 hours passing, right? We can’t get to a tipping point until we tip. I think that we need to think about ways to socialize and facilitate that learning curve as fast as possible. This stuff is not going away, even if they decide SPFx sucks lets do the 17th development model it’s going to be client side, I’ll say that flat out. I don’t think they’ll ever go back to a server side model on Office 365 or SharePoint, I just don’t think it’ll ever happen. We have to make that shift, we have to get everyone along on that train.

What is the biggest challenge with SharePoint Framework?

I think one of the biggest challenges I hear, especially talking to traditional devs is this fear of what happens on a client and confusion on about how JavaScript works and what actually happens in a browser when you’re using an application that’s built on this stuff. I talk to very smart people, people like you, and we have discussions about what happens when a JS file is cached and or its not cached, or we make a change and it doesn’t load in the page. You and I are having a discussion on level but then I’ll have a discussion with somebody else and there’s a lot of confusion, there’s a lot of misunderstanding. It’s not stupidity or anything, its just a lack of experience working with this stuff. I’ve learned a lot of this stuff because stuff doesn’t work and I have to figure out why so, I’ve gone through that shadow of the valley of death enough times that I at least don’t get as angry. I think we’ve gotta get a lot of people through that and it’s gonna take a while.

Predict the future - Where do you see the SharePoint Framework Going?

I do think that client side development for SharePoint is here to stay, that’s not going away. We can’t read tea leaves the way we used to be able too. Road maps used to be secret, now they’re not secret but they don’t go out as far so, we really can’t predict. I’d love to say, “I understand where they’ll be in five years.” but, good lord, nobody does, right? They don’t know, Microsoft doesn’t know. What I think we will see is more and more functionality being brought into this development method, more and more capabilities. I’m hoping that we start to see some third party libraries showing up, I built that SP serves library to fill a gap that I saw and some tooling that I found useful. I think we’ll see the same thing with SPFx, we’ll see a good ecosystem build up around it. I think there’s much more potential for that.

I think we should all be thinking about the fact that its not Microsoft only here, we can see what they’re doing, we can augment it. We have to work with them to do things like can you open source the generator so that we can actually see what we can add to it. Can we come up with a plug and play or extensibility model, let’s add that Angular yeoman template, lets add the view yeoman template, whatever. Let’s help them understand that we need to step to the side of their React stuff and be able to build well with whatever frameworks we want and potentially in different tools than Visual Studio Code. I’ve tried to do a little SharePoint Framework stuff with WebStorm and it actually sort of works. I think we’d like to see all of that kind of stuff broaden out and I think that’s what we’ll see over the next year or two.

Remember there are a couple of goals here, one is to bring the server side developers into the client side development world. Another is to bring a whole world of developers who’ve been doing this stuff for a long time to SharePoint without saying, “Oh my god, what is this mess.” We need to make that the mess isn’t there when we bring them. All of those pieces together, I’m hoping, the story will just get better and better.

Do you have any Advice or Words of Wisdom?

I think one exciting thing here, is that a lot of people have client side solutions in their SharePoint environments all ready whether they know it or not. We’ve got these power users/citizen developers, some of them are copying and pasting from blogs like mine, some of them are really writing code that turns into useful solutions. If we can start to find those solutions, not to beat these people up, but to enable them more and understand how they’re building things and help them understand how to move toward this more industrial strength way of developing with the SharePoint Framework. I’m not saying we’re going to get those power users to use the SharePoint Framework, that’s probably not the right idea. But if we can think about how we help those people get to where they can and then pick up what they’re doing has, I hate the term professional developers, but people who do this stuff all day long, and take them to the right end point.

I actually asked Jeff Teper, a couple days ago, “What’s the story with citizen developers with this?” and I was so happy to hear him say that he wants to see the same thing. He wants to see those citizen developers be able to go to an IT like organization and get more assistance, to me that’s a huge problem. I think the really cool thing is that if we can help people, and this is part of the community thing, if we can help people to think about developing in a way that lets them get towards the SPFx way of doing things then we can start bundling and packaging and deploying stuff that’s already there in a more robust way so, that we have better solutions that can roll out faster that can be more available to end users to accomplish better business goals because that’s the whole point. All this foofaraw about what tools where using and stuff is irrelevant if the end users don’t get something out of it that makes their work go better. So, I’m psyched for that part.