Steve Guggenheimer: Build 2015 (Part 1)

Remarks by Steve Guggenheimer, corporate vice president, Developer Platform and Evangelism, on April 30, 2015.

ANNOUNCER:  Ladies and gentlemen, please welcome Steve Guggenheimer and John Shewchuk.  (Cheers, applause.)

STEVE GUGGENHEIMER:  All right, good morning, everybody.  Welcome to day two of Build.  My name’s Steve Guggenheimer.  My colleague is John Shewchuk.  They call me Guggs and Shoe, bad joke there, we’ll let that one go.

We hope you guys had an outstanding day one, and our goal is just to keep the momentum going on day two.  First thing I want to do is thank our DJ, Allen Smithson (ph.), I thought he did a great job.  (Applause.)

The Emulator board that he had here, there are only 25 in existence.  He helped co-create that.  He’ll be at the party tonight, so if you want to make your own mixes and use the board, you’re welcome to come out and see him.  Put it to the test, have a little bit of fun with that.

Now, what John and I wanted to do is sort of take some of the conversations we have on a regular basis and bring those to life.

As I hope you got a sense from the video, we basically spend all of our time talking to developers, startups, large and small ISVs, folks who work in large and small commercial enterprises, people who build software for a living.

And the trick here is to take those many conversations and bring them to life.  They range from types of apps to technology areas to business models to tool chains and more.  John, what do you think about that as a starting point?

JOHN SHEWCHUK:  Yeah, when Guggs and I are out there talking to developers, I mean, one of the things that’s extremely exciting for folks is just the vast array of capabilities that are out there, different kinds of devices you can target, different cloud platforms with PaaS, with IaaS, and then these new emerging platforms with software as a service like Salesforce or what we’re doing with Office.

And so when they come and we have those conversations, it’s almost never about this Microsoft technology or this particular product, it’s about how do we put all this stuff together to build great applications and make applications that helps us make money and be successful?

So we thought we’d share a little bit about how those conversations are going, how we’re putting these pieces together to build world-class, next-generation apps.

STEVE GUGGENHEIMER:  And so that will be our framework for today.  You see behind me a set of the conversations that we’re going to bring forward.  We’re going to have some of our colleagues come out and help us throughout the morning.  We’re going to try and bring these to life with two things.  As much as possible, use code that others have built, ISVs that we’ve worked with.  Second, do as many demos as possible.  We always try and get as many in a short time frame as possible, and third, show code.

I saw a little meme yesterday, there was a lot of code, maybe too much.  And I don’t know how other folks run their dev conferences, but if you didn’t like the coding yesterday, you’re not going to like today because we’ll probably show more.

And with that, I think we ought to dive in.  (Cheers, applause.)

So I want to start off with some fun, the media and music space.  One of the cool things that’s going on is the mixture of sort of IOT, predictive analytics, Bluetooth, and it’s enabling some crazy ideas.

This is one that our friends at Muzik showed us.  And when I got a chance to work with it (drums play) you see the drum kit on the Surface?  You see the virtual drums?  Things possible I would have never thought of.  And the cool thing here is, obviously, I’m not a drummer.  But the folks at Muzik, they’re working with folks who do this for a living.

Let me show you a little bit about what they’re talking about.

(Video segment:  Muzik.)

STEVE GUGGENHEIMER:  So pretty cool stuff.  Jason Hardy (ph.) and the guys at Muzik.  (Applause.)  This is something we couldn’t have contemplated a few years ago, so there must be some work going on between what they’re doing and what we’re doing to make this possible.

JOHN SHEWCHUK:  Yeah, this about this particular application.   You’ve got professional musicians, they’re using these devices with accelerometers.  They’re doing predictive analytics and a whole bunch of pretty complicated stuff.  But at the end of the process, what they’ve got to do is they’ve got to play a sample and they’ve got to do it quickly.

Now, what I’ve got on the screen here is some code that we would have had to write in Windows 8.  This is some pretty complicated C++ code, you know, page upon page of it.  All of this to go take that event and play that sample.

And even when you were done with this, you would have had a problem.  The latency would have been a little high.

So the engineers in Windows have been hard at work.  They’ve been optimizing the video display channels, the audio channels, and they’ve actually made it incredibly easy to program.

So here are some new APIs that we’re introducing, new Audio Graph API.  This will do audio processing.  Notice we can create a device output.

Here’s where some of the magic happens right here.  Notice we set the quantum size selection to the lowest latency.  This is what lets the thing play.  We connect it to an output device, and then we go load the samples here and build the file nodes.  And that’s the core of one of these applications.

