Skip to content

GSOC 2013 idea list

arnebrasseur edited this page Apr 10, 2013 · 20 revisions

If you need more information or would like to discuss these or other ideas, please get in touch with us through the mailing list (shoes@librelist.com) or by visiting our IRC channel #shoes on freenode. A lot of communication and discussion also happens through the github issues of shoes4. Plus you can have a look at the open issues when looking for further project ideas :-)

SWT backend

  • Polish the layout manager. Currently, layout works more-or-less as in Shoes 3. There are major and minor differences to iron out. Layout should match the old shoes3 for all of our example apps. Requires Ruby and reading Java code/documentation. May require reading some C-ruby code.

Hackety Hack

  • Build out Shoes 4 support for Hackety Hack. Itemize the features that Hackety Hack requires, develop an implementation plan, and implement them as far as possible. Requires Ruby.

Other backends

  • Develop a shoes backend using a different graphics toolkit. Currently, we are implementing a "reference" backend in JRuby and SWT, but Shoes 4 is designed to support multiple, pluggable backends. Having multiple backends available makes Shoes a more viable solution for many projects. Some preliminary work has been done on a Qt backend. There is also lots of working GTK code in green_shoes and Shoes 3 that needs to be adapted to the Shoes 4 architecture. Requires Ruby and reading Java or C/C++, code/documentation depending on the backend.

App packaging

  • Design and implement an app packager for Linux and/or Windows. Packaging exists for OS X apps, but we need Windows and Linux packaging to complement the existing OS X app packager. Packaging should be implemented in the furoshiki gem, which will be used to package shoes apps, along with all required dependencies, for all major operating systems. This will enable a Shoes app to be packaged as a standalone package for OS X, Linux, and Windows. Users will not have to install any dependencies to run a packaged Shoes app. It may be possible to build upon the work done in Releasy. Requires Ruby.

Video

  • Implement video handling in Shoes 4, so that playing a video clip in your Shoes app is as simple as diplaying an image or playing an audio file. Requires Ruby, evaluating Java video support libraries, integrating Java and JRuby.

Bloopsaphone for Shoes 4

  • The original Shoes contained several sub-projects to play around with and be creative with. One of them is a music engine called Bloopsaphone. It is written in C, so to work on the JVM an FFI integration layer would need to be added, or it could be ported to pure Ruby. Requires Ruby and reading/packaging C code.