This page is for collecting ideas for UCOSP 2010 students. More information at http://ucosp.ca/about
possible mentors: Boud, sebsauer
KOffice is a free office suite that has two completely different interfaces on top of the same core: a desktop interface and a mobile interface. KOffice development is a mix of volunteer and commercial input, but there is no single entity which directs development, This summer, many innovative additions have been coded for the mobile interface, FreOffice, by students from Bangalore. There are many areas where we can define interesting projects:
possible mentor: Boud
Krita is a digital painting application. Work on Krita tends to fall into either of two categories: graphics and algorithms or user interface work. For Krita, interesting projects could be:
possible mentor: Martin (not sure he can go to Toronto yet)
KDE's window and compositing manger KWin currently uses OpenGL 1.x for compositing effects. In order to get KWin to mobile devices the rendering has to be ported to OpenGL ES 1.1 and/or ES 2.0. OpenGL ES is a subset of OpenGL, so the code has to be streamlined to use a set of method calls which are both supported on regular hardware as well as on embedded devices. Furthermore the window compositing needs to be reimplemented using EGL instead of GLX. In a second step some of the effects need to be ported to ES. Most of the effects like for example Present Windows will work out of the box, if the rendering system is ported.
This is a very intersting project as it requires to interact with low level painting on both the desktop and mobile system. While in general it is possible to work with emulators, it might be useful to have access to mobile hardware capable of running KDE software.
KDE's window manager KWin is currently missing a set of unique and coherent effects for standard window interaction like open, close, minimize, maximize. KDE's design team Oxygen has proposed some ideas to address this issue. As part of the project it would be required to work together with the designers to elaborate the effects and implement them in the way the designers want them to be. The effects will require the use of OpenGL shaders, so knowledge of OpenGL Shading Language is a plus, but the language is easy to learn, C-like and very nice to work with.
Gluon is a framework for making and distributing games. It currently lacks support for networked games, and this project project will let you design and implement a networked multiplayer infrastructure for Gluon using the Telepathy Framework - a framework for real-time communication and collaboration. Due to Gluon's highly modular nature, this project will allow you to create this system with a high degree of freedom, while at the same time working with the vibrant and active pair of communities that are the Telepathy and Gluon developer communities. We suggest that this project be constructed in the form of a simple networking game as a test platform, with Gluon and Telepathy as the implementation targets.
Mentors: George and Leinir
together with Novell/openSuse possible mentors: Will and Jeremy
We need an application to create tests, the application would have two parts, a server that provides the questions to the students it has attached and every terminal that will receive the questions, show them and send the results to the server. It should use some specific standard protocols also. If that's not enough workload it would be good to have an editor for that too.
We have a file format to store information to be consumed by applications that help to learn languages. It would be good to have an editor to be able to easily create such files instead of editing them inside the testing applications.
Create any education application any student can think about, like all these applications that you would have liked to have in class but never had the occasion :).
It can go from creating the language support from scratch to providing debugging facilities or documentation providers.
Create visualizations to better understand the code based on the representations provided by KDevelop infrastructure (Project Manager, Language Support and Version Control System).
Use KDevelop infrastructure to create something like what we can find in http://websvn.kde.org/ but adding additional information like the ones we can find in KDevelop itself.