Podcast

Episode 016 | Interview with Marc Anderson on Recent Changes Impacting Customers on Office 365

In this episode Andrew and Chris discuss the cloud storage pricing wars, Sandbox solutions in SharePoint and OneDrive.

Episode Hosts:

Episode Guests:

Episode Notes:

News:

Episode Transcript:

[0:01] Andrew: Welcome to the Microsoft Cloud Show Episode 16, where we're going to talk about the recent changes impacting customers on Office 356 with special guest Marc Anderson.

[0:10] (Music)

[0:17] Andrew: Welcome to the Microsoft Cloud Show, the only place to stay up-to-date on everything going on in the Microsoft Cloud world including Windows Azure, Office 365, SharePoint, Exchange, Link, and related technologies. Just the information, no marketing, no B.S. I'm Andrew Connell.

[0:34] Chris: And I'm Chris Johnson.

[0:35] Andrew: And we're just two dudes telling you how we see it.

[0:38] Andrew: All right, we got a special show today. So before we get started, how are you doing my brother from down under?

[0:45] Marc: I'm a little jetlag, I got to say. We're in a three hours difference, sometimes it's a smaller jetlag, numbers... sorry, the smaller time difference numbers I should say that screw me up the most. So I flew down to New Zealand a couple of days ago and brought the wife and kids, so it's a great way to start a holiday is by wanting to stab yourself in the face by taking children on a 12-hour flight. But we made it. So glad to be here but yeah, a little shady but nice to see you guys.

[1:21] Andrew: Yeah, good to see you too man, good to see you too. Yeah, it's been a busy week or so, I mean, I did finally get news today that my that Pluralsight class that I've been working on, waiting to be published, it's going to go live tomorrow, the Workflow – Web Services, so by the time this podcast is live everyone will it will definitely be live and you will see it. We're recording this on February 5, so we're usually about a week or so delayed while we get all the stuff kind of buttoned up. But, it has been busy just kind of plugging away and staying busy. So what do you say we dive into the news here and then we got a special show that I'll explain in just a minute? This past week, again, we're recording this on February 5, so this past week Office 365 celebrated their first birthday, which as we'll see, we're having some teething problems that is kind of subject to this podcast today.

[2:17] Andrew: I promised to be a little more subdue than I was in the last episode where I got a little flew off the chain a little bit from the whole SkyDrive/OneDrive discussion that we had.

[2:29] Chris: Yeah, it's good to be heated and passionate about this stuff.

[2:33] Andrew: Yeah, I wasn't comfortable as everyone of those of you who have listened to the episode, I wasn't as comfortable leaving some of the language in the recording so we got a couple little bleep out spots that I decide to insert in there.

[2:47] Chris: Excellent. So since it's Office 365's first birthday, you're going to do one of these your famous your world-famous Marilyn Monroe impersonation for us?

[2:58] Andrew: I was going to but my dress is at the cleaner's.

[3:04] Chris: Oh, it's being used too often I think.

[3:06] Andrew: Yeah, but we'll see actually listens to us then because I'll go ahead and said it that I'll wear it at SPC in Vegas, so let's see how many people actually listen to the show, they'll actually bring that up.

[3:16] Chris: Nice, nice, I'll bring you a camera.

[3:18] Andrew: It's your crap, like everybody doesn't have a camera these days unless you've got a flip phone. So two other bits of news here, I guess, two other bits of interesting news that are cloud related and then we'll have some big news too as everyone is probably aware by now is that this past week Microsoft also announced two new virtual machine instance types or sizes that we can have in the Azure cloud. One of them is a monster or it's a monster until you see the second one, the first one is an eight virtual CPU cores with 56 gigs of RAM and then they also have a new one that is going to be 16 virtual cores with a 112 gigabytes of RAM, which would make just one hell of a Minecraft shared server, don't you think?

[4:06] Chris: I was going to say Minesweeper, but yeah, Minecraft works too.

[4:09] Andrew: Is there a network version of Minesweeper? That will be awesome.

[4:12] Chris: No, I don't think so. And somebody should do that for sure.

[4:14] Andrew: I want to be Saddam Hussein and be moving my mines while you're trying to play it.

[4:22] Chris: Brilliant, brilliant. Yeah, these are pretty interesting, especially for the [4:26] SharePoint land with large resource requirement from [4:29]. So, since we've been seeing them adding these different types, I am keen to see that they went and move to just pick your number of cores and pick your amount or RAM and just have a flickable slide that they can force in Azure. I think that would be kind of cool.

[4:46] Andrew: Yeah.

[4:46] Chris: Obviously, see that's a little bit difficult but yeah, interesting.

[4:51] Andrew: It is, it is. When you look at the menu of options that you have over there at AWS space it's still a smaller options and they're still focusing just on the CPU and the RAM specs, they haven't really gone so much into like the graphics CPUs for like with different Cuda cores and stuff that we have over on the AWS side but I mean, they're adding stuff left and right, we get those cloud wars are nice and strong this year.

