Archive for December, 2007

Agile Geodatabase Design

iterative waterfall
An iterative waterfall?

While Agile is on my mind, I thought I’d write a bit about Agile Geodatabase design.

Let’s say I follow ESRI’s steps from the bottom of this page to create a geodatabase.

1. With Microsoft Visio or Rational Software Corporation’s Rational Rose, design a geodatabase in UML and export it to an XML Metadata Interchange (XMI) file or Microsoft Repository. To learn how, see http://support.esri.com/geodatabase/uml.

2. Add the Schema wizard to ArcCatalog.

3. Generate a geodatabase schema from the XMI file or Microsoft Repository with the Schema wizard.

4. Once you have generated the schema, you can modify it with tools in ArcCatalog if needed.

5. Once the schema is ready, you can load data into it.

In step 4 let’s say I decide to modify the schema. At that point my schema is out of synch with my CASE model. It can quickly become a pain keeping the model in synch with the geodatabase. Then there is also the pain of keeping Data Access Layer Components (DALCs) in synch with the geodatabase. In essence, these steps represent a waterfall.

So here’s my suggestion: ESRI should provide a Geodatabase Designer within Visual Studio. It would provide a look and feel similar to the VS Class Diagrammer, but it would not replace the Class Designer. Instead, it would provide a graphical way of editing an XMI schema containing geodatabase types. A command would allow it to generate code (.NET classes) the way Dave describes here. Likewise, there would also be a command to synchronize the XMI schema with a geodatabase, as well as with the DALC’s.

I know this is all rather vague, but my point is until we have easy-to-use tools that support the round trips needed in iterative development we’ll end up with waterfall processes. Escher notwithstanding, waterfalls are very un-agile.

Update: Here’s an example of how a designer can be built for Visual Studio.

Agile GIS : Need a better way to deploy

With growing interest in Agile GIS development, this might be a good time to suggest how ESRI could make Agile easier. Since the Agile Manifesto demands frequent deliveries of working software, ease of deployment becomes more important. Below is a suggestion to make ArcGIS desktop more Agile by making it more like ArcGIS Explorer.

I really like how ArcGIS Explorer custom tasks can be installed by end users without Admin privs. Details are here. This capability is Agile friendly. With Desktop however, I don’t see an easy way to build installation packages that don’t require Admin privs for installation. Since many sites I work with require someone from the IT department (with Admin privs) to come install software updates, things can really slow down, especially around the holidays.

While it would be possible to write an ArcMap extension that discovers and loads extensions from .NET assemblies in a manner similar to ArcGIS Explorer, loading commandbars is problematic. Last time I checked, accessing IDocument.Commandbars inside of IExtension.Startup crashes arcmap. Extensions really need to all be loaded before commandbars since the commands on the commandbars often expect extensions to be loaded. So while I could have an extension that loads other extensions via Reflection, Activator.CreateInstance, and IExtensionManagerAdmin.AddExtension, I don’t see a way to do this for command bars.

The crux of the problem seems to be exclusive reliance on COM Categories for discovery of customized components. It would be great if ArcMap would also scan special file folders at startup. These folders would be named similar to the COM Categories, e.g. ESRI Mx Commandbars. Arcmap would then use Reflection to instantiate these objects at startup. I guess we might need some metadata telling it which classes I want registered, or maybe it would be OK if there is no metadata just assume that if a class implements IToolBardef, then it should get loaded.

How do we prevent someone from replacing our assemblies with malicious ones? I’m not clear if/how ArcGIS Explorer accomplishes this, but we should probably think about it. I guess strong naming could be used.

More about Time and Geography

timewarp

Normally San Antonio has a leisurely pace, but with only a few shopping days til Christmas, its been a bit more hectic. Part of the reason we chose to live in San Antonio was for the pace of life. Other places seem more rushed. The recent cold weather also seems to a factor, perhaps triggering some hunter-gatherer hoarding behavior buried in my nordic evolutionary memory.

I wonder if the perception of time is somehow related to latitude? The sense of time doesn’t seem to get much attention from geographers. Which one of our five senses is used for time? How many San Antonio Minutes = one New York Minute?

