-
Notifications
You must be signed in to change notification settings - Fork 8
Road Map
This project is still young and there is still lots that can be done. There are lots of little things, some medium sized tasks, and one or two large things that should get done.
Any and all contributions are welcome, there is no pull request too small!
Tasks are not organized by target version number, but instead by their size.
- Cocoa Auto Layout
OS X Lion introduced a new way to specify how a UI should be laid out. They called it Cocoa Auto Layout. The existing layout manager for HotCocoa can be a little clunky since it uses the older APIs available. Auto Layout seems to have a very good programmatic interface that we could hook into.
- Thoughts on delegates and custom methods
The HotCocoa delegation style is cool, it would be nice if it worked everywhere, or would it? This is really something to think about.
Similarly custom methods might benefit from being defined everywhere and not just scoped to HotCocoa. In some cases it is impossible to have Hot Cocoa customizations applied to an object, such as any object that is created for you by a service (e.g. Bonjour). Or maybe the solution in this case is to catch those objects and apply Hot Cocoa customizations before they are passed to client code.
- API documentation
The large documentation challenge is documenting the mappings. It is nice to have things automatically configured for you, but having to dig around in the code to find out what the default configuration is set to can be annoying. It would also be nice to have custom methods and delegate methods documented properly. This is a large task as it requires writing a plug-in for the documentation system.
- Guides
There are some large guides that could be written...
- Example code
Small projects demonstrating things not shown in other examples might be useful to newcomers... ### Little things
- New mappings
- New features
- HotCocoa Grahpics
We should merge in changes for hotcocoa/graphics from upstream and its network.
- API documentation
There are other APIs that need documentation, there are entire classes that need some documentation love. Specifically the classes in lib/hotcocoa/graphics
have sparse documentation.
- Regression tests
Some tests are harder to implement than others. The challenge is to make the tests non-invasive so that they can be run as part of Gem Testers.
- Guides
Some documentation is not suited to be directly with the code and deserves its own guide.
- Configuring your build.yml file
- Adding gems to your project
- Using HotCocoa with your existing Xcode projects
- General cleanup and refactoring
The code base has accumulated a bit of "code debt" and should be cleaned up and refactored a little bit. Specific problems can be found if you search the code base for @todo
tags.
- New mappings
- New features
- API documentation
This can be done in small chunks, and by many people; it is a good way to get familiar with the code base! Feel free to add small examples, or explain edge cases.
- Regression tests
Some regression tests are easier than others, and can be done in small chunks, there are some features that have no regression tests yet.