[5:17] Chris: Yeah, excellent.

[5:18] Andrew: Another bit of news that I saw today which is pretty slick is that NBC, Winter Olympics has decided well, I guess they decided this a while ago, but there's an article that we'll link to in the show notes, where they're actually using the Windows Azure Mobile or Media Services to do a lot of transcoding and encoding and delivery of a bunch of their HD video from the Winter Olympics in Sochi, Russia that start—

[5:42] Chris: That's cool!

[5:42] Andrew: Starting later this week. I find it very interesting because it would be probably the most significant point of this is that guess who they used for the last Olympics or the last few Olympics to do the same service?

[5:57] Chris: AWS.

[5:58] Andrew: YouTube.

[6:00] Chris: Oh! Seriously?

[6:02] Andrew: Yeah, so Azure Media Service is one out on the job from YouTube. So that's pretty impressive.

[6:09] Chris: It's pretty impressive considering, you think, YouTube is the king of online video stuffs and heck, they choose Azure to do it, it will be cool to see some technical white paper or some information about what they use and exactly how they use it to be it'd make a good case study.

[6:28] Andrew: Yeah, definitely. Yeah, it would be really cool to see when this comes out. So our friend Dan Holme is over there, he's doing a lot of stuff for NBC and so NBC Sports, so it'd be really cool to get him on the show to actually talk about some of the stuff that he saw and how they're using the cloud and everything but—

[6:43] Chris: It's a great idea, yes.

[6:45] Andrew: Yeah, so the other thing, the other really big bit of big news that we saw this past week is you coming up with a really bad prediction that you couldn't follow through on and it seems to have—I got my guy which is Satya Nadella was picked as the CEO for the next CEO for Microsoft, which they say, is the third CEOs, it's more like a 2.5 because Bill's back as well.

[7:08] Chris: Yeah, yeah.

[7:10] Andrew: But, yeah, I love the move and I love and I saw that in the last just recently too that they also bumped up and promoted Scott Guthrie, The Gu to take over Satya's old spot, which I think that personally I think both those moves are fantastic, I love the way on the surface today, I love the fact that Bill Gates is involved as well in the position that he's in and that Satya actually requested to get involved and so now it's just look over at the now it's like balls in your court Microsoft, I'd love to see what you do with this but you got a huge opportunity now to really do some make a bunch of changes.

[7:45] Chris: Yeah, so you do—I think you won a bit because you predicted that Satya will kind of get it. Actually that I'd like Stephen Elop but I thought that Kevin Turner was going to get it, at least temporarily. So yeah, congratulations on your win. But hey, I think with Bill coming back, everyone's a winner.

[8:05] Andrew: Agreed. Agreed, and Scott—

[8:08] Chris: I'm very [8:08] about that. I think that's really cool that you're [8:12] for more time and you know Satya's strong technical leader. I didn't think he had quite a level of business acumen that was required at all from with Elop but yeah, I'm happy to be proven wrong, I hope he does a really great job.

[8:29] Andrew: Yeah, agreed. Okay, so let's move on to the meat of the show on what we're going to talk about today. If those of you who are deep in the SharePoint space specifically, I'd say more on the implementation from the everybody that's doing any kind of customizations from developers to front-end developers to designers, web developers, you name it, I would be surprised if some people at least or most of us were not aware of some of the things that have gone on, I'd say maybe the last two-three weeks-ish and that is around Office 365. So and specifically they made some changes to the rendering of Office 365 after making a few other changes to the APIs earlier in the year and it's caused some customer grieve and challenges, and it really brings in up some big questions here. So what we wanted to do here, what CJ and I wanted to do was we want to bring in somebody who is very well respected in this place and is one of people that I look to for a lot of opinions and insights and kind of just forward guidance here and that's Marc Anderson.

[9:37] Andrew: So Mark is a co-founder and president of Sympraxis Consulting LLC, hopefully I didn't say that too poorly, located in the Boston suburb of Newton, Massachusetts in the United States. He focuses on enabling collaboration throughout the enterprise using the SharePoint application platform. He's got over 30 years experience in technology, professional services and software development and over a wide-ranging career in consulting as well as line manager positions. Marc has proven himself as a problem solver and leader who can solve difficult technology problems for organizations across a wide variety of industries and organizational sizes and he's also the author and the spearhead behind SP Services, a client-side library that really helps you achieve a lot of stuff.

[10:25] Andrew: So Marc, thank you very much for joining us. You've got the fine distinction of being our very first interviewee on the show.

[10:34] Marc: No pressure, right? You're reading all that and I wonder who the hell you're talking about and you're telling me this is the first time and—.

[10:44] Andrew: It's okay, we only actually do the audio, we don't to the videos so we can all cut up as much we like, very casual conversation, all right.

