Live from Esri DevSummit 2015

posted: March 11, 2015 | author: Marianne Cardwell

This is by far my favorite conference. The content is great, we get an early look at what Esri has in store, and it’s in Palm Springs, CA in March! Living in the Midwest, that’s a big plus. This was the view this morning from the convention center. Hard to beat, isn’t it?

As I did last year, I will update this post daily with the highlights of the day. The conference started on a Tuesday this year instead of the typical Monday and runs until Friday (instead of Thursday). I highly recommend checking Twitter for additional news by searching for #devsummit.

Plenary Session
This is the 10th year of the DevSummit and I’ve been lucky to attend six seven of these. The conference has grown every year and there are about 1,800 attendees this year, plus 300 Esri staff. Lots of folks coming from other countries, as well. It’s fun to hear the many different languages being spoken!

Jack Dangermond spoke early on and skyped with Will.I.Am of the Black Eyed Peas to talk about the work he’s doing using technology and STEM to help students in underserved areas. Here’s my favorite quote:

While Skype was flaky and it was at times hard to understand what was being said, the message was indeed powerful. It’s great to see such different people (Will.I.Am & Jack Dangermond) connecting this way.

Here are the highlights of the Plenary and what I took away from it:

  • Last year, I saw JavaScript as the big winner. I think that for web development this is pretty much assumed at this point. I don’t think “Flex” and “Silverlight” were even mentioned. They’re dead, let’s move on!
  • The big winner this year, in my opinion, is 3D. ArcGIS 10.3 was released in December, of course, and with it came 3D map services. The JSAPI is still catching up though, and version 4 will be released, in beta, next month (with the final version in Q4). I’m sure most of us will start using it the moment it’s out. It will have 3D integration and also some language changes. It’ll be a big release, that’s for sure. Besides the 3D support, what I’m super excited about is the vector tile functionality. The demos were impressive and this could be a game changer. We’ll be able to generate tiles at different LODs for different areas, based on the underlying data. We can change the symbology of the data on the fly and labeling is dynamic. No more slow tile loading! I was very impressed. It’s clear Esri spent a lot of time on this one. Esri said they will progressively make key basemaps available as vector tiles in 2015. I think you’ll see a big boost in performance and user experience with this.
  • 10.3.1 will be released in Q2 and 10.4 at the end of the year.
  • There was a big focus on ArcGIS Pro. I am not a fan of the licensing model but it does have some very cool functionality. The main one they showed off was related to publishing the vector tiles. It was fast and easy. Very impressive. My main concern, though, is the fragmentation in functionality. It looks like we’ll have to switch back and forth between ArcMap & ArcGIS Pro depending on what we need to do.
  • Lots of improvements for Runtime, including read/write of local files, on-device analysis, cross-platform support, 3D and map authoring. Regarding cross-platform support, the announcement of Xamarin support was popular with the crowd. This one was new to me but it looks very promising. More so than Qt. See the announcement video:
  • Esri is making a big effort in getting boilerplate code out there to make us developers more productive. This should be made available later this year.
  • AppStudio: built on ArcGIS Runtime, it provides developers with the ability to quickly develop cross-platform applications. So basically, build it once and deploy it on Android, iOS, Windows, Mac, and Linux. Sounds too good to be true! Sign up for the beta and try it out for yourself. I know I will.
  • We all know SOEs by now, but Esri will be releasing SOIs as part of 10.3.1, to be released in Q2. SOI stands for Server Object Interceptor and will allow us to intercept requests/responses to ArcGIS Server services. Intriguing to say the least.

Web Development Tools
I have to admit that most of the sessions I’m attending are related to web development. While Woolpert has developed native applications (RequestIndy is one example), I am a JavaScript girl and fell in love with the language many years ago. Also, most of the projects in which I’ve been involved have included a web component. I apologize in advance to all of you looking for updates on the Runtime SDKs!
Throughout the sessions I’ve attended, there is definitely the assumption that:

I’ll admit that I’m not one of the cool kids. While I don’t program much anymore, I still like to think of myself as a programmer. And Visual Studio worked just fine for me. Having said that, there is a lot of functionality there that could really help you increase your productivity, especially through your build and test process. Yes, you will need time to learn all of these technologies, but there are some really good samples out there to get you started.

Speaking of samples, you *really* should look at Esri’s GitHub repository. There is a ton of code there that could save you a lot of headaches. It’s also a great way to learn from others.

Esri JSAPI
As I mentioned above in the plenary notes, there are some significant language changes coming up in 4.0. Here are the biggest ones:

  • Use .get(“propertyName”) & .set(“propertyName”,value) for getting or setting any properties.
  • Use .watch(…) instead of .on(…) to listen to events.
  • Instead of map.addLayer(layer), you’ll now say map.add(layer).
  • Core objects (Map, Layer) are Promises. So you can use map.then(function() {}); instead of map.on(“load”,function() {});
  • Some class names have been simplified.

