Archive for September, 2009

A busy fall conference season..

September 30th, 2009 by Darin Herle

ESRI UC BoothWith a month into the fall conference season, September has already brought the Latitude team to a wide number of conferences worldwide, including (but not limited to!) the Intergeo event in Germany, the GITA Oil and Gas conference in Houston, the Hawaii/Pacific GIS event in Honolulu and a number of ESRI Canada events across this great, big land. I find myself sitting in the part of our office where its easy to detect the travellers: droopy plants, the blinking voicemail light and large stacks of mail crowding out desks…

And more conferences are to come! Look for the enthusiastic (and slightly jet-lagged) Latitude conference team at an event near you. So far, our (partial) list includes the URISA show, EGUG, Latin America ESRI User Conference, AGIC, NEARC, FutureView, Minnesota GIS Conference, North Dakota GIS Conference, PUG, ESRI European User Conference, NCAUG and more.

New SharePoint Users’ Group

September 29th, 2009 by S Woods

Victoria has a new SharePoint Users’ Group that will be holding its first meeting this week. It takes place up at UVic on Thursday (October 1st).

It sounds like the first one will be a meet and greet and a little SharePoint 101. Users’ groups are a great way to gain access to other people working on the same sorts of things you are for ideas exchange and peer support!

Geocortex Optimizer 1.3 Has Been Released

September 21st, 2009 by Kevin Rintoul

A few months ago, we started development on Geocortex Optimizer 1.3.

In some ways, this release was like many others. We had more features than we had people-hours to develop. We had the normal number of technological challenges and experienced the early project stresses as we moved features from the poorly defined fuzzy pile to the completely understood and fully implemented pile. We also had the usual dose of competition for developer resources as development priorities moved over the three month development cycle.

This release also seemed quite different and it was initially hard for me to identify what the cause was. Normally, two weeks before a final release, the product is really solid and a nice clean release is all but a certainty but two weeks ago, things seemed to be challenged. I was puzzled. We followed the same development methodology we normally do. We performed the same level of testing and had a nice long beta period. Our customers were involved in the development process which is a positive success factor on any software projects but for some reason, things didn’t seem to be coming together as they normally did.

I thought about this long and hard and then realized what was different: we released our beta before it was feature complete. You see, we decided to add report configuration to Geocortex Optimizer but when we started working with it, we realized that our users were going to have trouble with it. It didn’t flow as well as we would have liked and the consensus was that with a little effort, we could make it much better. At that time, we were close to our beta release so we decided to release it as-is and rework during the beta test period. I now understand why the often recommended yet infrequently followed advice proffered by the software gods is to release a beta when you are feature complete and to only fix bugs during the beta period. While I am sure that our decision to improve configuration was the right one, software project managers should realize that doing so increases risk and adds a substantial amount of pre-release excitement. Iterative development can sure be uncomfortable at times.

Notwithstanding these challenges, Geocortex Optimizer 1.3 will be a good release with some great new features. Here are the most significant additions:

  • Report configuration. I think this feature really turned out well and it will enable our customers to easily view their data in a number of different ways. It is a good tool; sometimes the difference between using something well and not using it at all is good tool support. I think our report configuration provides this in spades.
  • API Support. In addition to Web ADF, Geocortex Optimizer now fully supports ESRI’s new JavaScript, Silverlight and Flex APIs. ;
  • Support for ESRI’s 9.3.1 optimized map services. Many of our users are taking advantage of ArcGIS Server’s optimized map services (MSDs). Geocortex Optimizer 1.2 predated these services and as a result did not support collecting stats for them. It does now.
  • Upgrading. The feedback we received from our users is that they would like to not have to reinstall and reconfigure Optimizer each time they upgrade, no matter how good we made the configuration utility. We listened and it’s now possible to directly upgrade from Geocortex Optimizer 1.2 with few issues.
  • Documentation. We collect a lot of data and have a large collection of reportlets that roll-up that data into a useful form (assuming you’re clear about how that data informs decision making). We got feedback that people wanted more guidance and insight into what a given report is telling them and what they could/should do with information in a given report. For 1.3, we’ve endeavoured to create better interpretive documentation describing how best to use the information contained in Geocortex Optimizer reportlets.

Existing Geocortex Optimizer users are able to download version 1.3 from the Geocortex Support Center

Caching Imagery with a Raster Catalog

September 18th, 2009 by Stephanie Blazey