[10:52] Chris: Yeah, so thanks for coming along Marc.

[10:54] Marc: Yeah, I'm glad to be here.

[10:55] Andrew: So I guess there's a couple post that we're going to reference that we've seen on—I've wrote on my blog, Marc's written on his blog and there are references to things in Stack Exchange and in forums of different questions that have come up and what I want to do is I just kind of wanted to had just a dialog and we all kind of have different opinions here because I know that CJ and I both commented on the thread that you had on your blog post in the thread that was generated from that in the comment section. I love those kind of post that always test the vertical width of a site or the horizontal width of a site makes you think you're too scrunched up and people are, I mean I think there were—I commented on one thing and some guy chimed in and said, “That's funny, you said the exact same thing I said.” And I'm like, “Our timestamps are about two [11:43] so there might have been a moderation kind of like gap there, but at any rate, it's a contentious thing, some people think that it's overblown, some people think that it's not overblown, but I guess get your take on if you want to give us a bit of a synopsis Marc, on what you've seen over the last few weeks and we'll just have a discussions just go from there.

[12:09] Marc: Well, I mean, you and I know exactly what we've seen. I think your blog post made that summary out of everybody's but the basic idea is that over the last couple of weeks, there have been some changes, an update that rolled out to Office 365, SharePoint Online that made some changes to what is delivered to the browser in the DOM, Document Object Model. Some of the things that were changed or things that we relied on for better or worse and I think some people are having a great time laughing at me and all of these, “See! You shouldn't have been doing that all along” but for the last eight years we've been using certain pieces in the DOM, sort of to identify fields and to start to manipulate things and forms and in pieces of pages. So as those changes rolled out, people with custom scripts started to break and a lot of people who were using [13:04] services that my stuff started to break. But a lot of other stuff that they had done started to break too. So what we had was a set of changes that nobody expected, no one knew it was coming that started to break people's custom code and that's obviously not a good thing.

[13:21] Andrew: Yeah.

[13:22] Marc: That's my quick summary.

[13:24] Andrew: And I think, to kind of expand on it, the other things that we saw, I mean, I guess let me take a step back is that, earlier in 2013 we saw Microsoft do a couple updates around—and we're going to keep using the term Office 365 but I think that from my point of view this is kind of a because the other all the parts of Office 365, SharePoint is the one that is the most programmable, the most extensible and the most customizable. So this is where I've only seen these issues in the SharePoint space. So when we say Office 365, we really mean just the SharePoint Online piece. Back in 2013, we saw some stuff and there were some post that I know we've referenced before on the pod show, on the podcast that like Jeremy Thake has written about where changes to the APIs either have introduced a bug that have broken some code. They're from some different products that are out there in different ways and then the customers have been left to kind of looking about Microsoft and the vendor and the app developer to say, “Hey, the app's broken, whose going to fix it?” And the app developer's kind of like, “The API broke, we have nothing that we can do with this and in fact only some people are affected by it because the whole platform doesn't get updated at once,” it kind of is an update that rolls out but even though we look at Office 365 as a cloud platform, it really is a cloud of collections of multiple SharePoint farms, if not hundreds of thousands of farms.

[14:53] Andrew: So those rollouts, those updates only happens to certain ones. So that was on the server-side, nobody had their issues popped up around that. Now these are popping up more—they're still originating from the server-side but there are things that are being much more manifested, not in the APIs like the REST API or the client-side Object Model API or the JavaScript Object Model, but there are issues that are arising from—really from the CSS in the DOM and what—some of the things that like Marc is referring to are like we have seen different strings get appended to certain attributes and different elements and that's broken certain jQuery Selectors that people are using like trying to grab a field name or something.

[15:38] Andrew: Another one that we saw was—and this was the really big one for me is that we saw the IDs of certain elements on the page getting changed and I'll just say it, my opinion on that one, the one that really—that one got under my skin the most, the other ones I was like, it's kind of a pain but it's kind of like this whole like a chess match back-and-forth, you do this I get to fix, I get to fix this, but the last one is the one the way it change the ID, that's the one that really got under my skin because we've all looked at IDs as being a unique thing but now also they changed and now that they change, the IDs changed from using the word Suite as a prefix to using 0365, so any code that's referencing an ID is now going to break and not only that, if I write an app that someone gets from store that's written to both on On-Prim and locally, it's extending something in the UI, then I have to write it to look for two different IDs because now there's an On-Prim ID, at least for now unless those 0365 IDs trickled down in a cumulative update or something but then again is that going to happen because or not Office 365 On-Prim. So, I don't know, I think it's a challenging thing and it raises a bigger question here.

