05.17.22

Office’s Relevance to the Power Platform Crowd, w/ Tristan Davis

Listen Now:

On today’s episode, we sit down with Tristan Davis, Product Manager at Microsoft for the Office Platform. That’s right, the person in charge of the team in charge of extensibility and advancement of the Office Suite of programs shares some insight and exciting news about the current path and the future of the most commonly used platform.  You will hear about security, advancements, and maybe even a secret reveal or two from the upcoming BUILD announcements.  Exciting news is coming for increasing both productivity and security in the new virtual workplace of Office 365. (Here is a hint: Have you seen the new Automate Tab in the Excel web app?)

Most importantly, we learn about the future of VBA as Microsoft looks to revamp the process for added security, leaving the good but reducing the opportunity for evil, viral usage. Additionally, during the course of the conversation, Rob and Tristan revisit the Bedlam email as well as the current method of preventing future occurrences.  This episode is full of trivia and innovation. You won’t want to miss it!

Also on this episode:

James Olenik Dataverse episode

Wazzu Virus

Brian Jones Episode

The Bedlam Email Storm: Microsoft Reply All Storm Fix

BUILD

Mark of the Web: Macros disabled

Rob Collie (00:00:00): Hello friends. Today's guest is Tristan Davis of Microsoft. Tristan and his team are responsible for the Office extensibility and programmability story. That's a big mission. Tristan is in charge of a large chunk of Microsoft's efforts around the citizen developer. Now, I have mixed feelings about that term, the citizen developer, mostly because it has the word developer in it. I mean, it's a perfectly good phrase for Microsoft to use internally to refer to us, the hybrids, and the phrase even has that hybrid nature to it, citizen developer. But I guess the feel of it, the vibe of it comes off a little bit like lightweight developer. When what we really are is tech savvy business problem solvers. But hey, citizen developers, what Microsoft's chosen to use, I guess, will Stick with it. And most of the citizen developer efforts from Microsoft, we associate those with the Power Platform, Power BI, Power Apps, Power Automate, et cetera.

Rob Collie (00:00:59): But there are definitely other pieces to that story outside of the Power Platform. For instance, Excel itself. We've had Brian Jones on the podcast. And you've heard me by now, I think, say a million times that even Excel formulas are a programming language. That's the OG citizen developer platform. SharePoint definitely plays a role and that's going to be an upcoming episode of the show. Stay tuned for that. And Tristan fills in like the fourth leg of that table. Because Microsoft's citizen developer table, it has four legs until we discover a fifth or a sixth. In a sense the Power Platform keeps growing towards the Office citizen developer experience. And at the same time, the Office citizen developer experience is growing towards the Power Platform. And we really shine a light on that latter part in this episode. We talk about the Manhattan Project level Undertaking that is the Office scripting interface. We talk about places where the Office Developer Platform explicitly interfaces with the Power Platform, particularly in the area of Dataverse and Access.

Rob Collie (00:02:01): We talk about how, near the end of my Microsoft career, Office had fallen off of the Enterprise roadmap in terms of solutions development. And to my surprise, is very, very much back on the menu today. We circle back and we talk about Access in particular and its ever evolving mission. Tristan and his team are in charge of all of that and also Office Forms, which we mentioned very briefly at the beginning. And then I never circled back and ask him more about it. So maybe we need to bring him back for that one topic. And at one point in the conversation, we almost have a bet with each other that I have a new ribbon tab in my version of web Excel that I wasn't aware of. I said, "No. No way." He said, "Yes, you probably do." And then after the show was over, I went and checked and guess what? Yep. I have that tab and it's very, very, very cool. Who doesn't like new ribbon tabs? He's a really pleasant and thoughtful fellow. And he's exactly the kind of person that you would want building tools for us.

Rob Collie (00:02:56): On a brief administrative note, we took last week off, but we're back and we're locked and loaded. Bunch of episodes already in the can, in industry lingo. I took count recently and there are seven different people, including myself, involved in one way or another in the production of this podcast. Seven people, that's a lot of effort, a lot of coordination and a lot of love going into every episode. If you want to support the show, help us honor that work, please just leave us a review on your favorite podcast platform. And of course, feel free to recommend us to people that you think might enjoy it. With that humble request out of the way, let's get into it.

Speaker 2 (00:03:35): Ladies. Gentlemen, may I have your attention please?

Speaker 3 (00:03:39): This is The Raw Data by P3 Adaptive Podcast, with your host Rob Collie, and your co-host. Thomas LaRock. Find out what the experts at P3 Adaptive can do for your business. Just go to P3Adaptive.com. Raw Data by P3 Adaptive is data with the human element.

Rob Collie (00:04:03): Welcome to the show, Tristan Davis. How are you today, sir?

Tristan Davis (00:04:07): I'm great. Well thank you for having me. I'm excited. It's probably the most enthusiastic discussion you'll have about Office extensibility in a very long time. And I'm proud, excited that I'm here with you guys to talk about it.

Rob Collie (00:04:17): We're excited to have you and I actually have thought of some real questions for you today. Believe it or not. Let's start here. You're at Microsoft, what's your official title? What does it all mean, Tristan?

Tristan Davis (00:04:26): My official title is the group product manager for a team called Office Platform. And practically what that means is my team's responsible for all of the extensibility that we offer around Word, Excel, PowerPoint and Outlook. So if any third party, anybody wants to work with our applications, we're going to build them the APIs and all the capabilities to hook in. And then we build a bunch of shared stuff that is used broadly across Microsoft 365 to make developers as productive as we can possibly make them.

Rob Collie (00:04:53): I am familiar with the previous generation of Office programmability. I had a ringside seat for the VBA and COM story. Just to make sure we have the menu straight, you've got next generation stuff that we will talk about, that's the replacement or new version of a lot of that old stuff that I was familiar with. I think some of the shared stuff that's on the menu that you're responsible for, some of those things are things I am not familiar with. Some of those are more new. Let's just get the lay of the land. First, those nebulous shared things?

Tristan Davis (00:05:22): Sure. Like you said, on one hand there's add-ins, professional developers can write all that. A lot of the shared stuff is what I would call supporting tools to have a great developer experience with Microsoft 365. One of the things we build, there's a Microsoft developer program for Microsoft 365. Anybody who wants to go and integrate with Word, Excel, PowerPoint, Teams, SharePoint, any of the bevy of different things you're allowed to integrate with in our world. They can come along, they can sign up, we'll give them a free Microsoft 365 E5 environment. You get all the cool tools, all the magic, awesome stuff to go and build your stuff. And then that's free as long as you're doing development. It's yours as long as you need it. That's an example of the shared stuff.

Rob Collie (00:06:02): We already have 365. We don't need to cheat the licensing scheme. I see what you're saying there, right? You got to keep an eye on these "developers."

Tristan Davis (00:06:10): That's true. Some people will try to cheat the system, but we have a lot of real developers. They might have 365 on their own, but they want a sandbox, right? They want a tenant where they can go mess with settings and accidentally delete massive swaths of data and nobody panics. You haven't shut off the Enterprise for a day and a half because you wrote some bad code. You can get a lot of testing done in this special environment.

Rob Collie (00:06:30): Man, that just sounds like no fun at all. Sandbox like that? Come on, take risks. What is the old meme? I don't always test my code, but when I do, I do it in production?

Tristan Davis (00:06:38): Yeah. We're trying to help somebody not make that mistake if we can.

Rob Collie (00:06:43): For example, P3, we have third party software that we use with our 365 that handles our signatures in our email. Would that be using APIs and things like that that fall under your purview?

Tristan Davis (00:06:57): Yeah, it definitely would. I don't know exactly who you're using as that provider, but we've worked with a bunch of these signature folks recently to build a deep integration with Outlook that isn't just for Outlook for Windows, right? So that the same signature management capabilities travel with you, whether you log to Outlook through your web browser, whether you want to Mac and you want to use Outlook for Mac instead of Windows, whether you're on Windows and then in future on mobile too. So we really think about how do we make those things work in a world where Outlook spans my devices, spans different platforms, spans client and cloud, all that great stuff.

Rob Collie (00:07:28): Can I make a request? I'm going to put you on the spot. This is a silly thing. That signature add in, we love it. It's just that every now and then your email gets delivered to a dark mode form factor. And so the image, the P3 logo and that signature, it cannot be white and it cannot be black. Can't use either of those two colors, because they'll get washed out against the either or the background. So we've had to go with a gray. I mean, we're really slumming it having to sling a gray version of our icon in those emails. Tristan, I need you to fix this immediately. There needs to be dark mode detection.

