Transcript

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:45Okay?

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:39Okay.

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:25All right.

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:14It's alive.

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:03We have HTML and JavaScript.

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:00Run this.

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:39Okay, great.

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:32Rex?

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?

Copyright 2013 Esri
Auto Scroll (on)Enable or disable the automatic scrolling of the transcript text when the video is playing. You can save this option if you login

Silverlight/WPF, Smartphones, and Sharepoint

Silverlight dev leads Art Haddad and Rex Hanson discuss the ArcGIS API for Silverlight/WPF and show it being used on the Web and for mobile apps. They also discuss ArcGIS for 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.
Download VideoDownload this video to your computer.
<Embed>Customize the colors and use the HTML code to include this video on your own website
480x270
720x405
960x540
Custom
Width:
Height:
Start From:
Player Color:

Right-click on these links to download and save this video.

Comments 

Be the first to post a comment
To post a comment, you'll need to login.
If you don't have an Esri Global Login ID, please register here.