How to evaluate third party controls?
-
Hi guys, I need to evaluate some third party chart controls. What criteria are the most important? Just a list that I put together: - non technical - has a forum? - is it an active project? - good documentation? - company stability? - license model? - is source code available to be able to fix a bug when it is really necessary to do so? - technical - javascript vs java? (it is a web project, java based, where complete UI will reside in browser) - coloring? - data load (lazy load? paging?) - how can the data be passed? XML? via an API? - how the chart behaves on large sets of data? - Is the user interface Comfortable? I currently do not have the full list of features it must be capable of. What beside that you guys think is missing? cheers Holger
-
Hi guys, I need to evaluate some third party chart controls. What criteria are the most important? Just a list that I put together: - non technical - has a forum? - is it an active project? - good documentation? - company stability? - license model? - is source code available to be able to fix a bug when it is really necessary to do so? - technical - javascript vs java? (it is a web project, java based, where complete UI will reside in browser) - coloring? - data load (lazy load? paging?) - how can the data be passed? XML? via an API? - how the chart behaves on large sets of data? - Is the user interface Comfortable? I currently do not have the full list of features it must be capable of. What beside that you guys think is missing? cheers Holger
Rule of thumb: Keep in house what is essential to your product, outsource what everyone else has.
General
Licence Foremost, the redistribution licence: are there per-client / per server cost? Second, number of developer seats. Future proofness Importance depends on the desired run time of your project. There are several ways: Sourece Code - the minimum I'd expect in most cases. In the worst case, you can fix and extend it on your own - but beware the cost. Drawback: it's tempting to modify / extend that, but changes need to be merged with the next update - which costs you. Community - That might mean Open Source, Forums etc. That helps only if there is a critical amount of users. With a few dozen or even hundred casual users, there's rarely a driving force to keep the forum alive, much less someone submitting code. If they do have forums, check for typical reply time, questions solved, and typical problems. Market - is there a decent-sized market for the product? If the owner folds, will someone pick up the product / provide a migration path? Companies that do have recurring costs (e.g. for support plan or updates) are actually preferrable - they at least thought about capturing maintenance cost. Still, if you are in for a niche product, source code might be the only safe bet. Support: A good community can give status quo support, only a thriving open-source project can provide technology upgrades. Consider paying extra for quick support. If you are trying to use a library, and you spend hours on trial and error, or wait a week for a reasonable reply, your schedule will start to lag. Technical - can't say much abotu that, the most important factor is: does it fit in? e.g. Java vs. JavaScript: can you afford an additional dependency, or do you use Java anyway? Handlign of large amounts of data - how much do you expect?
Charts
Do they have a trial? Customizing layout, axes etc.? Do the features work together well? (Yes, there is a charting component where the "dtaa cursor" demo suspicously has the zoom disabled. Guess why...) Frequent/realtime updates (if you need these)? When displaying multiple curves in one chart that may overlap: can the user bring them to the foreground e.g. by selecting them? Can you control the draw oder independent of the order in the legend? Interactivity - something easily underestimated. Can you zoom? Can you handle clicks, can you map click coordinates to chart coo
-
Rule of thumb: Keep in house what is essential to your product, outsource what everyone else has.
General
Licence Foremost, the redistribution licence: are there per-client / per server cost? Second, number of developer seats. Future proofness Importance depends on the desired run time of your project. There are several ways: Sourece Code - the minimum I'd expect in most cases. In the worst case, you can fix and extend it on your own - but beware the cost. Drawback: it's tempting to modify / extend that, but changes need to be merged with the next update - which costs you. Community - That might mean Open Source, Forums etc. That helps only if there is a critical amount of users. With a few dozen or even hundred casual users, there's rarely a driving force to keep the forum alive, much less someone submitting code. If they do have forums, check for typical reply time, questions solved, and typical problems. Market - is there a decent-sized market for the product? If the owner folds, will someone pick up the product / provide a migration path? Companies that do have recurring costs (e.g. for support plan or updates) are actually preferrable - they at least thought about capturing maintenance cost. Still, if you are in for a niche product, source code might be the only safe bet. Support: A good community can give status quo support, only a thriving open-source project can provide technology upgrades. Consider paying extra for quick support. If you are trying to use a library, and you spend hours on trial and error, or wait a week for a reasonable reply, your schedule will start to lag. Technical - can't say much abotu that, the most important factor is: does it fit in? e.g. Java vs. JavaScript: can you afford an additional dependency, or do you use Java anyway? Handlign of large amounts of data - how much do you expect?
Charts
Do they have a trial? Customizing layout, axes etc.? Do the features work together well? (Yes, there is a charting component where the "dtaa cursor" demo suspicously has the zoom disabled. Guess why...) Frequent/realtime updates (if you need these)? When displaying multiple curves in one chart that may overlap: can the user bring them to the foreground e.g. by selecting them? Can you control the draw oder independent of the order in the legend? Interactivity - something easily underestimated. Can you zoom? Can you handle clicks, can you map click coordinates to chart coo
Peter, thanks! :) that is comprehensive. Holger