Tristan Davis (00:08:04): No, I totally get that you don't want the eye blinding sea of white in a screen that is very deliberately as black as you can make it in terms of the color palette.

Rob Collie (00:08:12): Anyway. There you go. We took the average of the RGB values of those two, went right down the middle. Sometimes the low tech solution is best, isn't it?

Tristan Davis (00:08:21): Yes. And I appreciate the feedback. There are people smarter than me that will then hear the feedback and do thoughtful things with it.

Rob Collie (00:08:27): I mean, who knows, it might not even be possible, right? You don't know how the client's going to display it. You have to be delivering some sort of code in the message, which I can understand is all kinds of problematic. So I'm not actually optimistic that y'all can do anything about this.

Tristan Davis (00:08:38): I'm not sure if we can do it. It's a good question of whether they can make the background transparent though. It seems like the obvious thing, knowing just enough to be dangerous would be that the image itself has a transparent background so that just themes into whatever we're using, black, white, whatever.

Rob Collie (00:08:52): But anyway, we'll move on from that. We solved this problem. And we went with the gray logo. I mean, that's how smart we are at P3. We're just like, maybe we'll just split the difference on the color.

Rob Collie (00:09:02): I found that particularly fascinating that there was such a thing, that there was essentially a cloud add-on. And I never even see the signature when I'm composing my mail. It only gets added when I press send. And furthermore, it will only put the signature in once. So if you have an email thread going back and forth, back and forth, back and forth, as you scroll through it, you're not going to see your signature on every time you sent the message, you'll only see it on your most recent one. I find that kind of thing pretty cool. If you did it client side, you wouldn't have that, there can be only one signature feature. That kind of interface, that kind of API, I wasn't even aware of that. When I left Microsoft, there was no such thing. My knowledge of programmability in Office is, in some sense, frozen like a time capsule and so things sneak up on me all at once. Is there something called Office Forms? Is that also something I've heard? Rumor of such a thing?

Tristan Davis (00:09:53): There's a thing called Office Forms. It's a separate top level app in Microsoft 365. It's built by one of my peers, her name's Kathy, she's got an awesome team. Who's been off thinking about what is a really kick butt forms experience. And then putting that all the places where you might want polling inside of our experiences. You want to send an Outlook email that's a poll. You might want to send a Teams message that's a poll. So they've built the syndication of this concept of, I want to ask a question, and then plug that in all the places people ask for it across the suite.

Rob Collie (00:10:18): We're just going to keep bouncing all over the place, because that's how it works here. I haven't checked in on this thing called Access in a long time. Is that still around? Do you have anything to do with it?

Tristan Davis (00:10:27): It definitely is still around. It is also part of my team. Our portfolio is things that makers use, right? And some of those makers are professional developers. Some of them are people who are writing scripts to make their own lives a little bit better. And some of them are building these data-centric apps. So that is in our world. It is still alive. It still has millions and millions of happy users and we still do things to hopefully make it better, month over month. At Build, we're going to announce a connection between Access and Dataverse, you've heard about the Dataverse work around Power Platform. We're going to say, "Hey, you can have an Access database where you master some of that data in Dataverse," and then users can continue to use their databases with web and mobile apps on top of what they've already got.

Rob Collie (00:11:07): Okay. So no kidding, the episode of this show that went live this week is about Dataverse.

Tristan Davis (00:11:13): Ah. Awesome.

Rob Collie (00:11:13): Now, that's at the time of recording this week. So by the time you hear this, it's not quite the same. But we had a lot of fun talking about Dataverse, and it's actually one of my zingers that I was going to get you with is, well, what's going on on that side of the house and how does Dataverse interplay in all of that? Can you dive one level of detail deeper into the Access-Dataverse connection? Because I think that's going to be particularly relevant to our crew.

Tristan Davis (00:11:36): Yeah. What we're going to let you do is basically take any table or bunch of tables in Access and say, "Hey, I want to move these over. I want them to live in Dataverse as their primary home." And then we'll handle the fact that we export that over to Dataverse, create all the right links behind the scenes. So you can have the same Access database tomorrow that you had yesterday, but now that data is syndicated off into Dataverse, which lets you do all the Power Apps magic on top of it. Right? Now that it lives there, I can go build a Power App that works on someone's phone that does simple data entry. I can go build a Power App that works through the browser that lets people do something.

Tristan Davis (00:12:08): And Access, as you know, long before I was here, we've looked at how do we bring Access to people who aren't on desktops? We did a couple of versions of the Access web apps that were really aimed at that. This I think is going to be our most successful to try at this yet, which is, "Hey, let's link Access to this world of web and mobile low code through the Power Platform by using Dataverse as the lingua franca between the Access database and everything that lives in the Power Apps, Power Platform side of things.

Rob Collie (00:12:35): It sounds like I can use Access to design a storage schema for an app. And then that storage structure will then be available to the Power App Platform? That's super exciting.

Tristan Davis (00:12:47): Yeah, that's exactly right. I think a lot of it is going to be people taking existing databases, right? And saying, "Hey, I want to plug a mobile front end in because there's some data collection for this that will be better on phones." Right? "Right now I have people writing things down on paper until they get back to a PC, let's give them something that just works on their iPhone or their Android phone." And with a couple clicks, you've got that thing bridged over and you can go build that Power App on top of the Dataverse schema.

Rob Collie (00:13:10): Okay. All right. That's cool. Are there any other plans that you can talk about, touch points between Dataverse and Office?

Tristan Davis (00:13:17): I'd say across the Power Platform as a whole, there's a whole lot of stuff that we do together. Probably a little bit later, we'll talk about Office Scripts, we'll talk about how we're rethinking this end user scripting automation thing that VBA did so successfully in a world of Windows. That has very deep integration with Power Automate, because a lot of the times you want to start somewhere else, bring some data into Excel, shape it, do some work on it, push it out through some comms channel. So someone's aware of the result. So we've done a bunch of deep integration there.

Rob Collie (00:13:45): We're a very operationally complicated company, not deliberately. We made choices in the beginning about how we were going to take all of the friction out of things for our customers. And that meant we had to eat that friction internally. And so we use a lot of these same technologies to run our company. And things you're talking about might be a retooling in our future. The dreaded do over. The V2.

Tristan Davis (00:14:08): There's always a V next. That's the beautiful thing about software, you always get a V next.

Rob Collie (00:14:13): And there's VN+1 of our company at all times.

Thomas LaRock (00:14:16): You'll just be P4?

Rob Collie (00:14:18): Yeah. We'll be P3.1.

Thomas LaRock (00:14:20): No. PR2.

Rob Collie (00:14:23): Oh man. Yeah. We should take a page from Office out of this. Microsoft in general, learned a long time ago to stop putting version numbers on things as part of the brand name. It's just the thing. You get the new version all the time. But we're not going to do that. We're not going to fall prey to P4, P5. Uh-huh. No. Access in particular has had a very, very interesting lifespan. Its mission has been squeezed from all sides. And to see it still have a role to play today is really kind of cool. What's your standard answer to what's the mission of Access these days?

Tristan Davis (00:14:58): Access is this awesome little diamond, but I think you're right, a lot of people forget that it exists. But we've done some pretty awesome stuff. I'd say its mission continues to be helping the average person create these data centric apps, right? There's an existing corpus of hundreds of thousands, millions of existing Access databases that are running companies today in ways, large and small. And then there are a set of people who continue to want to build these desktop experiences that are data centric. We're going to keep it around, keep improving it in ways, large and small. And we're going to bridge that world between the desktop and the web and mobile between us and the Power Platform, folks with stuff like the Dataverse connector.

Rob Collie (00:15:32): And I'm excited that it has stuck around because, if for no other reason, than it keeps Office in the game, in terms of the Office team even. I think at Microsoft Office is still, I think the class of the crowd in terms of designing user experiences for my type of people. And if Access went away, that would be one of the most important anchors to keeping Office in that game. I like Office in that game. It's a good thing for the world. Especially if it starts to integrate, like you're saying, with things that the rest of the company are doing, like the Dataverse and Power App stuff. I had no idea that there was that kind of overlap, and that's again, very encouraging to hear.