I don’t know (yet) whether these changes will be backwards compatible…

The 3D stuff looks AWESOME. And while it’s not yet officially available in beta, if you want to play with it, the URL is http://jsdev.arcgis.com/4.0beta1/. You’re welcome!

Here are the biggest things about 3D, once available:

  • While some things will be specific to whether you are using a 2d or 3d map, the overlap between the two should be significant. To set whether your map is 2d or 3d, you’ll just need to specify the map’s viewType to “2d” or “3d”. Pretty darn simple.
  • The 3d view will automatically use an Esri elevation model. However, if you want to use your own, you can! And if you have multiple ones, because your data varies from area to area, you can too!
  • There are a lot of new classes related to symbology and renderers in 3d. The nice thing, though, is that if your feature layer has 2d symbology, it will work in 3d.
  • You can set the elevation mode for individual layers. The three options are “onTheGround”, “absoluteHeight”, and “relativeToGround”. I think they’re all pretty self-explanatory.
  • 2d view parameters will be supported in 3d, but there are obviously some significant differences between the two. Some new 3d classes will be available and if you’ve ever worked with 3d scenes in ArcObjects, they will look very familiar. The big one is Camera, with .position (z is in meters), .heading, and .tilt attributes. To get the camera, you can simply do map.view.get(“camera”). But remember, that gives you a copy of the camera, so you need to set it once you’ve made the appropriate changes. You’ll also be able to animate any changes in the camera’s position by using map.view.animateTo(target, options). Your target can be a camera, a lat/long in WGS84, any geometry objects or array of geometry objects, or any graphic or array of graphics. You’ll also be able to play with the sunlight by setting the date/time. Remember to specify the timezone.

Unfortunately, we still have to wait a bit. They are “hoping” to release beta 1 by the end of April, with updates through 2015 and a final release at the end of the year. Some of the improvements they hope to make include support for additional layer types, new 3d symbology features, improved performance and visual quality and more view options.

Web AppBuilder
This one has a lot of potential, even though I am not a fan of the fact that it requires Portal or AGOL. But it does, and we should learn to live with it. In short, either install Portal (comes with Server at 10.3) or have an AGOL account (and however many named users you might need, depending on your scenario).
The customizing and extending session was incredibly popular with almost every seat taken and people sitting on the floor all around the room. And this was in one of the biggest rooms available!
You can use the Web AppBuilder through AGOL/Portal or download the developer edition to your machine. If you’re going to create custom widgets, you’ll want to download the developer edition. Note that the developer edition is not always updated at the same time as the AGOL one, so you might not always get the latest features.
Documentation is available for the AGOL version as well as the developer edition version (note the different links).
Esri will soon release a web course and has a live training seminar available.
GeoNet also has two different places for Web AppBuilder related discussions: Web AppBuilder for ArcGIS and Web AppBuilder Custom Widgets. It sounds like it has a pretty active community already.

If you’re going to build custom widgets, first check out the widgets the Esri professional services team has created and loaded into GitHub. Something there might work for you. You should also search GeoNet to see about any other ones developed by the community. Also check out the Web AppBuilder generator.

If you’ve developed custom Dojo widgets before, then creating custom Web AppBuilder widgets will most likely be a breeze. If you haven’t, then learn a bit more about Dojo widgets before you take the plunge!

AppStudio for ArcGIS
I have to admit that I went into the AppStudio session thinking it was too good to be true, but it looked quite good. AppStudio allows you to develop an application once and deploy it on Android, iOS and Windows devices. As native applications. You develop in Qt and then can create native builds you can submit to the respective stores.

You can sign up for the beta program by going to http://doc.arcgis.com/en/appstudio/. After you’ve downloaded and installed the software, you’ll end up with three applications:

  • AppStudio for ArcGIS: this is your dashboard where you can create new apps, create apps from templates (there currently are 3: map gallery, map tour and quick report) and generate builds.
  • AppStudio Player: this allows you to test your apps.
  • Qt Creator (AppStudio): this is your IDE where you can write your custom code.

I’ve only played with the software for less than an hour, but you can quickly see it’s not production ready. Tool-tips are missing, font sizes vary, scrollbars don’t always show up, etc. I haven’t done much more than just creating an app based on the Map Viewer template, which is extremely simple.

Despite my initial lack of enthusiasm using the application, I do still think this has a lot of potential. The output is a series of native applications, not hybrid apps as you would get with PhoneGap. You can create the builds yourself (although you’ll need the appropriate hardware), or you can request the builds to be created in the cloud.

AppStudio is currently available as an early adopter program. Beta 1 should be available March 23 and the final version should be available in July.

Licensing is of course tightly coupled with the ArcGIS Online named users. You can also go with the ArcGIS Runtime licensing. To be honest, though, I was a bit confused by the licensing, so do your research before exploring this further.