Obviously, more stuff going on with the Bluetooth stack and so on.  But let me actually just show you this thing.

So here’s a quick example.  And I’m just going to use touch, and I can now (drums play) play on this.  Oh, hey, Steve, you appeared on the screen.

Now, last year when we were doing this, I remember you wanted to switch gears a lot.

STEVE GUGGENHEIMER:  Let’s switch gears.

JOHN SHEWCHUK:  (Plays with audio.)

STEVE GUGGENHEIMER:  Careful, John.  This is why we don’t let him play with the music side.  Maybe we’ll give that to Allen later on for tonight.

All right.  So let’s switch gears — sorry, just was there.  (Laughter.)

The client side is one area of innovation.  The other is, obviously, on the cloud side, and with streaming media overall.  Yesterday, we streamed out over Channel 9 the video from this presentation.  We hit about 300,000-plus users, 75,000 concurrently.  And for us, that’s a scale we’re pretty excited about that.

This year, working with NBC, we did the Super Bowl, it was over 1.2 million concurrent users.  So when you think about over-the-top transmission, when you think about streaming media, music, video, all of it, it’s coming together now and a lot of work’s going on the cloud side for that.

JOHN SHEWCHUK:  Yeah, now what you can see here is once you’ve created great video, great audio, the ability to get it out across all the different platforms is very important.  And we’re looking at the actual streaming that’s coming through the Azure Media Services, the Channel 9 discussion.  So there it is.  Doing cloud encoding and a whole bunch of other stuff.

What I really wanted to do, though, was just spend one second.  Here’s a very simple player where we can see what’s happening.  I just want to show you the code behind this.

This is what it takes to go build one of these cloud-distributed, high-scale, DVR-based systems.  All of this code, we’re making available.  It’s incredibly easy to use.  And, again, at the core of some of these huge projects like the Olympics.

STEVE GUGGENHEIMER:  And the nice thing with all of these pieces is we’re starting to see a set of ISVs building on and give us feedback and help us along.  Let me run a video from a partner and ISV that’s building on top of this and helping us learn more.

(Video segment:  Propellerhead.)

STEVE GUGGENHEIMER:  (Applause.)  So my thanks to the folks from Propellerhead.  Look, we’re getting feedback from networks, you can see CSN, CTV up here, RDO, TuneIn, and iHeartRadio on the client side.  So we’re getting a lot of feedback about how to make all the underlying and underpinnings of what we’re doing better and better and better.

So I’m going to move off of media now, and given our audience, we know a lot of you work in the commercial space for a living.  We thought before we’d get into some of the deeper details we’d do a couple commercial pieces.

So first off, let me just say, hey, we’ve got great partners here who are also giving us feedback.  We heard about some of them yesterday with SAP and you saw DocuSign on stage, GE has been doing some great work with us.

Salesforce, yesterday, we saw the integration with Office.  They’re also building a Windows 10 application working with us not just on the application, but on the SDK.

There’s also infrastructure.  We saw a Docker yesterday, we’re doing some work with Mesosphere.

I wanted to talk a little bit about Autodesk at this point.  There’s one conversation that’s bridging, I think, from consumer to commercial is the area of 3D printing.  This is an area where we have a lot of discussions.

And this is one of those areas where today we do a lot with 3-D printing for prototyping or modeling, and folks wanted the area of manufacturing, so really make that step into a commercial space.

Now, to do this, we have to get all the systems to work together.  You have to get the software to work with the hardware, the printers themselves, as well as the material.  And today, it’s not quite as smooth as we’d all like, so we’ve done some work working with Autodesk.

Autodesk has been building an engine they call Spark.  And Spark allows us to have a platform across the software, the hardware, and the materials with a set of APIs in an open way that we can all work on and use.  And what I’m happy to announce today is we’re going to integrate that Spark engine into Windows 10.

So now we have a common platform we can all work from and build on as we want to go out and do 3D modeling.

And the cool thing here is they’re starting to build sort of a line of 3D printers that take advantage of the Spark engine.  This is the first time anyone’s seen one of these new Ember printers.  I love the fact that on the Autodesk side, they do nice design.  And when you think about manufacturing, you can think about lots of scenarios.

Up here, you see an ear bud.  The professional musicians, the racecar drivers, they have these custom-made ear inserts.  And the notion of moving from doing this as sort of a project in multiple phases to basically having a manufacturing ability to do this is the direction we’re headed in.

So I’m pleased with the work we’re doing with Autodesk, I wanted to highlight that today because that’s an area where we get lots of questions, we have lots of fun, but we’re going to move from modeling I think to manufacturing in the near future.

