00:01 Thanks for coming.
00:03 I'm Jeremy Bartley and I'm pleased to be joined with Kelly Hutchins here.
00:11 My background's in geography, and that's your background, too, right Kelly?
00:16 Yep. We're both geographers but we kind of found our way into the exciting world of computer mapping.
00:23 And, it is a great time to be integrating maps for building applications that have maps or a map driven or a map focused...
00:33 ...for your end users.
00:34 It's much better than it was, I don't know, 5 or 10 years ago...
00:38 ...when a lot of the mapping applications you would see were really hard to use...
00:42 ...and only a geographer who was versed in whatever technology could actually run the maps or the apps.
00:50 Now it's totally different, and that's why it's exciting and it helps reach the consumer world, not just the professional world.
00:58 So I'm going to...I have no slides.
01:01 I have a bunch and bunch of demos that I'm going to drill through and show you kind of what you can do.
01:07 Won't drill into too much code, but everything that...just about everything that I show you is already online...
01:12 ...and you can always refer back to it.
01:26 Next release in December will be 2.2 which will be our templates.
01:30 We're really excited about that.
01:33 But everything is online.
01:34 Everything that you need is online.
01:36 We host the library online on a content delivery network so you get a fast download of our library.
01:43 And the SDK is also online.
01:47 You know, you can drill through each one of these sections...look at...
01:48 ...there's a whole bunch of conceptual documentation that help you get started using our API.
01:55 Also, a large set of samples...oops...large set of samples.
02:04 I mean, we must have over 125 different samples that you can try online.
02:08 We had so many samples and we had to introduce a search mechanism so you could drill through them.
02:13 We have a really rich API reference.
02:16 Lots of content is available from this API reference.
02:20 There's really great documentation, so if you're looking, if you're just getting started and want to know how something works...
02:26 ...I mean, just look at the documentation that's available for just one of these classes.
02:31 It's really outstanding.
02:32 Kelly does a great job.
02:42 ...or Textpad or Notepad++, but that's a little bit more difficult than to use a nice IDE where you get code complete, and so on.
02:54 It's freeware that you can download and just use.
02:59 And we have our whole API references available as a code assist plug-in.
03:03 So when you're doing your code assist, you'll get the actual doc as it is online...
03:08 ...you know, for each class that you create or each method that you want to call.
03:15 And then just something at the end.
03:17 We have a whole bunch of our users who have uploaded their applications and shared them on ArcGIS.com.
03:30 You know, there's hundreds of these applications that people have built.
03:33 You can use them to kind of get ideas for what people do.
03:36 Like, this example is from The Omega Group, and 0892, go to my house hopefully.
03:56 There we go.
03:58 And see all of the crime that's happened over a particular time period.
04:03 This kind of the crime mapping is very popular and now there's open crime maps and so forth.
04:09 And you can do quite a bit with, you know, this is to get the people who are worried about what's going on...
04:14 ...around your neighborhood, what crimes are being committed.
04:16 You have access to all that information from this nice simple-to-use user interface.
04:23 This is an example of a consumer application.
04:26 I think if you were to see this app maybe 10 years ago, it would have looked nothing like this.
04:31 It would have been all jargon about various layers and turning things on and off...
04:34 ...and nobody but the person who builds it or the GIS professional who builds it would know how to use it.
04:40 So we've come a long way.
04:44 So if we drill into some of these samples and to show you how you really want to get started...
04:48 ...but we'll just take a look at the kind of hello world example.
04:52 And if we launch this, this example here.
04:54 This is just a very simple example about creating an application that has just a few components.
04:59 It's got a scale bar component and has a nice basemap layer.
05:02 This is that same community map that Dave was talking about in his session.
05:06 You see the nice trees for the City of San Francisco.
05:09 This is a great multiscale basemap that covers the whole world...
05:12 ...and there's organizations throughout the world who've submitted their data and is part of this kind of tapestry, this thematic map.
05:23 Oh, excuse me. I wanted to look at the code there just briefly.
05:33 Won't do too much looking at the source code, but just kind of give you a feel for how easy it is to build some of these applications.
05:42 It's hosted 24/7.
05:45 And then I've got a few components here about my map.
05:47 I've got a scale bar.
05:48 Got some layout components to kind of give me that nice easy to work with look and feel that works across all browsers.
05:57 I have a custom start extent.
05:59 I'm going to create my map control, pass it in a div and pass it in this custom start extent.
06:05 And then I'm going to add a layer to this map.
06:07 And then I have one of these layers like this case, ArcGIS tiled map service layer, and it just takes a URL.
06:12 In this case, it's a URL to an ArcGIS Server service.
06:15 And that's basically it.
06:16 I add that layer and I'm all done.
06:22 Now there's other types of layers that we can add to this...add to these maps.
06:28 We can look at maybe some dynamic maps.
06:31 Dynamic maps are maps that aren't precached, but they draw dynamically every time the user pans around the screen.
06:38 A new map is requested and the image gets sent back to the client and then it's displayed.
06:43 There's also a different type of map, a layer, excuse me.
06:48 In this case, it's a feature layer.
06:51 And a feature layer is something new that we've added as a new layer type within our latest release.
06:57 And actually we're not bringing the image.
06:59 We're not asking the server to draw the map.
07:01 We're saying, hey, server, give me all of the features in this extent.
07:05 And as I pan around the map, it's going to requery the features and then get them and draw them on the client side.
07:10 How do I know that it's getting the features and it's not the map because when I have the feature, I have the attributes that go with it.
07:16 I can touch the feature and get that information.
07:22 [Audience question] So is that an automatic pop-up or is that...?
07:25 Yeah, automatic pop-up.
07:27 You can just set what you want to be in the title and description and it'll just show up.
07:31 Binds, it binds to that layer.
07:38 So you can take these individual layers and you can look at them kind of one off...
07:42 ...like I showed you that each one of these is basically one layer.
07:44 Or you can take the layers and combine them together kind of in a mashup.
07:50 Take that basemap, that community map that we looked at.
07:53 We could take that dynamic map service and we could take another basemap on top of it and drop it in.
07:59 And you get kind of a very beautiful map actually.
08:02 This is that community basemap that we saw first.
08:05 On top of it is the population map that I showed that was dynamic.
08:08 And then on top of that we loaded some boundaries and labels.
08:13 And if we were to look at the source of this application, each one of these is its own layer.
08:20 So I've got this tiled basemap, this tiled map service layer here, got this dynamic map service layer with a set of a custom opacity....
08:29 ...and finally I've got another tiled map service layer that gives you that reference and created this multilayer map or mashup.
08:35 Now that's one way to put all these things together and create a seamless map that combines multiple layers.
08:45 But another way that I wanted to show you is there's many more maps that are available to you.
08:51 So a new site that we launched this year, ArcGIS.com, makes it really easy to author these kind of maps and share them out with people.
09:00 So I can look for thousands of maps that people have created.
09:03 I'm going to look for California fire.
09:08 I see several maps that people have created.
09:11 This one here, the Southern California Fire History is the one I'm most interested in.
09:15 Now if I look at that map, I mean, that's just a map to me.
09:20 But this map can easily be brought into my application environment.
09:28 If we were to look at the kind of the details, I see multiple layers that have been added to this map.
09:33 But that's just kind of the detailed information that's not really necessary.
09:37 But this map, we can take this map and share it out.
09:42 I have different ways to share it.
09:44 I can share a link to the map.
09:45 I can embed the map, copy and paste this into my blog or onto my website, and I'll have that map accessible to me.
09:53 Or, I can build an application from this map.
09:56 So we have like 20 or so kind of template applications that work with these maps that you author on ArcGIS.com.
10:03 So if we were to preview what does this look like in this kind of layout.
10:07 I get the legend for the map.
10:09 That's the important part that I want to show in this application.
10:13 The map is easily usable and all that it's taking is this ID.
10:21 So I could have built the app...I could have built this app by writing all that code to specify each layer which points to each service.
10:27 That's the custom extent.
10:28 Or I can just take that map ID and pass it into the application.
10:34 Just to show you briefly what that code might look like.
10:44 This looks a little more complicated than it really needs to be because it's taking that code from the URL.
10:49 But basically it takes this code and then we call this function.
10:56 Get Item, gets the web map, gives me that information about the map, and then I can create that...
11:01 ...pass that to my map control and boom, there I have an application.
11:16 Let's see, where was I going next? Okay.
11:18 So that's kind of about the maps and the layers that you can create.
11:21 So there's many ways you can do it.
11:22 I can write out each layer and add them to the map, you know, within the application...
11:27 ...or I can author a map that combines multiple map service layers together and I can load that in my application.
11:33 I could take one of these application templates that I showed you.
11:36 There's about 20 or so.
11:37 Some of them have more functionality than others, but they're meant to be easily downloadable, configurable...
11:42 ...and you just drop your own map into it.
11:46 But the other thing I wanted to talk about was some of the more kind of spatial analysis or different ways to look at data.
11:53 So at 10, we've made a big push to create...to make maps that aren't just spatially aware but also temporally aware.
12:04 So we have the notion of it.
12:06 A map service can be time aware so that the map can control that basically what's drawn.
12:16 You know, let's you bring up things with like new kind of sliders so I can zip through a year's worth of hurricanes.
12:24 In this case, these features are actually installed on the client so I can touch one of these hurricane tracts, get some information about it.
12:33 But it's a really interesting way to visualize data that might span across multiple years or decades or so on.
12:44 Another way to look at things through time is to render things temporally.
12:49 So in this example, we looking at recent earthquakes and it's just going to automatically start up.
12:56 It takes earthquakes from the last seven days, and we're just going hour by hour...
13:02 ...seeing what earthquakes are happening with respect to the current time period.
13:06 So that thing at the top is the time slider moving hour by hour...
13:09 ...and the color of the squares indicates how recent it is relative to where the current time is.
13:16 So the red ones are less than an hour, and the blue ones are one to 24 hours, and the yellow ones are greater than a day.
13:23 And then the size of the squares indicates it magnitude—how big was the earthquake.
13:29 This is a pretty simple application that you can build...
13:32 ...just to give you an idea of how you can put another spin on top of this kind of data.
13:43 We can also look at some kind of a spatial analysis.
13:48 So another thing, and I've shown you this service here, this population service.
13:56 I showed you that when I showed you that dynamic service.
13:58 That represents population.
14:00 Each pixel represents a certain number of people.
14:04 And we can build...we can expose that data through different means.
14:09 In this case, I can build a geoprocessing task that takes input like that input polygon, for instance...
14:17 ...and we'll summarize all of the cell blocks within that polygon.
14:22 So I can get it, say, in this case I'm just summing it up.
14:25 So it's about 10 million people who live in this user-defined polygon.
14:31 Another way to bring spatial analysis to your application is to do things about what's around me or what's near me.
14:40 So in this application, I want to find the closest health care facility.
14:43 I'm going to drop down to...maybe I want to find the three closest health care facilities.
14:47 I can touch the map, and it's going to generate me routes to the three closest one and then order them by the time.
14:57 And so forth.
14:59 Now maybe I want to make that four closest facilities.
15:06 Maybe I don't want to include the clinics.
15:08 You can get the idea.
15:09 Taking that data in real time, remapping it, and generating the new closest facility routes...
15:14 ...and then showing me how to get to those locations.
15:26 Another new component to ArcGIS Server 10 is editing.
15:32 And editing is a way for you to elicit input from your end users.
15:38 You can build many types of editing applications.
15:40 You can build editing applications that are very specific and very workflow-centric.
15:45 Or you can build sort of kind of generic applications that let people sketch up on the map and...
15:50 ...contribute information that you want to collect.
15:54 We're looking at kind of a workflow-specific one.
15:58 In this example, we're looking at...we're looking at the basemap and these are oil and gas field boundaries.
16:05 So I can touch one of these field boundaries, gets me information about that field, selected, I see the size and so forth.
16:12 But this pop-up window that I have is not a static pop-up window.
16:15 It's taking user input.
16:17 So maybe I would want to change the status, not to oil, but it's actually gas.
16:22 Or, since I changed this to gas I'd better give it a number, you know...
16:27 ...do things like just out of the box give you the ability to check data before it goes in.
16:33 So, hey, it's supposed to be a number, I'll go ahead and enter that, and so forth.
16:40 Actually, all that did was update that attribute in that...on that layer for that feature.
16:46 By updating that, we can redraw the map and get a different view.
16:51 We can also create features.
17:00 So in this case here, we move over here.
17:03 This is an example of an editable fire map where you might have points of interest like fire department, campground.
17:10 I might have evacuation perimeters or actual fires.
17:14 Just by clicking on that map, excuse me, on that predefined template, I can let the user draw on the map.
17:24 It's going to actually create that feature.
17:28 I can name it and have a full rich text experience.
17:38 You can elicit whatever you...whatever's appropriate.
17:43 You can elicit that from the user, whatever's appropriate, whatever information you're trying to collect.
17:48 You can also edit information.
17:49 So I can touch one of these.
17:51 Maybe I want to scale it, rotate it.
17:54 Actually, no, I want to do vertex style editing where I touch each vertex and move it around.
18:01 That's all easily accessible to you to be able to build these kind of applications and share them out with your users.
18:08 If we were to look at the source of this, there's very little...very little code.
18:13 So we've added the layers.
18:15 So all I've got here is I've added three editable layers, feature layers, and I've added a basemap.
18:22 And then I've initialized my editor.
18:25 Get that information, create the...pass them to our widgets and start the widget up and then I have that editing experience.
18:32 Now, so that's kind of like the functional look of some of the things you can do.
18:36 And actually there's a lot more types of editing that you can do.
18:41 You can do editing when the user doesn't even know they're doing editing.
18:44 You can make it real, real simple.
18:47 It's really easy to create focused kind of editing experiences.
19:08 It has a lot of activity.
19:10 You can definitely use J-query and work with our map.
19:13 So in this example of using J-query, we see a...we've swapped out some of the controls that might come with our API...
19:21 ...which is using Dojo and we dropped in some J-query specific controls and widgets and sliders and so forth.
19:33 There's also other frameworks like EXTJS.
19:45 Different slider, different control.
19:58 ...because of the fragmentation of the browsers.
20:00 The browsers are getting better, but the frameworks actually abstract away that complexity.
20:05 So it's much easier now to build these kind of apps.
20:15 So, which brings me to where we are today.
20:17 'Cause actually today is very exciting.
20:19 I've shown you all browser-based applications that you can run, you know, in Chrome, Safari, Firefox, Internet Explorer.
20:27 The desktop browsers are getting better and better.
20:30 Internet Explorer 9 is going to be light years of where Internet Explorer 8 was, and so on.
20:43 HTML 5 is kind of a big bucket of functionality that vendors like Apple, Google, and Microsoft are pushing...
20:53 ...and it's not just for the desktop browser anymore.
20:55 A lot of it's being driven by the mobile clients.
20:58 And so what I wanted to show you is a plethora of devices that target multiple applications.
21:13 If I can get the things to flip up here... This is the new BlackBerry...BlackBerry Torch.
21:21 A little out of focus but, looks better on here.
21:25 But the new BlackBerry Torch is also touch aware.
21:28 It's built with a web kit-based browser so I can just touch and move the map around.
21:32 It's going to regenerate that map request and then draw it on the screen.
21:38 Let's swap that one out with something like the Droid.
21:49 Same kind of idea.
21:50 I can touch it.
21:51 I can access the HTML device, I've lost my connection here on my Droid.
22:02 I'm not used to all these devices.
22:04 I'm not used to all these devices.
22:05 I felt like a weird, a weirdo carrying all these things on the plane and passing them through security.
22:11 I got a lot of odd looks.
22:13 [Audience question] Can I ask you a question?
22:15 [Audience question] __________ are in HTML 5?
22:16 Yeah, all HTML 5.
22:17 [Inaudible audience question]
22:21 Web kit enabled? HTML 5. And open this up here.
22:30 Yeah, that's actually the beauty of this.
22:32 These kind of sort of look like native applications, but if I pull this down, you see it's just got the HTML bar at the top.
22:40 And I can zoom in, you know.
22:43 Some of them support different functionalities.
22:45 So like the iOS has a much richer kind of in the browser, you know, the pinch, pinch zoom kind of functionality.
22:56 Some of the other mobile clients are taking longer to come up to speed.
23:06 Swap that one out.
23:11 And we'll look at something like this.
23:13 Let me zoom out a second.
23:21 Now we look at the iPad.
23:24 The iPad also I can just click and move my finger around, rerequest the map.
23:29 I can zoom in.
23:30 This is just an HTML application.
23:33 There's no code different from the code that I showed you on the other applications.
23:37 You can do things like draw on the screen.
23:43 You can imagine I could actually then take that and push it into a server...
23:48 ...with our new ArcGIS Server which supports feature-based editing.
23:52 All these devices are open to you to be able to reach your customers or reach the people who you're building applications for...
24:02 ...your end audience.
24:04 And that's kind of the exciting part about where the browser-based development is today...
24:09 ...is that without being an expert in the iOS or an expert in Java development or expert in WinPhone 7 Silverlight development...
24:25 And you can build extremely rich and functional applications, too.
24:29 Applications that leverage more HTML 5 functionality like local storage, SQL storage...
24:43 ...working with data offline via the application cache.
24:46 There's quite a bit of things you can do.
24:49 Now they're not the same apps that you would build on the desktop.
24:53 What we're...what at least what I'm starting to see is that a lot of the people are going to build applications that target the iPad...
25:00 ...and that basically would work the same on the desktop device.
25:04 The difference between the iPad or the Tablet and the desktop devices, it's less precise.
25:10 You know, you're not...you don't have a precise mouse on the iPad, it's your fat finger.
25:16 And also you're not going to do things like listen for events like hover or move over because, no, you're touching the screen...
25:24 ...you're moving the map.
25:25 You're not hovering over it.
25:27 So you'll start to see more applications where it's developed first for the iPad, but then it works just perfectly fine on the desktop.
25:35 Now the mobile devices have a different...when the smartphones...it's a different...it's a different animal, really.
25:43 What's interesting about the smartphones is that they're not...what's interesting about the smartphones...
25:57 ...is that they're not about the same thing that you might get on the iPad or the same thing you might get on the desktop.
26:05 It's in most cases focused around where you are.
26:08 The location and the GPS location of the device is extremely important to build these kind of focused apps.
26:14 Especially in the mapping field.
26:16 Now if you're reading a newspaper, it might not be quite as important...
26:19 ...but if you're building a mapping application, location is the most important thing.
26:24 And so you want to build applications that kind of take that location into account.
26:30 So this is an example of an application actually Kelly built using the Dojo X mobile framework...
26:36 ...which kind of makes it really easy to build these kind of applications.
26:40 See it's just a browser app, but it looks like a desktop, excuse me, a native iPhone application.
26:46 And if you're to run this on the Droid, it would look like a native Droid application, all just through CSS.
26:52 But I can do things about, eh, what coffee shops are nearby, give me a list of those coffee shops, you know...
26:58 ...move this thing up and down, and you want to route to it, takes that location...
27:03 ...routes me to that closest to that coffee shop that I picked out, an easy way to get directions.
27:09 A kind of nice fade in and fade out.
27:13 It's very exciting time to build these kinds of applications without having to invest a lot of effort in learning the native API.
27:24 Or working through the app store.
27:26 Now if your goal is to make money, make lots of money, then the app store is still very attractive...
27:33 ...because you get a very focused audience.
27:35 But if your goal is to just get information out, if that's your mission is to get information out in the best possible way...
27:42 ...then building these HTML applications is really the way to go to touch all of these devices.
27:49 So let me point you at to a whole bunch of these samples that are targeting kind of the mobile devices.
27:58 And this is also really cool on this location with temporal renderer.
28:02 Maybe after we can walk around at _________, but basically it's going to use some of our client-side technology...
28:09 ...to map where you were and how long it's been 'til you've been to that location.
28:15 And but using the GPS device so as you're walking along.
28:21 So kind of give you kind of a review of what everything that we have in the API and then kind of like a summary.
28:30 Now I want to turn it over to Kelly to kind of show you, this is just kind of samples that you've seen.
28:35 But let's take some real data and do something cool with it.
28:39 As Jeremy mentioned, we've looked at a lot of applications that use basemap data that comes from ArcGIS Online...
28:45 ...or some of the demographic data.
28:47 But now let's look at an example that uses some real-world data.
28:50 So there's a local website called DataSF that has data for the data for the San Francisco Bay area.
28:57 One of the datasets that we'll look at is trees.
29:02 So we'll search for trees, and there's a dataset here that's a street tree list.
29:06 So it's a list of all the street trees in the city of San Francisco.
29:10 So there's 60,000-some features in this dataset.
29:15 So this isn't really the kind of data that you want to take and just drop on top of Google.
29:19 That's a lot of data to draw on the client, and you probably wouldn't get the best performance.
29:25 This data is in CSV format, so it was really easy to take that data, load it into our database.
29:32 We set a couple of properties, and we'll look at those.
29:34 We did things like define symbology so we get some nice symbols for our data when we're looking at it in our mapping application.
29:42 We can enable time on the data so you can build applications that are time aware like the ones Jeremy showed you...
29:48 ...where you can move through the data over time.
29:51 You can enable editing.
29:52 You can allow people to upload attachments.
29:54 You can do all this stuff on your data that's loaded into the database, publish it as a service, and then consume it from our applications.
30:02 So we did this with the street tree data.
30:07 And we published this as a service, and we'll look at it in ArcGIS services directory.
30:13 So this dataset, if we scroll down a little bit, you can see that there's a layer in here, and we have some symbology defined.
30:24 So in this case there's some information associated with this data that describes the types of trees you have.
30:32 In this case, we've separated them into two categories, landscaping trees, so like shrubs maybe get one symbol...
30:39 ...and all the other trees get another symbol.
30:41 So you can symbolize by attribute information.
30:45 So here, as Jeremy mentioned, is that data drawn just as a big blob.
30:48 Not very useful.
30:49 You know, it's going to take a little while to draw, even, you know, from the server.
30:53 So let's look at a more realistic application, a very simple...a simple application.
31:00 So here we are zoomed in to more of a street level view.
31:03 We can see our trees here.
31:05 It's more realistic.
31:06 We can pick out the individual trees.
31:09 We can click on the tree, and we can get a pop-up window that pops up with attribute information directly from that service.
31:19 Let's look really quickly at the code for this.
31:22 We also have, you know, a little link we've added to this pop-up window.
31:25 It finds the Wikipedia entry for that particular genus and species and pops it up in a separate window.
31:34 So let's look at this and see that really we don't have to write much code at all.
31:38 So Jeremy showed you some of this stuff earlier where we defined extent...
31:41 ...and this is where we're saying we want to zoom into a particular area.
31:45 We're adding a basemap layer, that really nice topo map.
31:50 We define our templates.
31:51 So this is defining what that pop-up window is going to look like.
31:54 We're pulling attributes from, thank you, Jeremy.
31:58 We're pulling attributes from that service.
32:02 And then here's really all we're doing.
32:04 We're creating a new feature layer.
32:07 We're giving it the URL to that service on the services directory.
32:13 And we're adding that to the map.
32:15 That gives us those pop-up windows with all that attribute information displayed.
32:20 That gives us nicely rendered data, so we have symbology, our nice tree symbol shows up.
32:27 And we get that pop-up capability with just a few lines of code.
32:31 So it's definitely one of the benefits.
32:32 It would be quite a bit more work if we were, you know...
32:35 ...parsing that data and adding it to the map and applying symbology and working with attributes, right.
32:39 Simplifies the process.
32:46 Now we're going to look at another application on Firefox, I guess.
32:52 This one is another view of that same San Francisco trees dataset.
32:57 We enabled it for time so the data available on the San Francisco data site has time associated with it...
33:04 ...the date and time these trees were planted.
33:08 So we can have a drop-down list.
33:10 In this case, we're filtering this data by a particular type of tree.
33:15 So let's say we want to look at all the gingko trees in San Francisco.
33:19 We can choose that.
33:22 We have our time slider, and we can step through and watch as new trees get planted over time.
33:29 So we're stepping through this data over time...
33:32 ...and sort of filtering this large dataset of 60,000 records to view a more realistic subset.
33:43 Finally, I want to show you, if I can find the right phone in this multitude of devices.
33:58 Okay, so we have this same data and going to look at it on the iPhone.
34:09 So this application looks really familiar.
34:11 It's sort of a modification of the find nearby restaurants and coffee shops application that Jeremy showed you earlier.
34:18 But we wanted to show you that you can use your own data with this...
34:22 ...and build mobile applications that take advantage of all these things that Jeremy's shown you throughout this presentation...
34:27 ...analysis and mapping and graphics.
34:30 So in this case we can specify a tree type.
34:35 It brings us back a list of the trees nearby, so it queries and finds which trees are near your current location...
34:43 ...and routes you to that particular tree.
34:48 So this is that same sort of experience we just looked at, but here we're looking at it with this tree data.
34:55 Now in this case, we're not using the geolocation API only because we're not actually in the city of San Francisco.
35:01 So if we tried to find trees nearby us, they'd, you know, be pretty far away.
35:05 So we hard coded a position in here, but it would be very easy, just a line or two of code...
35:11 ...to switch that over to use the geolocation API.
35:14 Or allow users to enter an input address or select an address from a predefined list of addresses.
35:23 This kind of shows why you'd want to put it in the server.
35:25 So you can do these kind of queries, leverage the power of the database, filter it down, you know...
35:31 ...pull slices of data out by time or by tree type and then it makes it accessible for these kind of applications.
35:38 You can leverage some of the other analysis capabilities I showed you like the find closest facility, the routing.
35:44 You could think of other types of questions you'd want to ask like what's around me, what's near me...
35:49 ...get me to the nearest six places in the most efficient way possible.
35:54 These kinds of applications you would build with these mobile devices where the input is basically the location of the person...
36:00 ...and then whatever they're interested in.
36:02 So that was kind of a quick, a quick look of what we have in our API.
36:09 Just some, tried to show some examples of what you can do.
36:25 Links.esri.com. I'm going to try that here.
36:28 [Audience question] I think those links are on that flash drive you passed out.
36:30 Okay, cool.
36:31 Oh, great. Okay.
36:32 And, it'll take you right to this home page.
36:47 Then, actually, there was a question earlier.
36:48 I'm going to make sure I showed it before.
36:50 If you wanted to download this API, in the Frequently Asked Questions, we have links to the library.
36:58 So you can download it and host it on your own server, download the SDK and host it offline.
37:03 The best thing to do is to just work with the one that we host because it's a 24/7 CDN-hosted.
37:08 It's the safest thing to do.
37:09 But for intranet applications or if you just want to have control, you can download and deploy on your own website.
© Esri 2013 http://www.esri.com