Arabeyes categorizes development code-projects (ie. non-translation) into two types:
Internal: projects that are completely written by Arabeyes volunteers.
External: supplemental patches and fixes to existing applications.
Internal projects are also sometimes termed 'home-brewed' projects since they are completely encompassed within Arabeyes and see/require no external input/direction/approval.
For a comprehensive list of Arabeyes' global TODO's, you may want to visit ArabeyesTodo. This may give you some ideas as to what you may want to contribute with.
Here are some guidelines on how to proceed -
Subscribe to the 'developer' mailing-list on Arabeyes. http://lists.arabeyes.org/mailman/listinfo/developer.
If the project you've select to work and contribute to is an external project, subscribe to the relevant external mailing-lists of the project as well.
Post a message to the developer list announcing your intentions and plans.
If the project you've selected is an external one, make sure that all your posts/correspondence to 'developer' or the external project's mailing-list(s) and/or author(s) get CC'ed to both locations in order to keep all parties involved informed.
Guesstimate a time-line and a date by which you expect to complete your tasks (ie. set yourself a deadline and publish it).
Research what is required to complete the tasks. This will involve sifting through everything Google produces as well as various advice you might get from people. In the meantime, start a file with all your notes and findings as well as the various questions (and answers) as they become available.
Post your questions/ideas to the 'developer' list.
Once satisfied with your research and a working solution is likely, start implementing.
Request the creation of a new directory for your project from the Arabeyes CVS Administrator by submitting a bug report on bugs.arabeyes.org.
Continue your work and ensure progress (keep that deadline in mind) !!
Be very transparent of your progress (make it known); if there are any breaks in your continuation (ie. you go on vacation or something) note it to those working with you without hesitation.
It is very important to let others know the progress of the project. Periodically send 'status reports' to the relevant mailing-list. Be sure to link the archived post in a brief update of the project web page as well.
Deadlines are not set in stone. You set your own time-line as you see fit (there is no need to falsify a 'soon' time-line, realism should be adhered to). If you start realizing that you will be missing your own deadline, push it back/forward as you see fit. However, letting those involved know of these changes is absolutely necessary. If you don't communicate such issues, adverse negative connotations (such as thinking the project is "dead") might result, thus, it's crucial that open communication remains in place.
Mailing-lists are instrumental to your research and implementation. If you don't use them (on Arabeyes or elsewhere), you are severely decreasing the amount of information you can potentially gather as well as the quality of the end-result.
Lastly, have fun and feel proud, for you are working on something that thousands of people now and in the future will appreciate.