StackOverflow For Geo!
Posted by Jason Birch in Advocacy, Open Source on June 14, 2010
If you’re not familiar with StackOverflow, it’s a collaboratively edited questions and answers site for developers. With its wiki-like editing and community voting and reputation system, answers at StackOverflow (and its sister sites like ServerFault) are more complete, accurate, and accessible than any other technical resources.
With this understanding, I was excited to see that George Silva was involved in StackExchange’s incubator, and had put together a proposal for a StackOverflow for Geographic Information Systems.
GIS has long been more of a diaspora than an online community, with information stored across dozens of mailing lists, forums, blogs and other locations. Each open source project and proprietary application has its own set of resources, as do academic communities. Answers have been hard to find, and expert participation in these communities can quickly lead to burn-out. I believe that having a StackOverflow for GIS will help to solve these problems, and increase our individual efficiency working with GIS.
If you agree, please take the time to sign up for George’s proposal, and commit to being involved in StackOverflow for GIS!
-J
Model Citizens!
Posted by Jason Birch in Google Earth, Nanaimo, Sketchup on March 27, 2010
Recently, the City of Nanaimo participated in Google’s Model Your Town competition. After a call for participation by the mayor and council, a number of community members attended a training session run by Nanaimo’s Development Services and Information Technology departments. Over the next two months, Nanaimo’s team worked hard and helped grow the number of buildings in Nanaimo’s 3D Warehouse collection from 30 to 128. You can see these in Google Earth when you turn on the 3D Buildings layer.
As a result of this great collaboration between city staff and residents, Nanaimo has gained an invaluable resource. Apart from the obvious benefit of showing downtown Nanaimo off to the world, this new level of completeness gives City staff an amazing resource to use for three-dimensional planning and analysis.
Have a look at this cool movie highlighting the community’s hard work:
If the stars align correctly, I will be speaking about this experience at GeoWeb 2010 later this summer. Hope to see you there!
-J
MapGuide Maestro 2.0: now with more Maestro!
Posted by Jason Birch in MapGuide, Open Source on March 10, 2010
Kenneth Skovhede recently announced the official release of MapGuide Maestro 2.0, the culmination of over a year of feature development and usability enhancements to the open source MapGuide authoring tool. Here are my picks for the top 10 features of MapGuide Maestro 2.0:
1. Theming, with ColorBrewer Suport
Being able to theme maps based on data distribution is a basic mapping function, and this release of Maestro delivers. Adding support for ColorBrewer means that you can be confident that your colour scheme is visually distinct and cartographically appropriate for the message that you are conveying. The Maestro UI automatically constrains the colour choices based on the underlying data categories:

2. Expression Editor
MapGuide and the underlying FDO data providers support a powerful expression language, and previously you were on your own to write valid expressions. Thanks to Jackie Ng, MapGuide Maestro was able to use the same expression editor that FDO Toolbox is using, giving expression-completion, valid value extraction, and more:

Check out Jackie’s posts on the FDO Expression Editor and the follow-up where he talks about the addition of value auto-completion.
3. Resource Validation
The Maestro resource validator walks from application to map to layers to data, warning if it detects any common errors such as broken references or potential performance issues like unmatched projections. This is an invaluable tool for troubleshooting problems in your maps:


4. Improved XML Editor
While Maestro’s GUI is great for most purposes, there are times when you need to access the full power of MapGuide XML configuration syntax, like when you’re editing complex XML-based stylization elements. Maestro makes it easy for you to edit any resource as XML simply by right-clicking on it and choosing “Edit as xml”. Maestro 2.0 comes with many improvements to the XML editor, including validation against the schema, cursor position (important when tracking down errors), and the ability to attach arbitrary files to the current resource, which is critical when making bitmap-based symbols:

5. Profiling
Profiling allows you to easily find the performance bottlenecks on a given map, or quickly determine whether changes to theming or other items are having an impact on performance:


6. Package Management
MapGuide packages are a zipped export of the DBXML repository including XML resources, associated binary files, and a manifest. Typically these are managed on the server, but Maestro allows you to create, edit, and load these files via the GUI. This can be really handy when you’re migrating changes between servers. One of my favourite tricks is to export both test and prod as packages, unzip them, and compare using Beyond Compare (not free, but worth every penny).


7. Custom Resource Templates
Any time you are creating a new data source, layer definition, map definition, etc, you are basically just creating a new XML document. If you find that you are always performing certain steps as part of creating these resources, you can create your own custom resource types with customized versions of these XML documents. For instance, I like to start layer creation using the version 1.3 of the LayerDefinition schema, with a default scale range of 1:1->1:500,000, and none of the feature types being displayed. All I had to do was create a new LayerDefinition with these settings, save it to the MapGuideMaestro\Templates directory with a name like “Nanaimo Layer.xml”, and it shows up when I want to create a new resource:

8. Duplicate Resource
This might not seem like a big deal, but when creating dozens of similar layers it can be a huge timesaver. Simply right-click on any resource and choose “Duplicate” and a copy of that resource is created and ready for you to customize:

9. Colour-Coded Resource Tree
When editing many resources at once, things can get a bit confusing. Crispin Hoult from 1Spatial contributed a feature that colour-codes currently open resources in green, and resources that have unsaved changes in pink. The currently active resource comes up in a darker shade. This feature makes it much easier to keep track of what’s going on in your work area, and is surprisingly useful:

10. General Usability
OK, maybe this doesn’t count as a feature, but a LOT of thought has been put into how various user interactions work, and countless small refinements have been made. A few examples:
- inserting a new layer into a map definition when you have a group selected inserts the layer into that group, and places the layer into the overall draw order right after the bottom-most layer in that group
- you can now right-click on any resource and copy its ID (like Library://Nanaimo/Data/MyFile.FeatureSource) to the clipboard, which can be incredibly useful when writing code to access resources
- you can multi-select many layers for insertion into a MapDefinition at once
- maestro keeps track of references when you rename or move resources, prompting you for whether you want dependent resources updated
All of the little enhancements in this release added together have saved me hours of work (I’ve been using the pre-release versions for a few months).
All-in-all this is a very impressive release, with countless new features and enhancements to existing functionality. Give it a spin, and I’m sure you’ll turn up your own favourites!
Thanks Kenneth, and great work.
-J
1 2 3 4 5 6 7 8 9 10 11 12
Posted by Jason Birch in Google, Rant on October 21, 2009
Ever have something you can’t get out of your head? How about two things?
The first thing stuck in my head is the idea that Google is moving wholesale into the content business. They aren’t creating their own content, but they aggregate external content into a “walled garden” and encourage users to host content on Google properties, both actions ensuring that value remains solely exploitable by Google. For product and service folks this won’t matter much, but for people reliant on web content for their income the contraction of the web into mega-portals is definitely a business threat to be aware of. I personally worry that this business tactic may affect the vitality of the web in the long run. Case-in-point, with the recent launch of the real estate layer in Google Maps, realtors are incented to funnel their listings through Google Base rather than posting them openly on the web as GeoRSS or KML. This echoes the aggregation that is occurring in Google’s “Place Pages“, and is a worrisome trend.
The other thing stuck in my head is that stupid Sesame Street pinball counting song… actually I kinda dig it, which is probably why it’s staying stuck.
What I really want to do is to stop thinking about these things. I figured that maybe if I combine the two it will help me exorcise both demons, so:
1 2 3 4 5 6 7 8 9 10 11 12 !!!!
-J
Nanaimo meet OpenID. OpenID meet Nanaimo.
Posted by Jason Birch in Nanaimo, Open Source on October 6, 2009
How’s that for protocol?
If you’re anything like me, you probably use the password reset function on websites more often than the login function. This is a huge problem, both for security and for user experience.
The City of Nanaimo recognized that as useful as the city’s web applications are, requiring citizens to remember yet another password is not reasonable. Early this year the city did an initial analysis of OpenID, and Jeff Jacob–one of my colleagues–took on the task of developing the infrastructure to support OpenID and one of the first applications to take advantage of it. You can read the everyman’s description of Nanaimo’s OpenID initiative along with links to the OpenID-enabled services.
While the majority of users probably have an OpenID account already, it would not be responsible to require citizens to sign up for an external login service. A mix of forms-based and OpenID login capabilities may have been easier, but it just made more sense for Jeff to implement a city-specific OpenID provider using the DotNetOpenID open source library. This allows Nanaimo’s application login class to be more streamlined while presenting a consistent user experience, but more importantly it allows the city to act as a provider for third party / COTS web applications as these start supporting OpenID. Eventually Nanaimo citizens will be able to log into all city services using a single ID of their choice.
It is gratifying to see that during the City’s implementation phase many other organisations, such as the US Federal Government, have been embracing OpenID. Allowing citizens to access services using their own credentials is a key part of Nanaimo’s longstanding policy of providing easy access to the information residents and businesses need to live and do business here.
If you work for a local government and are interested in sharing information and/or code, please get in touch with Nanaimo’s IT department!
-J
P.S. As always, I am writing from a personal perspective. Opinions here are my own, and are not necessarily shared by my employer.

Recent Comments