Rob Collie (00:16:11): Let's change gears. Let's talk about the traditionally known applications, Excel, PowerPoint, Word, things like that. I don't even know what year the COM Object Model and VBA came along for the Office world. It was basically already there when I showed up in '96, or at least as far as I can tell. Yeah, it was, I remember, believe it or not, we were testing Windows Installer V1, code name Darwin. Our test team was using Excel VBA as their IDE for the test environment. The automation was all written in Excel, which was just the most mind blowingly confusing thing for a new hire to experience. Like, wait, wait, wait, wait, what? Right? We're in Excel, but we're using this thing and we're not doing anything related to Excel. We're saving XLX files as our tests.

Tristan Davis (00:16:59): Yep.

Rob Collie (00:17:00): With no formulas in them. That world had a long run to it. It's still there today.

Tristan Davis (00:17:07): It is.

Rob Collie (00:17:08): But as you well know, none of those APIs, none of that technology was ever built with a server or the cloud in mind. And so when Office started introducing web Excel and web Word and web everything, well, none of those APIs were going to work. So any solutions that were written in VBA, they weren't going to just make the migration to the cloud. And so someone had a very, very, very grand vision of essentially rebuilding, sort of, in some sense, the entire object model of these apps in a web safe format. This seems like a Manhattan Project level type of undertaking. If Microsoft had chosen not to do it, it would've caused a lot of trouble, but I think people would've understood. The industry would've understood. When did you join that effort? That effort is many years old at this point, that effort probably started 10 years ago, didn't it?

Tristan Davis (00:17:58): Yeah. Pretty close. That's about what we started. And I've been involved with it since the beginning. Brian Jones, who you had on the show a while ago, gets a lot of credit for being the first one to say, "Hey, we really need all of this platform work we've built that is fundamentally client-centric, it's Windows and Mac, to work everywhere. Because if we're going to make a push on mobile, we're going to make a push on Office in the browser, you can't do that without all of these integrations." It just turns out that most people's Office experience is the composition of the apps we ship and then add-ins they've milled up, the exact experience they need for their job. "Hey, I work on legal contracts. I need Word. Plus I need some specific tooling for being a legal contract auditor. Or accounting stuff in Excel. I need Excel, but then I need some things that integrate me into my system of record and let me pull stuff out and manipulate it and push it back in," all that great stuff.

Tristan Davis (00:18:46): Started about 10 years ago. And we really did start with the ambition of, hey, long term. You should be able to replace what we've done with common VBA, with solutions that are as cross platform, cross device as Office itself was working to be at that point.

Rob Collie (00:19:01): Let me play skeptical devil's advocate just for a moment, mostly as a means of teasing out a better insight, not because I'm actually this cynical. By the time I left Microsoft, Enterprise customers, as far as I could tell, had largely abandoned the idea of Office as a programmable platform. They weren't super keen. Now, they knew they had documents running around that had VBA in them. If VBA got turned off, they were going to have a problem. IT departments knew that. IT departments weren't building, at that time, they weren't typically engaging in projects that involved the COM Object Model in the desktop apps, they had largely moved to a different kind of Enterprise server application. I remember there was an architect at Microsoft, I think he's still there, but he's not an architect anymore. His name was Uli Homann. And Uli was very keen on getting enterprises excited about Office as a platform again. And of course he didn't have the benefit of the new APIs. It was nothing of the sort. But he was becoming very discouraged, especially with all the other things going on at Microsoft, like the Power Platform, et cetera. Let's say Microsoft today had to decide whether to do what... Is the official name of it again, JavaScript API?

Tristan Davis (00:20:12): You can call it the Office JavaScript API. We call them web add-ins to distinguish them from COM add-ins because they're built using HTML and JavaScript, it's using web tech under the hood.

Rob Collie (00:20:22): Okay. Let's do the thought experiment of here we are, 2022, an Office doesn't have the web add-in model for the applications themselves. Would it be worth it to go and build it today, if you didn't already have it?

Tristan Davis (00:20:34): I think the answer's still yes. I think we made a good decision several years ago. Because what we see is... Well, if you go back, even when I started 16, 17 years ago, we were very Windows centric and we had built this amazingly deep integration capability on top of Office for Windows. People are like, "Hey, I want Office everywhere. I want to have my Excel on my iPad Pro because that's the device of choice, it's lean and mean I can carry it around." And people aren't able to make that transition if they can't bring all of the tools they need with them across all those devices. I can't tell you how many conversations I've had that are the form of, "Hey, we have to go and bring this existing integration with Excel forward because 10% of our organization now uses Macs and some people are using iPad Pros and some people are just working through the browser, but it's important that all of them have access to our auditing integration that talks to our custom backend, because if they can't do that, they can't do their job."

Rob Collie (00:21:25): I think to follow up on this question, this is probably my signature question. This is it. We need a sound effect, my best question of the day. I can think of it at a high level, three primary potential audiences for this API. First is the ISVs, third party software companies that build commercial add-ins for Office. That's a legit audience. Another one, let's call them SME, the types of companies that the MVPs, for example, the Excel MVPs are often building Excel applications for clients. Those clients, they're usually not Enterprise clients. They're usually in the small to mid-size space. And then there's the Enterprise, an Enterprise IT solution. Can we have a little conversation about the emphasis on those three different audiences? Where they rank in terms of how much adoption you see from those three audiences?

Tristan Davis (00:22:18): Absolutely. I'll add a fourth, which is, I'm going to call them inspired makers, right? So the people who are in Excel and say, "I do the same thing every Tuesday morning. There's got to be a better way. Can't they just make the app do this for me rather than having to click these 30 buttons to do it myself?" Right?

Rob Collie (00:22:32): Okay.

Tristan Davis (00:22:33): If you look at what we've done with the web add-ins work and with Office Scripts, which is our name for the end user scripting thing, it shares the same API, the exact same API shape, just like common VBA did. So somebody can start as a scriptor, there's a pretty simple procedural API there that looks a lot like VBA in a lot of ways. And then if they grow up, they won't see a totally different API as a pro dev. They'll just see synchronous, asynchronous magic that has behind the scenes in the JavaScript that they can more directly control than they could the end user scripting environment.

Rob Collie (00:23:01): I'd forgotten all about that fourth crowd, the macro crowd. When you think about the word macro, it's just meant to save you a jillion keystrokes or the same button click sequence over and over again and all that kind of stuff. And the fact that the macro language for Office was also the primary programming language for Office was really genius. That was a really important elegance. It wasn't an accident either. I'm glad you added that fourth crowd. I was just thinking about people who build tight packaged solutions. And macros aren't really like that.

Tristan Davis (00:23:32): That's right. Some of them grow up, I think, through that. How many macros I've seen that start as one person and 20 lines and you end up having this conversation with somebody who's like, "I'm not a developer." But then they show 3000 lines of complicated code that sits behind a workbook. And they're like, "But I swear I'm not a developer. This all happened by accident."

Rob Collie (00:23:53): They crossed into developer land long ago, they just didn't see the sign.

Thomas LaRock (00:23:57): I swear, I don't know how this VBA got on my computer. It's not my... Officer, I have no idea.

Rob Collie (00:24:03): I haven't written any code today, not one line.

Tristan Davis (00:24:05): And I love these people. It's fantastic. Right? The fact that you can get somebody from, "I'm not a developer," to, "I've written 2000 lines of code that run my entire accounting department's monthly reports." It's just one of those magic things that makes this job fun to see because you're like, okay, cool. A bunch of people are way more happy than they were last week because somebody didn't have to feel like, "Oh, there's got to be a better way. And I'm incapable of coming up with it." Instead, they're like, "There's got to be a better way. And I can tiptoe my way through learning because it's simple enough to get out the other side with this magical, useful macro thing.

Rob Collie (00:24:37): I hear you completely,

Thomas LaRock (00:24:38): You're talking about these macros and VBAs so here's the thing, and this is just going to show my ignorance more than anything else, but I think I'm starting to understand why this is the case. I'm at Black Hat in 2019, just before pandemic times, and I go to attend a session, which is essentially VBA and Excel. And the whole point of the session is, when it comes to ransomware security breaches, this, that, and the other, the sexiest thing right now are macros inside of Excel spreadsheets. And the guy gives this brilliant talk on every time that the breach happens, he would just launch Calculator. Every time you saw it calculator, you knew you were just screwed. And he talked about how people are passing files and these macros. And because it's all on by default. And I'm sitting there going... First of all, I'm scared shitless. And I get my own ideas of things like, what could I put inside of a SQL server database that, if somebody ran a select query and clicked a link, what would that launch? And I'm like, you know what, I don't even want to get there. Maybe we shouldn't talk about that. But anyway, I just saw that the default now has been changed for Excel, that VBA is no longer enabled by default. Is that true?

