|Proposed by Benjamin Van Ryseghem (profile, biography) Don't forget to submit this proposal to official Google Melange site too!
How will I do that project
The first step is to really separate the widgets in different classes and hierarchies and then to introduce Spec.
Then ensure the trait integration.
Introduce plugins for better instant feedback.
Of course, during those steps, and as soon as they are reported, bugs will be fixed (and the whole Pharo infrastructure if needed).
What methodologies will I use
Since it's hard to right unit tests for UIs, maybe users feedback is a good indicator.
More tests should be introduced to cover procedural methods.
Suggested timeline and milestones
2 weeks to separate the widgets.
1 week to ensure trait support.
2 weeks to introduce spec.
2 week for introducing good plugins.
globally 1 week for bug fixing (even if this time will be distributed among other steps)
Where I see the risks
Spillting the widget can be a bit tricky. But on the other, it will introduce a better design and proper APIs
How the results will look like
Nautilus should be cleaner, more stable, and easier to extend :)