[16:52] Chris: Yeah, I think I chimed in on your thread Marc, on your website or on your blog about when the first one came up around title and my point on that was like titles, semantically titled is not something good to key off and it doesn't surprise me that things have changed, right. But the ID one is a whole, for me at least, that the ID one is a whole different kettle of fish and additionally like a more defensible position, I guess, of that why it shouldn't change and [17:23]. And I get the understanding or I get the need that the people have used title and so forth in the past to get stuff done and I completely understand that, I just—the bit that I sort don't understand is how we expect the UI not to change and for those things not to change every time and not [17:45] when Microsoft are building the product in such a way that that those things are going to have to change every time at some point. But I understand why it happens. The IDs, I completely agree and I think they even made in my comments on that post it was like, “Surely ID must be a better one to key off.”

[18:11] Chris: Even having said that, the next part of my point on this is even if we do take a dependency on IDs, if your piece of—if you're software developer building a front-end and you add some buttons with IDs or some divs with ID and add to the thing and you want to grab and do stuff with them, as a developer I feel like it's still within my realm of responsibility, I don't know if that's quite the right word, well still within my jurisdiction to go and change those without telling anybody. And I say that because I should only need to commit to a contract of not changing them, at least that's the way I feel, I don't think I should have to commit to a contract of not changing them if I haven't pulled them in the API right, if I haven't I changed to a contract and said, “Here's what you should be able to count on.” And whether that's the case with SharePoint or not, that's debatable right, like that's the bit of conversation it's going to get interesting but taking up your position, I don't feel like Microsoft have done that—have committed to developers that the UI as an API yet and whether that's right or wrong, I don't know. But I imagine that would be the point of contention.

[19:38] Andrew: Yeah, so Marc, what do you think, CJ brings up a good point here about, you know, is the—and this is the one I raised in my blog post but brings up the issue of, is the client-side and not just the Client Object Model and the JavaScript Object Model and REST API, not that kind of client-side but is—do we consider—should we consider, should Microsoft consider the rendered part of SharePoint, should we consider that an API or at least part of an API or a subset or is it a gray area? What are your thoughts on this?

[20:10] Marc: Well, if we can put the recent changes aside and I think the key thing that all of us can probably agree on is that we have to have some kind of contract, right? That bar is going to be at the top, we have to call it something and that something has to be somewhat consistent or at least we need to know when it's going to change. [20:30], “Hey, we're going to rename everything and we're going to stick with different prefix on.” Then we all put up in ready for that. So the communication has to be better and there has to be some sort of [20:42]. There's never been a contract around any of these. We've all been trying to come up with some way to make stuff work on the front-end and we come up with conventions that work over at least the release cycle, right.

[20:56] Marc: Now that we have these updates coming, we don't know when they're really going to happen. We don't know what they're going to do. There's even less predict about by a factor of [21:06]. So I get why I shouldn't rely on the title being a certain string or an ID having a certain structure. But I need to rely on something, right. If you give me a container, if you wrap a div around a field, you agreed that it's always going to have the static name of the column, so at least I know that that's the thing that I need to look into. Then at least we had some sort of common understanding. Yeah, the whole thing the whole page can change but there are web standards that Microsoft doesn't seem to really want or think about, you know, sticking required field in for a screen reader is not a web standards, that's the way to do it but it's not the [21:48] attacks that are much more conventionally accepted, all standards of all et cetera. So what I'd like to see is coming out of this conversation that the product group said, “Oh! Yeah, we did some stuff that that caused people problem. How can we do this better?” And not have that discussion take four years.

[22:06] Andrew: Yeah, I agree.

[22:08] Chris: Totally agreed.

[22:09] Andrew: That's the—when you said the ARIA tag, you mean the ARIA and those—

[22:14] Marc: ARIA.

[22:14] Andrew: And those of the attributes that they can put on certain elements, right? They're not tags, they're actually are okay, just making sure I got that.

[22:20] Marc: Yeah. Sorry, they're attributes on HTML.

[22:23] Andrew: Yeah, it seems to me that you know what, I guess let's when you look at a challenge that we have like this, I think the first thing we have to do is we have to, of course, we're going to solve this for Microsoft free consulting right here, so all in about 20 minutes.

[22:37] Marc: That's all it should take, right?

[22:38] Andrew: Yeah, right. That's what we think. So I mean if we look at where we are today, we look at the challenges that we have and I think we just kind of enumerated through a bunch of those and that my point is that I do think that we need with Microsoft pushing us from my perspective, they're pushing us off the server as far as SharePoint goes, they don't want us to be doing anything on the server unless it's fully declarative. I get that, it's good for the platform, it's good for us, it's good for extensibility, it's good for upgrades. They want us to all our stuff off the box that means on a separate physical box like on Azure AWS IIS box and a local on On-Prem whatever. And then also want or we can do stuff in the client like I'm a browser and that's using things like JavaScript in the different presentation frameworks and such.