Tristan Davis (00:25:50): It's not that VBA is not enabled. What we're rolling out right now is files from the web. So if you get a file from a random person on the internet through your email, those files have this thing called the mark of the web. They have this hint that says, "Hey, this is an internet file. This didn't come from your local SharePoint. It didn't come from your PC. This is from the wild west of the internet." For those files, we are now going to say, by default, macros are disabled and you can't enable them inside the app. So there's not that business bar that says, "Oh, just click here." People will build workbooks or docs, it's like, "Click here and magic will happen." And what you're doing is enabling the macros and giving them the keys to the castle. So we want to interrupt that.

Thomas LaRock (00:26:28): It's funny you say that. That's like the old, "You don't have permissions to view this folder. Click here." Oh yeah. And now you get permissions. What the hell? Okay. I get what you've done. These macros and viruses and hacks have been around for decades. And I was flabbergasted, I'm like why in the year 2019, was it still possible that this was still of vulnerability? And I think, well, I just heard you two guys talk about is because this has been built and it needs to still run. So companies are relying on these macros and stuff, just run by default and not have to take all these extra steps for their legacy stuff to still work. I think that's what I'm hearing is the answer. And that you have tried to fix that solution recently.

Tristan Davis (00:27:11): That is right. VBA is awesome. As we said, it's this tool for incredible good and incredible evil all at once.

Thomas LaRock (00:27:18): Oh, it's great. Yeah. Yes.

Tristan Davis (00:27:20): The problem is, like any good tool, it can be used for lots of ways that make the world a better place and people will figure out ways to sometimes use it to do the opposite.

Thomas LaRock (00:27:27): Yeah. Okay.

Tristan Davis (00:27:28): We have been thinking long and hard about how do you protect the first case. Because if I went tomorrow and said, I'm turning off VBA, a surprisingly large percentage of the world would probably cease to function, at least temporarily. So how do you keep the wheat and sort of separate out the chaff? And so we've been thinking about how you make that transition. We've been doing lots of things behind the scenes, obviously, to continually lock down VBA without blocking all its good use cases. This is the first pretty big thing, but it's probably not the last one you'll see. But we're very deliberate. I want to be super deliberate as we make these changes because you can't break these people who have built up five or six years of process expertise in a big old workbook with a bunch of code behind it. Those things just have to continue to work. There's no ready replacement.

Thomas LaRock (00:28:09): Rob, you heard Tristan say, "It's probably not the last thing you'll see." That's known as a teaser.

Rob Collie (00:28:13): It's an ongoing battle. Right? Tom, do you know one of the earliest VBA viruses struck when I was at Microsoft?

Thomas LaRock (00:28:20): Melissa or ILOVEYOU?

Rob Collie (00:28:22): Okay. Those were the ones that made headlines, but the one that got us first, and it got us at Microsoft, it went rampant through the Microsoft internal network in the late-

Thomas LaRock (00:28:30): The Bedlam, the email?

Rob Collie (00:28:31): ... Oh no, no that wasn't a virus.

Thomas LaRock (00:28:32): Oh, okay.

Rob Collie (00:28:32): That was a terrible, terrible IT mistake. Okay.

Thomas LaRock (00:28:37): All right. I want to keep guessing. Shit.

Rob Collie (00:28:39): No, the first virus that I encountered that was a VBA virus was the Wazzu virus.

Thomas LaRock (00:28:46): Wazzu. Okay. Yeah. I remember Wazzu.

Rob Collie (00:28:47): You've heard of Wazzu? You've heard of Wazzu?

Thomas LaRock (00:28:47): I went to Washington State. So Yeah, I've heard of Wazzu.

Rob Collie (00:28:50): I know you did. I know you did. And what year did you graduate from Washington State, Tom? I just want to make-

Thomas LaRock (00:28:54): I earned my masters in mathematics in the year in 1997.

Rob Collie (00:28:58): So you were there. Tom could have been the Wazzu author. He could have been. This would just randomly insert the Word Wazzu into documents. It didn't do anything bad other than that. But it was the template that the script kiddies used to create all the other bad things that absolutely fell on Office a month later and made headlines. But Wazzu was a trailblazer. And as far as we know, Tom wrote it.

Thomas LaRock (00:29:27): Possible. It's possible.

Rob Collie (00:29:29): Yeah. This mark of the web thing, we've known about this for a while. I get extra warnings in these documents that I get from elsewhere. And then it pops the prompt that's basically the, do you want this file to work prompt? You get habituated to clicking, yes, I want this file to work. That warning might have been scary the first time you saw it, but by the 1000th time you've seen it. It's lost all deterrences. And so now you're saying that no, no, no. The mark of the web is like the tattoo of shame on this file's forehead. There's nothing you can do about it. For example, the fantasy football spreadsheet that I download every year and enter my custom settings and press go on the macros, I'm not going to be able to make that work anymore?

Tristan Davis (00:30:09): You will absolutely be able to make it work. What we're going to say is you can't do it with one click inside the app. It's not the mark of shame as much it is the, hey, we want you to stop and think about this for a second. Right? Because you're right, in some ways VBA, because it's been used for so many great things, you're right, 99 out of 100 times you get a workbook and you're like, yes, the macro that are in here, I know it's part of making this thing work right. I need to enable it. That 100th time, somebody spams you, looks like an email address you know that you open it up, you do that and you've gotten yourself into trouble. All we want to do is interrupt that. So you'll open that workbook, you'll go download it, you'll open it up, a little red bar across the top will say, "Hey, there are macros in here, but it's from the internet. So you can't open them." If you know it's safe, you can close Excel, go to that file, right click on it in Windows and say, unblock this to remove the mark of the web. I trust where this is coming from, open it back up and Excel. And you'll be off to the races like you were before.

Tristan Davis (00:31:01): But I want that interrupt, right? There's that moment that says, "Hey, wait, pause for a second. This one needs you to do something. And I want you to think about it before you reflexively click, just to keep you safe from the small percentage of workbooks and documents and presentations out there that have code in them that is malicious. That isn't about making your life easier. It's about the opposite."

Rob Collie (00:31:19): In terms of security responsibilities, your team probably has one of the most difficult jobs in the industry, because you're explicitly about empowering the citizen developer, the widest possible audience. It's also about documents. The line between document and app is deliberately blurred in Office. You have the widest surface area for attack. And just like with real biological viruses, we're all in this together. If one company gets compromised, that can actually be the back door for going after someone else. A company of our size, you would not expect us to be under constant assault from hackers

Tristan Davis (00:31:56): I would.

Rob Collie (00:31:57): And we are. Every day, someone is trying to do something to us. It's crazy. And I won't name the client, but the other day, one of our clients, a major client, big company, one that you've heard of, suddenly started managing to make ACH withdrawals from our bank account. They're supposed to pay us, right? And suddenly there's money going out of our bank account to them. It was clearly fraud. And it was clearly not being, in my opinion, not being executed by some employee of this company. It's someone impersonating that employee and having compromised that employee's machine, probably while they're out on vacation, we got the money back, but it's just like, oh my gosh, this is nuts. So I appreciate that you're still taking steps.

Tristan Davis (00:32:42): I think we're always going to be taking steps. And there's an incredible security team. Our team is responsible for the Calm API and VBA making sure all that keeps working while we're building this new, awesome cross-platform thing. But there behind us is an incredible team of people who think about what are all the different ways that we can prevent people from seeing as many of these malicious files as possible? How do we give admins enough tune control on the back end to make sure people can use it for the good stuff and not the bad stuff? And this is just going to be another step in that journey of, gosh, how do you, like I said, separate the wheat from the chaff? All these technologies, there's so much awesome stuff that is the wheat and you don't want to throw it all away and say, okay, the only thing you can do is just shut off VBA because that's catastrophic in lots of ways.

Rob Collie (00:33:22): Let's switch away from the unfortunate topic of security. Let's focus on the new stuff and the magic therein. Let's start with the gentlest environment, the macro crowd. How would I write a new modern Office macro for Excel?