Now, one other one, when I think about commercial, is true line-of-business applications.  And here, you can take a vertical scenario by industry or horizontal.  You can think ERP, CRM, supply chain management, SCM, et cetera.

And so I thought we’d take a horizontal solution, in this case ERP, our friends ISVs in the northwest called Accumatica who build a cloud-based ERP, why don’t you show us what we have here, John.

JOHN SHEWCHUK:  Yeah.  So many of these vertical systems at the core have reporting.  And here, what we see is a typical sales order summary.

And, you know, it’s got a lot of information.  But as usual —

STEVE GUGGENHEIMER:  It’s close, John, but I need a couple of changes.

JOHN SHEWCHUK:  Yeah, and normally as a developer, often those changes are things that I would have to go in and do relatively manually, code it up, add it into the list of reports that these folks can do, and that means that I’m not necessarily working on the broader aspect of the project.  Reporting can take a lot of effort.

So we were having that conversation with Accumatica.  How could we leverage what’s happening in the cloud, this new distributed world, to take what they’ve already got and make it much better?

And so we did this pretty cool thing which is we added to their query system the ability to expose all their data out to the world through the Internet, through REST interfaces.  It’s called OData.  And the way we did that was actually pretty straightforward.

We’ve got — what you’re seeing here is the actual code inside of Accumatica.  They have an object relational model.  They hooked up a simple library that exposed that ORM through OData.  And let me show you kind of how cool that is.

Here is the Power BI builder, which is one of the tools that can consume OData.  Lots of other things, Excel and other stuff can do that.

All I need to do is I just click on this and I go add an OData feed and I connect to it, type in the URL to the Accumatica data, and off we go with now the new Power BI tools.

In fact, I think we’ve got it running over here.

STEVE GUGGENHEIMER:  Yeah, so we might as well have some fun since we have all this great new hardware to play with.

Now, as the end user, I really don’t care what John’s doing.  I just want to be able to get access to the information.  And so I’ve got a Surface Hub here.  Sorry, let me reboot it.

So I’ve got my Surface Hub here.  I’ve got smooth inking on this, so I could choose to type in — but you know what?  I’m just going to go up here, I’m actually just going to ask for sales by city.  Let that come up.

And you know what?  I’m curious.  I’m going to do — you know, I’d like to see that as a map.  So I’m going to say “as map.”

And you’ll notice, it just automatically goes.  So for me as the end user, I can sort of pick the reports I want, I can zoom in if I want.  It’s a pretty cool way to take what John’s working on and not have to go back and ask him over and over again for reports.

Now, John, this is pretty cool.  What I saw yesterday in Satya’s session was he also hooked into the Office Graph.  So what I’d really like to do is see this by user, in fact, I’d like to see this by your team.

JOHN SHEWCHUK:  Yeah.  So really what we’re talking about is doing dynamic joins across different data sets using the OData protocol underneath the hood.

What I’ve got here on the screen is a very simple, single-page Web app.  This is the kind of thing you would do if you were talking to a Facebook API, anything.  And it’s pretty straightforward.  You do a redirection to a login page, you get back a token, you use that token to access information.

But here’s where the real work occurs.  We’re going out to that new Office Graph.  We’re going to  We’re taking our me token, and notice, I’m looking at the direct reports.

So let’s actually just run that.  And what we can see here is we want to go retrieve these things.  It reaches out, it gets the data, we’ve printed out the data.

And as you can see, here’s the JSON that comes back.  This is pretty clean, pretty easy-to-parse stuff.  Anybody in almost any language can take advantage of this.

But, again, this has been put out in a way that’s consumable by a lot of products, it’s got this OData characteristic.  In fact, we’ve also linked that one up to the same Power BI, we can do those queries.

STEVE GUGGENHEIMER:  Yes, so you see the Microsoft Graph API, we’ve hooked it up as well.  So here I can now go orders by manager.  And there we see the orders by manager.

And you’ll notice, this is the true magic of software.  John is selling more than anyone else.  And all of us know in this room that John is not selling anything to do with software right now.  He’s completely doing the coding.

So I like the fact that the magic of software allows him to sell more, and really that works out as a nice connection between the end user and John on the back end of this piece.

So this is a good spot.  I think we’ve done a little bit to get going on the consumer/commercial.  Two conversations we have on a regular basis.

One thing we heard a lot of feedback on yesterday that people want to talk about is Windows and building for Windows 10.  In particular, taking advantage of the Universal Windows Platform as well as some of the bridges.  So with that, I’m going to introduce our good friend David Treadwell to come on out, David’s coming from that way, and help us out and take us on a journey through Windows 10.  David?  Nice to see you.  (Applause.)   You’re up, buddy.