ArcGIS Extensions: Where’s the Market?

Entchev asks why there are so few third party GIS extensions.

Here’s a run down of barriers I see, in no particular order.

Fixation on Ownership
Most extensions are developed by contractors for large organizations. The terms of the contracts usually require the developer to relinquish ownership of all code they are paid write. While this sounds reasonable at first, ownership can be counter productive. Owners often lack the resources to maintain the code, much less license it to a broader market. If ownership were retained by the developer, a maintenance fee could be arranged. As the developer grows the install base, the cost per seat for maintenance should decrease.

Lack of Incentive for Generic Designs
It is cheaper to hardwire code for the original stakeholder’s requirements than to design generically in anticipation of a broader install base. We need to educate stakeholders so they realize how increased design costs can pay off over the life of an extension as savings on maintenance costs are spread across a larger install base.

Lack of Licensing
ESRI likes to point out how they extend ArcGIS using the same methods described in their documents for third party developers. They do not, however, provide any way to piggyback on the ESRI license manager. If third parties could contract with ESRI to generate keycodes for non-ESRI applications there would be more incentive for extension development. The accounting by ESRI could also provide a transparent way for maintenance fees to be structured around the size of an install base.

Fear of Competing with ESRI
If ESRI sees a useful extension, it often is not difficult for them to incorporate the same functionality into their core product (or one of their extensions). Developers realize this. If there were a legal instrument available restricting competition from ESRI, there would be greater incentive for third party extension development.

Lack of .NET Forward Compatibility
I’ve whined about this before. As Entchev points out, new service packs often break extensions. I’m not certain it is possible, but I’ve requested that ESRI change their policy files to allow more forward compatiblity. See enhance request NIM036896.

Collisions Between Extensions

Since the Map coclass lacks an extension interface analogous to ILayerExtensions, the only alternative is to use IElementProperties.CustomProperty on the map’s frame. If two different extensions do this, things can crash. See this for more context. Similarly, there can only be one ClassExtension per featureclass. More on that later.


3 comments so far

  1. jxn on

    Fear of Competing with ESRI –

    This is a huge one – the Business Partners conference is basically an opportunity for ESRI to commit industrial espionage… Seen it many times They are shameless!

  2. Kirk Kuykendall on

    More often I think it is a case of ESRI simply being responsive to user requests. Users point out some 3rd party extension or command, and complain to ESRI that the functionality provided really should be part of the ArcGIS core product.

  3. Craig Williams on

    For the collisions case, you may want to look at IPageLayoutExtensions in ArcGIS 9.3. It is similar to ILayerExtensions except it is on the PageLayout.

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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

%d bloggers like this: