Ideas: Google Summer of Code 2010
Scroll to the bottom of this page for all the pages in the 2010 ideas category.
Looking for JBoss.org ideas? http://community.jboss.org/wiki/GoogleSummerofCode2010
:: If you provide a use case and some ideas of how to solve, you give more room for students to put in their own ideas and passion.
Consider if that is possible for each of your project ideas.
Prepare a project idea page, part of which is included on this page.
:: To learn how to add an idea to this page, read How to create an idea page for Summer Coding.
Status: Accepting Applications
Summary of idea: The creation of an official KDE Netbook Edition Spin for Fedora 14
Contacts: Ryan Rix < rrix fedoraproject.org >, rrix on irc.freenode.net/#fedora-kde
Mentor(s): Ryan Rix rrix on irc.freenode.net/#fedora-kde, Jaroslav Reznik jreznik on irc.freenode.net/#fedora-kde
Summary of idea: A step by step process of joining the Fedora Project.
Contacts: Mike McGrath
Mentor(s): Mike McGrath
Notes: Right now when new users sign up for an account, they have NO idea what to do next. One common thing is applying for a bunch of seemingly random groups, then trying to ssh to fedorapeople. Then just having your applications sit there… forever never getting approved.
I’d like for the account system to have a simple wizard interface (via a plugin), welcomes users, explains how Fedora works and explains how to apply for groups and what to expect. We may have to come up with a standard way to apply for groups, to be discussed.
Summary of idea: The Fedora PackageDB contains information that both developers and end users would find useful about the applications and packages in Fedora. There are a large variety of changes that could be useful for it ranging from the mundane (example: porting to TurboGears2, adjusting the way we link between the Application and Package interfaces) to redesigning the database model, or including new features.
Contacts: Toshio Kuratomi
Mentor(s): Toshio Kuratomi
Notes: Some ideas are listed on https://fedorahosted.org/packagedb/wiki/ToDo
Summary of idea: Copr (Cool Other Package Repo) is a Fedora project to help make building and managing third party package repositories easy. Copr is being implemented this summer by Seth Vidal and Toshio Kuratomi. They would welcome help from interested students.
Contacts: Toshio Kuratomi(abadger1999)
Mentor(s): Toshio Kuratomi(abadger1999)
Summary of idea: Nautilus is the default file manager for Gnome desktop. The current state of the search dialog is suboptimal, our goal is to make it more rich and provide more options. For example, when we had set Tracker as the primary search engine, we also committed users to use their fulltext search by default. An option switching between filename-based matching and fulltext search would be great addition. Additional filters would also be a great asset.
Contacts: Tomáš Bžatek
Mentor(s): Tomáš Bžatek
Notes: See upstream bug https://bugzilla.gnome.org/show_bug.cgi?id=612725#c6 for details
Summary of idea: Various ideas related to CHASM
Notes: CHASM, the Cryptographic-Hash-Algorithm-Secured Mirroring
solution, is a project that is to help alleviate a lot of the pains that
mirrors have in organizing and verifying their content. The project can
be thought of as a stateful
rsync daemon in some respects, and solves
a problem that kernel.org and a number of other large mirroring
infrastructures have been looking into for several years now. This is
ultimately a project that will be used by a greater portion of the
larger mirroring infrastructures and as such has a lot of need for high
performance and good design.
Summary of idea: The proposed work is to write the GTK GUI for Digital Gate Compiler (DGC) to use the latest GTK+ 2.0 API. This is Fedora Electronic Lab ticket #73: https://fedorahosted.org/fedora-electronic-lab/ticket/73
Contact: Shakthi Kannan , "mbuf" at irc.freenode.net/#fedora-india
Mentor(s): Shakthi Kannan , "mbuf" at irc.freenode.net/#fedora-india
The main page for this idea is http://community.jboss.org/wiki/StudentContributorProjectswithInfinispan.
Summary of idea: Improvements to Infinispan project (http://www.jboss.org/infinispan)
Contacts: Manik Surtani
Mentor(s): Manik Surtani
Notes: Ideas are
ISPN-272 Recover from transaction failures
ISPN-127 Ability to bring up/take down nodes based on SLAs
ISPN-374 Add event handling to HotRod
ISPN-57 Support Google App Engine
ISPN-200 Distributed queries
ISPN-262 Geographically distributed data grid
ISPN-263 Handle MERGE events to deal with split brains
Please check details at the Student/Contributor Projects with Infinispan wiki page at http://community.jboss.org/wiki/StudentContributorProjectswithInfinispan
The main page for this idea is http://seamframework.org/Community/StudentProjects.
Summary of idea: Improvements and new features to seam Framework (http://seamframework.org/)
Contacts: Pete Muir
Mentor(s): Pete Muir
Notes: Ideas are
JBoss ESB integration with CDI
Errai (GWT) integration with CDI
Errai (GWT) integration with CDI events
Errai (GWT) integration with Seam Security
Extensible project management tooling environment (based on Maven and Maven Archetypes)
Conversations with remote EJBs
Please check details at the Student Projects wiki page at http://seamframework.org/Community/StudentProjects
Summary of idea: Student Project Management System
Contacts: Shreyank Gupta , Shrink on irc.freenode.net/#fedora-india
Mentor(s): Shreyank Gupta
Notes: The idea is to develop an application which would allow Mentors and Students to collaborate effectively and get the process of mentoring automated.
Summary of idea: Handy graphical tool for archiving settings of desktop applications. This tool will be useful for users who:
want to simply backup / restore look-and-feel and settings of desktop applications;
frequently migrate from one distribution to another;
have more then one device and want to sync settings.
Contacts: Alexei Panov
Mentor(s): Alexei Panov
Notes: Tool can be written to work with plugins (preferrable) or just bunch of configuration files to describe backup / restore / sync methods and enable support for certain application.
Easy search and select installed applications for backup / restore / sync
Can work as application or as daemon
Has scheduler and backup / restore / sync settings (archive type, passwords, compression rate, additive/solid, etc.)
Custom selection of applications for archiving (one, group, all, etc.)
Restoring data from archive with tracking of current application, nonexistent on target machine applications should be reinstalled from PackageKit
Including user selected files in archive for restoring on target machine (possibly searching and automatic including configuration files or files of specified types).
Summary of idea: Synchronization tool for mobile devices. The creation of tool for data synchronization between mobile devices and desktop, such as contacts, calendar, schedule, tasks, messages. Today mobility is a major trend, so enabling synchronization between mobile and desktop is important for Linux desktop adoption.
Contacts: Alexey Vasyukov
Mentor(s): For the moment Alexey Vasyukov
Notes: Proposed features:
Synchronization of contacts and calendar (required), tasks and messages (desired)
Support for popular mobile devices, simple extensibility for new gadgets via plugins
Support for popular desktop applications, simple extensibility for other via plugins
Simple graphical synchronization tuning tool – what to synchronize, scheduling, rules (filters, conflict resolution, etc.)
Enabling mobile device backup and restore
Desirably running not only on Linux, but also on Windows and MacOS (TBD)
Think about future integration with open source collaboration suites and unified communication systems.
The current stage (stage 1) is about research and architecture design. It can not be stuck to certain technologies. You need a broad vision of different technologies to be successful at this stage.
Current stage will take at least 2-3 months. After it we will determine coding tasks and timeline and proceed to stage 2 - prototype implementation.
The tasks for current stage:
Find out how to upload/download to/from popular mobile devices (Android, iPhone, Symbian, PalmOS, Win Mobile, BB, etc) contacts, messages, calendars, todos, media content, etc. It includes studying what data is accessible, in what format we are to process it, what protocols-libraries-APIs should be used. As a result we should get clear understanding what and how can be synced for different devices. This task will require gathering and reading tons of technical documentation and writing code to check if documentation is really true. I can not predict what programming languages, libraries, standards and protocols you will encounter.
Find out how to upload/download to/from popular desktop apps (Evolution, Thunderbird, KDE PIM, Outlook, etc) contacts, messages, calendars, todos, media content, etc. Once again, it includes studing what is accessible, in what format, via which channels. As a result we should get clear understanding what and how can be synced with different apps. This task will require, similarly with the previous one, reading documentation and writing tests. Once again, I can not predict what programming languages, libraries, standards and protocols you will encounter.
Find out how to integrate mobile sync into current system infrastructure for Linux desktop (dbus, udev, PackageKit, etc) and, probably, Windows desktop (???). This task will require very good knowledge of system design.
Prepare concept of GUI application and implement the first version (with placeholders instead of real sync plugins). This task will require knowledge of cross-platform programming with Python or C/C++ and GTK/Qt/etc. Knowledge of GUI design and usability will be a big advantage.
Prepare the architecture based on the results of tasks #1-4. The architecture should meet the requirements . Determine tasks for complete UMS implementation.
From my point of view each of the tasks #1-4 will require few person-months. Task #5 will be solved collaboratively.
Summary of idea: The aim of this project is to finish fingerprint support for various KDE core components and package it for Fedora. The current code supports KDM login & KDE locking and sits in KDE SVN playground. Support to other KDE componenets have to be done - Polkit KDE auth. agent, kdesu etc. Code should be accepted by upstream and should go through KDE review to be shipped in official KDE SC releases.
Mentor(s): Jaroslav Reznik & KDE SIG
Summary of idea: Usability engineers regularly administer usability sessions. Within these sessions there are a number of things that they need to record:
The three most notable are the screen of the user being tested
An external camera source
An external microphone
These must be compressed and multiplexed together, compressed. The tool must be able to open these files, export them to other more conventional types, i.e. an OGG simply of the users screen.
Notes: for FIT BUT/FI MUNI students only
Summary of idea: The GNU Smalltalk virtual machine is a monolithic package in Fedora, and is not updated often. By contrast, the Debian package separates all of the provided bindings into separate packages, which allows to install the VM with fewer dependencies—for example without GTK+ support, or without Expat, and so on.
The project aims at providing a similar level of flexibility for the Fedora package. In addition, it would be good to have a way to generate from the same source the Fedora .spec file, the Windows installer (currently done with a custom shell script that uses the Fedora mingw32 cross-compilation environment), and the Debian package.
Contacts: Paolo Bonzini
Mentor(s): Paolo Bonzini
Summary of idea: Several printer drivers are capable of reporting the amount of remaining ink or toner in the printer they are driving, but they all do it in different ways. Usually there is a command line program that the user has to know about and run (and interpret the output). For gutenprint there is escputil. For HPLIP there is hp-levels. And so on.
CUPS provides a unified framework for all drivers to report marker levels in the same way, viewed and queried from a single user interface. The same interface can be used for other "special" functions such as cleaning/aligning the print heads, printing a self-test page, etc. We just need the printer drivers to conform to this way of doing things.
Changing both gutenprint and hplip would be sufficient to cover a large number of printer models.
Contacts: Tim Waugh
Mentor(s): Tim Waugh
Status: Accepting Applications
Summary of idea:
Ailurus is an application installer . It lists specific software for specific task. It lists few software, rather than all packages in Fedora repository. It helps new users because new users can find out software they want directly, rather than do searching in a lot of packages. Many Fedora users are using Ailurus now.
Our goal is to make Ailurus customizable. For example, users can add comment for software. Software introduction can be changed. New software items can be added. Existing software items can be removed. Under the user’s permission, the changes to the software items can be uploaded to a web service on google app-engine, therefore other users will obtain a benefit by downloading the changes. This application installer supports extensions. Users can add their own function.
Contacts: Homer Xing
Mentor(s): Homer Xing
Summary of idea: KDE has taken an advance on file sharing which is Kcm-filesharing by allowing the user list all samba/nfs shares and allow the user to configure the shares centrally and graphically, while which is required but not supplied by Gnome. The proposed project aims to create a utility that should provide a graphical administration tool to configure both samba system shares and nfs shares. It is able to manage the file sharing management, authentication, and other most worthy configurations of samba and nfs.
Contacts: Yang Jie
Mentor(s): looking for a mentor
Summary of idea:
The idea is to have an inline DocBook XML editor in Zikula (or the Fedora instance of Zikula).
The preliminary tasks are to:
Enable Zikula setup with DocBook support.
Enable wiki-like editing setup that can support revisions too
Enable XSL support for parsing of docbook to and from html
Summary of idea: The goal is to produce a document like the User Guide, but focussed on applications that might be used by musicians. A broad range of applications and application types will be covered, including the installation and use of software from Planet CCRMA (http://ccrma.stanford.edu/planetccrma/software/).
Contacts: Christopher Antila
Mentor(s): Rlandmann and AnthonyGreen
Summary of idea:
Freeseer is a portable presentation capture tool. It captures vga output/firewire/webcam/local desktop and audio and mixes them together to produce a video thus enabling you to capture great presentations, demos, or training material easily. The ideas for this project implement various features to improve the Freeseer video capture software.
Contacts: Andrew Ross
Summary of idea: Extend the Build-ID support to make it more universally usable.
Notes: This is not a completely worked out idea yet. A proposal should pick one or more scenarios and create a concrete implementation plan.
The main page for this idea is http://trac.yorba.org/wiki/SummerCodeIdeas .
Summary of idea: Shotwell is the default photo manager in Fedora 13. Yorba (the open source group that develops Shotwell) is looking for students interested in working on two different aspects of Shotwell this summer.
First, slideshows. Today, Shotwell’s slideshows are primitive: photos are simply displayed in succession with no transitions of any sort. We’d like to implement fancier slideshows with cool-looking transitions. If time permits, it would be great to add captions and/or music to slideshows as well.
Second, printing. Today, printing in Shotwell is basic: you can simply print one photo per page on a white background. We’d like to let the user print multiple photos per page, choose fancy borders and background colors and so on.
Contacts: Adam Dingle