ThinkGeo.com    |     Documentation    |     Premium Support

Possible to include soure for MapSuite Explorer

You have an application included with your component which shows the use of the Map component.


I was interested in your Pan, TrackZoom implementation, is it possible to include it?


 



Michael, 



I was informed that at the moment this is not public source code. I suggest you contact your sale representative to see what they can arrange.



Ben



I noticed Lars asked the same question. 
  
 Can i ask why it isn’t going to be included as a sample application? does it contain non-Microsoft components and therefore can’t be redistributed? It just seems odd that you have an application which can provide a dev a “real use” sample of how to implement things such as table of contents, tool bar for panning, zooming etc. 
  
 The idea of charging for it is ludicrous, by no means is it a “complete” application, it is a “lite” implementation of features within the MapSuite component range, if I spent the $5k I would be insulted at being asked to pay for some source on an example. 
  
 Many development companies release working examples of there components, I would hope there is a solid reason for not distributing the source code. 
  
 Cheers, 
  
 Michael Proctor 
  
 Michael Proctor

Michael, 



I would like to clarify things as I think there is a misunderstanding. I want to frame this post first by saying I think it is a good idea to have some application that are very complete and show the tool doing lots of things. 



1.Map Suite Explorer was written to provide a set amount of functionality as a tool. My suspicion is that they didn't consider releasing the source, but this does not mean we won't or that it is not a good idea.




2.As to the selling of it I think Ben is relating to a now client who wanted to get the source for 2.x Map Suite Explorer source BEFORE buying a license for the component. We worked out a deal where he would purchase it before buying a license. 

 


3.There are some technical reasons for not releasing the source and it has to do with the nature of the application. The tool was written early before the Desktop Edition and uses the Services Edition and we did not want this particular tool to expire the way the others did so it contains special handling of our expiration system and licensing code. 

 


4.Without review of the source I am guessing that it was written in a way that does not follow our documentation standards for our formal products. As it does not use the Desktop Edition there is allot of low level code to make these features work using the Services Edition. Providing this code would raise more questions than it will solve since there are much better ways to accomplish the same task in the desktop. In some places we had to include fifty lines of code for something built into the Desktop Edition. I'm not saying that the code isn't good but to release it to the public we have pretty high standards. 

 


5.Speaking to the high standards I hope someone else but me notices that we really try hard to answer forums with code that is well documented and insightful. We also take great care in releasing samples with good comments and in C# & VB.NET. We really want to keep this standard so there would need to be work to releasing the source. 

 


6.If we were to release the source publicly there is allot more work that has to go into it. It would not be enough to release a C# VS 2008 version. The day of the posting we would get request for a VB.NET version and version working 2005 as well. While this is still not a bad idea it was not in the project plan and so as of yet has no resources to do this. 

 


7.You would also need to consider that this source would only benefit the Services Edition as in the other editions the code would not make such sense. It would need to be re-written for it as per the previous point. 

 


8.In the past we have distributed samples that were very large and showed a full spectrum of functionality crammed into one application. The feedback and problem we encountered is to share the source for a large application means there is allot of glue work that is necessary to show the features in one application and make it rational. This created a situation of a high noise to signal ratio. Meaning the real code to show the functionality was overshadowed by the logic to pack it all into one application. In the new samples we try and focus on a low signal to noise ration to do the minimal code to show the results. In this way you get a better idea of what is truly necessary and can write your glue logic however it best fits your application. We had developer not understanding our use of switch statements in out tool bar logic for example. This has nothing to do with the mapping component and we spent time explaining our general programming technique instead of on the product's features. 



Having said all of this I think it is a good idea to release the source at some point to customers. It is just an idea that needs to have work done to support it and needs support from users. If it were as easy as just releasing the code it would be an simple decision. I think everyone jumped to conclusions before knowing all the facts. In many cases the reality is much more complex then what you see on the surface. 



As for the next steps I will communicate your feelings up the chain. If other users would like this as well then respond to this thread and let me know what edition you are using and if we get a groundswell it will be easier to make my case. I suggest if you are a potential or existing customer that you give your sales rep a call. 



David



