magick.crow
SOC-5
Totally agree on the "one style/face/colors/fonts" concept. Basically pulling the same trick MS did with Office that "looks the same" for Word/Excel/PPoint.
Finding the right combination will take some experimentation. And they might depend a bit on the general target platform(s). The font must be availabel on all platforms and remain readabel on them, colors must also work. Stuff to play around/do some prototype GUIs.
With the basic libraries I am envisioning something a bit past "write this class to XML". The library would IMHO have a method "writeCharacter(thisCharacter,thisId)" and then handle file generation on the file system (That can be quite different for i.e mobile platforms). Basically a wrapper around the Mapper that is provided by the libraries (In JAVA the mapper would be Castor, JAXB etc) providing the additional functionality.
When building the GUI the size should be kept low. Many Netbooks (like the Lenovo 10-3) and the low end tablet/convertible (Asus MT101, S10-3t) have a 1024x600 screen size. And these are the Windows XP/Windows 7 system one would quite likey find at a gaming table since they are small, cheap, silent and have a long battery life.
I would settle for one language to share code as much as possible. Group projects/Non commercial project must plan for loosing developers for a number of reasons. Having one language gives better chances for the remaining members to take up the work.
With that in mind: Agree on a coding style and naming conventions. And if the language supports integral documentation (i.e like JavaDocs) use them.
Build test cases. Test driven development might not be doabel but when having multiple developers a set of tests that check the external interfaces are extremly useful.
Use a source code control system. Can be as simple as MS Source Safe, will more likely be SVN or GIT. A continous integration system like HUDSON is nice but not a must. Automated build scripts OTOH are a must IMHO. Can be as simple as good ole make or as complex as Maven
Set up a task list system like JIRA or Bugzilla. That way you can keep track of open issues, known bugs etc.
I agree with all this. I do not have any MS systems to play with so if I am going to do anything we will need to stick to stuff that works with Linux. (I don't want anything to do with MS in any case).
Unit testing is a great way to go at least for some parts but first I want to know who the leader is here and what language they want to go with and what tools and what licence this project is under. Do we have official traveller support?
Unit testing info for those that are clueless about it.
http://diveintopython.org/unit_testing/index.html
A naming standard that I use for my Python code. I am not strict about it but it is well thought out and good to use.
http://www.python.org/dev/peps/pep-0008/