One way to increase the performance of imagery in your map service is to cache it. Since it greatly reduces the amount of time required to render the imagery on your map, caching will allow you to show your imagery at a far greater extent than you could if it were being brought in dynamically. While imagery may lend itself to caching, I find on occasion it can be a bit troublesome to get the caching going. I had a bout of Error 999999 with my latest caching project – turns out 1400 sid images covering an entire county was a little more than ArcCatalog could chew. Fair enough, I had experienced similar issues before where I couldn’t even get my ArcGIS Server map service to start because I was throwing too much imagery at it.

Enter the Raster Catalog. Using an unmanaged raster catalog as opposed to a managed raster catalog saved me a bundle of raster catalog loading time. While the managed raster catalog can take as long, or longer, than your cache creation time – so in my case, a day or two – the unmanaged raster catalog takes far less time to create and load – for me, under two hours.

And thanks (many, many thanks) to ESRI Support and the Color Balancing option in ArcMap, my previous misconception that raster catalog image quality had to be poor compared with the original imagery, is a thing of the past – and I have the completed cache to prove it.

Software Versioning and Releases in Geocortex Essentials

September 11th, 2009 by Drew Millen

If you’re familiar with the software history of Latitude Geographics, you’ll know that we used be a Java shop. Now, we still use Java for our ArcIMS generation products, while we’ve adopted .NET for our ArcGIS Server Generation products.

In contrast to Java, Microsoft .NET has a very explicit versioning scheme. From MSDN:

“Each assembly has a version number as part of its identity. As such, two assemblies that differ by version number are considered by the runtime to be completely different assemblies. This version number is physically represented as a four-part string with the following format:
…”
http://msdn.microsoft.com/en-us/library/51ket42z(VS.71).aspx

When we build our .NET products, we want our assembly versions to reflect the released product version, and vice-versa.

Most of the software industry is in agreement on the use of the first two digits of a software version (major and minor). Incrementing the major version is typically reserved for releases containing major new features, rewrites, new technologies or paradigms. Incrementing the minor version signifies a release containing new features. There is some discrepancy in the industry; however, over the use of the build and revision numbers. Indeed, our staff has had differing views on how to use these numbers as well.

At the release of Geocortex Essentials 2.0, we’ve decided to change our perspective on this so it’s worth mention.

Pre-2.0
Prior to 2.0, a build number increment could include new feature development. That is to say that 1.3 and 1.3.1 both introduced new features; however, 1.3 was probably more significant than 1.3.1 with regards to the features it introduced. A “Hotfix” typically embodied a release containing bug fixes only (e.g., 1.4 Hotfix 1). It is worth mention that revision number is automatically generated, and typically reflects the number of physical builds created on our build server since the increment of a build, minor, or major version number (i.e., we “zero” the revision number when incrementing any other version number).

We also introduced “Service Packs” when we felt that the changes didn’t warrant a version upgrade (e.g., 1.5.2 SP1). This was not a decision based on a “rule”. I’ve always been dissatisfied with this somewhat ad-hoc approach to versioning, so following 2.0 we’ve decided to be a bit more procedural.

2.0 and Beyond
As with prior to 2.0 the major and minor version number will be reserved for major product architectural or conceptual changes, and the revision number will reflect the number of physical builds created on our build server. The main difference is the way in which we will treat the minor and build numbers. Going forward, we will increment the minor version any time that a release introduces new features. We will increment the build number to signify a release which contains bug fixes. A few examples will help clarify.

2.0.0.745 Major release, includes architectural changes and introduces the Geocortex Essentials REST Elements.
2.0.1.792 Build release (or “dot” release), contains bug fixes only.
2.1.0.XXX Minor release, will include new features.
2.1.1.XXX Dot release, contains bug fixes only.
2.2.0.XXX Minor release, new features.
3.0.0.XXX Major release will include architectural changes, and/or introduce new technologies or paradigms.

It is worth mentioning that a goal we have in the near future is to better support version upgrades of our Geocortex Essentials software. If we can distribute “dot releases” frequently without causing our customers the hassle of migrations during upgrades, we are better equipped to provide faster turn-around times between defect detection and resolution.

ColorBrewer 2.0

September 3rd, 2009 by Stephanie Blazey

We have previously mentioned ColorBrewer, which is a great web tool for selecting color ramps for your maps. ColorBrewer 2.0 was recently released, and includes more information about the tool and its options. You can turn on a background hillshade layer, view semi-transparent colors, and filter your color ramps based on their suitability for printing and photocopying, and those that are colorblind safe.

The National Cancer Institute GIS has created the ColorTool plugin for ArcMap that you can download here, which makes it even easier to incorporate ColorBrewer color ramps into your MXDs!

ColorTool