Michael, 
  
   I hope I didn’t come off as too over the top on the last post.  I just wanted to try and communicate as best I can the issues in releasing that in a short time frame.  I sometimes take this stuff too seriously because I know how hard everyone here is working to be the best .net map control out there.  We are committed to offer great support, professional samples, a solid framework with  high standards throughout.  Sometimes those ideals slow us down and I just have a gut feeling it would be some work to get this thing to be released in VB & C# in the way it should be released. 
  
 David

No worries David, 
  
 That was all I was after, just to understand why ThinkGeo wouldn’t want a user to see the source. What you detail is extremely informative and I completely understand that resources have to be managed and with a rewrite of your components I could imagine they are strecthed thin. 
  
 I don’t mind the examples app, as you said it does so the simple way to find out how to implement that exact “idea”, I suppose it is just that there isn’t enough in it, but then again I am working with a Beta that is going through lots of changes and again, ground up rebuild means previous examples have to be “rewritten”.  
  
 I think it is just a simple case of myself coming along at a early stage of development of the v3 Desktop (although I will commend the release of the beta for the public to test and comment on). We are evaluating the component to implement in a tenure management system, with v2 it was over complicated and truthfully I couldn’t even get a results out of it. 
  
 within 2 days I have made a small module that shows a map with Google Satellite imagery in the background, a scale bar, all the tenure and a search feature to find tenure with a certain value. 
  
 All in all alot quicker to code and alot cleaner. 
  
 I will be more seriously looking at the purchase. 
  
 Thankyou again for your precious time to explain this, I do think it will benefit more people that will probably wonder the same thing. 
  
 Cheers, 
  
 Michael Proctor

Hi David,


I’m with Michael here; I would like to see a good solid example of a ‘real world’ app, not necessarily the Map Explorer but something similar.


As a new comer to ThinkGeo and a potential future user, the first thing I wanted to do was to build an application somewhat similar to Map Explorer, just something I could open some layers with,  pan/zoom around, change styles/ Z orders etc. I must confess to being a bit stunned to find that such as example did not exist.  “How do I’s” are all very well but developers tend to try and build real applications.


We have been evaluating a number of your competitors and it is somewhat amusing that they, to a man, all have example ‘real world apps’ as a method of showing how easily you can put together something with real functionality.  The ThinkGeo approach appears to be a number of examples, all very neat and well documented, that demonstrate tiny bits of what is necessary, leaving the developer to weld this all together.  That can result in a long and frustrating process to get somewhere.


As a compromise, why not get the guys to knock up a ‘Map viewer’ that is functional and written in C#.  If the ThinkGeo Desktop is as easy to use as it is daid to be, this should not take very long.  Release this to the beta forums and get the VB guys to do a translation for you?


Regards


John

 



John,  
  
 Don’t take this the wrong way, but personally i’d prefer that the thinkgeo peeps spend their time fixing and extending the control (proper WPF anyone?). Most developers know how to put an application together. They just need to know how the mapping component works, and that’s what’s provided in the samples. I’m quite certain that the application layout and functionality (welding) that you would require is vastly different to the one I require, and taking a look at MapSuite explorer, all the mapping functionality in there is also inside the samples. Just my point of view.

Hi Brendan,


I'd agree with not diverting resources from the 'real effort' but if you are comming to TG from elsewhere and not moving from V2 to V3 it's more difficult to get your head around the correct way to accomplish tasks.  Good examples are the way a 'new' developer learns how things should be done not how I can coblle together a number of bits and make it work, potentially, the 'wrong' way.


One of TG's main competitors has a viewer example which has the same functionality as 'Map Explorer' and then some, the 'guts' of this demo is < 500 lines long fully commented.  How difficult is that?


Regards


John



