ArcGIS Explorer 900…

Quick notes from the ArcGIS Explorer (E3) Build 900 session with Andy MacDonald & Jeff Jackson – same content will be presented on Wednesday afternoon…

As I’m sure others have noted, it’s a total rebuild from the current ArcGIS Explorer (build 500) – so it’s quite different – ribbon and 2D/3D support being the most immediately obvious. It also has a presentation mode that is going to enable some very creative uses of live GIS in meetings & at conferences.

There is a very nice configuration tool that lets you chance splash screen, base map, and add/remove elements from the UI.

But – I think that the developer experience is a major change – it’s a native .NET API that hides all the ArcObjects COM “goo” that’s behind the scenes. The API looks very clean, and well thought out. One thing of note is that it uses generics, which may be a little daunting to some, but streamlines the API… as in…

Application.ActiveMapDisplay.Map.GetMapItems<typeOfItem>()

which fetches all map items of the specified type. This is much cleaner than having a bunch of collections to hold each type. API was apparently developed by writing example code, and then creating the API to enable that code. Led to clean API, and likely a much more intuitive developer experience (that’s the idea anyhow!)

ESRI followed .NET design guidelines, so this should be a very “.NET” developer experience. Not QI’ing from interface to interface – apparently there are no interfaces – just .NET classes… no Object Models shown, but the model seems pretty streamlined just from the intellisense. 5 namespaces for devs… lean. UI layer is auto-updated – no need to manually refresh map after doing something to it – big departure from ArcMap.

- Hugely streamlined Query API as compared to COM. Nice data binding capabilities, with support for CodedValueDomains cooked in (woot!)…

- Debug Add-In’s by using the “Start External Program” in Visual Studio.

Add-In Configuration:

No big surprise here, config is via XML files, which separate the UI needs (the button graphic, tooltip etc) from the implementation – this allows the UI to be built without actually loading the assembly. This will greatly improve application loading time if you have a lot of Add-Ins.

Add-In Types:

Button, DockableWindows, Galleries and Extensions

Just inherit and override methods as needed. Jeff Jackson showed a fair bit of very clean code.

Extensions are background, non-UI stuff – how you could tie in live feeds or custom data formats. They run on background threads, and you can update OnStartup() and on ShutDown()

Lots of samples in the SDK.

Can use any Visual Studio SKU – including Express…

Very cool stuff – kudos to the folks who have been working on this project!

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s