This is the fourth in a four-part series on the challenges of naming new features in software applications; particularly, the consequences when naming falls short. The first part in the series looks at a case when the name of a new feature clearly and succinctly describes the behavior of that feature. The second part in the series looks at that same case when newer yet functionality alters the original behavior of that new functionality. The third part in the series looks at how the documentation has changed to addresses this altered functionality. And finally, the fourth part in the series discusses what it all means to end users and developers.
When someone has been using a software application for a long time, say ArcGIS Desktop for 10 or more years, it isn't completely uncommon for a user to get set in his/her ways, maybe even a bit complacent. Not only does this happen with the use of software, it can also happen with reading software documentation. After all, if you have been using the software for more than 10 years, of course you know what the documentation says and exactly how features work, right?
It is around this time that RTM, STW, or maybe GIYF comments can start showing up in response to one's questions in forums, listservs, etc.... (I know, forums and listservs are so Web 1.0, but they are still workhorses for many GIS practitioners). But what if you have read the manual, searched the web, and gave Google or other search engines the old college try. Well, sometimes the real answer is WABM, and I think that is what we have here when it comes to in-memory workspaces and background processing in ArcGIS.
In looking over the first three parts in this series, I can't help think of the latest Errol Morris documentary, or at least the title of it: The Unknown Known. In many ways, I feel like the in-memory workspace and its documentation represents an unknown known. Giving Esri the benefit of the doubt and assuming there is at least one developer or group of developers that truly understands how in-memory workspaces are supposed to work, we basically have a situation where the documentation has completely failed to communicate the information. The in-memory workspace information is known within the cloistered walls of Redlands but it is unknown to people actually using and developing with the software. From the end user perspective, it is an unknown known, or maybe an unknown unknown for some.
The unknown knowns don't just end with in-memory workspaces. For anyone who has worked with Esri software, especially Esri Support, he/she knows only a fraction of the bugs submitted get publically published in ArcGIS Resources. For example, there are 4 open bugs relating to in-memory workspace linked to my organization's customer number and yet none of them is findable in ArcGIS Resources. It is one thing for Esri Development to have their own bug tracking system and that information not be publically published, but not publishing known bugs from the Esri Support bug tracking system creates lots of unknown knowns, i.e., Esri knows there is an issue with the software but that isn't being shared with users.
So what does this all mean or what is the importance? Wasted time, reduced productivity, lack of confidence in the software, and more.... The cost of poorly documented information is borne by the end user, and unfortunately that includes me. When the choice of GIS software is a personal one, the end user has the choice to explore and possibly choose to use different GIS software; but when the choice of GIS software is made for someone by an organization, the end user just gets to eat the lost time, productivity, and frustration of working with software that either isn't documented well or doesn't work correctly. Unknown knowns undermine the potential of software and can turn new functionality into little more than marketing hype.