Size: 6876
Comment:
|
Size: 6879
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 44: | Line 44: |
The application could have similar chapters as the following: | The application could have similar sections as in the following: |
Google SoC Project Ideas
This pages lists some suggested projects that could be proposed and implemented by participants of the Google Summer of Code program. Don't take this as restriction however, we will gladly accept work in any of these areas by others not participating in the Summer of Code too!
Proposals for projects not on this list will be gladly reviewed as well.
wxPython
- Switch the build system to be based on bakefile instead of distutils. (Bakefile is a makefile and project file generator.)
Develop a mechanism for allowing Python exceptions to pass through the C++ layers and be caught in python layers higher up the call stack. Implement and test. Check with RobinDunn about this first, I have some ideas and notes about how to do this already, it just needs feasibility testing and then actual implementation.
Complete the work needed to distribute wxPython as a Python egg. See [http://lists.wxwidgets.org/cgi-bin/ezmlm-cgi?11:mss:73095:200802:hndcapodnmpbdhbnmgpn Status of wxPython Eggs]
- Create an extension module that provides an efficient conversion (at the C level) between wxBitmap and PIL images.
wxPython Runtime Environment (Check with RobinDunn for what this means.)
- Go through the entire Wiki and test, update, and modernize the sample code for the latest release wxPython.
Refactor FloatCanvas to make it possible to optionally use wx.GraphicsContext for nice anti-aliasing and alpha blending effects, and other FloatCanvas tasks as directed by ChrisBarker. More info is [http://lists.wxwidgets.org/cgi-bin/ezmlm-cgi?11:mss:73159:200802:fomomhopfbkmejmacohh here].
Make it possible for wxPython wrappers to use the "n-d array interface" introduced by the numpy project where appropriate. This would allow copy-free and efficient transfer of data for wx.Image, wx.Bitmap, wx.PointList, etc, etc. The interface is supported by numpy, PIL, and probably other projects by now. I think it's slated to be a standard part of py3k.
- Improve/extend or rewrite the implementation of GUI2Exe, so that it can support other exe-builders (other than py2exe), also on Linux and Mac (py2app, cx_Freeze and so on).
Create a showcase application for wxPython that can not only be used to learn the basics of application design, but also serve as a starting point or framework for newbies to build their first application upon. See [http://lists.wxwidgets.org/cgi-bin/ezmlm-cgi?11:mss:73115:200802:fomomhopfbkmejmacohh this message] for more details.
Create a comprehensive series of screencasts and tutorial documents that can be used to guide a newbie through their first steps with wxPython, including how to use the demo as a teaching tool. From there the screencasts/tutorials should teach how sizers work and how to use them, how to use wx.DC and/or wx.GraphicsContext for custom drawing, using a wide variety of different kinds of widgets including some from the wx.lib package, etc. etc. Ideally the screencasts and tutorials would be organized as a series of lessons that guide the viewer through the design and implementation of a useful sample application (not just a toy or a useless example) that can be added to wxPython's samples folder.
XRCed
- Using the new plugin facility, add support for a bunch of widgets that aren't there now.
- A series of screencasts and tutorials that demonstrate how to use XRCed effectivly, and how to use and build upon the layouts and code that XRCed produces.
- See also ["XRCed Wish List"]
Soc Proposal Guidelines
The application could have similar sections as in the following:
Name: E-mail Address: Project Title: Project Goals: Project Benefits: How does your project benefit wxWidgets and its community? Project Tasks and Deliverables: Break your project into tasks or pieces. Describe in detail what you plan to accomplish and what the results will be. Project Schedule: Estimate how long your project will take and how much time you have to dedicate on it. Try to establish a timed roadmap of the tasks to do. Personal Statement: Tell us about yourself. Describe why you are better than any other applicant for this project.
Tips for prospective students
Please try to not underestimate the scope of a project, but also not to overestimate it. Make working on your wxPython project your main activity for the entire summer, as to not go over deadlines. When writing your proposal, keep in mind that you aren't the only one writing one. We will have to accept a certain number of applications, so you have to make your application stand out to be selected.
Sell your idea - Describe your idea in detail. What is the ultimate goal? What components will it have? What are the benefits for the user? How do you plan to ensure that the project gets completed on time? If a more detailed explanation of the idea already exists, what will you do that will go above and beyond all expectations?
Sell yourself - Make sure you get across how enthusiastic you are about the project. The more enthusiastic you are, the more assured we will be that you will finish your project. It also indicates that there is a good chance you will stick around even after the Summer of Code has finished. Why are you interested in Open Source and wxPython in particular? What interests do you have, and how do these relate to the project for which you are applying?
Be enthusiastic - Summer of Code is a very exciting opportunity, and wxPython is a very exciting project, with a long and proven history, to work on. We aren't just looking for someone who wants a summer job to pass their time and earn some money. We want people who have a passion towards open source and are likely to become constant contributors to wxPython and open source also once the summer has passed. The goal of the whole initiative is to have students find their way to open source together with mentoring and a good motivation.
Don't be afraid - Do you have a brilliant idea not covered on the list of project ideas above? Excellent! We'd love to hear it.
Joining SoC
Note: You cannot be both a student and a mentor, the reasons why are available [http://code.google.com/support/bin/answer.py?answer=60285&topic=10730 here].
Students who want to join and apply can find more information [http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-student-applicants here].
Anyone who wants to become a mentor can find more information [http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-mentors-and-organization-administrators here].