Let me kick off with the basic understaing needed about a spatial application.
Your spatial application may be a,
1) Basic standalone version dealing with basic map viewing features such as zoom, pan etc which can be used for basic viewing purposes alone.
2) Advanced standalone version which combines the basic features along with area marking, advanced searching (searching with buffers), cartographic features etc.,
3) Web application which has a common server that serves a variety of clients who need to work on a particular region/area. It can even include ajax and web 2.0 capabilites.
Requirements are endless.
But why people really need all these? Why do they need a map viewing application?
Well, the answer is pretty straight forward. Cost cutting. There are lots of map viewing applications that are available in market which has a lot of features and cool tekniques that come with ready made frameworks. But they all have the following disadvantages,
1) As said earlier, cost is a major factor.
2) Just buying enough licenses from these spatial companies is never going to be enough. You need to have a in-depth understanding of your needs and a proper design has to be followed. Without that, whatever support or assistance you are going to get from the third party company will go into waste.
3) Limit to your imagination. If you want to develop a spatial application that need to address your expectation (mainly performance), then you should definitely ponder over your decision whether or not should i go for a third party application for my maps.
4) All major companies using geo spatial applications may at times blindly fall in trap for these geo spatial vendors without exploring enough on the beautiful open source communities (eg., www.opensourcegis.org ) available in the web and the range of free products they give.
I guess i will stop here for a kick-off. Will be back with more information. Till then, its bye from,