Difference between revisions of "Category:Projects"

(General environment mechanisms)
(Projects to be started or restarted)
Line 71: Line 71:
 
== Projects to be started or restarted ==
 
== Projects to be started or restarted ==
 
The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over!
 
The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over!
 
+
*[[Component_standards| Standards and tools for Eiffel-based components]]
 +
::Develop a standard for distributing Eiffel components in binary form, and implement it
 
* [[Unicode|Unicode support improvement]]
 
* [[Unicode|Unicode support improvement]]
 
* [[New_ports|Porting to new platforms (OSX Intel, OpenBSD)]]
 
* [[New_ports|Porting to new platforms (OSX Intel, OpenBSD)]]
 +
::Eiffel is highly portable; a port to a new platform is a moderate effort.
 
* [[IDE|IDE improvements]]
 
* [[IDE|IDE improvements]]
 +
::Please be more specific...
 
* [[Extended_static_checking|Extended static checking]]
 
* [[Extended_static_checking|Extended static checking]]
 +
::See e.g. ESC-Java, Spec#...
 
* [[Code_checking|Direct code checking (red squiggly lines)]]
 
* [[Code_checking|Direct code checking (red squiggly lines)]]
 +
::More user-friendly error "non-messages", following the lead of spelling error reporting in MS Word
 
* [[Learning|Integrated learning support]]
 
* [[Learning|Integrated learning support]]
 +
::Support for total beginners
 
* [[Macros|Editor macro recording and playback]]
 
* [[Macros|Editor macro recording and playback]]
 +
::Give EiffelStudio, in particular the editor, a macro facility
 
* [[Editor_breakpoints|Inserting and navigation of editor breakpoints]]
 
* [[Editor_breakpoints|Inserting and navigation of editor breakpoints]]
 
* [[Trace_points|Adding trace points (output a trace statement indicating a trace point has been hit without writing code or stopping execution)]]
 
* [[Trace_points|Adding trace points (output a trace statement indicating a trace point has been hit without writing code or stopping execution)]]

Revision as of 12:52, 8 August 2007

There are many ways to contribute to EiffelStudio through projects large and small. Check the list of open projects below; if you see one of interest, please contact the project members as listed on the corresponding project page. Don't forget to subscribe to the Eiffel developers list where you can post questions about past, current and possible projects.

If you feel none of the current projects covers your special interest, see below how to add your own project.

Note to author of projects available from this page: please make sure the project description is up to date and in particular that the project members are listed and reachable; that's the best way to gain more collaborators. If the project is no longer active please move the entry to projects to be started or restarted section so that someone else may pick it up.

Libraries (other than EiffelVision)

Eiffel is all about reuse of quality components. The best way to get started as an Eiffel contributor is to extend an existing library, or start a new one to fill a need.

EiffelVision-related developments appear under graphics and user interface.

Remote communication with LEGO NXT Mindstorms "bricks"
Encapsulate Scintilla multi-platform editor

Language and compiler

This is the heart of the Eiffel environment: providing the best possible implementation of the Eiffel language.

The Eiffel standard developed by the ECMA TC39-TG4 committee and approved in 2006 by the International Standards Organization is the definitive reference on the Eiffel language. Work is progressing quickly to include all ECMA-ISO mechanisms into the EiffelStudio compiler; you can help fill the remaining gaps.

General environment mechanisms

There are always new ideas to improve the user experience with EiffelStudio.

AutoTest is an automated testing framework taking advantage of Eiffel's Design by Contract to provide far more automation than current solutions such as JUnit. Currently it is a separate tool; ideally it should be part of EiffelStudio.
Improve ease of use, for both novice and advanced users, by refining the tools that create classes and features from templates.
Improve the EiffelStudio built-in smart editor.
While Eiffel doesn't need some of the refactoring mechanisms of other languages, the environment could benefit from new refactoring mechanisms in addition to the ones currently supported.
Build a high-quality mutation testing tool (for evaluating the quality of test strategies, fault detectability and redundancy) taking advantage of Eiffel's mechanisms, especially Design by Contract.
Integrate a repository mechanism

Graphics and user interface

Make the user interface of EiffelStudio more appealing. Much of the work is to be done in the underlying EiffelVision library, with the added benefit that improvements will be available to user applications as well.

More keyboard accelerators for EiffelVision applications.
EiffelVision support for the character set of any human language.
The graphical user interface builder, EiffelBuild, is currently a separate product. Ideally it should be completely integrated with EiffelStudio.
Provide EiffelVision with a Carbon back-end to make it truly native on the Mac.
Encapsulate Gecko html multi-platform engine component
EiffelStudio provides support for changing the user interface messages and dialogs to any language. If you are a fluent speaker of a language other than English, you can help the localization into that language.

Build infrastructure

Developments in this category are intended to help produce new versions of EiffelStudio faster and better.

Simplify and streamline the EiffelStudio build process.
Script the release of Mac universal binaries for OS X

Other Stuff

Testing

Developing is not everything; the results must also be tested for functionality and performance. The EiffelStudio testing process is completely open and follows advanced software engineering standard. Please visit the special category devoted to EiffelStudio testing.

Projects to be started or restarted

The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over!

Develop a standard for distributing Eiffel components in binary form, and implement it
Eiffel is highly portable; a port to a new platform is a moderate effort.
Please be more specific...
See e.g. ESC-Java, Spec#...
More user-friendly error "non-messages", following the lead of spelling error reporting in MS Word
Support for total beginners
Give EiffelStudio, in particular the editor, a macro facility
An update notification service to let developers know there is a new version available

Completed projects

Adding your own project

To add your own project:

  • Make sure it is not redundant with one of the existing projects. If there is any chance of duplication, please contact the project authors first.
  • Subscribe to the developers' mailing list.
  • Create a page about your project, listing the goals of the project, the rationale (why is this useful?), the issues to be solved, the overall techniques proposed, and a general development strategy. Make sure to include a "project members" section so that people can contact you (for example through your user name on this Wiki).
  • Edit the present page so that it includes a link to your project page; select the appropriate category. Below the link, include (as in current entries) a one- or two-line summary of the project's goal.
  • Do it!

Subcategories

This category has the following 3 subcategories, out of 3 total.