[23:21] Andrew: So if they want us to be off the server and they want us to be using things like client-side technologies, you'd be able to talk to thing, talking back to SharePoint using the Client Object Model, the JavaScript Object Model, the REST API. Then if they also want us to be able to extend the user and the experience and maybe not so much extending the user experience but be able to like to hook into different things and add light up functionality in certain ways right, we need to be able to tie in to certain elements and attach ourselves to certain elements and do certain things, what I would like to see them—

[23:56] Marc: That's the key.

[23:57] Andrew: Yeah, and that's the key. And we have to change the whole UI but what I would it seems to me is that once we identify where the problems are you look at where could we go to, it seems that when the easiest thing that they could do and I don't see how this could break anything by having this rollout for the entire platform over the next X months or whatever X years, is using the HTML5 standard tag or attribute of data dash. So let's just define a data dash SP or data dash 0365 and then have things like dash field ID or dash this, those would be great things for us to tie into because then we're tying as interior names, those don't change, they're programmatic, immutable things that we can always rely on and you can change title to your heart's content, display name to your heart's content of the bodies or whatever but as long as these elements were there like in test form, things are in a much better shape.

[24:52] Marc: This is all very well and good except the first question is, do Microsoft want you to have the UI as an API?

[24:59] Andrew: It's a great question. Then that's the one it's the one that seems to kind of be dodged in this whole thing and what I would like—I hope to see this discussion take place in a month that we have over at the SharePoint Conference in Las Vegas, right.

[25:16] Marc: So one thing that I think you've made it very clear that Microsoft does want the client-side to be [25:22] by us is that they've come up with this thing called the [25:26], right. They're HTML driven with JavaScript. They're a pain in the neck to work with, whoever built them the way they are, never did JavaScript work, [25:36] right. But they are what they are and basically they're an entirely client-side HTML and JavaScript [25:44] display method. If we want to write custom display templates and then [25:49] did a great post today with some really cool stuff to show you just that kind of making things you can get done. We have to have some sort of understanding about what the construct within which we're working it is, right? So we have to know that there's a container around it and we can do stuff inside it. If anything changes about that container, then we've got problems, right. We can't march up and down the DOM in an efficient way in that display template.

[26:15] Marc: So that's a great example of Microsoft basically saying, “Look, this is how we want you to do this stuff.” So they need to support that. They need to understand that in that display template as an example, we're going to assume a certain context around it and they can't mess with that. Now the SharePoint forms frankly, they haven't changed since 2007. I mean there's been zero innovation there. So the changes that they're making, one would like to think is actually going to move it forward. But in the places where they have innovated, they are telling us about the [26:49]. So we have to have a good set of rules around that. And there haven't been any and there hasn't been discussion about it that I know about.

[26:56] Andrew: I think that's a really good point, I mean, you said that we haven't seen any kind of innovation around forms. I mean, we have seen some, I guess we forgot to mention on the news, in my eyes it was probably the best news I've seen in a while next to the new CEO Satya, is that InfoPath is now officially well, I wouldn't say that InfoPath is dead because it's still supported for another 10 years, I would just say that no new version, so InfoPath has been sterilized.

[27:22] Chris: There you go, there you go. I mean this is huge news, we should cover it again in another episode and talk in-depth about it but yeah, that's huge.

[27:31] Andrew: I'm looking for some party background music to play during that one so that's why it's a future [27:35]. But the thing is we have seen some improvements here around the forms stuff where the client-side rendering framework right, or the client-side rendering stuff that they've done about changing the way stuff is rendered and that's all done during the start that we're talking about, which is overwriting existing functionality that has been built using JavaScript and HTML and CSS. The only thing really the only thing that's really negative on the CSR side, from my point of view, is that there just hasn't been the follow-through that we needed for the documentation, the API and it is just everybody that's trying to grab blog post about it has just peeled back the onion so far to figured it out and it's awesome stuff when you get into it, like a display template, you can figure out a display template, it's awesome stuff which we're going to accomplished.

[28:20] Andrew: So we see that they want us to be able to like Marc said, they want us to go through and change these different pieces. But you're right, we need to have some sort of rules that are in place there, it'd be great to have some sort of like a roundtable discussion at the SharePoint Conference with people on the engineering team about what could we do to kind of get these things to do things to make it better for this and to see these things rollout sooner, if anything, let's just start what we have right now. Enumerate to the ones that you say, these are off-limits to changes without prior knowledge or prior announce, “Hey, here comes a breaking change. This is when this is going to roll out in this time frame, this version” and then some sort of a it's something we've been begging for in the Office 365 site for a while, a change log of the things that are being done like we get with the service pack and a knowledge based article that shows up on TechNet.

[29:12] Chris: Sorry, I was just going to say Marc, what would you ask for out of if they came to you at SharePoint Conference and sat you down and said, “How would you want this approach? What are the kinds of things that you think the community and developers in general would benefit from around being notified of changes and that sort of dialogue and things?" What would be to perfect kind of outcome for you on that?

