Wednesday, June 23, 2010

On to 3.0

I know you want to see the roadmap NOW. Here, fool:

Version 3.0 - Website - Date TBD
  • Blog
  • Forums
  • Videos
  • Feature suggestion with voting
  • Feature tracking - percent funded, percent completed
  • Bug tracking
  • Code repository
Version 3.0 - Core, complete ground-up rewrite - Date TBD
  • Provider model (pluggable data connectors)
  • Streaming
  • Memory caching and / or disk caching**
  • Internationalization (enables translations)
  • PostGIS provider
  • API / automation (standard ArcObjects integration)**
Version 3.x Providers - Date TBD
  • SQL Server
  • SpatiaLite
  • Oracle (depends on community desire)
Version 3.x Translations - Date TBD
  • Italian
  • German
  • French
  • Spanish
  • More based on community desire
*roadmap is organic and may (probably) change
**requires more research

So that's the draft roadmap. Now for some thoughts.

First and foremost I want to be very candid about the state of affairs at Obtuse Software. Further zigGIS development will require funding. There is one full time developer, me, and two part time developers, Paolo and Bill, involved. And we're hungry. Actually, we really want beer. Now I love, Love, LOVE working on zigGIS and I want, as do Paolo and Bill, to continue. But that just won't happen without the financial backing.

To reiterate, zigGIS version 3.0 will be completely free to download and use, Open Source software. But that won't occur until the project is fully backed by individual and company support. The tools and information for supporting version 3.0 will slowly become available as things progress. You can find slightly more information here.

Problems that suck in version 2.0:

1. Performance
Performance has always been a significant issue. We tried easing the burden by incorporating a caching scheme. But the problem with viewing GIS data is complicated. And although our caching scheme does improve performance quite dramatically, it's just not a sustainable solution. Caching loads all data into memory. Most working datasets we've seen are immediately larger than what a typical, well equipped work station can handle. This makes zigGIS's caching mechanism moot.

In addition, zigGIS does not stream data (render features to the screen one-by-one). It instead loads the entire table and only then does it start rendering. If, on the other hand, the data was streamed then the layer would start rendering immediately and you could interrupt the process by zooming into an area of interest. As it is now you have to wait until the entire layer renders before you can zoom. We had a streaming prototype working about two years ago but it caused intermittent and random errors, errors we could never track down. Ultimately our streaming efforts were abandoned.

2. Automation
Anyone who has followed zigGIS since its 1.0 days knows our plight of cracking the mystery of ArcGIS's custom datasource editing model. If you're a late-comer you can read a history about it here. While we were never able to solve the mystery, we did manage to "fake" an acceptable solution and editing capabilities became the flagship feature of version 2.0. The problem with "faking" is the solution is completely custom and not directly integrated into ArcGIS's editing tools. The fallout is that automation scripting (ArcObjects API hooking) was not possible. For those less technically inclined, this meant that although you could use PostGIS data for making maps, doing queries, etc. in ArcMap, you could not use zigGIS to write scripts to manipulate your PostGIS data in a custom manner.

We think we're in the position to solve all the current issues in version 2.x. We're certain we can lick streaming. Automation is still tricky and requires a little more research but we think we have a promising new approach.

The new website is critical.

Harnessing the community - financially, technically, and socially - is the only way we'll succeed. I like to think of the website and it's backing community a feature of version 3.0. Together we make the product the best it can be for everyone.

To wrap up,

Version 3.0 is coming but it's certainly not knocking on the door. There's still a ton to do even before we break ground on actual development. All our communication channels will be updated as we proceed. Be on the look out for updates on the financial model and the website. Other updates will follow.