Guys, 
  
   Thanks for the responses they give us invaluable feedback.  With 3.0 we really try and focus on user feedback.  The best way to get it are through these forums and candid conversation. 
  
  On the samples it’s a damned if you do and damned if you don’t.  I think the fundamental problem is that we serve many masters and time is of the essence for everyone.  We have such a wide range of customers from people new to programming to experienced programmers new to GIS and every other combination.  We have people who need a prototype in days or the deals off and those who already have a plan and can make the infrastructure themselves and evaluate for months.  Having worked here for over five years one thing I realize is that everyone learns differently.  Some people like to talk on the phone, some want targeted samples, others want videos and still others like mega samples.  In the end we need to do them all great. 
  
   I am amazed daily on the posts we get.  Everything from a guy with an InMemoryFeatureSource with 6,000+ data columns that is 1.4 gig in size asking for an in memory R-Tree to someone running three maps on the same form in different projections sharing one set of layers. 
  
   Brendan brings up some good points and ultimately I hope you all become our customers and to accomplish that we have to be flexible.  Brendan is a perfect example of a person who knows what they want to do if only we would put the functionality in for him! There is allot going on here with the new platform and if the response in sales is as good as the forums are then more resources will be on the way.   
  
   I will see what I can do on the samples side and let you know. 
  
 PS: Brendan … I hear you on the WPF and we are working on it.  There are some technical hurdles left on this and I am sorry I didn’t call you when I said I would.  I will get in contact with you very soon to discuss the WPF stuff. 
  
 David

John: Then let's build one?



Thanks David. We’ve got our own WPF implementation going at the moment (on top of MapSuite). That is a topic for another discussion though. Later

Guys, 
  
   You are so funny.  I find myself just clicking on the refresh button to see who will chime in next.  Let’s just make sure to keep it friendly. :-)   
  
 John:  I wouldn’t tempt Brendan as he will knock out a sample, and make us all look stupid and lazy. That should be my job! :-) 
  
   Give me a little bit and I think I can pull this off with the powers that be. 
  
 David

Brendan, 
  
  Looking forward to hearing about it. 
  
 David

John: what I meant by my last comment is that i’m more than willing to help you out if you’d like to put something together. I think the more community effort we get in there… the better it is for all of us. If David beats us to it, then that’s fine too. 
  
 David: I’m all for friendly:P

Hi David,


Great!


Hope I was not being unfriendly, humour if a different thing


Brendan: Hope I did not offend, what about giving David a chance to do his thing?


John



John: None taken. I much prefer people voice their opinion and get involved.

I completely support the request to open-source the MapSuite Explorer. I find it to be extremely useful tool to check things out quickly, before going into own application to troubleshoot some specific problems. It will definitely make the final Component Suite better, will demonstrate best implementation practices, and speed up market acceptance – new customers looking for a quick prototype won’t have to start from scratch.  
  
 I think we all here, especially at this beta stage, will gladly tolerate missing documentation or style flaws. And if you let us contribute to the project, you’ll probably save some dev. hours (hey – free stuff!) Looks like a win-win situation to me. After all, I don’t think there’s lots of trade secrets or IP in the Explorer which isn’t already sprinkled around in the tons of samples code. But the benefit of a coherent working app is so much more than the individual snippets.  
  
 You can always make the source code “not officially supported” - sort of what Microsoft does with their Codeplex community. This should help with a dialog between TG customers, not just Ben and David handling our questions. (doing great job, btw!) 
  
 Speaking of the features, I do miss some of the v2.0 stuff – tree view for the layers was more convenient IMHO, and the metadata property sheet was very useful. I do hope they resurface in some future rev. +10 points for making the File Open dialog multi-selectable, though!

Fedor, 
  
   Thanks for your feedback.  I am making for progress here on opening it up.  More to follow soon. 
  
 The tree view really needs to re-surface.  I think what is holding is back is the tons of logic that made it work to be ported over.  I will see if I can get someone to do a little skunk works project to revive it.  The property window was pretty cool 
  
 I think we can do the multi select stuff. :-) 
  
 BTW did you test the Mr Sid fix we put in? 
  
 David

I did, quickly and non-scientifically – by comparing performance of 2.25 and 3.0 beta in their respective Explorers. Got some visual results, was about to report those, but at that time I read that Explorer 3.0 was based on the Server API rather than Desktop, so I decided against that. I haven’t run our benchmarking code yet, it needs some rework. Once I do, I’ll report back in the original thread.  
  
 BTW I appreciate the separation of 3.0 assemblies from 2.0, allowing them to run side-by-side. I’m sure everyone with production code on 2.x would concur.