[29:39] Marc: Well, I think even opening up the communication when these updates come out, we actually don't know when we're going to get them and we don't know what we're going to do when people say, “Oh! I've got a new button over here.” But that they don't notice necessarily the things that are changed in a negative way or in a way that the developers are going to have to [29:58], right? So I think if we knew what was coming on a general level, so you know, in this next release we're going to make some updates to the ways screen readers deal with forms. That would be enough for me to say, “Hmm! I better for that” right? At least should have a clue. Knowing when those updates are actually going to happen, there is a schedule, it's not a public schedule. And that's making people very uncomfortable. And then just trying to come up with some sort of guidelines around how they're going to treat the [30:33] legacy solutions out there all over the place. So they've upgraded fine into 2013, some of them have gone straight to Office 365, they're there. And so rather than breaking thing and finding out after the fact, if we had something to go on upfront, that if the JavaScript, the client-side rendering stuff which was documented that—I have to step through their JavaScript in order to figure out what a function does, you know, if I'm building a slide tablet. So there are just a lot of ways to open up a communication line so that I think would make a huge difference. We would make people feel better about what Microsoft does instead of feeling “it's done to us”, we would feel like “it's done for us.”

[31:19] Chris: Right.

[31:19] Marc: And I mean that alone would be a fantastic move for Microsoft.

[31:26] Chris: Yeah, it's really a couple of you make an interesting couple of points there, right. The first one is if they want us to be able to extend SharePoint UI in certain ways in which let's get it logs down and documented and registered as like a real API and that that will drive an internal sort of mechanism that we don't see on the outside world but the way changes are made inside the SharePoint engineering team on the product if something's an API, it's subject to a whole bunch of different scrutiny that other thing aren't subject to because the needs of backward compatibility and things like that. So I just think some sort of official change in policy around these are the paths the UI that we consider open for fiddling with and you can take it a [32:22] on and here are the roles on how we're not going to change it or how we're going to change it in that would be a really good first step.

[32:31] Chris: And then the second part of the question or the second part of the statement you made around just, yeah, timelines and notifications and all of that kind of goes is a really big topic that obviously not just associated with the UI but every which way you extend and develop on top of SharePoint so that it's positive for everybody around right, regardless of what you're building.

[32:53] Andrew: Yeah, it really creates a challenge with these changes that just kind of come out of the blue and not only well, they come of the blue from the perspective of the customer. Let me take a step back here, one thing that's different about from Microsoft as a services company compared to so many other people is that Microsoft heavily relies on partners and solution integrators to go sell their services and so there's a whole part Office 365 where Microsoft doesn't really sell Office 365 directly to a lot of people, you have resellers go out and they sell and they implement and they help you migrate your existing platform over to it. So I know I've help people do that before, I know you guys have helped do that with people before as well.

[33:33] Andrew: The part that I feel like I'm supposed to be a partner in this whole chain with Microsoft on 365 because I'm helping sell it, but when I turn around and as a partner, I'm going to selling 365 to a customer, like in my case this week getting feedback from a Fortune 100 customer, that just send me an email after they saw my blog post or after they saw a comment go up on the Stack Exchange, on the SharePoint Stack Exchange Forum, that I referenced to my blog post, I'm putting together a blog post, as I put together a blog post, this guy emails me and says, I'm going to paraphrase it, the quote's in my blog but the email been paraphrased to something like, “Look, we've been on SharePoint since 2003, then we went to 2007, then we're on 2010, then we're on 2013 On-Prim. We migrated our 2013 On-Prim to Office 365 and we could tell that in this version we were being pushed farther and farther where we're doing our customizations. We were pushed off the server in 2013 effectively and now with a lot of the changes that we've made we thought that we were doing things just fine in making changes to the interface using things,” even cited saying, “I've been using SP services, I've been using the REST API, been using the JavaScript API” and I'm doing a lot of it in my own JavaScript libraries that I'm referencing on the site using the brand-new web part that I can use to inject script on the page because we thought that Microsoft said it was cool to go to through and run script on the page to make changes in stuff and because they're so they pushed jQuery in all of the stuff now, I know that jQuery is available to us, that was the other change we forgot to mention is that it looks like there's a reverse proxy of rerouting to where—

[35:18] Chris: jQuery rewriting.

[35:19] Andrew: Yeah, jQuery protocol.

[35:20] Chris: Or the URL rewriting.

[35:22] Andrew: Yeah, protocol less URL references.

[35:25] Marc: That's actually been going on for years now. It just it happened on Office 365 without anyone touching anything. SharePoint designer's been doing it for a long time, but still not good.

[35:37] Andrew: Yeah, and so it's—

[35:38] Chris: I'm just going to say that—