Tristan Davis (00:33:36): Yeah. We've started with Excel for the web, specifically Excel for the web in our commercial customers. But if you have Excel for the web as part of your Microsoft 365 subscription, you can go into the web app. There's a new automate tab, so there's a tab dedicated to this task of, I want to automate workflows. And you'll see things that look familiar a little bit, if you're a VBA person. We have an action recorder, like the macro recorder. I can go click that on and use the app. And you'll watch us in a task being on the side, tell you, you did this, then you did this, then you did this and you play along with what we think you're doing as you're doing it. And when you're done, you say, great, save it. And we'll spit out 10, 20, whatever line of JavaScript that replicates what you just did. And you can give that a name and save it off and attach it to the workbook and share it with other people and all that great stuff.

Rob Collie (00:34:23): I need to go looking for the automate tab that is correct in the web app.

Tristan Davis (00:34:26): That is correct.

Rob Collie (00:34:26): And I won't find this in the desktop app?

Tristan Davis (00:34:28): You won't find it in the desktop app yet. We started in the web app, because we'd heard from a lot of customers that we're web centric, that were like, "Hey, we need a solution that works well here." And so I wanted to get something that I felt good about in terms of capabilities in the web. And then we'll bring that to Windows and Mac and mobile and all together, places that Excel lives over time.

Rob Collie (00:34:46): I'm speaking on your behalf here, but I also think that the web version is just a better environment, better sandbox in which you to develop an experiment and get the feature right. It's easier to make modifications to that version of it. And it's easier to instrument and see how it's going. It doesn't surprise me that you would start with the web version. But you're saying that long term, the plan is to also have the automate tab and the desktop app?

Tristan Davis (00:35:06): The name of the whole feature is, like I said, Office Scripts. Plan is Office Scripts is everywhere. So someone can go and create one of these scripts on any platform, hook it up to a workbook and share it out with people and they can use it on any platform. And we've had the good fortune, I guess, of learning a lot from VBA, right? About what worked really well and where we ran into trouble, like the stuff we just described. We've been able to think about it from day zero, lack of hindsight, what would we do differently if we were doing this from scratch? It's things that are simple as the macros aren't stored in the file anymore. So when you create a script, it is stored in your OneDrive, separate from the workbook, which means you don't have this case where I write V1 of the code, I email it to somebody. Then I'm like, "Oh, I got to fix a bug." And it's like, well, you can't because that workbook is long gone into many people's hands, used for different things.

Rob Collie (00:35:51): Yeah. Or heck, even in my case, just stored in different places on my hard drive and I don't remember which one is the most recent.

Tristan Davis (00:35:57): That's exactly right. That's exactly right.

Thomas LaRock (00:35:58): That never happens.

Rob Collie (00:36:02): No, no, I have no idea what you're talking about, Tristan.

Tristan Davis (00:36:04): Yes.

Rob Collie (00:36:06): Why would you even go to the trouble of storing it separately? I don't get it.

Tristan Davis (00:36:09): Yes. We've thought a lot about this trust model. For now, you can only really share scripts with people that are in your same tenant. So we don't do the cross tenant sharing thing just yet, because we wanted to build a model that is much more trustworthy so that if I get a workbook and it says, "Hey, there's a script in here written by Tristan Davis." That I know who that is. We can verify that it's on that human's OneDrive. And so it's legitimately him or her or them that created it. And you can trust it with confidence.

Rob Collie (00:36:35): Okay. That, I keep calling it macro, you keep calling it something else.

Tristan Davis (00:36:38): We call them scripts. We call the feature Office Scripts. Office Scripts.

Rob Collie (00:36:42): Office Scripts.

Tristan Davis (00:36:42): Sharing scripts.

Rob Collie (00:36:43): I mean, no one saw that coming.

Tristan Davis (00:36:44): No one.

Rob Collie (00:36:45): No one could have anticipated that name.

Tristan Davis (00:36:47): Our clever naming.

Rob Collie (00:36:49): At least it's descriptive. That one's not going to confuse anybody. I feel like you've either got to describe it well or inspire with a name. You got to do one or the other. Some names fail at both. But this one at least gives me an idea of what it means. And I really look forward to you changing it to something completely different once everyone gets comfortable with this name. I mean, really there's-

Thomas LaRock (00:37:10): Power Scripts.

Rob Collie (00:37:10): ... Yeah. Powers Scripts is going to be [inaudible 00:37:12]

Thomas LaRock (00:37:12): Power Office.

Rob Collie (00:37:13): Power Code.

Tristan Davis (00:37:14): I promise I will not change it. You can hold me to that in five years when I did change it. But for now I'll promise that I won't change it.

Thomas LaRock (00:37:19): Power Office Scripts or POS.

Rob Collie (00:37:22): Oh no. No, no. No. No, Tom. No. Okay. An Office script that is recorded on the automate tab, by me the clueless, I don't know how to write JavaScript. It shows me steps, you're saying, that it's identifying, but there's also actual JavaScript being generated? Am I exposed as the script... I'm the macro crowd. Okay? I'm not a programmer yet. Do I still see the JavaScript or is that hidden for me?

Tristan Davis (00:37:47): You can. We don't show what you code, we just literally show you semantically what you're doing. Like, "Hey, select B3, add a table around B3 to D56." All the steps that you might take. And when you're done, if you want to go dig in, you can see the JavaScript code. And if you're familiar with VBA, it will look pretty comfortable to you, right? It is just simple, procedural, do this, then do this, then do this kind of code. We're able to do some clever things that I think we didn't do in VBA time. Like the code will be commented. So it'll be like, this line of code is doing this, to help you establish a relationship between what you had in your brain and the line of code that actually got spit out.

Rob Collie (00:38:21): That's awesome.

Tristan Davis (00:38:22): So if you [inaudible 00:38:23] tinkering, you can have a little bit of a more comfortable base from which to tinker.

Rob Collie (00:38:26): That's really cool. The macro recorder of old was arguably the most important online resource, most important help resource to the object model. Just go do it manually. Even if you never intended to do it manually at all, you could use it to trick Office into telling you what the code was. Famously for me, font color. I did not want to go look at a table of colors with what the number codes are. Just give me red damn it. Oh, it's nine. Okay, great. Moving on. So it sounds like it resembles Power Query a little bit. As you're writing a script in Power Query, it's giving you names of steps down the right hand side. But then you can go view of advanced and see the entire M code. So it sounds like it's a pretty similar relationship?

Tristan Davis (00:39:06): It's similar. For us, we just show you that semantic labeling as you're doing it so that you can make sure that okay, the computer's recording the things I wanted it to. If you're going through it and clicking buttons and changing things, we want you to have some confidence that what's going to get spit out is accurately representing what you intended to have it punch in. But once it's code, it's just code. You don't have to look at the code ever, you can just run it. But it's JavaScript code with comments on it and you can go peruse through it and add to it. If you're comfortable with JavaScript and TypeScript, you'll find that all those tools work just as well there, because it literally is just a JavaScript interpreter behind the scenes doing the same thing.

Rob Collie (00:39:38): Is there an equivalent of the Alt+F11 VBA window here? Is there a built in web IDE for JavaScript, if I want to start editing?

Tristan Davis (00:39:47): There's a very basic one built right into the app. Basically there's a task pane, you can stretch it out and you can see some code in there. We are currently previewing a connection with VS Code. So if you want to, you can pop out into a full screen VS Code online browser window, using VS Code's awesomeness and do your coding there as well. We think in this inspired maker crowd, a lot of people are just going to want to record something and look at it and they're done. They don't need to take on the mental burden of understanding VS Code online and feeling like they're dropped in a more formal IDE. And then there are people who are going to want to pop out and say, "Hey, I just need more room. I want to look at this code. I want to start tinkering." Here's a place to do it that is the best editor. The VS Code folks have built this amazing editor. Gosh, we just want to get on the side of that and say, "yeah, all the script code you want to write in Office? Edit it the same way you edit all the other web code in the universe and the VS Code experience that we've built."

Rob Collie (00:40:35): That's really cool. I am actually going to go look and see if I have an automate tab. I can't check on this computer because this computer is 100% the podcast recording computer. Speaking of security, this one's not enrolled Intune, so I can't use really anything on this computer. Just shows you how lazy I am, I don't want to go through that enrollment process on this machine.

Tristan Davis (00:40:54): Other thing we've done, which I think is super neat, is you can now take any of these scripts and you can run them in a flow in Power Automate. So I can say, hey, every Tuesday at 6:00 AM, run this macro. And you don't have to have Excel open on anyone's machine. It's completely running up on the server side. So you've got this, okay, every Tuesday or whenever I get an email from Joe with this week's budget numbers, pass these parameters in, run this macro to update this workbook and then send me a Teams message telling me you've done it. And all that can happen with no human intervention on the same code written with the same APIs.

