open-discussion > Tool/Resource Description: Best Practices
Showing 1-7 of 7 posts
Sep 20, 2007 05:09 PM | David Kennedy
Tool/Resource Description: Best Practices
As more and more tool/resource developers characterize their
tools/resources in NITRC (or any of the other tool information
services such as NIF, NDG, IATR, etc.), the community has the
opportunity to establish some standards and conventions for best
practices in this area.
As a specific example, I'd like to pose the question regarding the 'best practices' in declaration of 'Operating Systems' supported for a tool/resource when the tool/resources utilizes Java as it's programming language.
In looking at the current (small) sample of 10 NITRC tools that use Java as the programming language, there are a number of tools that select 'OS Independent' for the operating system, and another set of tools that identify some number of specific operating systems.
So the 'quandary' (that might benefit from an accepted convention) is, since Java itself is pretty OS independent, should not most Java-based tools select 'OS independent' in the operating system selection? OR, despite the OS independence of an application, should the developer ONLY declare the specific operating systems on which they themselves have actually tested or otherwise gained experience with their tool's operation?
Comments are welcomed on this thought...
As a specific example, I'd like to pose the question regarding the 'best practices' in declaration of 'Operating Systems' supported for a tool/resource when the tool/resources utilizes Java as it's programming language.
In looking at the current (small) sample of 10 NITRC tools that use Java as the programming language, there are a number of tools that select 'OS Independent' for the operating system, and another set of tools that identify some number of specific operating systems.
So the 'quandary' (that might benefit from an accepted convention) is, since Java itself is pretty OS independent, should not most Java-based tools select 'OS independent' in the operating system selection? OR, despite the OS independence of an application, should the developer ONLY declare the specific operating systems on which they themselves have actually tested or otherwise gained experience with their tool's operation?
Comments are welcomed on this thought...
Mar 3, 2008 10:03 AM | Ged Ridgway
RE: Tool/Resource Description: Best Practices
As a potential user, if I was searching for a particular tool, on a
particular platform, then I would personally want the results to
include e.g. Java programs that should probably work, regardless of
whether the developer(s) tested them on my platform yet.
I think notes about which platforms things have been tested on (and perhaps to what extent, etc.) could most usefully be included in the detailed description of the package, but needn't be in a searchable field like "Operating Systems". Also, in the spirit of open source, presumably users other than the developers could/should contribute by adding comments noting additional platforms which do or do not work.
On the other hand, developers mustn't feel under pressure to support more platforms than they have time to cope with, simply because they have listed their tool as OS Independent. Perhaps a separate "supported on" field could clarify what they are willing to commit to? Otherwise, again, I think a few words in the description could convey this message.
I think notes about which platforms things have been tested on (and perhaps to what extent, etc.) could most usefully be included in the detailed description of the package, but needn't be in a searchable field like "Operating Systems". Also, in the spirit of open source, presumably users other than the developers could/should contribute by adding comments noting additional platforms which do or do not work.
On the other hand, developers mustn't feel under pressure to support more platforms than they have time to cope with, simply because they have listed their tool as OS Independent. Perhaps a separate "supported on" field could clarify what they are willing to commit to? Otherwise, again, I think a few words in the description could convey this message.
Mar 4, 2008 02:03 AM | David Kennedy
RE: Tool/Resource Description: Best Practices
So, is the 'consensus' (of two opinions!) that Java programs should
select 'OS Independent' in their categorization, and NITRC can host
somewhere a listing (probably wiki for the time being...) of
'tested platforms' that can be contributed to by either the
developers, or the community when they try various platforms and
find it to work (or not)?
Mar 4, 2008 03:03 AM | Angie Laird - Florida International University
RE: Tool/Resource Description: Best Practices
I'm agreeable to the two-person consensus in which Java programs
should be categorized as OS Independent. My only other suggestion
would be to potentially add a sub-category distinguishing Java
programs from other programs that are OS Independent, since it's
clear that they represent a distinct case.
Mar 4, 2008 03:03 AM | Angie Laird - Florida International University
RE: Tool/Resource Description: Best Practices
right, bad idea - my last suggestion introduces redundancy with the
programming language categorization!
Mar 4, 2008 03:03 AM | Dave Kennedy
RE: Tool/Resource Description: Best Practices
So, there are two classes of information: 1) programming language,
and
2) operating system. Programming languages other than Java can result
in operating system selection of OS independent. Does this not
already provide the flexibility of description for which you are
asking? If not, can you give an example of the type of categorization
you'd like to see?
Thanks for participating in the discussion!
2) operating system. Programming languages other than Java can result
in operating system selection of OS independent. Does this not
already provide the flexibility of description for which you are
asking? If not, can you give an example of the type of categorization
you'd like to see?
Thanks for participating in the discussion!
Mar 4, 2008 05:03 PM | Arash Payan
RE: Tool/Resource Description: Best Practices
I've read through the comments here in the discussion, so I'll
share the experience we've had developing our program.
While Java claims to be OS independent, there are certain aspects of the LONI Pipeline that we've had to code specifically for each operating system in order to make the program function on each platform. Most programs probably won't try to access the 'system functionality' as much the Pipeline does, so ours may not be the typical scenario.
I do however think that integration into the operating system is something that should be noted/listed/commented in the program description. On OS X, there is a huge diference between running the JAR file from the Windows build vs. using a bundled .app with integration into the system menu bar and prefs. Also, in Windows an installer is the expected distribution method for applications, so noting whether that exists would helpful to the user. Finally, on Solaris/linux, some launch scripts or even .debs or .rpms would go a long way toward integration.
I don't think I have the answer to the problem, but I thought I'd just share some more data. :-)
Best,
Arash
While Java claims to be OS independent, there are certain aspects of the LONI Pipeline that we've had to code specifically for each operating system in order to make the program function on each platform. Most programs probably won't try to access the 'system functionality' as much the Pipeline does, so ours may not be the typical scenario.
I do however think that integration into the operating system is something that should be noted/listed/commented in the program description. On OS X, there is a huge diference between running the JAR file from the Windows build vs. using a bundled .app with integration into the system menu bar and prefs. Also, in Windows an installer is the expected distribution method for applications, so noting whether that exists would helpful to the user. Finally, on Solaris/linux, some launch scripts or even .debs or .rpms would go a long way toward integration.
I don't think I have the answer to the problem, but I thought I'd just share some more data. :-)
Best,
Arash