[35:38] Andrew: Let me finish this one thought here, is that you see people they're making these changes, they say, we made all these changes and we've been customizing SharePoint the way that we thought we were supposed to, we're not doing it with SharePoint designer anymore because that looks like that's going away eventually and we're not doing it with Farm Solutions and we're not doing it Sandbox Solutions, we're trying to with apps we can't, we're doing scripts and we're just manually going to through and deploying it in there and then this happens, it's like we can't we don't know where we're supposed to take a dependency. Are we supposed to build everything outside of SharePoint and then they raise the question, which isn't the first time I've heard this, the person that raised the question was just saying, “What's the value proposition of SharePoint for anything other than just list and having BI?” Now, granted that's really going a little bit overboard and or really jumping to conclusion of saying that SharePoint provides no value other just list and libraries, which that's we all know that's not true, it does a lot of stuff. But to treat it as a platform, which we've been talking about for many years now, I've been doing this for 10 years and I've been saying almost for 10 years of using this as a platform for business applications, I can understand what the frustration was coming from these guys and it puts me in an awkward position because I don't feel like it's a defensible some of things that happen are very defensible. So, but it is, you know, even in the NDA sense that all of us are being able to have preview to certain things, so a lot of the stuff hits us out of the blues as well and it's like, how are we supposed to even react to this kind of stuff?

[37:05] Chris: I just think it's interesting that the history of SharePoint has always been people adding things and extending it and all that sort of stuffs in ways that Microsoft did and didn't necessarily expect, right. So in the early days of SharePoint, people were fiddling with files on the file system, add new things to SharePoint, right. And it kind of got to the point where became so popular and was going so well that Microsoft had to start formalizing the way that they would support people changing the product. And so kind of my point is, well if people are doing that stuff in the UI that Microsoft like give them the benefit of the doubt, so they didn't bother looking at who was using these UI Hooks in the ways they're being used and made the change unknowingly to break ended up breaking somebody or a bunch of people. But, if people are doing this then much like they fiddled with files way back when then eventually there is an argument to be fit well maybe they should be supported and maybe they should be treated as an API because reality is that people are doing the stuff and to keep everybody happy and up-to-date and support it. That's what needs to happen. So I guess my point is, way back when there was stuff being done that wasn't necessarily API related or treated as an API and eventually now is, so maybe this is another next logical step of progression.

[38:41] Andrew: Yeah, yeah.

[38:42] Marc: One interesting thing to me is the stuff that I do as [38:45] services, you know, cascading dropdowns on a form. It's a piece of functionality that thousands of people want. I've been doing it in the same way since 2009 service, right. And so I was doing it before that, before I put it out in public. So it's not like we haven't been doing this stuff for a long time and Microsoft shouldn't have seen hey, wait a minute, you know, people are needing his functionality, let's put it into those forms. And oh, by the way, the way they're doing it is pretty clear. I mean, it's open source, there's no secret here. So that market sense in that, that feedback mechanism is broken, right. The major pieces of function, I would love if that piece of services went away from that perspective. That should be functionality that could be built into the product. So rather than looking at we're putting weird script on forms or we're putting files in the file system they should be looking at what are the problem they're trying to solve with this, are we getting better ways to do there seems to be—

[39:50] Chris: Absolutely.

[39:50] Marc: But impermeable barrier going back to the product group around that stuff. We can give them scenarios now that this is broken, well say maybe one [40:03] may I shouldn't but, I've been asked for well give us some scenarios that where you need to do this stuff. The scenarios had been out there for years. This isn't the fact that you have to ask means that you haven't been paying attention to what SP services are used for. I think that's a shame. I think that's a total waste of brainpower on Microsoft because they could be looking at all that crap that I've been doing, band-aid and fix up and be putting in product enhancements that would put me out business and I'd be happy about that.

[40:37] Andrew: I think you see a lot of that from the people that are on the engineering side that and I don't think that this is unique to Microsoft but I think that the people that are building the products are unique to the engineering side have an idea about how the product should work and how you should use the product and then you go to the field and you see the field is doing things that they didn't think of. I go back—I think that it's kind of it's ironic that I this is actually coming from Microsoft but there was an ad, I don't know if you guys saw this, the Connect ad from a couple of years ago, I think it aired on Thanksgiving maybe three years ago, two years ago and it was something on the lines of that was talking about, look at all these cool things we do with the first Connect for Xbox and how you could do, you could race and you could throw and you could jump and dance, and all these kind of stuff and they could show it to you on the screen. But then they said, you know, we release this API and the coolest things that we've seen people do with Connect is the stuff that we didn't think of like what we didn't think about, that's the coolest stuff.” And I think that well, that's what was fascinating to them.