Rob Collie (00:41:23): That's fantastic. Power Query, Tom, is your gateway drug into Power Automate. And then next thing you know, Tom never looked back. He's still swimming out.

Tristan Davis (00:41:34): [inaudible 00:41:34].

Rob Collie (00:41:34): Was it Steve McQueen at the end of Papillon, right? You're on the raft and you're pumping your fist and off you go.

Thomas LaRock (00:41:39): So Power Query to Power Automate, and then I am the ransomware king of the world. This is the path.

Tristan Davis (00:41:46): With Office Scripts? No. In our world, without the script, the modern thing, you will have a much harder time. From the beginning, like I said, we've had the advantage of getting to see 30 years of VBA and all the great and all the less than great. VBA was awesome when it was all disconnected individual PCs on desktops, right? Because those people could take a 10 minute workflow and turn into a one second button click. And then the internet popped up and sharing popped up and people figured out that you don't have to share for good. You can also share for bad. Office Scripts was born in the cloud. So you have to live from day one in this world where, how do we make sure that people can only run the scripts from people they trust and that we're not giving them workbooks that let them run scripts from people who don't have good intentions? You won't have as easy time with Office Scripts.

Thomas LaRock (00:42:28): Forget the ransomware. I'm just going to install Bitcoin miners.

Rob Collie (00:42:32): Bitcoin miners. I think they probably don't have GPU access in the sandbox.

Thomas LaRock (00:42:37): I'm just going to withdraw a little Bitcoin from P3 into my own wallet. Just a little bit at a time. You'll never know, Rob.

Rob Collie (00:42:43): I recommend small amounts.

Thomas LaRock (00:42:45): Small amounts. You'll never know.

Rob Collie (00:42:47): And random numbers. Don't be like these people that were trying to steal from us through one of our clients with the even $900 and the even $900 and the even $900, right? Don't do that. Be a little subtle.

Thomas LaRock (00:43:00): Be a little subtle.

Rob Collie (00:43:06): Let's climb the pyramid a little bit. Let's start with the inspired makers. Now, the inspired makers might live in an Enterprise environment. They might work in an Enterprise environment. Are you finding that enterprise organizations are comfortable with the idea of this new form of macro recorder? Are they okay with this kind of scripting? And are they okay enabling it for their users?

Tristan Davis (00:43:28): So far, by and large, yes. And it's because we treated the admins as this first class customer. The whole time we were building scripts, it was, okay, inspired makers, these people can't go automate their lives if, before they ever get a chance to play with this, the admin has to shut it off for the risk profile of the organization. So we've built a lot of controls in that the admins can see what scripts are out there. Who's running them. We'll keep working on sort of tuning what we offer to admins in terms of governance, so that they feel like... Back in the days of VBA, everyone knew, you kind of said it before, right? Everyone knew there were many, many workbooks out there. Where they are, who's using them. All of that is a bit of a black box, so to speak, right? And we've built tools like this readiness toolkit that we have to help people run across all the files on all the file shares and get a report.

Tristan Davis (00:44:09): But with scripts, we said, okay, the admin should just have at their fingertips in the M 365 admin experiences, awareness of what scripts are out there. Who's running them. What the run history is. If something stops working, they can know about it proactively rather than find out that, hey, a bunch of people are wasting all day trying to get this macro working that randomly stopped working, because someone made a change, all that great stuff.

Rob Collie (00:44:30): It's actually quite a salute to the quality of the Office admin experience that Power BI chose to just adopt it rather than do the old Microsoft thing of just reinvent the wheel over and over again. It is crazy when you go into Office admin console and see all the things. It's amazing. This is an organization that's been to the rodeo. Learned from the past. And it is a long history.

Tristan Davis (00:44:53): Yeah, they've done a really nice job. The admin controls, I agree. The whole admin experience is very slick these days.

Rob Collie (00:44:58): You also touched on something, it's a really important theme that many of the things that used to happen from these inspired maker types, which by the way, I think is almost 100% overlap with my data gene crowd, another label, largely for the same people. Many of the things circa 2005 that those people were doing, nearly everything that they were doing, was by definition, desktop code or desktop automation of some sort. And desktop is also below the radar. You can't see it. Things that are happening primarily on desktops and being sneakernetted around, or even emailed around, you don't get admin visibility, much less control. Set control aside for a moment. Even visibility, somewhat famously, the Power BI team when it was still Power Pivot, went into a customer to talk about what the mission was for Power Pivot. And we're talking about these mission critical spreadsheets to the IT department at this Enterprise customer. It was so funny. The Enterprise IT staff was saying, "Yeah, we don't really have that here. We don't really have mission critical spreadsheets. So I'm not sure if this is for us." Whatever.

Rob Collie (00:46:03): And then there was a fire drill and all the IT people got called out, left the Microsoft people sitting in the room looking at each other for a couple of hours. And they came back and said, "Okay, well we had a pricing app problem." We're like, "Okay. Yeah, go on." And swear to God, not making this up-

Tristan Davis (00:46:21): Go on.

Rob Collie (00:46:22): ... they didn't know they had the pricing app and it was implemented in Excel. And they had renamed a table in some database that they had no idea that this spreadsheet was using and all hell broke loose. Right? So in the new version, even if you didn't have more control, anything that is running cloud-centric, first of all, it's going to be better for the user. The inspired maker is going to prefer that than running it on the desktop. Running it on the desktop is a pain in the ass. You got to leave yourself logged in. If Windows reboots, your thing doesn't run. There's so many problems with it. To put it on the cloud, to put it on the centralized infrastructure is far preferable, even to the people who wrote it and to the people who are using it. But it also means that admins have an opportunity to see that they have it. To see that there is something that's developed out there.

Rob Collie (00:47:11): And this has been, I think, a really important message that helped drive the adoption of Power BI is pull these reports, these desktop oriented Excel reports and bring them above the water line so you can see them. And then of course, provide a whole bunch of tools to help manage them and all that. Honestly, I would take the awareness over anything else, if I had to choose one thing. And so the fact that the scripts are also benefiting from the same thing. And hey, I want it to be cloud, right? Because if it's not, then it won't be cross platform, right. It won't run on the phone version or... And by the way, does it run on the phone version?

Tristan Davis (00:47:47): It doesn't yet. It will. Add-ins. You can run add-ins. Certainly with Outlook Mobile, we have many, many, many integrations that are running on the phone, as well as on the PC. We have great iPad support for Word, Excel, PowerPoint. Scripts will come over time.

Rob Collie (00:48:00): It's just amazing. Again, I think I told Dave this, or maybe it was Brian on our podcast, I'm like, "Oh, come on. This stuff, doesn't work. There's no way. How did you do that?" It's just the most impossible thing I can imagine is a scripting platform that actually works on all of these devices. I actually do believe you. When I eventually see a demo, that's not on stage, when I see it for myself, code that I wrote, I will still be jaw on the floor at that moment. Even though intellectually, I knew exactly what was coming. It's going to have that visceral feeling for me.

Tristan Davis (00:48:32): It's super fun. We've got a lot of our team processes automated. Every week, we meet as a team and there's an agenda. And somebody said, "Well, that should just be a workbook." Makes a lot of sense. And then somebody said, "Oh, we should build some scripts around that that remind people, 'Hey, you said you're going to present.'" And every time that runs, it's just this wonderful, oh, look, the workbook is smart enough to send me an email and say, "Hey, Tristan and you signed up for 30 minutes next week about X. Are you still on? Or do you need to defer it out?" And I can click a button in that email. And if I can't do it, it'll defer it out. But generally speaking, I'm, uh-oh I better go prep, make sure I'm ready to go for that thing I promised I would talk about.

Rob Collie (00:49:07): You heard it here first, Tristan is promising in the near term that we'll automate our meetings.

Tristan Davis (00:49:11): Agendas.

Rob Collie (00:49:12): We won't even have to go. Right? I'll write a script that just says, "Hey, can you hear me? Can you hear me? Is my mic on?" Yeah.

Thomas LaRock (00:49:21): Can you see my screen?