In his book Lies My Teacher Told Me, James Loewen describes an experiment he conducted in Vermont. This seems like an easily reproducible experiment - very quantitative. He suggests class perceptions are the only factor here, but I think geography (latitude?) is also big factor.

Several years ago, two students of mine provided a demonstration: they drove around Burlington, Vermont, in a big, nearly new, shiny black American car (probably a Lexus would be more appropriate today) and then in a battered ten-year-old subcompact. In each vehicle, when they reached a stoplight and it turned green, they waited until they were honked at before driving on. Motorists averaged less than seven seconds to honk at them in the subcompact, but in the luxury car the students enjoyed 13.2 seconds before anyone honked. Besides providing a good reason to buy a luxury car, this experiment shows how Americans unconsciously grant respect to the educated and successful. Since motorists of all social stations honked at the subcompact more readily, working-class drivers were in a sense disrespecting themselves while deferring to their betters.

VGI Mobile Traffic Cams for Time challenged Parents?
Michael Goodchild writes about where we might be headed:

A third type of sensor network, and in many ways the most interesting, consists of humans themselves, each equipped with some working subset of the five senses and with the intelligence to compile and interpret what they sense, and each free to rove the surface of the planet.

Are we there Yet Daddy?
I think cars as sensors will happen first, specifically as mobile traffic-cams. I don’t think much intelligence will be required to collect the data, and the data will be most valuable when freedom to rove is restricted (i.e. stuck in traffic). It would be great if I could click on a map and get real time video feed from cars ahead on the map I could decide which alternate route to take to the mall. I read somewhere that people often prefer paths that allow them to drive faster instead of paths that get them to their destination slightly sooner. I bet even more so when they have kids in the back seat.

That’s all for now, someone’s honking so I better go.

k-Anonymity for Location Privacy, AT&T targets K-12

All Points pointed out an interesting new development that might help us take control over our privacy: k-Anonymity.

I can’t find details on this technology, but am glad to see it being discussed. It is important. The abstract here mentions the “location protection broker”. This sounds a bit like the Identity Oracle proposed here. With a name like CliqueCloak it sure seems like I’d be able to track the paper down with Google. Apparently the authors have done a good job at cloaking their intellectual property though. The physorg article doesn’t mention the role of government, and has no mention of location protector brokers. I wonder if the paper outlines the role played by the government in regulating location protection brokers. Anyone got a link to more details on this paper?

think of the children
Don’t worry, AT&T is thinking of the children.

Google, AT&T and others are rapidly deploying new LBS infrastructure with apparently little regard to location privacy issues. We in the geospatial community really need to be on top of this issue. I anticipate a school campus incident that “could have been avoided” using something similar to what AT&T announced today. See press release : AT&T Offers Network Industry-First RFID and GPS-Based Solutions for K - 12 Education Segment. This would not be good for personal freedom.

The public could just as easily over-react in the opposite direction. Suppose, for example, what might happen if Google was found archiving our every spatial move. The public would likely favor a move to ban tracking altogether. This would not be good for the LBS industry.

But does Multimap Use Microsoft?

Here’s a job announcement for a Senior System Engineer at Multimap.

Notice that no skills in Microsoft technology is required. With Microsoft buying Multimap, I wonder if this will change.

Crowdsourcing and Darwinism

In his book Darwin’s Dangerous Idea, Daniel Dennett describes how Mind is not necessary for Design. Its not just the folks behind Intelligent Design that have a problem with this. Other communities are uncomfortable with this as well.

Crowdsourcing is Natural Selection
Much of the opposition to Crowdsourcing seems to reflect the same desire for an intelligent designer. Obviously crowdsourcing has worked with Wikipedia, but I wonder if it will catch on as easily with Wikimapia.

Layers are the Species
Maybe I’m too entrenched in ESRI technology, but when I look at Wikimapia, I really wish it had layers. Is there some way we could have layers without an intelligent designer? In Darwinian terms, perhaps we could think of layers as being analogous to species. Natural selection would allow new types of layers to evolve. Off the top of my head, I can’t think of a single layer based web mapping site that allows users to create new layers. Mindless users should be allowed to create new layers.

