volunteering with memaid project

David Calinski <[email protected]> Fri, 10 Oct 2003 18:59:23 +0200
Newsgroups gmane.comp.tools.memaid.devel
Message-ID <[email protected]>
Hi Soren,

I also CarbonCopied memaid-devel@list so other people interested in memaid 
development, who would want to ask similar question (how to help?) will be 
informed. I hope you don't mind.

On Friday 10 of October 2003 17:32, Søren Kirk wrote:
> David and Klemens,
>
> I'm writing to you because I'm interested in helping with the
> memaid project.

Great! All help is greatly appreciated.
The power of open-source projects lies in people.

> I'll warn you in advance that I've never worked on an open
> source project before, but I'm a quick learner and I'm very
> interested in opensource projects and education software--
> especially with projects dealing with memory.
>
> I've only had a little C training (1 semester...a while ago), but
> I'm interested in learning C/C++ better.  I'm an Oracle and MS-
> SQL DBA for my day job (or as I like to describe it "I'm a
> professional database babysitter") and I used to be a Web
> developer.
>
> Let me know if there is something I can do to help.

I will paste here my personal lousy "to-do" list related to memaid project.
If you are interested in one, or more, of these things listed below - just 
drop me/us a line that you could do it, and I will try to provide even more 
details about, code related, hints, etc.
(If you have other ideas what should be done and/or what you would like to do 
- also please tell us.)

(BTW: Probably the best approach is to implement things you personally need or 
at least will find useful.
I myself work this way: if I need a feature - I just code it and I do it 
happily.)


1) Make/finish CGI/web version.
======================
I bet many people would find web version useful.

(SuperMemo provides such web version for a fee:
http://supermemo.vm.pl/Login.php )

I have started some code (see src/cgi_main.c in memaid package) but it was a 
bad shoot. Probably better would be to write it again from scratch basing 
code on either:
- src/extras/simple_gui.c
- src/api.c

The trick is that simple CGI version without database should store somewhere 
current 'internal state' and question/answer - either on a file or using user 
browser and variables...
But maybe you have some other ideas, e.g. to make CGI version using a 
database, or make a web version without using CGI.
Or... e.g. using a Perl with conduction to memaid-api (api.c).


2. Port to Windows and MacOS X.
========================

Most people use MS-Windows and as MemAid was written in portability in mind - 
why not easily port it to Windows and give more people this tool.

There are free compilers out there for Windows, e.g. Borland. But first: one 
should have a Windows - I don't have.
Fox version (the main MemAid verison) is pretty portable (just download latest 
MemAid and Fox Toolkit sources and try to compile them - on http://
www.fox-toolkit.org/win32.html is a quick howto), but there may be some small 
problems to correct. (Windows '/' -> '\', characters encodings (ISO/CP), 
Windows newlines characters, compiler-specific weirdness (e.g. Borland may 
use more/less bits for 'short' type - it would make some incompatibility  
 in binary files), etc.).
I will try to help here (not only here, of course) as much as I can.
I myself would port MemAid if I would have Windows.

Similarly with MacOS.


3. Java version. (this is not very important point for now, but still...)
===========
Java version could make memaid useful on ever more platforms.

I have just started Java courses this semester - in few months I will probably 
try to port MemAid to Java - mainly just to practice my knowledge of Java, 
but this will be doing two good things at once: beside my practice: making 
MemAid on Java.
David Fitzhenry offered to help with making memaid on Java. If more people 
would help here - we could make it faster&better.


4. More trivial things, but also important:
============================

- any details in current GUIs version that could be improved (e.g. such silly 
things like operating memaid only with keyboard should be implemented, RTF/
HTML formatting in a Fox Toolkit widget should be coded, now we will have 
some work on implementing categories - many changing details.)
- documentation (partly is written, but many things are not covered by 
existing documentation)
- packages for Linux distributions and *BSD
- "converter" from SuperMemo format (learning data) to MemAid "elements.txt" 
format
- translations to other human languages (especially in KMemAid, MemAid itself 
is not really ready for it and doesn't provide any mechanism for translations 
yet)
- make a GTK based GUI version - I was playing a bit with Glade2 (GTK GUI 
builder) - it seems to be easy. GTK is fast, light (it's in C) and has some 
features Fox Toolkit (used by current MemAid GUI) doesn't have. 
- ... probably many more things. The more users we will have, the more 
features request and ideas for memaid improvements we will have.

All above was from my point of view.
Klemens (he works on KMemAid) could have many other ideas and to-to list 
closer related to KMemAid.
Peter (working on a superkaramba widget, not publically released yet, but 
available from CVS) may have also another list. 

In core code is almost nothing to do, basically most of the work to do is on 
frontends.

Not bad would be to just run a most recent GUI version (regular release or 
from CVS) and see what could be improved - what improvements you would find 
useful.

And you may also want to subscribe to memaid-devel mailing list
https://sourceforge.net/mail/?group_id=89311
Here we (just few people - it's still a very small project) discuss memaid 
development, ideas, etc. All people interested in memaid development and 
wanting to help (even if only with ideas, constructive criticism, testing) 
are very welcome!


Dave






-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php