Rob Collie (00:49:21): Pretty soon it's just AI is talking to each other on our behalf. We'll just send our avatars. There you go, that's it, that's the tagline, Office scripting, the end of meetings. All right. ISVs. My one exposure to this is the email signature thing, which is, guess what, very, very, very easy to administer. It's awesome. What's the ISV footprint in all of this? How many active ISVs do you think you have building commercial software against these interfaces?

Tristan Davis (00:49:51): Yeah. One of the things we built this time that we didn't have with the COM VBA was a store. There actually is a store inside of Word, Excel, PowerPoint, Outlook, Teams, where you can get these things. There are several thousand ISVs that have put things in the store. So that's people who said, "I want to publish to the public marketplace so that anybody can go and get this." That ranges from super esoteric things to Salesforce integrating with Outlook or Zoom integrating with Outlook or SAP and Oracle integrating with Excel, that sort of thing. There's a few thousand of those. And then there's a long tail, in aggregate, the area under the curve here might be just as big of these internal Enterprise line of business things where a company builds something for its own auditors. And it's a really custom built piece of software so that their job is highly efficient or a legal company builds a workflow around getting docs reviewed before they're published out to opposing council. That sort of thing.

Rob Collie (00:50:45): That's amazing. That sounds like the reversal of the trend that I was talking about at the beginning, which is that enterprises were just doing everything they could to avoid programming against Office as a core line of business solution. Now, it sounds like Office is back on the menu.

Tristan Davis (00:51:04): There's certainly a lot of places where integrating with Office continues to be... It's a highly valuable proposition in a lot of cases, right? Because where do people spend their time? They spend it in documents and workbooks and in their COMs place, whether that's chat or email or some combination of them. And the more that we can say, "Hey, write in that person's existing workflow, you can plug in." The more that people are likely to use that stuff, find it valuable, integrated into their day to day.

Tristan Davis (00:51:27): And so we've seen a lot of enthusiasm, especially, to hearken back to something I said a little earlier, gosh, it was Windows only, the COM stuff is still awesome. Right? I can tell you that part of my team spends their day hours thinking about how does that work just as well tomorrow as it did yesterday? But it doesn't help you in a world of BYOD and some heterogeneous mix of PCs, Macs, iPads, people who work through the browser only because they don't like client software. And so we have people showing up regularly saying, "Hey, I need to make all this work in a cross device world, I know that my VBA isn't going to work, or my COM add-in isn't going to work outside of Windows. How do I do this? How do I bring things forward? How do I build an experience that is the SaaS version of the desktop software that maybe I wrote 10 years ago to solve a particular business problem that still exists?"

Rob Collie (00:52:15): We had Shishir Mehrotra, who's CEO of a company called Coda, on a while back. The chief realization and the insight that they had in terms of when they went about founding their company, was that documents run the world, not applications. And there was something about what you were saying there, like Office being a very fertile ground and a very valuable place, even for Enterprises to think about solution building. Because this is where their users are. And specifically, their users aren't just in the Office apps. They're in these particular documents, certain documents anyway, over and over and over again. And if you think about the document as an application, which is how Coda thinks from the get go... By the way, Tom, as I was drifting off the sleep the other night on one of my podcasts, a Coda ad was on the podcast going through my ears and I'm laying there half away going, am I dreaming this? I have no idea.

Tristan Davis (00:53:09): That's great.

Rob Collie (00:53:10): They're coming for us. The line between document and solution is, in many cases, arbitrary, it's a very blurry line. And so, yeah, I guess it makes sense to me that enterprises would be getting back and hot and interested in Office automation again. So Uli, if you're listening, I know you're not, but Uli, if you're listening, you finally got your way.

Tristan Davis (00:53:34): We are certainly working hard at it, I will promise you that.

Rob Collie (00:53:37): Something I've noticed, this is completely unrelated to anything we've been talking about, lately, when I'm talking to Microsoft people, where I'm expecting the term program manager, I'm now hearing product manager. Has this been a change? Product manager used to mean the marketing and business, more CFO oriented side of the job. Viewing Office from the business perspective, as opposed to, from the product perspective. It sounds like product manager is the new program manager. Am I right about that?

Tristan Davis (00:54:07): I think over the years, program manager has become a catchall for a lot of different jobs. It was a bunch of jobs smooshed into one, right? You'd meet two program managers and they would do very different things as a day job. One of the things that is in the middle of happening, you're right, you can probably see it in the Office organization because we're going through it right now is breaking that back apart and saying, hey, there are different jobs here. There is a product manager who thinks about how do you drive growth in a part of the product through understanding your customer, making changes, observing how that works. There are technical program managers who help us build complicated technical architectures that span a bunch of different parts of the org. There are customer PMs who primarily focus on customer programs, ensuring that we've got great voice of customer pouring back in.

Tristan Davis (00:54:55): You're correct that you don't hear me saying I'm a program manager anymore because I lead team of product managers largely. But what that actually is in practice is a conglomeration of some product managers, some technical program managers, a bunch of people who do more specialized jobs that work together to ship this complicated platform across Word, Excel, PowerPoint, Outlook.

Rob Collie (00:55:16): This is good because outside of Microsoft, the program manager job that I knew, which is what you now call product manager, was called product manager everywhere else. It was just Microsoft that had this weird distinction. So what happened to the MBAs that used to be called product managers? What are they, what are they called now?

Tristan Davis (00:55:32): Vice presidents.

Rob Collie (00:55:33): Oh.

Tristan Davis (00:55:36): There's still a pretty vibrant product marketing organization. Right? We still have those peers that think about go to market and how we communicate what we've done to customers.

Rob Collie (00:55:46): Okay. When we were interviewing James Oleinik from Dataverse, he introduced himself as product management. And I'm like, wait a second. I just rolled with it and assumed that it meant program manager. And it did.

Tristan Davis (00:55:59): The real inflection I think that we're trying to get through there is 15 years ago, or when I started, when you were here, program managers did a lot more managing schedule, like, "Hey, what did we get done this week? What are we going to get done next week?" We're saying, hey, you don't need a program manager walking around asking the engineers what their progress is. They can self-manage the how and the when of what we're doing and really drive us through, because they're just as awesome at that as we are. And let's have these people who are PMs focus on who's your customer, finding product market fit for the thing you're building, measuring that you're actually achieving the outcomes you intended, really start thinking about the outcomes you're driving and not being a project manager. Whereas we may have done some of that.

Tristan Davis (00:56:43): Made a little more sense when it was three year ship schedules, right? Because you would write all your plans and then you'd reuse these smart people who wrote all the plans to project manage us into shipping those plans. Now, because we're shipping constantly, you want people who specialize on what we're building and people who specialize on how we're building it and when we're going to ship it and all that great stuff.

Rob Collie (00:57:02): In a fictional universe, and this would be a fictional universe, they'd sat down and said, "Hey, we're losing people. Rob left. How can we make this job more appealing to Rob?" And then they did like an exit interview and they said, "Okay, we're going to take everything out of the job that Rob didn't like." It sounds like that's what they'd done. I would enjoy the job even more today. And I liked it back then, but I never felt like I was really contributing that much when it came to the schedule keeping stuff. The only time I ever found the schedule stuff to be compelling was, ironically, when we had to make massive cuts. Because in the three year project, every four months you discover you're 100% over budget. And so you got to cut half of what you think you're going to do. And then three or four months later, you cut half of that and you keep... It's like Zeno's paradox. How did you ever even ship a product?

Rob Collie (00:57:52): But I really enjoyed playing the game of what I called Sudoku at the time, which was finding the features that could still be put back together, that you could keep to have a cohesive hole that you could draw a theme around. That was a challenge. Other than that though, I did not enjoy the logistical delivery part of the program management job at all. So this is quite a recruitment speech. Maybe I'll come back someday.

Tristan Davis (00:58:22): All right. The other part that I find fun is when it's these really complicated, how are you going to make this work kind of, right? "Hey, we need this team and this team and this team, we need to all cobble it together into an architecture that will achieve this magical thing we don't quite know if we can pull off." And that's why we're pulling this TPM discipline into saying, "Hey, we need people who are amazing at that specific part," which I think is this fantastic, unique skill, right, of saying, okay, deep, complicated, cross organizational technical problem. Who's stewarding that through? Which is part schedule, part architect. It's a lot of different things.

Rob Collie (00:58:55): Yeah. I liked me some good under the hood complexity, I liked that that interface between, what you call product management today, and the development team. Sitting down and working through problems at that level was also incredibly rewarding. I really enjoyed that part of the job as well. But yeah, coordination.