Features are the Genes
Maybe take it a step further and treat the feature as a gene. Richard Dawkins says its not really species that compete for survival, but genes. Provide a tool that makes it easy to move features from one layer to another, keeping markers to trace their ancestry. I’ve always felt deciding which layer a feature belongs in is somewhat arbitrary, so why not allow natural selection decide? Of course we’d need to relax the relational database requirement that all features have the same set of fields. Instead, XML schemas would be used. (Problem, how can schemas evolve?)

Mashups are Sexual Reproduction
Maybe the mashup could be thought of as sexual reproduction. Mindless users would mashup existing layers to create new layers. This would be analogous to Jamglue, which allows users to create new audio by mixing together existing audio.

Neogeography Use Cases, Pretending to be an Architect

More discussion over at High Earth Orbit on neogeography definition.

While I’m sure many are tired of seeing this dead horse beaten, I do find value in discussing a use case often addressed by neogeography: crowdsourcing. As High Earth points out, the neo and paleo geographers would both be actors.

The problem is some of the tools needed to support crowdsourcing are not getting high enough priority by ESRI.

Case in point: ArcGIS Server’s GraphicsLayer.WriteToXml method would make crowdsourcing a lot easier. A Neogeographer draws graphics on the map, adds some attributes and saves it. Behind the scenes it gets saved to disk (via WriteXml, not arcsde via versioning). A Paleogeographer opens ArcEditor, retrieves graphicslayer to map, converts graphics to features, edits it and commits it to the geodatabase.

The only problem with this is a bug in WriteToXml. It was logged in August (NIM011262), but the SP4 doc doesn’t mention it as being fixed.

The slow resolution of this issue might give neogeographers the impression that ESRI doesn’t place high enough priority on crowdsourcing. The ArcGIS architecture needs to support crowdsourcing.


Pretend to Be An Architect

Speaking of architecture, have you ever noticed how so many architects live long and remain creative in their later years? Take a look at Johnson, Wright, and Venturi.

Contrast this with mathematicians, who seem to die too soon, e.g. Boole, Hamilton and Turing.

I think ageism lurks beneath the surface of the paleo/neo discussion. The GIS community is getting gray. A lot of fresh college grads focus on web design instead of cartography. If we can set an example by aging more gracefully maybe they’d be more interested in trying a few old school concepts. Perhaps the key to aging gracefully is to become more like architects and less like mathematicians.

GI Yes Video, Lifecasting

Maybe I was too harsh on the TV Babies in my previous post. This is funny. (Thanks to Lance Freeman for sending.)

Speaking of video, I wonder when someone will add GPS to the Justin.tv Lifecasting kit. I suppose there are ways a video feed can be geotagged (?)

justin.tv kit

Neogeographers, Volunteers and Crowds

In the latest indication that Neogeography is becoming a disruptive technology, All Points quotes MapInfo CEO saying that NeoGeography is not GIS.

This is interesting considering MapInfo’s history of avoiding of the term (GIS) when describing themselves. Take a look at their brochure - lots of flashy eye candy, but no mention of “GIS”. (It’s not searchable, so I can’t say that for sure.)

The lament reminds me of Matt Dillon’s performance in Drugstore Cowboy when describing TV Babies.

Speaking of TV Babies, I guess I shouldn’t be surprised how popular Justin.tv is with voters in the Amazon Web Services challenge. If you haven’t voted yet, please do so.

War is too important to be left to the generals.
-Clemenceau

Maybe geography is too important to be left to geographers? NSGIC Blog points out a new paper by Michael Goodchild, Citizens as Sensors: The World of Volunteered Geography. It’s worth reading. My only disappointment is, while the abstract says he will discuss threats to privacy, I can’t find much discussion on that in the paper.

Nobody goes there anymore - it’s too crowded. - Yogi Berra

Note that Goodchild is not calling it Crowdsourcing, as those following Googles’ activities like to call it. Goodchild’s paper was published before My Location was released, a move which has raised even more privacy issues. CIO Today explains some of the privacy issues. I’d be interested in hearing what Goodchild might say about this.