Transcript
00:01This is the session on ArcGIS Runtime, Intro to ArcGIS Runtime 1.0. I saw a couple people just left.
00:07They probably saw the screen, thought, Hey, I thought it was Runtime 10.1. This is like, you know, 1.
00:14We've actually changed the way that the versioning's going to be numbered for ArcGIS Runtime. It is indeed, last I heard…
00:22…going to be ArcGIS Runtime 1.0 for the initial release, although the plan is to release it together with 10.1.
00:30We'll talk more about that later.
00:33My name is Gary Sheppard. I work for Esri in our Washington, DC, regional office, which is neither in DC…
00:42…nor is it a regional office; it's actually a federal office.
00:47We work with all parts of the federal government all over the country.
00:52I work in what we call our DC Technology Center, the DTC…
00:57…where we work with customers to help them understand how to better use the software.
01:04We build and present demonstrations and other presentations and otherwise, you know…
01:10…help our account managers to help their customers better understand how to use the software.
01:16So when our account managers have run out of big words, and they actually have to show something, that's where my group comes in.
01:23There's about 30 of us in our Tysons Corner, Virginia, office.
01:27And it sure is a pleasure to work for such a great company and with such great software like the new ArcGIS Runtime.
01:35Applause… No, I should've put up my--I don't have my applause banner on this computer, unfortunately, so we'll just proceed.
01:45Let's get started by…actually, let's get started by saying preliminaries.
01:51In case of emergency, exit, and also there's session evaluation forms on your chairs, on some of the chairs.
02:00They only gave me enough for about two out of every eight chairs.
02:05You'll notice there are more forms toward the back, because most people tend to sit in the back…
02:10…although you all are spatially inclined and distributed yourselves very nicely.
02:15There are also more forms on the right side because when people choose between left and right, they typically choose right.
02:23And, again, I was wrong. So anyway, find a form if you'd like to fill out an evaluation.
02:29I'm sure the company would appreciate your feedback. To be quite honest, I'll never see it, but hey.
02:37And if you do fill out a form, there are cardboard boxes outside in the hall for you to deposit the forms.
02:42I'm not talking about the ones that say "Paper," "Cans."
02:47There's specific boxes for the session evaluation forms, which you've been told already, so I'm wasting your time. I'm sorry.
02:56When building custom applications, you know, as…
03:00How many of us here are software developers? Raise your hand if you're a software developer.
03:03Wow. Okay, most of us. Great, good.
03:07When we build software, we're supposed to think about what our users want. That should be our primary focus.
03:13And what do our users want in software? Well, we could talk about all kinds of [unintelligible]...
03:17…and they want to create annotations and edit geodatabase feature classes and blah, blah, blah.
03:23But just in general. Think about yourself, the software you use. What do you want it to do?
03:29You want it to be simple. You don't want to have to take a lot of training to have to use software.
03:33You don't want to have to read a lot of help; I mean, some help is good, but software should be simple and intuitive.
03:41It should be quick. We shouldn't make our users wait for the software to run.
03:45And software should be beautiful. Think about the applications you like to use, you know.
03:50Nice web browsers, iTunes, things that are visually pleasing, users have this perception that they work better.
04:00These are things that users of software want.
04:04Developers want these things too. I mean, I want to build apps that look nice.
04:08I want to use developer tools that are simple to use as well.
04:14Now, with ArcGIS Runtime, the goal is, what if we can move away from…
04:21You know, traditionally GIS is very robust; it can do a lot of things, and that can lead to some drawbacks.
04:27It can be complicated to build stuff.
04:30Our applications can be slow, and eventually, our users can get disenchanted.
04:36ArcGIS Runtime can help you move away from slow, confusing applications and slow, confusing development as well…
04:46…into development that's easier and applications that are easier.
04:51A development process that's more nimble, allowing you to swap out different sections of your application...
04:57…different sections of your code, make things more plug and play.
05:01And really more exciting. I know that sounds kind of silly to you maybe, but honestly…
05:09…in a lot of ways, I'm a user of the software just like you.
05:11I know I work for the company, but I don't build the software that we actually sell.
05:15So in a lot of ways, I'm like you. I'm a developer/user of the software.
05:19And I have found, you know, these prerelease, beta, and daily builds of ArcGIS Runtime to be more interesting…
05:27…more exciting to use than offerings that we've had before for developers.
05:33So I think these are all good motivations for us to get to know ArcGIS Runtime and start using it.
05:41And that's what this session is about.
05:42You're not going to become an expert in ArcGIS Runtime, but what I'm hoping to do is give you the knowledge you need…
05:48…the tools you need to get started, so that you know where to go to get help if you want to use Runtime.
05:55These are the topics I want to discuss.
05:57We'll introduce ArcGIS Runtime, we'll talk about why it's simpler for development than some of the alternatives.
06:05We'll talk about the secret sauce; we'll talk about why is Runtime so good, how does it perform so well.
06:13We'll talk about some of the things Runtime can do, and then the last thing is I'm going to give you a mini list of…
06:20…here's some websites you can go to, to get started, here's what you really need if you want to get started with Runtime.
06:28Okay, first of all, what is ArcGIS Runtime?
06:33Well, ArcGIS Runtime at its heart is a set of binaries, libraries that can do the most common GIS functions…
06:43…as well as a runtime component that can do more advanced functionality like geoprocessing.
06:50Basically, a bunch of binaries, but more than that, ArcGIS Runtime includes tools to help you build applications with those binaries.
06:58So there's not an out-of-the-box ArcGIS Runtime application, although we are publishing some of those via our resource center.
07:06But the core product is a set of binaries and tools to help you build applications.
07:10Has anyone here used ArcGIS Engine? A few. How about MapObjects? A few again.
07:18Wow. I think more MapObjects than Engine. Huh. That's telling.
07:23In a lot of ways, I'd say Runtime is more like MapObjects than Engine, except it's new…
07:28…it works with the ArcGIS system; it's part of the ArcGIS system, whereas MapObjects was very different from the rest of ArcGIS.
07:37Even though it was simple, it was fast, but in terms of what kinds of data it could read and what kinds of geoprocessing…
07:45…and things it could do, it was very different from the rest of ArcGIS.
07:49Runtime is simple to use, kind of like MapObjects, but it can do a lot that's in the ArcGIS system, kind of like ArcGIS Engine.
07:56And we'll learn about all that over the next hour and three minutes. Here we go.
08:03Now, using these tools and these binaries, you can build all kinds of applications…
08:07…including desktop and laptop apps and mobile apps.
08:13Let's look at the platforms that are available and the APIs that we have.
08:17If you want to write Runtime applications for Desktop, you have three choices.
08:22You can build apps using Java, Qt--or in other words, Q-T. They say it--Nokia says it "cute." It's a C++ framework.
08:31And that window thing at the bottom is apparently the WPF logo. That's what I found on the Internet anyway.
08:39I'm not really a Microsoft programmer anyway, but WPF, which actually, believe it or not, is my favorite, even not being a…
08:47I'm a Java guy; I'm a Linux guy, and I really like WPF.
08:53Hi, I'm Gary, and I'm addicted to WPF. Alright. Java, Qt, WPF.
09:00If you're writing handheld applications, we have three platforms for that as well for ArcGIS Runtime…
09:06…Android, iOS, and Windows Phone.
09:09And for those of you who have used our mobile APIs before, now you're really confused.
09:12"Hey, wait a minute. You've got, you know, the ArcGIS API for iOS, and now you've got ArcGIS Runtime for iOS. What the devil?"
09:22The answer to that is, we've just kind of renamed the mobile APIs.
09:27I don't know if that has taken effect on our website yet, but ArcGIS Runtime for iOS means the ArcGIS API for iOS.
09:37We've done that to indicate that all of these runtime APIs are intended to be similar in functionality and in structure and style…
09:47…very similarly named classes, methods, and interfaces so that, if I'm a Java developer and I learn the runtime API for Java…
09:56…back and forth, and suddenly I need to write an iPhone app, I'm not completely in the dark.
10:02Okay, I may not know how to actually write an iOS app, but once I do…
10:07…the ArcGIS part of it is simple 'cause I already know Runtime, even if it's in a different language.
10:13Does that make sense? Okay.
10:16So, yeah, on the handheld, Android, iOS, Windows Phone.
10:21We also have it for Windows Mobile, you know, somewhat older technology.
10:24I would say new development is probably going to be for Windows Phone.
10:29Does anyone have a Windows Phone, by the way? I thought not.
10:35Alright. The most popular programming languages out there. This is from a group called the TIOBE group…
10:44…and these are according to their sort of automated calculation via web searches and what content is out there on the web…
10:55…these are the five most popular programming languages this month.
10:59I actually had a slide like this--it was from December--and since then, C# has overtaken C++.
11:05So it used to be C++ in number 3, C# in number 4, and they have swapped.
11:11Now I know there's one angry VB developer in here, and there's one angry Perl--and I know there's a Python developer…
11:19Hi, Rick, Rich. How you doin'?
11:21…who are thinking, How dare you not put my language on your list, Gary Sheppard? I'm so upset with you.
11:28Not my list. But these supposedly are the most popular programming languages.
11:34How many of these are we supporting with ArcGIS Runtime? All except plain C; sorry.
11:42C is a great language for, I don't know, compilers, very low-level code.
11:47ArcGIS Runtime is really about applications. It's not about building system code.
11:53It's not about building services either.
11:56We have a product for that; it's called ArcGIS Server.
12:00ArcGIS Runtime is really about building end-user applications…
12:05…and for the most popular languages being used right now for end-user apps, we're supporting all of them.
12:12By the way, in case you didn't know, Objective-C is the language that you use…
12:15…to build iOS applications for the iPhone, the iPad, the iPod touch.
12:23Alright. Let's talk about how Runtime makes your life simpler in terms of development.
12:31Just as a little brain teaser here, I know some of you said you've used ArcGIS Engine before.
12:38Maybe some of you have used ArcObjects in Engine or Desktop or Server.
12:45Thinking about…this may not be an exact measure of how complicated or simple an API is, but…
12:54…how many classes and interfaces do you think there are in ArcObjects?
12:59And I just, it was easy to get a list of the classes and interfaces in the ArcObjects 10 Java API. Any guesses?
13:07[Audience comment] Too many. [Inaudible] 2,000.
13:10Two thousand? Any other guesses?
13:12[Simultaneous audience comments] Five thousand. Twenty thousand.
13:13Twenty thousand? Wow. Twenty thousand. Oh, I didn't think anyone would say it.
13:19It's between those. Almost 13,000 classes, okay?
13:25Based on that, how many of you know, how many of you are expert in 5 percent of those classes? Anyone? Not me.
13:32Anybody in 1 percent of them?
13:35Okay. Does anyone happen to have a guess on how many classes are in the…
13:42…now this is beta 2, so this will change slightly before release…
13:45…but the ArcGIS Runtime Java API? This will be similar to what WPF and Qt are as well.
13:54[Audience comment] Hundred and twenty-nine.
13:55Hundred and twenty-nine? That's a good guess. That's in the right ballpark.
13:59Three hundred and seventy-nine classes and interfaces, so much simpler to use, although, believe it or not…
14:07…you can do just about everything with Runtime that you can do with those 13,000 classes.
14:14It's all about not having--it's all about doing more GIS work in your GIS and then taking that over to Runtime…
14:22…and just doing your application development using Runtime and leveraging what you did in your GIS.
14:29We'll talk about that later.
14:31The point of this is, you know, I can learn 5 percent of 379 classes.
14:37You know, you can master this the way that you really can't master ArcObjects.
14:43Add to that the fact that ArcGIS Runtime is brand-new, built from the ground up, not based on ArcObjects.
14:49You know, native code, no more COM. Applause.
14:54It's a much simpler, not only much simpler to learn it but to actually get the dadgum thing working.
15:04Alright. ArcGIS Runtime is patterned after the web APIs.
15:08Any users of the web APIs here, JavaScript, Flex, Silverlight? Nice. Good.
15:14Then you already have, if you raised your hand, you already have a good start to learning ArcGIS Runtime…
15:20…because we patterned the classes, interfaces, and methods and just overall basic development strategy on the web APIs.
15:30You have a map control; you can add layers to that map.
15:33You can run tasks. There are some widgets available depending on which API you're using.
15:38And that's probably the one…
15:40You know, maps, layers, and tasks you're going to find about the same classes between all the different runtime APIs.
15:47Widgets may be a little different. We have a lot more widgets, for example, in WPF than we have for Java…
15:56…and more in Java than we have for Qt, or "cute."
16:01By the way, most of what I'm going to talk about today applies directly to the desktop runtime APIs--Java, Qt, WPF.
16:11A lot of these principles also apply to the handheld runtimes, but I'm focusing more on the new desktop runtimes.
16:22So what the heck do you install anyway?
16:25Well, ArcGIS Runtime, you install an SDK, and that SDK is designed to help you do two things…
16:31…learn ArcGIS Runtime and build stuff with ArcGIS Runtime.
16:37The SDKs help you learn Runtime because they contain all kinds of documentation and samples.
16:44The documentation has conceptual docs; you know, in other words, you can read, it's like reading a book…
16:51…kind of like what we have for ArcGIS. You can just read the material, you can search it and learn how to use it.
16:58We also have the API reference for each language, so if you're a Java developer, Javadocs.
17:04If you're a C++ developer, we have a help file, you know, it's a QCH file that you open right there in Qt Creator.
17:13If you're a WPF developer, there's a help…
17:19Again, pardon me, I'm not a very good Microsoft developer--but that integrates with Visual Studio so you…
17:25…just like in Qt Creator, you put your cursor on the class name, you press F1 and up comes the help just like you would expect.
17:35So the SDKs really are good for helping you to learn how to use Runtime.
17:44A lot of the material found in the SDK that you install is also found on the resource center.
17:50And I apologize; those links are pretty small to see.
17:53But right now, we have two resource centers.
17:56Resources.arcgis.com always contains content for the current release of ArcGIS, which right now is version 10…
18:06…which you wouldn't know from the Plenary Session yesterday, because 10.1 actually isn't out yet.
18:13It's in prerelease; a lot of you have access. Anyone use 10.1 yet? Good.
18:19That's important, 'cause you're going to need 10.1 to use Runtime.
18:24You don't have to, but I'll show you what you do in ArcGIS, and you'll need 10.1.
18:29So if you want to learn about Runtime right now, you need to go to resourcesbeta.arcgis.com.
18:38At some point, when 10.1 and when ArcGIS Runtime are released, this content will move to resources.arcgis.com…
18:45…the main resource center site.
18:48Let's look a little bit at the SDK content for learning to use ArcGIS Runtime.
19:02Go to a browser and open the beta resource center; again, resourcesbeta.arcgis.com…
19:14…and here, we're going to be able to navigate to the ArcGIS Runtime resource center.
19:21I have to teach you how to do it; we couldn't make things that easy…
19:25…that we would just have a link that says ArcGIS Runtime, I guess.
19:30Click on Developers, here at the bottom, and then we're going to…
19:36Yeah, you can see how easy it is that I'm referring to my notes to figure out how to do this.
19:40And they've changed it since last week. Fantastic.
19:44Here are the different platforms for ArcGIS Runtime.
19:48I'm just going to click on Java; again, we could click on any of these.
19:54And this has information for all different kinds of Java developers--Engine, Server, and the new Runtime.
20:05So let's go to the Java runtime. Okay.
20:11This is where we can get the different kinds of documentation I mentioned--concepts, API reference.
20:17If we go to Concepts, it's this--oh, yeah, you got to log in.
20:22This is one important thing about the resourcesbeta site; you have to be part of the beta program.
20:27If you're not part of the beta program, see your Esri account representative…
20:33…or you can go to betacommunity.esri.com to sign up if you are a customer.
20:41And if you're not a customer, why are you here? No.
20:44Alrighty. We've got the conceptual documentation for the ArcGIS Runtime SDK for Java.
20:54If you want to get started, of course, installation and setup and the Getting Started section.
20:59For example, you want to figure out, How do I install the SDK? Learn how to install the SDK.
21:05It's just an installer; no big deal there.
21:08What's a bigger deal for you Java develop--any Java developers? Yeah. The few and the proud.
21:15Installing the Eclipse plug-in. We do have an Eclipse plug-in, much to my chagrin; I'm a NetBeans fan.
21:21But the Eclipse plug-in is pretty helpful if you are an Eclipse developer of Java.
21:28And it tells you here how to go to the update site, which seems like they change this every month or two…
21:37…as to whether we're going to host it online or is it going to be part of the installed SDK.
21:41I think the final decision was it's a part of the installed SDK, so it tells you how to navigate to that.
21:47Anyway, so there's similar information depending on if you are--actually, if you're developing with Visual Studio…
21:53…you barely need this because it just…you run the WPF SDK installer, and Visual Studio just picks it up.
22:02You don't really have to do anything.
22:04If you're a Qt developer, by which I mean Q-t--it's always awkward to say.
22:11If you are a Qt developer--we'll just put it that way--then in Qt Creator…
22:15…there's a page like this on our Runtime Qt page to show you how to set it up in Qt Creator.
22:25Alright. If you've installed it and you want to actually build some applications, we can, for example…
22:33…navigate down to how to create an application--Creating a Java Map Application…
22:40…and it will step you through, step by step, here's what we do to create a new project; here's how we add, you know…
22:49So we'll get this map application and you can read other how-tos on how to add a layer to the map.
22:58And, oh. Looks like you'll be able to at some point, but they're blank at the moment.
23:02See, it's beta. When this is released, there will be more content available.
23:08Now, there are also samples available, which we'll look at in just a moment here.
23:17First let's take a quick look at the API reference; this is, you know…
23:21Java developers, you'll be immediately familiar with this format; this is the Javadoc format, so you can, for example, go down…
23:28Oh. This is a good thing to know--Jmap.
23:31If you just try to add a thing called "map" to your application, you're going to go crazy.
23:36You know, "Why don't they just have a map class?"
23:39And I guess it was to avoid conflicting with the map class that's part of the JDK, we named this one Jmap.
23:48But in the other APIs for Runtime, typically this is just called Map or Mapview in some cases…
23:56…but in the Java one, they named it Jmap. Just so you know.
24:02Alrighty. Now I mentioned samples as well.
24:05There's actually an application where we can look at the samples; not just the code, but also the live running app.
24:14So we go under ArcGIS in our programs; see my Runtime SDKs, all three of them?
24:19We'll go to the Java one, ArcGIS Runtime Java samples.
24:24This is an app that opens and it'll have a variety of applications that we can, like I said, look at the code…
24:32…and also look at the live running app. Hopefully.
24:41Right before this session, I discovered that my machine had decided to do a backup…
24:46…and I thought, Yeah, I always back up my machine at one fifteen in the afternoon.
24:52Okay, finally it came up.
24:54We have various samples; let's just look at a couple of them.
25:00Dynamic and tiled layer. This is sort of a Hello, World for ArcGIS Runtime.
25:06So it's going to add a couple of map services, in this case.
25:11ArcGIS Runtime can work with--it works very well with ArcGIS Server, but it also can work with local content as well…
25:19…and we'll talk more about that later.
25:21In this case, these are services. And we're zooming in…
25:27By the way, the ArcGIS Runtime for Java, the map control is being reengineered.
25:34The development team wanted to write this in pure Java; the performance suffers a little bit…
25:41…and they said, No, dang it. We're going to do it in pure Java.
25:45And some people got in trouble and plans were changed.
25:51No, I don't know. I don't think anybody got in trouble, but they realized that sometimes you need native code.
25:57So there is a native component, but it's not COM, it's not like ArcObjects; it's regular old JNI.
26:05It's not anything complicated, not anything that the end developer even has to worry about.
26:11But that is not available in beta yet, so this is using the old Java map control, but the API is the same.
26:18So let's look at the code to see what this looks like.
26:22Remain…nothing special there; we create a new application object.
26:27Okay, here we create our Java map, our Jmap component, which is created here. A new Jmap.
26:39We add a listener. The map control has these listeners that let you listen for all kinds of events.
26:45For example, so for people who don't do Java, like if you do WPF, .NET development…
26:53…this is the same as saying, you know, map.mapReady plus equals and then the name of some method that you create.
27:01Java doesn't let you have a method point or a function point or like that; you have to have this whole new class…
27:07…but good news is, we added the mapReady listener here to this same anonymous class.
27:13We could've added another listener method as well.
27:17So this is saying when the map is ready, go ahead and set the extent of the map to this new envelope.
27:26This business here, I think it would've been just as easy just to say Map, since they declared it final, but who am I to argue?
27:35They go ahead and set the initial extent for the map to a bounding box, coordinates. These are in meters.
27:41You'll notice that a lot of the examples use data that's in the web Mercator spatial reference, projection.
27:50That's kind of the standard that we and Google and everyone have sort of settled on.
27:57Not an official standard, but the web Mercator projection looks good for almost every map…
28:04…and is in meters; it looks good in most parts of the world.
28:08So try to use web Mercator when you can, and when you can't, that's fine.
28:13There's a projection engine in ArcGIS Runtime, you can use it.
28:16But, you know, projection takes time. It's not the slowest thing in ArcGIS, for sure…
28:21…but if you want to squeeze every bit of performance out of your application…
28:25…you always want to use the same projection for all your data when you can. It's not always possible. Anyway, web Mercator.
28:34Here's where we add the layers. New tiled map service layer, tiled meaning cached, of course.
28:40They just used an ArcGIS Online service here.
28:44One kind of goofy thing I found about the Java API, rather than just saying map.addLayer…
28:50…you have to say map.getLayers, and it returns you this thing called a layer list, and to that, you add your layer.
28:58Wasted about 10 minutes once looking for that; "why doesn't the map have just an addLayer?"
29:05But this is how it is. You get the layers, you add layers to it.
29:09DynamicLayer. Again, this is for a map service, which is not cached, and they used a URL for that as well. Pretty simple.
29:19Let's look at a different example; it does something a little more interesting perhaps.
29:23LocationToAddress. Let's look at the running application first.
29:28We can look at this map of San Francisco using a map service. We can click a point to get the address of that point.
29:45Now that is known as reverse geocoding, where you take a location, say, "What's the address?"
29:51We could go the other way as well, but in this case, we chose a point, and it told us, oh, it's 860 Howard Street.
29:57And the way that works is--one moment please--you know what. This thing insists. It's not showing itself, so fine. Alright.
30:16OnMouseClick. So this is just an event listener on our--oh, interesting. They extended mapOverlay. That's right.
30:26MapOverlay is a class in the Java Runtime API that lets you listen for events on the map…
30:36…so rather than having to roll your own, you know, get into the Swing listeners and everything…
30:40…this lets you just listen for mouse clicks and things on the map.
30:46When we get a point, we use a new locator object. This is using a geocode server URL.
30:56This is one of the types of services you can serve from ArcGIS Server, and this is something else…
31:00…that you can do with local content that we'll talk about in a little bit here, but you can also do it with services.
31:05That's the simple way; that's the way we did it here.
31:09And you just run locationToAddress, the point that was clicked, a tolerance in pixels, and the input and output spatial references.
31:21And once we get that back, we can create a graphic.
31:26Now, a graphic in ArcGIS Runtime is a geometry that we can put on the map. It can also have attributes associated with it.
31:38And let's see. What was it they did…screenPoint. I think they… Oh, yeah. That's right. They put the little pop-up.
31:48And this AddressInfoPopupFactory, this is an example of part of the widgets in ArcGIS Runtime.
31:55So this is a part, this AddressInfoPopupFactory, may or may not be part of the WPF runtime or the Qt runtime.
32:04This may just be in the Java one.
32:05Our goal is to have all our runtime APIs equivalent at some point, but right now, they're all in different stages of development.
32:13The Java one happens to have this ability to put up a pop-up like this address info pop-up.
32:20As you look at the documentation for the Java runtime, you'll see references to "toolkit."
32:28Whenever it says "toolkit," it's talking about these widgets that are kind of Java only.
32:34And WPF has some of those as well, and I don't think Qt has any of those yet, but it will.
32:40So that's some basics on that sample.
32:43So what we've done here is look a little bit at the SDK, we looked at the documentation…
32:46…and looked at a few of the samples that are available.
32:52Let's go back to the slides. Alright.
32:58I mentioned that the SDKs help you to learn ArcGIS Runtime, and even after you've learned it…
33:04…there are some tools for helping you build applications.
33:09I mentioned how Runtime integrates into IDEs--Visual Studio 2010, Eclipse, and Qt Creator.
33:19We looked at some of the samples already. There are also some tools that you use.
33:22There's an authorization wizard; there's at least one person in the room groaning right now…
33:28…"Authorization? That sounds like licensing." Yes, sorry, there's licensing.
33:32There are some things you can actually do without a license--basic mapping, using ArcGIS Server services…
33:38…some of that stuff you need no license.
33:40It's when you want to use local content like map packages and geoprocessing packages that you'll need a license.
33:45So what you do is install the SDK, run the authorization tool with your license file.
33:52Now you're not going to have to run that authorization wizard on your end users' machines.
34:00That's one of the beautiful parts about Runtime.
34:03Even when you want to use licensed content on someone's machine, it's just a string that you put in your application.
34:09You could store that in a config file; you can just embed it, you know, hard code it right into the app. However you want to do it.
34:16So you give the end user the app, and they don't need to install or license anything.
34:21They just need files on their system, and it just runs.
34:27The license viewer is just a--I'll show it to you in a bit. It's just a way for you to get that license string.
34:33In fact, it gives it to you in code. Oh, I'm using .NET, I'm using Runtime with Spatial Analyst…
34:38…you know, copy and paste the .NET code to put into your WPF app in order to authorize that.
34:48The deployment tool--and I'm jumping around a little bit; I realize my order is bad on these slides.
34:54The deployment tool we'll talk about in a bit, 'cause I didn't tell you about what you would use the deployment tool for.
35:03Point is, there are tools that help you build your applications.
35:07Traditionally, deploying an app can be somewhat complicated. Think of ArcGIS Engine, for example.
35:16And I realize I'm going to get in trouble for competing against our own software; that's not my intent.
35:21You know, Engine is good for what it was built for, which is full ArcGIS functionality…
35:26…and be able to write every single line of code to do every single part of ArcGIS.
35:30In order to do that, your end users have to install ArcGIS Runtime. They have to license ArcGIS Runtime.
35:37You have to deploy the app. Sometimes you have to register stuff, et cetera, et cetera.
35:42It can be difficult. And even non-ArcGIS apps--
35:47I mean, we've all written software that works great on our machine, and then it's difficult to deploy to others' machines.
35:54ArcGIS Runtime is meant to be simpler.
35:57When you create your deployment package--and by this, I just mean a box of stuff, just…
36:02…this could be a ZIP file, it could be files on a network share; you know, whatever, it's just a bunch of files that need to be copied over…
36:08…including, obviously, your application and a .exe, or if you're in Java, probably a .jar.
36:17The Runtime libraries, some basic library files, either DLLs or JARs for Java.
36:26I guess we're going to have a DLL for Java eventually as well because it's JNI, but that's okay.
36:32Or if you're on Linux--by the way, this runs on Linux--so .so files if you're on Linux.
36:38The Runtime deployment, and that is what we use to use local content like map packages and geoprocessing packages…
36:49…and whatever data you might need, you could bundle that together with the app if it's feasible.
36:54In some cases, you're just going to have a connection an ArcSDE database somewhere or maybe some web content.
37:05But the point is, it's just a bunch of files that you need to put on the user's system, no installation or registration necessary.
37:12Let's take a look at building stuff with the ArcGIS Runtime SDK.
37:18Alright. Microsoft fans, your time has arrived. This is Visual Studio.
37:24And I actually like Visual Studio a lot even though I'm a Java guy.
37:29I think of the IDEs I've used, Visual Studio is definitely it.
37:37We're going to create a new project.
37:40I've previously installed the ArcGIS Runtime SDK for WPF.
37:47I'm going to create a new project. It's going to think about it.
37:52You know, when we go to create a new project in Visual Studio, we can choose all kinds of Visual C# applications.
37:59One of them is, under ArcGIS, we can choose a WPF app.
38:04If we go under Other Languages, we would see a similar thing for VB .NET, by the way, if there are any VB fans.
38:11But we'll just use C#, 'cause that's what I'm used to using.
38:14We could name our application; we'll just leave the default name.
38:20And as we create this application, it's going to spin up an app for us that already has an ArcGIS Runtime map control in it.
38:33Wonder if my machine insisted on that backup that I tried to cancel? We'll see. I do have a lot of dev tools open, don't I?
38:46When this comes up, it's going to be an app that we can just run.
38:49It's going to hit ArcGIS Online services.
38:51You guys know about the ArcGIS Online service directory, services.arcgisonline.com/arcgis/rest?
39:00And that gives you the ability to look at all the different ArcGIS Online services that we have.
39:05Those are great for testing, even for use. I mean, we have some great basemaps that you're free to use in your applications.
39:17Okay. Project creation successful. I'll just take their word for it as stuff keeps spinning.
39:22Let's open this MainWindow.xaml. Application.xaml isn't very interesting. It just says, "Run MainWindow.xaml."
39:34MainWindow.xaml, when this comes up, it'll give us the GUI view as well as the actual XAML…
39:41...and with any luck…yeah, come on, do it. This should show us a map in just a moment here.
39:50It's kind of cool, that right inside Visual Studio, it actually has the real map control, and sometimes it shows…
39:59Oh, you know what? All the layers are commented out. No wonder it didn't show our map yet.
40:05Okay. In the XAML--and for those who aren't familiar with WPF, like myself…
40:12…XAML is one way that you can design the user interface, the GUI, in a WPF application.
40:21In XAML, we have an Esri:Map tag; that's the map control for the Runtime for WPF.
40:29We have a bunch of commented-out layers. Let's go ahead and uncomment this map service layer…
40:41…and yeah, it shows up right there in the IDE; that's kind of nice.
40:46Let's go ahead and run this app, see what it looks like.
41:04Okay, good. I was about to start singing.
41:08We have a map of the world. It even wraps around the dateline…
41:12…similar to stuff that we saw in the web APIs yesterday in the Plenary Session.
41:17Mouse wheel, of course, zooms in and out. We can also do the Shift and zoom, and we can probably…
41:28Yeah. We can look at DC if we want to.
41:30So this is a very basic, out-of-the-box application. We could add stuff on top of this if we wanted to.
41:39In fact, let's go ahead and add some local content.
41:45Now, some local content you need the Runtime deployment that I haven't really talked much about yet…
41:50…and we only have 30 minutes to go. My goodness.
41:53But some local content you can use just with the basic Runtime libraries, and that would include tile packages.
42:02I have a path to a tile package. Tile packages are new at 10.1, I think. This is where you can have…
42:16…in ArcMap, you can say, you know, share as tile package, and it generates a cache of your map right there from ArcMap.
42:24You don't need ArcGIS Server to do that anymore with 10.1.
42:28It creates this TPK file. It's really like a ZIP file that has all the cache tiles in it.
42:35You can choose which levels to cache it at and everything.
42:39Let's see. Local Tiled Basemap Layer. We're going to uncomment this line, and path...
42:47...I'm thinking that'll be the right place to put this.
42:52So we paste in our path to a TPK that I generated previously from a basemap in ArcMap.
43:02So from an MXD, I shared it as a tile package, and now it's a layer on this map.
43:09By the way, right here in the GUI--not all of the different layer types will show up right here in the GUI, just a few of them.
43:16Tile package I don't think will, but as we zoom in, we will get to see--I hope. Let's see.
43:38Yeah, there it is. Okay, this is the Washington, DC, regional office for Esri, and so this is a cached basemap that we created.
43:49Look how nice the map looks. I mean, it was made in ArcMap.
43:54Whatever cartography you can do in ArcMap, you can do that with Runtime.
43:58The fastest way for maps that are never going to change is create this tile package, create the cache.
44:05You can also create a map package. If you share your map as a map package, you can open it here as well.
44:12The only thing about the map package is you need the Runtime deployment.
44:16That's the licensed portion of ArcGIS Runtime, which I'm going to show you in a little bit here.
44:22Okay. Alright. We looked at event handlers before; I'm actually going to skip that in this app because we talked about it.
44:32We could say, for example, when this application opens, let's zoom straight to our campus map here.
44:42In the interest of time, we're going to skip that, move along.
44:48Okay. The secret sauce of Runtime. Why does Runtime perform so well?
44:53Our goals for performance were not only to make it fast but also to make it small…
44:58…so it doesn't take a whole lot of CPU or memory or even disk space.
45:03And we've done a pretty good job.
45:04I mean, if you deploy every single thing in Runtime, the entire Runtime component, it's about a quarter of a gig total…
45:16…but that's for everything.
45:18One nice thing about Runtime is that it's modular; you only have to deploy what you actually need.
45:23So a typical deployment of Runtime, all zipped up, even if you need local content, is about 70 meg.
45:30If you don't need local content, it's stupid small. It's like 10 megabytes or less, so it's pretty cool.
45:41We're going to take a quick look at ArcGIS Runtime performance.
45:44We have an app that we built partially to show off the performance of ArcGIS Runtime.
45:51And my machine's having a little trouble, so I don't know if this is going to be the best demo ever.
45:59We're going to run a simulator first. How many of you saw the afternoon Plenary Session yesterday? Anybody?
46:05Anybody see my Runtime demo? Anybody clap for that?
46:09No, put your hands down. You didn't. Well, I guess you clapped at the end. Thank you.
46:14We're going to choose--okay. So we have this simulator that is going to push points out to our app once we start the app.
46:23Oh, my word. Okay. We'll do this one. Start it running, one point per second.
46:35Now we're going to run our Runtime application.
46:37This is Qt Creator, also known as "Q-t" Creator, for building C++ cross-platform applications, meaning apps that…
46:48…you know, I can compile and run in Windows; I can recompile the same code on Linux, and it just works.
46:56And I've just got to know what is going on. My…okay. Exit for real this time. Yeah.
47:23Well, I'm glad I could show off the performance of ArcGIS Runtime here.
47:29Oh, I had a session this morning where we had not exactly the same trouble…
47:34…but you know, when you've tested something 20 times and then people are looking at it, it causes trouble?
47:42I think once this comes up, it's actually going to look okay. Oh, it came up. Oh, it… User error. Alright.
47:52So this is this Runtime app that we showed, the same app that we showed yesterday in our Plenary Session…
47:57…built for in-vehicle military use; that's not important right now.
48:00Point is, we can rotate the map, we can follow along, we can do whatever we need to do, we can switch out the basemap…
48:07…and performance is pretty good. Now, we're pushing one point per second to this app. Let's do a hundred.
48:19And in a moment here, the country's going to start to fill up with points; this is Afghanistan, by the way.
48:28And we still have the same access that we had before. We can navigate around, no trouble at all.
48:34Let's look at our…I'm just curious; I actually don't know what this is going to say.
48:41Vehicle Commander. So this is taking 117 meg of memory, so maybe not the lightest-weight application…
48:50…but considering this machine has 4 gigs on it, it's not bad for what it's doing. Also, 10 percent of the CPU.
48:59I'm just curious to see what happens if we turn down the simulator. What's this going to do?
49:06Back to one per second, but we still have a bunch of points on the map.
49:13Now, about the same usage. Well, the CPU went down just a tad.
49:18Anyhow, anyone tried to do anything like this in Engine? Anybody? I have. You did? Yeah, yeah.
49:29[Sound] Not going to happen within 120 megabytes of memory.
49:35So this is--maybe it's not, you know, everyone's magical answer to everything, but this is a huge step forward…
49:42…for being able to develop these real-time apps that've got to keep responding…
49:48…and not freeze up and not wait to draw the maps. Okay.
49:54Alright. Turn that simulator off before the IT folks come in here and arrest me or something. Alright.
50:06Now, how does Runtime perform so well? Runtime is an application that can--oh, excuse me.
50:15The applications you build with Runtime can get content and functionality from a variety of sources…
50:21…to include ArcGIS Server, which of course then you're offloading to ArcGIS Server, or the Runtime deployment…
50:29…which is also called--I don't know if we're calling it this officially or in the documentation…
50:34…but the class name is called local server. Remember that. Local server.
50:39It's because this Runtime deployment is like a little ArcGIS Server.
50:44Now don't get carried away. You're not going to be able to use it instead of ArcGIS Server.
50:47It's not ArcGIS Server for cheap.
50:49It's meant to be used just by an application on your local machine, but because of that, it divides up the work.
50:56You have your application, your UI remains responsive. If there's heavy stuff that has to be done, give that to the local server to do.
51:07Now, there are a lot of things you can do with Runtime without the local server.
51:10By the way, the local server is the licensed component of ArcGIS Runtime.
51:14You can use ArcGIS Server, to include ArcGIS Online; you can read tile packages; and you can use a lot of the API…
51:21…you know, create graphics and zoom, pan, whatever you need to do manipulating the map. You don't need the local server for that.
51:30Where you need the local server is if you want to use any of these three types of packages.
51:35Map packages, which is when you take an MXD, you share it as a map package…
51:39…and it has the MXD and the data and everything all wrapped into a ZIP file.
51:45If you want to open that and display it, you need the local server.
51:48Also, if you want to use a locator package for geocoding and reverse geocoding.
51:53Or, if you want to use a geoprocessing package. And this one is new at ArcGIS 10.1.
51:58You run a geoprocessing model or tool, you take the results of that and share as geoprocessing package.
52:08With geoprocessing, there are three extensions available--3D, Spatial, and Network.
52:13I'll show you how the licensing works for those in just a moment.
52:17To license the local server, it's very simple.
52:20As I mentioned before, as a developer, you run your authorization wizard once, and then you can use the license viewer…
52:28…just to get the string that you need; it's just a license string to be able to authorize the local server.
52:36Let's have a look at that.
52:39Okay, we're going to open the license viewer.
52:41We're assuming here I've installed ArcGIS Runtime SDK and I have authorized it, I have run this software authorization wizard.
52:53That should be a one-time run there.
52:56What we might use more often are these other tools. The license viewer--excuse me.
53:05Alright. And I apologize, the text is pretty small for reading there; I couldn't change that.
53:14'Cause this is not a custom app; this comes with ArcGIS Runtime, which is a type of license that we want to see.
53:22Let's leave it on Deployment so that you guys can have a laugh here in just a minute.
53:27Let's choose C#. Ha-ha. The license string is No license available.
53:31That's because we don't have deployment licenses yet for ArcGIS Runtime. We will before the final release.
53:38For now, all we have available is testing, or in other words, development licenses.
53:42Anyone remember from my Plenary Session demo yesterday when there was a little pop-up that said…
53:48…Oh, you're using a developer license.
53:50I was like, oh, yeah, thanks a lot. I see that.
53:53That's because I was using a development license.
53:56Once you go to deploy your software, use the deployment license string, and then you won't get that warning anymore.
54:06By the way, that license message is only going to appear when you're using a development license…
54:13…and when you start the local server component.
54:16If you're just looking at cached maps or services, you don't need to worry about that.
54:22And by the way, you can open--
54:23Once that warning message appears, you can open a variety of map packages, GP packages, whatever you need.
54:32You're only going to get that warning pop-up once every time you run the application.
54:38Not a big deal, because you're not going to deploy this with a developer license, are you? Of course you wouldn't, no.
54:44Alright. So this is how you would license the local server if you're in C#...
54:49…LocalServer.SetLicense and this ugly license string.
54:53Good thing is we can copy this.
54:58VB .NET--oh, how about that? I think it's identical.
55:02Java, slightly different. C++, slightly different.
55:08We can also add on extensions, so pass an array of license strings, which, so far…
55:14…has not yet been worked out for our C++ runtime so those are grayed out. Coming soon; that'll be ready for release.
55:22This is beta software.
55:23Alright. I copied the C# license string; I actually don't need it 'cause I have a prebuilt app I'm going to show you.
55:38Going to try to show you.
55:42This is the--let's see, if you were in the Plenary Session yesterday, you saw me run a hydrology analysis application.
55:50Click a point and it calculates a watershed.
55:54Okay. Let's look at the code behind, so for those who aren't familiar with WPF, you've got XAML…
56:04…which is your UI; you've got C# code on the back end, and that's where you can do your custom work.
56:17Separates presentation from logic, how about that? Alrighty.
56:25MainWindow constructor. This is where we say-- Oh, yeah. This is kind of interesting.
56:32I mentioned that there's the local server component; that's a bunch of binaries that if you're deploying…
56:41…like, 10 Runtime apps to someone's machine, you might want to use the same local server. You know, there's just one copy of it.
56:48And if that's the case, then you might want to say LocalServer.InstallDirectory is a static property here…
56:55…so you just tell it where it is. And in this case, I leveraged the Settings, .Settings file, the app config in .NET…
57:03…which I think is pretty nice, to tell it where the local server is, where that stuff actually is.
57:12I'll show you what that looks like in just a minute.
57:17So I set the license string where? We've got a runtime license string…
57:23Well, let's open the settings so you see what I did, which I think is kind of maybe a good idea…
57:29…so that if you happen to have a license…
57:33You know, one thing that's funny about working for Esri is I don't ever have to learn how real licensing works.
57:40I have unlimited licenses for all of our software that expires on a certain date in case I quit, you know. I know.
57:49So I think some of you have licenses with an expiration date; some of you have licenses that never expire.
57:55This is in case--you know, I had this idea of putting the license string in a config file…
58:02…so that you don't have to give a whole new app to the user.
58:06You just say, "here's the new config file," or "here's the string to put in the config file."
58:12Visual Studio not responding, not cooperating, and this looks terrible in this browser resolution.
58:19Excuse me--screen resolution. See how I've got--wowie.
58:27Well, the third and fourth items down is where I've got my licenses.
58:32For the Runtime license itself, I just said, you know, of type string.
58:36For the extensions, I made it of type string array or string collection or whatever that thing is…
58:42…so that I could have 3D and Spatial and Network or one or two of those if I want.
58:49So I just read from the settings in my C# code, and I set that, LocalServer.SetLicense. Alright.
59:03And if we run it, then it's going to come up.
59:10I also want to take a minute to show you the deployment tool here…
59:14…although I'm not actually going to create a deployment based on the way my machine is running right now.
59:22So while that's starting up--oh, it's already here. I'll start the deployment tool just so we have it handy.
59:28Okay, we got the warning. You might've noticed, there was a little delay on that pop-up.
59:37I actually coded that into my app for demo purposes.
59:40Once you start the local server, first thing that's going to happen, bam. This little pop-up.
59:45Again, if you're using a developer license. Once you deploy this to your end users, you don't need to worry about that.
59:52So these buttons are grayed out right now because I'm actually still waiting for the geoprocessing package to open.
59:59I used code to say, you know, new local geoprocessing task, gave it the path to my GPK file, my geoprocessing package…
1:00:10…and it's opening that right now, in theory.
1:00:14Once that's open, I set up the buttons to become nongray. Not so confident of this right now, but maybe, maybe…
1:00:26…this'll let us look at the code for it, which is more interesting for this crowd, I think.
1:00:32Where, oh where did I put that? Don't do this.
1:00:48Okay. LocalServer.InitializeAsync.
1:00:54A lot of the stuff in ArcGIS Runtime is asynchronous so that you can start things in the background like the local server component…
1:01:01…or start a call to a long geoprocessing task and not lock out the user from navigating a wicked fast map.
1:01:11Okay. So in that sense, it's a lot like web programming.
1:01:16Fire off a request, user can still use the app, response comes back, it's displayed on the map.
1:01:23And in C# and Java and Qt, that's all handled with event handlers, and in Qt it's signals and slots and good stuff.
1:01:33Once the initialize is done, going to check to make sure the local server actually started, so we check for Valid.
1:01:42If not, we tell them, hey, it doesn't work.
1:01:45Otherwise, gpService, which is of type LocalGeoprocessingService, .StartAsync.
1:01:53And sometime previously, we just, yeah, gpService and we gave it--again, I used the Settings file, a path to a GPK file.
1:02:03We start this asynchronously. Once it's done, we go through the different tasks.
1:02:08I happen to know there's only one in this geoprocessing package.
1:02:13And I simply say, enable all these buttons.
1:02:17And this is a WPF thing, Dispatcher.Invoke, to make sure that you're doing UI code on the UI thread.
1:02:26It's similar to in Java, you use a similar technique.
1:02:29'Cause you have to manipulate the UI on the UI thread, not in this listener thread.
1:02:39Alright. The app started okay, finally started working.
1:02:44We'll start that watershed running, hopefully.
1:02:51And while that's running, I just want to show you the deployment tool.
1:02:56 This is the deployment tool that's part of the Runtime SDK.
1:03:00We can create a configuration. I have a bunch of them already done, but I can say, you know…
1:03:06…this is going to be my 32 bit with Network Analyst.
1:03:14And I will confess, this deployment tool is a bit buggy in beta here; it'll be fixed in time for final.
1:03:23It tends to crash, so if it crashes, all my fault. Our software is wonderful; it's all my fault.
1:03:30Name for deployment. This is just going to determine the directory name that it creates.
1:03:36MyApp, you know, version 1.0. You can include 32 bit, 64 bit, or both.
1:03:44For Linux, we only have 64 bit, so you must have a 64-bit machine if you're going to run this on Linux.
1:03:52For Windows, you can create a 32-bit app or a 64-bit app.
1:03:59Now we can choose options. You always have to choose Local Server; that's what the Runtime component is.
1:04:07That's what the deployment is.
1:04:09And you can add extra stuff like the Spatial Analyst. Let's say Network in this case, Network Analyst.
1:04:14There are additional deployment options, and these are going to be fully documented when we get to our final release.
1:04:22You know, some of these, it just says, "Additional vector file data format."
1:04:25Well, what is that? I'm not sure, to be honest. I don't know; you don't know…
1:04:30…and we'll have this documented for you in time for final.
1:04:35And different--you know, add the client to be able to direct connect to different ArcSDE databases.
1:04:42Alrighty. Once we say OK, then that configuration is created, and that just saves in some little file.
1:04:50Oh, Gary created a configuration with these options in it.
1:04:54If we say Generate, then it's actually going to generate this for us.
1:05:01I'm going to copy this. We're not actually going to generate this right now.
1:05:06When my machine's running properly, it takes like 10 seconds, 15 seconds.
1:05:10It just copies the local server component to that directory that I chose.
1:05:15Right now, I don't know how long it's going to take because my machine's misbehaving.
1:05:18I think I have some deployments already created that we can show.
1:05:26Yeah. I created one. I wanted to know how big the entire thing is for 64 and 32 bit.
1:05:36Looks like it's about a gig if you include every single thing for both platforms.
1:05:40You should never have to use both platforms.
1:05:44If you think you might run on a 32-bit or 64-bit machine, just use the 32-bit Runtime.
1:05:49If you know that it's going to be a 64-bit machine, you can use the 64 bit.
1:05:57But just to give you an idea of what that looks like, and I goofed around with this one a little bit…
1:06:04…forget these little delete notes on here, but this is what the local server will look like.
1:06:10The number of directories inside bin. You don't even really need to know this as a developer…
1:06:16…but RuntimeLocalServer.exe is the name of the process that it spins up. Okay?
1:06:22So you've got your app. Once you start local server, it starts a new process called RuntimeLocalServer…
1:06:28…which is going to do map packages and GP packages. Alright?
1:06:33So just a very brief tour of how you use the local server.
1:06:39Some of the things Runtime can do include geoprocessing.
1:06:43For example, we have an elevation dataset, we want to calculate the slope, so we run a model.
1:06:52We create the model in ArcMap, ArcGIS Desktop. We run it.
1:06:57The results we can export as a geoprocessing package. Then in Runtime…
1:07:01Oh, by the way, it's got to be 10.1, and when you create your geoprocessing package or your map package…
1:07:08…you have to check the box that says Enable for ArcGIS Runtime.
1:07:12It includes a little additional content in there that lets Runtime use it.
1:07:17Network Analyst. Driving directions, routing, which for all of us, that's pretty basic; our little phones can do that.
1:07:25But things like closest facility, service areas, you know, drive-time rings--the more advanced network analysis stuff…
1:07:34…is also available in Runtime.
1:07:38Spatial Analyst and 3D Analyst. Least-cost path based on elevation, vegetation, whatever you want…
1:07:44Raster-based analysis, you can do it.
1:07:483D Analyst, this is a line of sight. So based on elevation, what can I see, what can't I see?
1:07:55Data editing. The same kinds of editing that you can do in ArcMap you can do with Runtime.
1:08:02Once again, ArcGIS Runtime is designed to be simple, it's designed to be fast, and to be effective…
1:08:07…still leverage the full ArcGIS system but be simpler to use.
1:08:12Here's the most complicated piece of machinery ever built, the space shuttle.
1:08:16I like to say ArcGIS Engine and ArcMap are kind of like, you can do everything.
1:08:22It's kind of complicated; I'm probably not being fair by comparing it to the space shuttle.
1:08:28It's a little more complicated than ArcGIS, but still, Engine is like the space shuttle way to develop applications.
1:08:35If you need full control, if you want to write lines of code for every piece of geospatial analysis, then great.
1:08:43However, if you're a coder and you don't want to--even if you're not a coder.
1:08:47You don't want to write code for things that should be done in ArcMap for geospatial analysis.
1:08:54Runtime is more like this beautiful piece of machinery that my 10-year-old built, Pinewood Derby car. He won.
1:09:05It doesn't look very pretty in this case.
1:09:08I'm not saying that Runtime apps can't be pretty, but it's simple. A 10-year-old was able to do it.
1:09:13I don't think my 10-year-old would be able to build a Runtime application, but with a little bit of coaching, I'm sure he could.
1:09:20It did the job. It didn't take him long to build, he didn't have to have a ton of skills to do it, but it worked.
1:09:28And that's how Runtime is. You don't need a whole lot of training to be able to use Runtime.
1:09:33It's very intuitive, very simple to use, yet very effective, very powerful.
1:09:41The hope is that, you know, you can use Runtime to build something a little more sophisticated…
1:09:45…and hopefully a little more pretty as well.
1:09:48Our map controls certainly provide a pleasant user experience.
1:09:54Runtime is cross-platform. It runs on Windows and Linux for the desktop Runtime.
1:09:59And we mentioned before Android, iOS, and Windows Phone.
1:10:04Okay, finally, how do you get started with ArcGIS Runtime?
1:10:10If you're not part of the beta program, please go to betacommunity.esri.com.
1:10:16And I'll be honest, I don't know the specific criteria for you to be able to get into beta…
1:10:21…but the point is ArcGIS Runtime is in beta right now.
1:10:25If you want to get your hands on it, you have to part of our 10.1 beta program.
1:10:30Oh, by the way, 10.1/1.0. Once the initial release of Runtime happens, it's going to go onto a rapid release cycle…
1:10:38…just like our web APIs.
1:10:39So you won't have to wait all the way until 10.2 or 11, whatever we call the next release of ArcGIS.
1:10:46You'll get a new Runtime every three to six months.
1:10:51The resource centers; I mentioned these before--resources.arcgis.com.
1:10:55But if you want to learn about Runtime right now, you need resourcesbeta.arcgis.com.
1:11:03If you are in the beta program, you have access to it, then if you go to the Customer Care site and log in…
1:11:10…customers.esri.com, you should be able to download ArcGIS Runtime.
1:11:15If you have trouble with that and you are in the beta program, please contact either your Esri account rep or Esri Customer Service.
1:11:26In short, you can do this. You can learn ArcGIS Runtime.
1:11:29We're providing resources for it; you know, the resource center is a great way to get started.
1:11:35The SDK provides all of that plus more, including samples and tools.
1:11:39And at some point soon, later this year, we're going to have actual classroom training available for ArcGIS Runtime.
1:11:47So if you feel so inclined, you can visit one of our training centers, including the learning center in Tysons Corner…
1:11:52…or any of the ones we have across the country, and take ArcGIS Runtime training.
Introduction to ArcGIS Runtime 1.0
Gary Sheppard gives an overview on building and deploying GIS applications with ArcGIS Runtime.
- Recorded: Feb 23rd, 2012
- Runtime: 1:11:56
- Views: 1777
- Published: Mar 23rd, 2012
- 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.
Right-click on these links to download and save this video.
- 480x270:WebM (162.5 MB)MP4 (162.1 MB)
- 960x540:WebM (415.6 MB)MP4 (414.1 MB)
If you don't have an Esri Global Login ID, please register here.