Rob Collie (00:59:16): I mean, some people are really, really good at that. I'm not denigrating that task. Boy, I have really learned the value of that since leaving Microsoft. It's never been more valuable to me professionally than it is here at P3. It's just that there are other people here who are much better at it than I am, fortunately. I've come to respect it as its own form of engineering. Just sort of this natural human tendency, the things you aren't particularly good at, you try to tell yourself that they're not as important. That's a mistake that youngsters make. As I've become less young, I think I do that less frequently, but whatever. If I said to you, hey, what's going on in Office? Are there other things that the DAX and M crowd, the Power BI crowd, touch points that might be interesting to them?

Tristan Davis (00:59:58): It's funny. A lot of the things I thought I was like, "I should write down some things that I might forget to talk about that are super important." And you actually did a good job hitting a lot of them up front. Access is one of these. Like I said, it's a diamond in the rough that often people forget, unless you're part of the Access crowd. And then there's a lot more of them than we do think there are. We have a very passionate, large user base, a bunch of awesome MVPs that I get the privilege of talking to a couple times a year. We got to talk to them a few weeks ago about a bunch of this stuff. So that's one thing that I would say is certainly interesting in us building that bridge.

Tristan Davis (01:00:27): Like I said, scripts is probably the next big one and saying, okay, what's the next thing for inspired makers and all that Power Platform integration built in there, right? I touched on it, but the fact that you can integrate scripts into Power Automate, the things you can do when you mash those two things together are excellent. We've done a lot of work. A lot of work went into making sure you can run scripts outside of Office against our REST API. There's a REST API that exists from the Microsoft graph for Excel. The scripts run against that. And once you have that and you compose it with the scripts can have inputs and outputs from the flow. You can do, like I said, these really neat things where someone sends me an email. That kicks off, it'll import some data into Excel and go and tinker with it and shape it correctly. And then send some outputs back out that can be pumped into maybe a system of record on the back end. Maybe just a Teams chat message, maybe an email, all that good stuff.

Tristan Davis (01:01:21): That is certainly another thing. All of scripts is just awesome, super powerful playground for those inspired makers to build things that grow up into solutions that run entire businesses, slowly step by step, without really realizing that they've broken themselves into it in the first place. It's funny, you did a very good job of working backwards in the things. I was like, oh, we're certainly going to talk about add-ins and here's some other things not to forget. And you did a great job of working us backwards on a lot of those long tail things.

Rob Collie (01:01:49): This is next level podcast guestery, right?

Thomas LaRock (01:01:52): Yeah, right.

Tristan Davis (01:01:52): That's right.

Rob Collie (01:01:54): Just get on here and just tell me what a good job I'm doing, right? Future guests, take note. This is how you podcast, guests. Yes, you can come on the show anytime you want, Tristan. Something that seemed conspicuously missing from your list was SharePoint. Is that now another division?

Tristan Davis (01:02:16): There's a separate team that thinks about SharePoint platform. There's a bunch of awesome product managers and engineers who build a modern SharePoint platform. We work closely with them on some of the shared stuff, right? Like the dev program lets you, if you're a SharePoint developer, get an environment to kick the tires and build, test things around SharePoint. But that separate team owns the details of that app model. They've built this really great thing called SharePoint Framework that lets you build modern web parts, customize pages, customize libraries, all the things you'd expect to be able to do that are SharePoint extensibility, but it's a totally different group of humans that just are off building that.

Rob Collie (01:02:53): SharePoint, when I was, there was still very much, not just aligned with, very much a part of Office. I guess even then, programmability for SharePoint was separate. Does it share any technological foundations? If I grow up as an inspired maker in the macro script world with Office apps and Office documents, it's pretty natural that now I'm also going to want to be automating things that are going on in SharePoint or OneDrive because I'm dealing with multiple documents.

Rob Collie (01:03:24): For example, one of the most amazingly useful macros that I ever wrote was a harness that would iterate through every workbook in a folder on my hard drive and make the same change to that. And I used to call it watching the Roomba. Right? You buy a Roomba so you don't have to vacuum, but you turn it on and you sit there transfix for the next 30 minutes, watching the Roomba go around the room, do all the work, right? It's like, no you're supposed to not watch it. You're supposed to leave so that you save that time. So I would run these macros and half the time, I'd just sit there hypnotized by this macro making the equivalent of thousands of changes. How would I build a solution like that today? Assuming that SharePoint and/or OneDrive are the document library, that they're the folder.

Tristan Davis (01:04:07): A lot of those things, the lingua franca there is Power Automate, right? You could pretty easily go into Power Automate today and say, "Okay, I want to build a flow that's going to iterate over all the XLSX files in this folder on my OneDrive. And for each one, run this script, figure something out, send me a note saying, here's the file and here's the thing you wanted me to do and it's done." And it'll just iterate, iterate, iterate. And then spit out at the end, success.

Rob Collie (01:04:34): That makes sense to me. Tom's sitting there thinking, oh yeah, Wazzu V2.

Thomas LaRock (01:04:38): Oh, yeah.

Rob Collie (01:04:39): He's like, "Now I know my mission. I'll put Wazzu in every file on your SharePoint."

Tristan Davis (01:04:47): You have access to files.

Rob Collie (01:04:48): That's right. That's right.

Tristan Davis (01:04:49): Again, is a great example where we've been much more clever about the document isn't this Trojan Horse. It doesn't have all the code embedded in a way where you can't tell the lineage and who wrote it and where it came from. If I write a flow, it's mine. Right? It's doing things as me. So if I want to do naughty things, they're attributed properly to me doing them. And that's not this, I don't know. The workbook did it.

Rob Collie (01:05:12): Yeah. The audit trail is important.

Tristan Davis (01:05:14): Much clearer. Yep.

Rob Collie (01:05:15): Yeah. And plus almost everything now has versioning turned on. I mean, I like take it for granted that if I got ransomwared, for example today, I don't think it would bother me because all of my important files are cloud backed up and versioned. I'll just nuke that machine and come right back up. Tom, I know you're thinking sinister, dark thoughts, but you're going to be foiled. Your Wazzu V2 isn't going to go very far. And then we'll fix your wagon.

Thomas LaRock (01:05:45): We'll see.

Rob Collie (01:05:47): You can't see his face on the podcast, folks, but his face says, "Yes, I'm guilty. I wrote Wazzu V1.

Thomas LaRock (01:05:53): I will neither confirm nor deny any knowledge.

Rob Collie (01:05:57): I've got a lot to learn. I don't know when I'm going to have the time to do it, but I know where to start. That's the crucial thing. I know to go looking for the automate tab in my version of web Excel. And when I don't have it, I complain to Tristan.

Tristan Davis (01:06:11): That's right.

Rob Collie (01:06:12): That's what I'll do. Good news and bad news. Right? There's so many different release schedules and things like that, depending upon what you're signed up for, it is, it's like the box of chocolates metaphor from Forrest Gump, like who knows? I might have the automate tab. I might not.

Tristan Davis (01:06:28): As long as you're commercial E3 or E5, you should have it. But yes, if you don't have it, your first stop should be me. Yeah.

Rob Collie (01:06:36): Yeah. We're E5, E6, whatever it takes.

Tristan Davis (01:06:39): [inaudible 01:06:39].

Thomas LaRock (01:06:39): [inaudible 01:06:39]. All the Es.

Rob Collie (01:06:40): Yeah, the other day someone said they were going to move into E5 or whatever. And I'm sitting to think to myself, I don't even know if five is the biggest number. Is there something beyond five? Is there a six?

Tristan Davis (01:06:50): There's a five.

Rob Collie (01:06:51): So currently five is the largest number in the universe? Okay. We've got that now. All right. Well, hey, Tristan, it was a pleasure, man. Yeah. I appreciate you being here. I know that a Microsoft schedule is the most difficult schedule to carve two hours out of. So much, much, much appreciated. There's a lot of exciting things going on. And the persona, regardless of whether the technology is the same technology that most people listen to us are using, the persona, that inspired maker? 100%. I know I'm going to find some usage for this. I'm going to go looking for that automate tab.

Tristan Davis (01:07:25): Awesome.

Speaker 3 (01:07:26): Thanks for listening to The Raw Data by P3 Adaptive Podcast. Let the experts at P3 Adaptive help your business. Just go to P3Adaptive.com. Have a data day.

Subscribe to the podcast
  • This field is for validation purposes and should be left unchanged.

Other Episodes

Copy link
Powered by Social Snap