[41:36] Andrew: So in this I think we have to you have to expect that people are going to have different ideas about how they do stuff and that's one of the cool concepts of all open source is that you get you have this premise of, here's how it could be used, and you're kind of looking at people who are using it, it's like, wow! I mean you know the history of Twitter. Same thing, it was meant for a specific use case but and one of the founders got run off because he believed in that use case so much but it was used for so many other things and for so much other stuff. So it's going to be interesting to see kind of where this process goes. I hope a few people I've talked to at Microsoft, they are receptive to all of these, they do generally want to find out what's going what the challenges are, what they can do to make things better. I really hope to see that discussion kind of get more intense and to be more vigorous the same way we talk around with apps but it just kind of it's like the app model piece, I mean hopefully we'll see some changes at Office at the SharePoint Conference in Las Vegas, but it's one of these things where we're supposed to be in a nimble cloud release kind of a play with 365, yet we have these very long periods of silence that it's almost like if we had this huge discussion and flare up that happens one week, if we can just get to the weekend, Monday will start and basically you're going to forget about the stuff we talked about last week and then it will be a month past and we'll be okay.

[43:04] Andrew: It feels too much like that's happening, it happened with the app model, it's happened with the discussions around the app model, I fear it will happen with this. It's just these things are just it gets to be really challenging. So hopefully there is like maybe developer evangelism or something with Office 365 that people can start to kind of talk to these kind of messages and to reach out to community and get more guidance and everything and documentation out there and really participating in the discussions instead of it being such a point release thing or I guess the other frustration I have is that a lot of these discussions seemed to be, I may be wrong, but seemed to be happening with a few people. And I know I'm one of those people, Marc you're one of those people, CJ you're one of those people as well about when these issues come up, they're like, “Well, tell us what scenarios you've been running into and tell us when we need to see these things and what broke into this kind of stuff?” It's like, this is a bigger thing. It's not a hundred people that can give you the feedback, there's a lot of people that can do this.

[44:02] Marc: Well, that discussion is actually, really from my perspective, don't have it and I wish they did. I know they talked to you a lot. They don't talk to me at all. And even stepping back a little further, one thing that's really important to remember is we're way too close to all of these. We have various strong opinion, you see what's going on. We get to Tweets faster than anybody, right. We tell each other stuff. Those poor suckers are coming in to work on Monday morning at 9 a.m. and fire up their machine and have to put in those forms again, you know they have to enter the data into SharePoint. It's freakin' broken, right? They don't care why, they don't care who did it, they don't care anything about it. They just say this piece of is not something I want to use anymore. And I've talked to these people. You know I'm out here, I'm not in there, wherever there is, right.

[44:56] Marc: So that's the Microsoft's problem, right. It's not that we get to stop and just frankly, we care too much. It's that those end users, the people who are going to eventually just we talked about SharePoint adoption, it's not about adoption, it's about—I mean first, the first rule should be never piss people off, right. And that's what they're doing. And why is that good? I mean, who does that serve? And I think it's all because the marketing gets caught up in the marketing, in the vast messages and we got this great new forms thing coming. [45:30] down in the counting doesn't if you want us to be able to do our job, right.

[45:35] Andrew: Yeah.

[45:35] Marc: And that totally gets lost in all of these. These little form enhancements are what makes [45:41] job easier. And if they break, then she can't and she just stops doing her job or does it another way and SharePoint gets a bad rev. But that none of this is good. The UX is what people judge SharePoint by, not by whether you can write any code or the server.

[46:00] Andrew: Good point.

[46:00] Chris: Sure.

[46:01] Andrew: That's good one. We've had pretty good discussion here with this. I know you've just actually had a lot in the last five minutes. I'm going to get a couple more uses this out of my little bleeper here.

[46:14] Marc: I kept to myself for that word and I was very careful about that. And it wasn't easy.

[46:25] Andrew: We broadcast in black and white so unfortunately [46:28]. Well, let me ask you guys before we wrap up here. Yes, I mean Marc, I take it that those were your parting thoughts that you had—I mean, I feel like I've kind of given enough of mine here. CJ, you have anything that you want to add to this whole this discussion or?

[46:45] Chris: No, I think Marc's comments just now are absolutely spot on, right. Like regardless of all this detail and minutiae of stuff that we as developers and people that built on SharePoint has to deal with like there's point that at the day, all it really matters is that it's doing the right stuff for the users and they have a good experience that's completely spot on and that's really the that was really, really good point.

[47:15] Andrew: Cool. Well Marc, thank you very much for joining us as a first interviewee. We really appreciate it and thanks for coming on and guess we'll be looking forward to seeing you in Las Vegas in about a month at the SharePoint Conference.

[47:28] Marc: I guess if you never have another interviewee and I'll know what happens. It's been fun.

[47:38] Andrew: Cool. All right, thanks guys.

If you have a question for us, go to microsoftcloudshow.com/questions where you can submit it as text or record it as a .wav or an .mp3 and provide a link so that we can play your question on the show. You can subscribe to us in iTunes by searching for the Microsoft Cloud Show or via RSS at microsoftcloudshow.com where you'll also find a full transcript and show notes of each episode. You can also find us on Facebook searching for the Microsoft Cloud Show or on Twitter @mscloudshow. Thanks for listening, we'll see you next time.

[48:13] (Music)