00:01My name's Art Haddad, joined by my colleague Rex Hansen, and we're here to talk about...
00:05...ArcGIS on the Microsoft Stack, specifically Silverlight, WPF, WinPhone, and of course, SharePoint.
00:07If an item's been changed, it will update the geocoded item accordingly based on the change.
00:12So as our agenda is real simple, we're going to try to cover as much as possible.
00:19Dave Cardella really did a good job on Introduction to Esri, so we really don't have to go too deep into that.
00:25We're going to talk about some of the challenges that we've faced and why we built some of these APIs.
00:29We're going to go into the details of our APIs and... all built on, built out of the Microsoft stack.
00:37We're going to show some demos along the way and then we'll wrap up.
00:39Along the way, what I'd like to do is make sure we have plenty of time for questions.
00:44I'd like this to be as informal as possible, so if you do have a question, please let us know right away.
00:50All right. As you know, Esri is the world leader in GIS, or geospatial technologies.
00:55We have well over half a million organizations that use this, and if you go by the numbers...
00:59The list goes on.
01:02...we have well over a million users.
01:03And for that reason, we've identified...a number of challenges that exist today.
01:10And for a lot of those challenges, what we wanted to do is provide a set of tools, or APIs...
01:19...and frameworks that are available for you to use that will address some of these challenges.
01:25Some common challenges that you might see in your everyday careers and jobs.
01:29Things like, hey, I need to get a sales report out there.
01:32I need to let my sales team know exactly what's working and what's not.
01:36I need to identify different marketing patterns and targets, specific marketing campaign, towards those things.
01:41Or I just need to solve a simple, little problem.
01:45To a user, it might seem simple, but to you, it may not.
01:48What we need to do is bring in some spatial technology to solve that problem.
01:54So what we have here with ArcGIS and the Microsoft stack is a way to bring together all of your datasets...
02:01...in the Microsoft world, and that's using Silverlight, WPF, the Windows Phone, as well as SharePoint.
02:09By focusing a lot on the Microsoft stack, what we've been able to do is build a little picture that kind of gives...
02:15...you a better idea of what we're talking about.
02:19All right, so, how many folks here actually use SharePoint right now?
02:24Okay, we've got a couple of you.
02:26SharePoint, believe it or not, is a very successful product for Microsoft.
02:30It's a $9.6 billion industry for that product alone.
02:34Billion dollars. That's a lot.
02:36It's one of the most successful product lines at Microsoft, and we've actually embedded...
02:41...or incorporated a product into that world, called ArcGIS Mapping for SharePoint.
02:46With this product, we can work with all forms of data, whether it be document libraries, InfoPath forms...
02:51...Excel spreadsheets, SQL Server, all of that can now work with ArcGIS Mapping for SharePoint...
02:59...within the SharePoint environment.
03:01We also have ArcGIS for Silverlight, and Silverlight for the browser, Silverlight for the desktop...
03:06...WPF for the desktop, as well as now the Windows Phone API.
03:10We combine that with the web and the different server offerings we have - we have ArcGIS...
03:16...we have the Bing services and that's, yes, all the Bing map data, the basemap, the hybrid map...
03:23...the imagery, along with the different services.
03:26[unintelligible] as a tier service, the writing service, the geocode service.
03:30We can run within Azure cloud as well as work with the full arcgis.com, our cloud offering for ArcGIS Server.
03:38So this is basically the entire stack that we've been able to come up with.
03:42And what we're going to start out with is the ArcGIS Mapping for SharePoint.
03:45...I want to bring you up to speed on what we've done there.
03:49So for SharePoint, when they first announced SharePoint, this is a slide that they used that describes SharePoint.
03:55It kind of has a lot of buzzwords in there.
03:58From our perspective, we look at it like this.
04:05It says it does everything. Well, to us it's just a Swiss army knife.
04:08How do we use the right tool to accomplish the right job.
04:13And from that, we've come up with the ArcGIS Mapping for SharePoint.
04:16All right, it brings the concept of GIS into SharePoint environment, and it does two things...
04:22...and two things very well, at version 2.0.
04:25It integrates directly and completely into SharePoint 2010 in that it supports the design time experience...
04:32...the SharePoint [unintelligible] experience, it supports SharePoint workflows...
04:36...it also supports ArcGIS Server 10, so that's the second piece.
04:40ArcGIS Server is now fully integrated into our SharePoint bits.
04:47An important aspect to SharePoint is it's not just extensible, it's configurable.
04:53The majority of folks working inside of SharePoint, they're not programmers.
04:58They're pretty much analysts and they need to create a dashboard site or a page that demonstrates...
05:03...specific information to a set of users that they are responsible for.
05:09There is no programming associated with that; they need to point and click their way through an entire website...
05:14...and that's what this actually does.
05:17All of this is actually built using the ArcGIS Silverlight API.
05:24Some of the things you actually get in the SharePoint experience is a Map Web Part.
05:28This Map Web Part allows you to display and interact with your data in a visual way.
05:35It allows you to incorporate existing SharePoint lists, ArcGIS Server data, SQL Server data...
05:41...through a spatial data service, and a number of other things.
05:46As part of that Map Web Part, we also allow you to interact with the data tables.
05:51So if I incorporated a SharePoint list on the map, the SharePoint list now appears as features on the map.
05:57But more importantly, if I want to interact with those features and I want to see the actual data beneath it...
06:03...this table allows you to work with it, and it's part of the experience of working with the Map Web Part.
06:08There is no extra work that needs to be done, you just get the functionality if that's what you want to configure.
06:15We also have the ability to take SharePoint lists and dynamically add them to the map...
06:20...using a process known as geocoding.
06:23A lot of data is out there inside of Sharepoint, a lot of it has address information.
06:28Using the ArcGIS Server locators, or even the Bing locator, you can support putting that data onto a map...
06:35...even though the data has never seen the light of spatial before.
06:40And that's through the concept of a workflow.
06:42This is a SharePoint 2010 experience.
06:45So, with this workflow, I can associate this workflow to a SharePoint list, and for those that...
06:51...have not been geocoded yet, it'll go in the background and start geocoding those records.
06:56If an item has been added, it will geocode that item based on Add.
07:07Furthermore, we integrate with the tasks and alert system, so that if something does get geocoded...
07:14...and, as we know with geocoding, an address does not necessarily match a specific point.
07:21It could be a range of candidate points, and what you need to do is somehow go back...
07:26...and pick the correct location.
07:29Well, a task will get created as part of this workflow assigned to a specific individual...
07:34...and you can go back into the item and update it.
07:41This pretty much talks to what just described, but nonetheless, it's an easy way to geocode...
07:46...addresses and that's the key part there.
07:49There's really no extra effort necessary.
07:52The question is, if I have a large SharePoint list, what is the scalability of that?
07:58On two fronts, I would like to suggest.
08:00One, on the geocoding side.
08:02And the second, how does it display on a map, okay?
08:06So the first one, how does it scale out on the geocoding side?
08:10It happens all on the background thread.
08:12So, a number of background items get kicked off, and they just go through until they're all done.
08:17So that's just a background process that doesn't affect your SharePoint site, per se.
08:22Second part is, how does that get added?
08:24Within SharePoint, we actually have a limit as to how much you'll add in at any point in time...
08:29...and that maxes the configuration item within the SharePoint administration feature.
08:34Furthermore, you can filter it out based on extent, okay?
08:38So that's how we deal with large numbers of items within SharePoint lists in the map as well as on the geocoding side.
08:47Talking about configuration and because we're integrated inside of SharePoint...
08:52...we have to integrate into the site administration page.
08:56Well, inside the site administration page, we have our own section.
08:58And on that section, you can configure things like the types of locators you want to use by...
09:03...default or as a choice, the types of basemaps you want to use...
09:08...which document library will contain extensibility modules, so that if I want to add an extra tool that I'd built out...
09:14...using the API for Silverlight, I can add that to a specific document library and it just becomes available, et cetera.
09:20There's a number of those configuration items available for you.
09:26Keep in mind, I mentioned that SharePoint is a customizable environment.
09:29You have a design-time experience and then you have a runtime experience.
09:33A designer is the role that they put into a design-time experience, and within that designer capability...
09:40...I can create and configure any kind of a web page within my site.
09:45And as part of that, our tools subscribe to a series of ribbons that are available in design time...
09:52...and those are customized in design time so what shows up in runtime.
09:56So I might have all the tools available in design time, but if I only say I want to allow basemap configuration...
10:05...or I want to allows specific layer information or tools to show up, then only those that were...
10:11...configured by the designer are available to those in runtime.
10:16A designer can also choose to just enable everything, at which point the runtime user is someone...
10:22...that can add and do anything that they need.
10:25But all those, again, it's because it's integrated within SharePoint, you can configure that as a designer.
10:31Question right here?
10:32[Inaudible audience question]
10:34Sure. The question is, what is a SharePoint ribbon?
10:37In SharePoint 2010, much like Office 2010 and Office 2007, you have a ribbon experience for a toolbar.
10:46It's that toolbar at the very top, and every part that appears on a page has a section on that ribbon...
10:55...and we have completely integrated with that SharePoint experience.
11:01All right. No matter how much we put into a product, there's always something that someone wants to do more.
11:07Well, for that, we've created an extensibility framework that's highly based on a common .NET programming pattern...
11:14...called the eye command pattern.
11:16Folks, you are .NET programmers? Maybe? Okay, a couple of you.
11:20All right. It's a very common pattern, very simple to implement, and once you do that...
11:24...along with the ArcGIS API Silverlight, you can extend this the way that you need.
11:30All right. So, real quick, I just want to show you one thing 'cause this actually took us a...
11:36...little further than we needed to.
11:37So, here's a SharePoint site, it's a 2010 SharePoint site, and I'm actually using IE 9.
11:44This is a preview release, so if something blows up, it's IE 9, it's not us. All right.
11:51Yes, I know.
11:53All right, so this is something I actually showed back in Washington, DC, at the Microsoft Technology Center.
11:58This is actually a bomb threat tool that allows us to work with a certain amount of data.
12:04This is the Map Web Part.
12:07Let me bounce this out.
12:09Okay, so you'll see here that I have a run time, and in that run time I have two tabs available to me...
12:16...an application tab, and it has the ability to swap out the basemap, add content, view the map contents itself...
12:25...and some other tools, like the Bomb Threat tool, Select by Location, and Drive Times.
12:29And on the layer, I have a limited set of things I can do with layer.
12:32For instance, if I want to zoom to or go to the Gaslamp building footprints within San Diego...
12:39...I can do that immediately.
12:41Well, one of the things that we did hear is the ability to do search, and this comes with the product...
12:47...so if I want to search for San Diego Convention Center, it'll go out there, and assuming I typed it right...
12:55...it will be added to the map, and I added a pin right to the map.
12:59Little things like that, and from that point, I want to execute a tool, and this tool, believe it or not...
13:05...is based on DHS spec, Department of Homeland Security.
13:08That says for a specific bomb type, specific characteristics, and the size of the bomb based on vehicle type.
13:17You'll be able to calculate out the areas in which are a problem.
13:24So we've actually implemented that tool using geoprocessing within ArcGIS Server.
13:28We published that geoprocessing model to a server end point, and we've added that to the map.
13:34And what it does, it comes back with two areas - the outdoor evacuation area and a building evacuation area.
13:40From there, I can execute additional tools to identify the lots that I need to identify for evacuation, et cetera.
13:47How we built this was pretty straightforward.
13:50And actually, let me bounce out of here, and just real quick, what I want to do - actually...
13:59...I'm going to do that by just staying in here real quick.
14:06Save some time.
14:08If I wanted to configure this or edit this inside of SharePoint, I can select that part and click Edit Web Part...
14:14...and you'll quickly find that I have an increased set of tools available to me in the designer...
14:22...both at the application level, here is, at the layer level, including how I want to update the map...
14:30...whether it's been panned or zoomed, if I have more information, update information...
14:36...and working with symbology, including adding a heat map, changing out the symbol sets, et cetera.
14:43And, of course, configuring that ribbon is real simple.
14:47I have a little Manage Ribbon tool in which I can go through and I can select specific the things that are available...
14:55...at runtime versus design time.
14:58So I'm going to stop right there; there's so much more I can show you here.
15:00There's actually a video presentation that takes you through a 20-minute schpiel on all the different things...
15:06...you can do here, but I'm going to stop right there.
15:09If we have more time later on during our social, I'll take you through the whole thing, and it's really pretty cool.
15:14But you can see how easy it can be.
15:16It's really point and click, configure your way through.
15:20All right, so I'm going to stop there, let me bounce back out, and go back in here.
15:29Obviously, we just released - well, not obviously, but we just released version 2.0.
15:34And obviously we want to continue increasing the product by adding more capabilities.
15:39Today, we have a Code Gallery sample you can download.
15:42Add it to your SharePoint site for editing capabilities as well as time aware and things of that nature.
15:48What we want to do is add those out-of-the-box experiences.
15:51We want to include our spatial, now spatially aware SharePoint lists.
15:55This is part of fast and search integration within SharePoint.
16:00We have so many different things we want to do, but we don't want to just do it, just...
16:04...out of the sake of, we think it's a good thing.
16:07We want to wait to hear and get that feedback from our users, just like we do with everything else.
16:13All right. Moving on, and this is where it gets fun.
16:17Our ArcGIS API for Microsoft Silverlight is the next section.
16:20Now keep in mind, this is the platform we've built out the SharePoint site.
16:23If you've used arcgis.com before, the ArcGIS Explorer Online, there's also another application built on the same framework.
16:29And just recently, we were awarded the Visual Studio Reader's Choice Award for 2010...
16:34...in the category of Mapping and GIS Components.
16:38So this is a community award; it's not an organization that said hey, we like you guys, here's your award.
16:44So that's why it means something to us - it was based on community feedback, so we really won...
16:48...this based on real-world people saying this is a good thing.
16:53So I wanted to make sure that that was stated in this meeting 'cause I'm really proud of the team.
16:59I want to get this out of the way.
17:00This is something that happened on Monday.
17:02Bob Muglia was reported as saying, Silverlight is dead, so to speak, in not so many words.
17:09Well, this is the slide Scott Guthrie actually showed at the Dev Connection Summit on Monday.
17:15It's not dead. It's not going away.
17:18He said, Microsoft is shifting its strategy.
17:22And of course, they're shifting its strategy. They have to.
17:25HTML5 is on the horizon; they're supporting it.
17:28The PDC was based on two things, and two things alone.
17:32Azure, Windows Phone.
17:35That's what they emphasized.
17:36They didn't talk about SharePoint in that thing; SharePoint's not dead; it's still alive and vibrant.
17:41Silverlight wasn't really discussed as much, but it was discussed, and it's not going away.
17:47So I just wanted to get that on the table, get it out of the way.
17:51It's still strategic, and it's not going away, so let's be very clear on that.
17:56However, they are going to support HTML5, as well.
17:59That's plain as day; I mean, look at Esri.
18:06We have Flex, we have Silverlight.
18:11We support them all; Microsoft is in the same boat.
18:14So, now that we've got that out of the way, let's come back over here.
18:20The API for Microsoft Silverlight and WPF is real simple.
18:23It's a powerful web and desktop mapping API.
18:27It allows you to design your applications.
18:30Our API is designed for the Silverlight and WPF platform.
18:36It utilizes ArcGIS Server, it brings in additional data types like Bing Maps and services.
18:43Silverlight itself is cross browser, it will support all the platforms that Silverlight supports...
18:49...including Mac, Chrome, Safari, Firefox, as well as Internet Explorer.
18:54On the WPF side, it being a desktop app it is, we'll support x64-based...
19:00...implementations so you can write a native 64-bit implementation of your application using our WPF API.
19:07And it would not be a Microsoft-based API if we didn't support integration with individual studio environment.
19:13Of course, we do; we're fully integrated with it.
19:17We have a number of libraries that we do ship and the reason why we break them apart...
19:21...is to think about Silverlight itself.
19:24Silverlight itself is typically not installed with the setup program for your application...
19:29...you access it through a web browser.
19:32You have the URL, and you have to download the bits that run within a plug-in within your browser.
19:37Well, it makes no sense to include the kitchen sink in that deployment.
19:41It does make sense to include the things that you need for your application to run.
19:46Hence, a couple of these things are broken apart.
19:49Our core library is for working with maps and layers as in our client DLL.
19:54To work with any Bing maps and services is an additional DLL called Bing.
19:59If you want to work with some of our widgets, we have a toolkit assembly which provides some of those widgets.
20:05And of course, some additional data sources that are not in our core product...
20:09...you can work with those DLLs as well.
20:11So we kind of break it apart for deployment purposes, but more importantly so that...
20:16...you can know what you're working with, as well.
20:19Our Toolkit DLL and our Toolkit data sources are actually open source libraries.
20:24We host those on codeflex.com., esrisilverlight.codeflex.com.
20:30And with that, you can actually download the full source code.
20:34See how it is we've built some of these widgets to extend our platform.
20:37You have full access to the source, full access to the documentation as well as the binaries, so if you wanted...
20:42...to build out your own stuff, you have a good pattern from which you can work.
20:48'Course I mentioned IDE integration. It's not just Visual Studio, it's also Expression Blend.
20:53Expression Blend itself is a design time or a designer's tool, not necessarily a programmer...
20:59...but someone that can point and click, configure the way through.
21:02It's a very good environment for what in Silverlight we call "templating."
21:08So if I have a user experience or a set of user interfaces that were designed one way...
21:13...and I want to reuse those in a different-looking application, I can use Expression Blend to do that kind of a thing.
21:19Or, I can just go into Visual Studio and work with XAML.
21:22Think of it as a really good XAML writing tool.
21:27Now for those of you who don't know, XAML is the markup language that is...
21:29...used to express the presentation of your Silverlight application.
21:36All right. At version 2.0 and with ArcGIS Server 10, we've added a number of new features.
21:42Some of those things are kind of important. I wanted to bring them out.
21:44One is editing, and with editing, we've also provided you a set of tools out of the box to enhance that editing experience.
21:53And, with a feature layer that is supported through server and in the client, you can bind our widgets...
22:03...to those layers and you automatically get editing experiences.
22:08It's really that simple.
22:09Or you can go out there and create your own experience yourself.
22:13Either way, editing is built into the core API now, and not just feature editing but also attribute editing.
22:21Then, of course, we have a whole host of geometry operations to help support not only editing...
22:26...but other spatial operations, as well.
22:29Autocomplete, convex hull, I want to cut a feature, I want to densify...
22:34...I want to generalize, all those things are now available as a REST endpoint through ArcGIS Server.
22:42We've added the ability to work with time, or what is also known as temporal rendering.
22:48If a layer is supported with a set of attributes for time, the map itself is time aware.
22:56So what we've also done is extended our widgets to support a time slider.
23:00So you bind the widget to your map, and of course, you now get time.
23:09And there's obviously more; there's so much more that it's really hard to put a set of slides together...
23:15...and actually share that within an hour's time.
23:18So rather than go on, what I want to do is invite Rex Hansen up here to go into a lot of the detail on some of this stuff. Rex?
23:27Thanks, Art. Get this thing...
23:32Can you hear me? Here we go.
23:35Great. Thanks, Art.
23:37So, Art mentioned working with the ArcGIS API for Microsoft Silverlight and WPF.
23:41What I'd like to do is show you briefly, number 2?
23:53There we go.
23:57What I'd like to show you is what you'd need to get started with this.
24:00So he sort of tantalized you with some information about what we have in our current product.
24:06What we have for our Silverlight/WPF API, as well as with our other web APIs, is a resource center.
24:11This is a one-stop shop where you can go get... you can download the bits, you can install those bits...
24:16...and then you can start using this resource center to discover how to build your application.
24:21This is the resource center for our Silverlight/WPF API.
24:24What we'll notice here is there's a couple of links that we can actually download the setup.
24:28So, if we download this setup, we'll run through the install, it will give us the DLLs that we saw...
24:34...within the presentation that Art mentioned before.
24:36The [unintelligible] this goes down on disk along with some design-time integration pieces, allows us...
24:40...to integrate within some Visual Studio and Expression Blend and provide toolbox integration...
24:45...a reference integration, as well as templates.
24:51Once we have that installed, we can bounce over to our concepts and we can get started here.
24:56We can easily view a short video here on how to get started with our Silverlight/WPF API.
25:05Basically, it requires that you have Visual Studio 2010 with Silverlight tools and optimally...
25:11...the Expression Blend SDK, or you'll have Expression Blend 4.
25:16You can actually get started free of charge by using Visual Studio Web Developer Express, as well...
25:20...and that's what this video walks you through is using that free download.
25:25It will walk you through the process of actually creating an application with a simple map, adding a layer...
25:30...being able to use that application and show you some basic functionality and getting started with the API.
25:38Probably one of the first places you'll go is, there's a sample section, and this sample section is an interactive Silverlight...
25:43...application that we've built using the API, and really highlighting the different areas and functional areas...
25:48...within the API that you might like to take advantage of.
25:51You can see some of those areas over here, on the left-hand side, and we can step through these different expanders...
25:57...and see the different functionality that's available, such as simple mapping.
26:02We'll have something like this, which allows us to work with some of the Silverlight platform capabilities...
26:06...to give us sort of a semi-3D effect, right?
26:10So you can see, we're leveraging what the platform provides.
26:15We also provide a toolkit.
26:16These are controls and data sources that enable you to, or enhance the usability...
26:22...of the API, so enhance your use of the map or enhance the ability to work with...
26:27...other layers that you might want to integrate within your map application.
26:31So what we might see here is, for example, the ability to pop up, let's say, a little info window...
26:37...or information about the map, and we can track that in.
26:42Within our...we can actually use this within our application quite easily...
26:47...by bouncing over to a couple of different tabs that are on top here, what we will see is a XAML tab...
26:53...to actually look at the design markup.
26:55Code behind tab in both C# and db.net so we can discover how to use this.
26:59We can copy and paste this directly into our application and start using it.
27:03We can also look at the code behind that was required here, as well.
27:06And we can copy and paste this into our application.
27:10Note over here the application as a whole is available for download.
27:13You can get all the source code for this application so that you can run it locally on your machine...
27:17...and you can actually see all this, get it all, get access to it locally on your own box.
27:24Another item here I'll highlight briefly is the toolkit data sources.
27:29What this does is it presents the ability to work with our API and extend our API to work with other data sources.
27:37And so out of the box, we'll provide support for Open StreetMap, right.
27:42A community-type basemap here for sharing data that you can utilize in your application as a basemap...
27:49...and your Silverlight or WPF application as a basemap.
27:52You’ve got some other options here...
27:53...such as heat map. This is generating a client-side bitmap based upon...
27:57...the intensity, or the density of points or values within a specific region.
28:03We also have something like KML, so we support a section of the Google Maps spec of KML...
28:09...and this allows us to integrate this on the client directly within our map.
28:18Another item here I'll mention, we also have the ability to edit and work with an out-of-the-box editor widget...
28:24...that allows us to select, make changes.
28:31In this case we can actually see, if you can see there, we have a little snapping tool that's available.
28:38That allows us to snap to different vertices and other polygons.
28:42We can save this.
28:44We push it back up to our layer.
28:46And essentially what we've done is we've made changes to a feature or attributes on the...
28:50...client and push that back to central server.
28:53So we have functionality there built around ArcGIS Server 10, feature services, and functionality that enhances...
28:59...that end-user editor experience.
29:02Something also new that we added at 10 that we're leveraging within our API is the ability to work with time-aware layers.
29:08This means that the layer itself has, essentially, date fields, or date range.
29:12Features themselves have date ranges, and you can render those based upon the time extent for a map.
29:18So in this case, what we have is a block of, essentially a block of time or a time extent...
29:25...and we can see the different features as they're present within the map during a specific time range.
29:30So we can see these, these are hurricanes over a time period between August 2000 and October 2000.
29:38We can see the track. We’re using a specific renderer to render these temporally.
29:45We can see how to leverage this.
29:46Now, what's nice about this is I can break over to my XAML. That's exactly what I just did here.
29:50You can look at the storyboarding, the different animation capabilities that have been integrated...
29:54...and utilized within our API.
29:56All this stuff is based on Silverlight and WPF functionality that we can then leverage within our API.
30:01So we can take full advantage of that.
30:05We’ll also mention here is that we do have the ability to integrate with Bing Maps.
30:07This is another out-of-the-box capability that we can utilize quite effectively for basemap integration...
30:15...as well as services such as geocoding and routing.
30:17We can flip through and utilize these, as necessary.
30:22It's a great way to discover how to get started or how to use the API.
30:26It’s an instructive SDK and so that's what it's designed to be.
30:29We also have some other items here and I'll just touch on these briefly.
30:33A lot of the, one of the benefits is the user experience with Silverlight. There’s a developer experience...
30:38...there’s a runtime experience, and there’s a user experience.
30:40One of the major benefits with Silverlight is the ability to enhance the user experience by using fully functional...
30:47...animated symbology that really gets the point across, really presents itself very well and aesthetically to the end user.
30:55What we have here is a symbol gallery and this allows you to traverse through a set of different...
30:59...resource dictionaries that give us the ability to work with enhanced symbol sets that we can really copy...
31:06...paste, and utilize within our application.
31:11So for example here, I like this moving line.
31:13I want to be able to see what that line contains.
31:16Well, I can copy and paste this markup...I can actually see the line over here.
31:20We can actually get some, a little more interaction with that symbology.
31:25We can take a look at the resource dictionary that represents that line.
31:28We can copy and paste this into our application and render our features using symbology...
31:36And this is an easy way on our resource center to discover and then utilize some of that functionality.
31:42Now, Art also mentioned that when you install the product, we get a couple of out-of-the-box templates.
31:46I'll show you these briefly here in a second when I bounce into Visual Studio.
31:50These out-of-the-box templates enable you to get started with sort of a
31:55It's templated, or skinned, in a certain way that allows you to essentially modify or drop in tools...
32:00...and functionality in a ready-to-go, essentially web-ready application.
32:07What we also have here online is a template gallery.
32:10What this template gallery does, it allows us to traverse though a set of templates that we can preview...
32:19...and then maybe what we want to do here is bounce out to this template, we want to view it.
32:23We want to see how it operates...be able to do with this. Let's see here, we'll do something like this. Alright. Fantastic.
32:33So we can see a lot of the options that are out of the box.
32:36The source code for this is available for download.
32:39Alright, so we can close this, I can go over here and I can download the source code for that template.
32:42We can bring it right into Visual Studio and start customizing it right away.
32:45This is a great way of being able to get access to something that looks good, looks aesthetic, is almost ready to go...
32:51...essentially without - all you'd have to do, essentially, add your data and fire it up and you're good to go.
32:57Another thing I'll just make a point of, we have a full API reference.
33:00So if you need, as a developer, you need to dive into the details of working with our API...
33:06...the full API reference is available online, so this is the place to go.
33:09Much like MSDN, you can go online, you can discover how to use at a very low level, our API effectively.
33:16Let's bounce into Visual Studio here really quick.
33:18I've got a simple Silverlight application.
33:20I'll just show you some of the design integration work.
33:23What we'll see over here on the right - I'm sorry, on the left-hand side is a toolbox.
33:27So this toolbox includes our controls that are part of our core assembly, Esri ArcGIS client assembly...
33:32...as well as our toolkit assembly.
33:35Map and scale bar, part of our core.
33:37Everything else is actually in our toolkit.
33:44Now, as Art mentioned, we have the source code available for our toolkit available on CodePlex.
33:48You can go out there and discover how we built these. You can modify them.
33:53You can also utilize that as a template essentially for how to build an API, how to build your...
33:55...controls if you decide to go down that path.
33:56What this does offer, and what I have here, is a simple application, simply a simple page, user control...
34:03...and I've dragged a map actually onto the canvas.
34:06I can actually see the map on the canvas here, or I can bounce out to my XAML.
34:11I can see that there's nothing in the map, right?
34:12So it's just a basic map control.
34:15The name space has been added for me, that's great, and what I can do here at design time as well is...
34:21...I have the ability to work with Map Settings.
34:25So Map Settings is a custom property or category here that's been added as part of our design time integration.
34:31And to make this easier to work with layers, which is obviously standard with a map, we have the ability...
34:37...to traverse ArcGIS Online or any public ArcGIS Server REST-based service, that...
34:44...we can traverse the stack of services. We can add them to our application fairly easily.
34:49Here, we can get a preview of what those services look like.
34:53I'll go ahead and we'll go with this map here.
34:56I'll click OK, you can see, that's been added, and we'll go ahead and run it.
35:02No, we didn't actually set an explicit size for the container for a map so it'll fill the browser window with a map.
35:09And note here, we also didn't wire up any certain navigation functionalities.
35:13That stuff is baked into the map.
35:15So when this loads, what we'll notice is that I'll immediately have both keyboard...
35:20...and mouse interaction enabled on the map.
35:23And we can see the fluid, the fluid interaction with the map.
35:26So, I can hold the control key down, I can zoom in, I can use my scroll wheel, and I can zoom in and out quite effectively.
35:34I can also pan using the keyboard, so this is all wired up for me.
35:38I don't have to do that manually. All right? Great.
35:45Another option here is the ability to work with a template.
35:48So as I mentioned before, as part of the integration of our setup with Visual Studio, what we have is under...
35:55...our Visual C# section under Silverlight, what you'll see is a couple of standard templates, essentially.
36:03We'll have a standard template and a showcase template. We can get a little window...
36:07...of what those look like over here.
36:08You can get an idea of what they're going to appear like, and if I add one...
36:13....I'll go ahead and go with the standard, I'll click OK, it will create the application for me.
36:22And when it creates it, I'll actually have to build it to see at design time, but what I will get is...
36:27...a nice fluid design time experience, which is good.
36:37All right, we're working. Here we go.
36:40So we don't actually see anything there; we'll go ahead and we'll read what it says, we need to actually build it.
36:45When we build this, we'll actually get a nice design time experience.
36:48One thing that's new in Visual Studio 2010 that they didn't have in 2008 is the ability to interact with, have...
36:53...an interactive design surface for Silverlight applications.
36:57So that's one thing we actually do have in VS 2010, which is really nice.
37:00Let me close some of this stuff out here.
37:01Let's reload the designer, and what we'll see is...there it is. There's our application.
37:09We can start going in and customizing this content right away, if I run it.
37:13It's already preconfigured with a set of base layers, and so I can utilize those base layers...
37:17...in the base layers switcher that's already part of the template.
37:21We can get started right away with an application that's ready to go out of the box.
37:32There we go. Let's switch through.
37:37Great. We have exactly what we need there. Fantastic.
37:43Okay, good stuff.
37:44Now, at this point I think we should probably bounce over to Windows Phone.
37:51I guess we'll wrap up, briefly wrap up the current Silverlight/WPF story.
37:55A version 2.1 release is pending.
37:56We just had a release candidate go out yesterday.
37:59You can go up there on that site that I showed you, our public resource center site.
38:02You can download the setup, you can install it and you can actually work with our current 2.1 release candidate.
38:07We've got some new functionality that's been added in here.
38:10We have touch-enabled controls, our map, our editor, our draw surface.
38:14They're all touch-enabled , so they'll work with touch-based gestures out of the box, and we leverage that.
38:19We work with our ArcGIS.com web maps, so ArcGIS.com is a site for sharing web maps...
38:24...creating web maps and distributing those amongst groups or to the public.
38:28We can work with web maps within the API specifically now as developers.
38:32Enhanced editing. We've enhanced the editing experience.
38:35Obviously this is coupled with our touch and gesture support, so if you start to, for example...
38:40...via a touch-based gesture, you tried to move a vertice on a polygon or a line or point...
38:50...you actually see a little magnifier window pop up to enhance that editing experience that you know...
38:54...exactly where you're placing that point, because oftentimes it's kind of difficult to see when...
38:58...you're trying to edit with a finger.
38:59So we tried to enhance that experience a little bit more.
39:01We saw KML as a data source.
39:03KML is a data source that we support out of the box now.
39:06A couple of new widgets here. A legend widget, which is templateable...
39:10...so we can actually add TOC functionality to the legend widget, such as turning on visibility...
39:15...maintaining selection layers and all that.
39:17The info window's another option that allows us to essentially pop up, in a standard way...
39:23...information within a window that's hooked or anchored to a specific location.
39:27Next, v.Next, releases, upcoming releases.
39:30We're looking at having wraparound support, the ability to pan around the globe and have it continue.
39:35We don't have that now, but we're looking to add that in and make that consistent and as accurate...
39:39...as we possibly can for you.
39:41Also complex shape drawing - scaling, rotating, want to have the ability to draw arrows, ellipses...
39:46...and also work with existing shapes that you can draw on the map, scale and rotate those as...
39:50...you would any other markup graphics.
39:54So that pretty much wraps up our Silverlight/WPF story.
39:56What's nice about this is it goes right into our ArcGIS for Windows Phone story.
40:00ArcGIS for Windows Phone, the development environment for ArcGIS for Windows Phone is Silverlight.
40:05And so we can take our Silverlight API, we can take the functionality there, and we can reuse a lot of that...
40:10...within our Silverlight, within our Windows Phone API, and then leverage that when building an application.
40:16We've done both. We're creating an application that's going to be available to download within the Marketplace...
40:22...the Zune Marketplace, essentially.
40:24This will be available probably in December.
40:27Likely in December, in about a month or so.
40:31This will be built on top of our ArcGIS for API for Windows Phone.
40:34ArcGIS for API for Windows Phone is the developer experience for building...
40:36...Windows Phone-based applications.
40:42The capabilities of the Windows Phone application are going to be similar to what you would expect...
40:46...with an ArcGIS.com-based application.
40:48Have the ability to browse and search map galleries or maps that are available on ArcGIS.com.
40:52We can work with on-premises data via web maps that are hosted in ArcGIS.com.
40:59We can search by using a place-name search within the application.
41:02We can identify locations or features that happen to be present within a web map.
41:06We also have the ability to measure distance and area and, a pivotal piece here, the ability to edit data.
41:12We can collect and we can edit existing data. It's going to be part of the out-of-the-box experience with the application.
41:19We'll take a look at that application here shortly.
41:22Art's going to demo that right at the end.
41:24Now, back to the ArcGIS API for Windows Phone, this just reiterates that we're targeting the...
41:30...ArcGIS Silverlight API, the same source code. We're just building it to a different platform.
41:35We're building it for the Silverlight off our Windows Phone platform, but we're sharing the same source code.
41:40So a lot of the same functionality that we have in our Silverlight and WPF API, we have in our Windows Phone API.
41:45It's baked in.
41:47There's one key here, and that is that we have a different toolkit.
41:50We actually, we had a release candidate this morning go out for 2.1, and in that release candidate...
41:56...one of the new features there was our toolkit.
41:58So we're going to have a toolkit, it'll have a legend, it'll have an info...
42:01...window, we'll have a child page.
42:03It'll essentially be designed to enhance the user experience, the developer experience...
42:09...and the user experience, for Windows Phone developers, so that's new.
42:17Obviously as part of our Windows Phone support, we wanted to add in this touch-enabled experience...
42:23...on a set of our controls.
42:24And that, because we have the same source code, we could share across different platforms.
42:28So we're handling a variety of different gestures, such as tap or double-tap, drag, or touch and hold.
42:34We're handling these gestures within all of our APIs depending upon which platform we're working with, right?
42:39But we're handling it so that you have a consistent experience, so that a touch and hold has a...
42:43...consistent experience whether you're working on the WinPhone 7 platform, Silverlight, .NET, or .NET, actually.
42:49So, we've built in an abstraction layer there that allows you to work within a consistent environment...
42:55...for the touch-enabled controls.
42:57As I mentioned before, the application will be available at the Marketplace; the API right now is...
43:01...on the resource center.
43:03Let's just take a quick look at the resource center.
43:12What we do have here is, this'll look very similar to the ArcGIS Silverlight/WPF API, but here we actually provide...
43:21...both an application, links to and discussion on the application as well as the API.
43:26So it's ArcGIS for Windows Phone.
43:27From here we can actually get to conceptual discussion that walks through the process of...
43:32...what you need to get started, how to get the tools, what you do after you install those tools...
43:37...to build your first Windows Phone application.
43:40We have a similar experience here with our interactive SDK.
43:43Now, this is actually skinned to look like...it's actually a Silverlight application that you can't download...
43:49...but...it's a Silverlight application, but it's skinned to look like a Windows phone...
43:57...because we want that interactive experience without having to download the tools...
44:00...and work with Visual Studio to actually see the SDK.
44:02So this way what you can do is you can get an interactive experience on the web, in your browser...
44:06...without actually getting the product and installing all the tools.
44:10You can actually see what it would look like if your were using our API.
44:13So we have the ability to interact with the map component as it would look like on a phone...
44:20...we can scale this in and out, we can actually download the SDK.
44:23If we want to, we can actually see the SDK that's built against the WinPhone platform.
44:28We can also, from here, we can copy and paste code, whether it's the markup or it's...
44:32...the code behind, all that's available, and this is all available on the web...
44:35...you don't actually have to go get any of the tools; you can just get access to this right now and see it and use it.
44:44There we go.
44:46I think we're going to run out of time here shortly.
44:47So let me bounce back over to the slides. Great.
44:53So we can see a lot of information there.
44:54You're obviously going to get linked out to the forums, which is a great place to interact with our...
44:58...development team on how to get up and running with applications.
45:01Our blog is a good location for going to get maybe current information about the APIs and the release schedule...
45:07...feature functionality, or any of the capabilities that are baked in.
45:14Let's take a look at the application.
45:17So Art has a Windows Phone, and he's going to demonstrate the ArcGIS application for Windows Phone.
45:30Okay, can you hear me? Okay.
45:33So, what I have here is a release version of the Windows Phone, it's an LG device.
45:38And for those who haven't seen it, this is the main screen, and on the main screen, I've penned a couple of tiles to it.
45:45First is that ArcGIS SDK, which Rex just showed you, and he bounces that really quick just to show that...
45:52...in fact, you have the same exact SDK available that Rex was showing you, including some of the...
46:01...nice support that Rex was showing you earlier.
46:04Let me bounce back out.
46:07And, of course, we have an Esri application, and this will be soon made available in the marketplace.
46:14We believe we're going to submit it to the marketplace around November, before Thanksgiving...
46:19...and then it takes a certain number of days to get out the final, so...
46:24Anyway, what I have here, since I've already started this application once, it remembers where I left off...
46:29...I loaded up the community basemaps, and the community basemaps are simply there.
46:34I have a number of options available to me, some on the app bar, some in the context menu itself...
46:39...including settings, from which I can define my ArcGIS.com login information. Go back.
46:49I can also find maps within ArcGIS Online, at which point right here, it'll start me up again...
46:56...because it remembered where I was in featured content, and as soon as the Internet comes back...
47:01...it will show me some of the featured content there and of course, I can switch out to other things...
47:08...for instance, the most popular, and it will go back out and reload information that was based on most popular items.
47:16I can search, or I can just go right back to my map and I can start working on my map.
47:21There's a number of other features in here but again, because of our timeline, I may have to hold.
47:26During our social, I can actually take the time and show you the Windows Phone in its entirety.
47:33Great. Thanks, Art.
47:38All right, guys.
47:39So, in order to wrap up, we saw earlier that Esri is the leader in GIS and so they're driving on many frontiers...
47:46...in different platforms, Silverlight/WPF and Windows Phone and SharePoint are just a couple of those.
47:52We provide here is a different way to visualize your data, depending upon which platform you decide to...
47:56...build against or which application you decide to build with.
48:00We saw all that demonstrated here.
48:02All of this is available for download.
48:04If you go to our resource center right now, you can get every one...
1:10:56How does that actually apply?
Silverlight/WPF, Smartphones, and Sharepoint
- Recorded: Nov 4th, 2010
- Runtime: 48:10
- Views: 90322
- Published: Jan 25th, 2011
- Night Mode (Off)Automatically dim the web site while the video is playing. A few seconds after you start watching the video and stop moving your mouse, your screen will dim. You can auto save this option if you login.
- HTML5 Video (Off) Play videos using HTML5 Video instead of flash. A modern web browser is required to view videos using HTML5.