Dated July 31, 2003
Back in 1998 I was involved in doing an investigation for using a COTS GIS product for data development of military simulations. The company I was with had other divisions that used ARC products and they were very supportive of their solutions. The criteria that we used to find a COTS GIS that was it had to support all the specific data required for military simulation (TINs, areas, lines, points, 3D geometry, very large data coverages, etc.) and would allow us to develop GUIs that a 2 year degree graduate could efficiently operate the resulting application with only two weeks of training.
Given the above criteria, Smallworld was finally chosen. And within 1 year of software development we were able to start producing data and by the end of the application and data development, the customer was very pleased with the results. After 5 years of customer changes, they have yet to find a technological hole that Smallworld cannot fill.
Depending on what you think your application will support will drive your decision. ESRI has a very good marketing plan. If you want a basic GIS that gets you in the door for several thousand dollars, ARC View is probably the best bet. But if you think your requirements will expand to support large areas or different audiences ARC View will limit your ability to scale and would have to purchase other products from ESRI. After all the add-ons from ESRI to support scability, the price difference between Smallworld & ESRI products are probably minimal.
The Smallworld database technology with it's versioning capability is very powerful to allow multiple users and multiple revisions of the data to co-habitate without requiring different databases to be created.
The Magik programing language is easy to learn and Smallworld does provide a VB API as well. From what I know of the ARC products now, they are recommending using "any" Object oriented language. Though I really don't know how ESRI's programming interface works, I cannot comment on it.
Other things to consider looking at the two would be what is available off the shelf. I think ESRI has a bigger selection of utilities that the larger development community has contributed to, where Smallworld has a smaller community to select from and get "free" utilities.
All this being said, I personally believe Smallworld still provides the best technology out there. Though many will probably contradict me, this is my humble opinion.
Field Consulting and Services, Inc.
The above was posted as a response to the following question.
- With the advent of Smallworld 5, there will be a big shift to developing code in Java. Though Magik will still be supported and will be used quite a bit, Java will grow over time.
- One downside to Smallworld 5 is GE's refusal to send the basic Magik code with the delivery like before. I hope the community will push back on this and GE changes their minds. IMHO that was one of the key strengths behind Smallworld was the release of 70-80% of the code that the system used. If you saw an editor or plugin that did 90% of what you wanted, you could look at the code, determine how things were being done and have a huge head start in development. I foresee this being a major draw back for the willingness of people to go to the 5 releases and potentially new customers. Only time will tell…..
Most of the points in the above response remain true. A few changes that probably should be mentioned are:
- The VB Magik editor has been phased out, but ASTEC has created MDT which is an eclipse based editor and debugging tool. It looks really great, but I so entrenched into Emacs I haven't spun up to that platform yet.
- FCSI has developed an entry level Smallworld product called OGRES. It does not have any of the database technology and uses flat files such as ESRI Shape to store data and XML files to store configurations.
- GE Energy has developed specialized products for utility companies. These include not only a standard data model, but many processes including work estimating. These products allow you the ability to get your system up and running in a very short amount of time.