Ideas

Differences between revisions 5 and 6
Revision 5 as of 2010-03-11 04:00:40
Size: 19228
Editor: 94
Comment: formatting
Revision 6 as of 2010-03-11 04:11:24
Size: 19227
Editor: 94
Comment: More formatting... =)
Deletions are marked like this. Additions are marked like this.
Line 99: Line 99:
 * Description of the project: Now that all Ubuntu packages are based in Bazaar we can more easily build a system similar to Merge-o-Matic that looks at upstream rather than Debian. This system would check for new upstream releases, attempt to merge them in, and then build and run checks against the result, reporting the results for Ubuntu developers to get an idea of what effort will be involved. If the project is a success then it could be extended to replace Merge-o-Matic to get the test building and checks on those results too. It would be useful to have some experience of using Bazaar, coding python, and basic packaging, including building packages, but not required. I am happy to mentor this, from UTC+1. I haven't asked around for a
backup contact, but I'm sure I can find one.
 * Description of the project: Now that all Ubuntu packages are based in Bazaar we can more easily build a system similar to Merge-o-Matic that looks at upstream rather than Debian. This system would check for new upstream releases, attempt to merge them in, and then build and run checks against the result, reporting the results for Ubuntu developers to get an idea of what effort will be involved. If the project is a success then it could be extended to replace Merge-o-Matic to get the test building and checks on those results too. It would be useful to have some experience of using Bazaar, coding python, and basic packaging, including building packages, but not required. I am happy to mentor this, from UTC+1. I haven't asked around for a backup contact, but I'm sure I can find one.

Ubuntu One desktopcouch

  • Name of mentor: Elliot Murphy

  • Description of the project: A core part of Ubuntu One is the desktopcouch system, built on top of the CouchDB document-oriented replicating database. This is a system rich with opportunities for a student to work on an interesting project that integrates with the modern web/cloud. Some ideas: working on a generic history browser/conflict resolution tool for CouchDB documents; work on a hosting scheme for CouchApps (serving a html/js/css directly out of couchdb); integrating some popular desktop application with desktopcouch so it's data can be replicated between machines; integrating chrome bookmark sync with couchdb; designing and building a commenting system so files synced with ubuntu one can have comments and tags stored in couchdb. And many more ideas if you don't like those!

Arsenal bug auto-triaging tools

  • Name of mentor: Bryce Harrington

  • Description of the project: Triaging bugs is tedious work! Arsenal is a set of python tools for making the computer do this for us automatically. Some ideas: Create more hooks; auto-extract patches; convert perl scripts to python; new graphs; other.

Proxy-safe repository format

  • Name of mentor: Robert Collins

  • Description of the project: Fixing the filesystem coherency requirements apt has to permit better caching logic is another thing that would be awesome. This may already be done upstream; I'm not sure. Anyhow, the thing is that apt has pairs of files (e.g. Releases and the signatures) and a hierachy that are all tied together by hashes; the more files there are the more chance that a squid or similar cache in the middle (even ones that the user doesn't know of) will cache skew between these files.

Cheaper-mirrors

  • Name of mentor: Robert Collins

  • Description of the project: Revamping the mirror system would rock; journalled, atomic updates. rsync does a full dentry scan on every iteration. We don't need that as we know about the precise changes that occur, so we can do a journalled system that will have much lower overhead, complete more quickly, and be aware of the apt repo structure so as not to need special handling (as rsync does).

Apt multiarch

  • Name of mentor: Michael Vogt

  • Description of the project: Implement multiarch support in apt

Harvest Improvements

  • Name of mentor: Daniel Holbach

  • Description of the project: Harvest was ported to Django, which made the code more maintainable. Unfortunately Harvest is a bit slow right now which needs to change, also is the mainpage not really useful. There's also a couple of other bugs which will be good to get fixed.

Plugin for Accerciser to create Mago application wrappers automatically

  • Name of mentor: Ara Pulido

  • Description of the project: Accerciser, the a11y browser for GNOME, has a plugin architecture that, in the past, has been used to generate dogtail and LDTP code. The project will be the creation of a plugin for Accerciser that will generate Mago application wrappers, selecting on the accessible applications in Accerciser. This functionality would make Mago scripts writing much easier.

Testdrive Front End

  • Name of mentor: Dustin Kirkland

  • Description of the project: TestDrive is a project that makes it very easy to download and run the latest daily Ubuntu development snapshot in a virtual machine. Actually, it can be configured to download and run any URL-access ISO in a virtual machine. But the primary goal is to provide a very simple method for allowing non-technical Ubuntu users to test and provide feedback on the current Ubuntu release under development. It is written in Python, but has only a command line interface. This project would consist of constructing a python-gtk frontend graphical user interface for Testdrive.

Home User Backup Spec

  • Name of mentor: David Bensimon

  • Description of the project: Ubuntu unfortunately does not ship with a properly supported backup utility. Project aims to provide an interface to easily create backups. Step-by-step interface guides user through the process.

Upstart compatible services-admin

  • Name of mentor: David Bensimon

  • Description of the project: services-admin was removed from Ubuntu 9.10 and 10.04 and was replaced with instructions to change system file names to avoid a service from running. Although this may be simple for a developer to do, there is no graphical tool for users to easily manager their services/servers/daemons. To complicate, there is a transition between sysV init scripts and upstart jobs, consideration should be given to support both types of services. A replacement to services-admin should aim to create a graphical utility comparable to Apple's "Sharing" System Preference, which allows you to turn services on/off, view information abut the service and and change settings graphically (instead of using config files).

Clipboard Improvements

  • Name of mentor: David Bensimon

  • Description of the project: Many users coming from a Windows or Mac background are shocked by the behavior of the clipboard (releasing data, wiping itself clean when the program from which text/media was copied is closed). This project attempts to rectify the situation by having a clipboard which keeps data even if the source program is closed. As well, an application showing what is contained in the paste buffer (both X and GNOME) would be useful for testing (see System > Clipboard type utility from Mac OS 7/8)

Sound theme creator (and sound improvements)

  • Name of mentor: David Bensimon

  • Description of the project: The ability to allowing the user to have custom sounds was removed in karmic. GNOME sound themes are a good idea, but are badly implemented/documented and a lack of utilities do not allow users to simply create a sound theme. It is safe to say that sound themes are buggy, are changing and have not taken off yet. This project aims to (1)create a utility to make sound themes and (2) allow users to specify per event sound files.
    • (1) In a sound theme, there are 100+ possible events that can have a sound. This utility should allow the user to assign sound files to each. It will then output a folder containing a index.theme file and a stereo folder with all the sounds (converted to .oga format if needed).
    • (2) gnome-volume-control would need to be modified to allow custom sounds for the most common events. Although buggy, the direction gnome-volume-control was taking in 8.10 was correct. In Ubuntu 9.04, gnome-volume-control replaced with a more restrictive interface.

Splash screen customization

  • Name of mentor: David Bensimon

  • Description of the project: Graphical application to create splash screens, custom throbber and animations. The ability to navigate, preview and activate splash screens is important. Adding xsplash themes should be simplified for the general public.

Nautilus Improvements

  • Name of mentor: David Bensimon

  • Description of the project: This project aims to improve nautilus in many ways, making it more resistant to failures as well as making it more useful. Allocating space before copying, allows a copy to happen without running out of space due to other processes that may be filling up the disk. Checking all the files to be copied before they are copied and resolving file type (special files) or naming conflicts (special chars or conflict in capitalization) allows a surprise-free/wait-free copy. This includes making nautilus resistant to inter-filesystem name errors (such as copying foo.bar and FOO.BAR from an ext4 drive to a FAT32 drive) by bringing any issues to the user (proposing renaming) before the copy process starts. Currently, the user must babysit the copy process. If the user is not at his computer and a copy stops in the middle of a large transfer, to tell you there is an error, the rest of the copy will pause until that issue is resolved. If there have been any errors/dialogs presented, the user should get a final dialog when the copy is over telling him what changes were made during the copy process. The file manager should also have a way to calculate and display the size of directories in detailed list view.

Thunderbird/Lightning GNOME Integration

  • Name of mentor: David Bensimon

  • Description of the project: Both GNOME and Mozilla shot down the idea of developing a Thunderbird gnome applet. This project aims to create a better integration of Mozilla Thunderbird (Mail Client) and Lightning (Calendar) into the GNOME Desktop. The user should be able to System > Preferences > Prefered Applications to set their calendar client (TB/Lightning, Sunbird, Evolution, ). Many have suggested creating a way to sync data to EDS (Evolution Data Server) and akonadi (PIM Storage Service), yet I think that the creation of a new Thunderbird/Lightning applet is a better choice as Mozilla isn't going to use EDS. I think the code for the GNOME calendar applet can be rewritten to interface with thunderbird directly.

Launchpad Offline Bug Client

  • Name of mentor: David Bensimon

  • Description of the project:This project aims to fill in the void for reporting bugs while offline. It allows users to write up a description of the bug and keep their unreported bug reports locally to submit at a later date. Apport crashed, ubuntu-bug and apport-collect should all be able to work with the client when offline. It also allows power users to review all files before uploading them directly to launchpad.

GNOME centralized file sharing administration

  • Name of mentor: David Bensimon

  • Description of the project: “System > Administration > Shared folders” is a feature that has been removed since 8.04. There has been no replacement for this tool since its disappearance. KDE has taken an advance on file sharing by allowing the user list all samba/nfs shares and allow the user to configure the shares centrally and graphically. The proposed project aims to create a utility that should provide a graphical front-end to configure both samba system shares (managed in /etc/samba/smb.conf) and samba usershares (/var/lib/samba/usershares/). Should time allow, this application can also be written to configure NFS shares.

Hardware device manager and hardware database

  • Name of mentor: David Bensimon

  • Description of the project: In the long run, a hardware device manager(1) and hardware database website(2) should improve harware support, identify, confirm and resolve hardware issues and bring clarity to driver development and packaging.
    • (1) Expanding on the current gnome-device-manager which allows the user to view what devices are in their computer, this project proposes a utility which identifies hardware which either not recognized, not supported or requires additional module (in which case it would propose a package or call jockey). Users are not currently notified when there are devices present that are not under control of a module.
    • (2) This project proposes the creation of a web site that will replace what we currently have: a hardware wiki page, and checkbox/hwdb submition page. Hardware Testing (checkbox) is currently testing hardware and uploading results, yet it is not parse into a user-readable usable/usefull format. Combining the Device manager with the testing capabilities on checkbox and the world viewable hardware compatibility database/website would be the ultimate solution simplifying any hardware pre/post-purchase research.

etckeeper bzr plugin improvements

  • Name of mentor: Thierry Carrez

  • Description of the project: etckeeper comes with a bzr plugin that adds hooks to ensure the permissions/ownership metadata is properly updated. This project aims to add two new features in this plugin, to better integrate the metadata in bzr operations: integrate ownership/permissions changes in the diff output at each file level (LP: #322327), and ensure ownership/permissions restoration in case of bzr file operations (LP: #322339). It requires a good level in Python programming and preferably some knowledge of the bzr code base.

Automated optimistic merging and testing of new upstream releases

  • Name of mentor: James Westby

  • Description of the project: Now that all Ubuntu packages are based in Bazaar we can more easily build a system similar to Merge-o-Matic that looks at upstream rather than Debian. This system would check for new upstream releases, attempt to merge them in, and then build and run checks against the result, reporting the results for Ubuntu developers to get an idea of what effort will be involved. If the project is a success then it could be extended to replace Merge-o-Matic to get the test building and checks on those results too. It would be useful to have some experience of using Bazaar, coding python, and basic packaging, including building packages, but not required. I am happy to mentor this, from UTC+1. I haven't asked around for a backup contact, but I'm sure I can find one.

Guided Ubuntu bug fixing with Bazaar

  • Name of mentor: James Westby

  • Description of the project: The aim would be to make it easier for new contributors to learn their way around Ubuntu development by guiding them through the processes involved. To start this would be bzr fix-bug lp:12345 or similar that would give them the code for the affected package, and then allow them to request that it be included when they are satisfied. Continued work can then streamline the interactions further, looking at the biggest hurdles and removing them or guiding people over them. Some experience of using Bazaar, python coding and Ubuntu packaging would be useful but not required.

Kubuntu File Sharing

  • Name of mentor: Jonathan Riddell

  • Description of the project: Update SMB file sharing in Kubuntu to use the "net share" command. Create a webdav file sharing daemon and a KDE UI to share files with a standardised protocol.

Profile boot time and memory usage

  • Name of mentor: Jonathan Riddell

  • Description of the project: Profile Kubuntu's boot time and initial memory usage. Work to make boot time faster.

Language Selector

  • Name of mentor: Jonathan Riddell

  • Description of the project: Bring Qt Language Selector in line with the GTK version.

Ubuntu One KDE client

  • Name of mentor: Jonathan Riddell

  • Description of the project: Share files in Ubuntu One from KDE. Implement sharing other features such as bookmarks.

Package Manager Improvements

  • Name of mentor: Jonathan Riddell

  • Description of the project: Create Kubuntu version of Software Centre. Tidy up the user interface of KPackageKit.

usb-creator Improvements

  • Name of mentor: Evan Dandrea

  • Description of the project: Add a server frontend and Mac frontend and backend (hardware permitting) to usb-creator. Integrate the Windows frontend and backend with Wubi to allow usb-creator onto the Ubuntu CDs with a minimal space increase, and to provide ISO download functionality in usb-creator. Optionally add support for running software-center inside a chroot of a selected ISO's squashfs to allow the user to add/remove packages from the live filesystem.

creating Wubi migration to a dedicated partition

  • Name of mentor: Agostino Russo

  • Description of the project: The project entails modifying the live CD installer, ubiquity, to be able to detect a Wubi installation on the system and offer to migrate it to a dedicated partition. This is best accomplished by writing a new plugin http://wiki.ubuntu.com/Ubiquity/Plugins) that builds on the existing partitioner functionality and suppresses the system configuration pages (timezone, language, initial user setup, etc). The project idea is detailed in full at: https://wiki.ubuntu.com/WubiMigration

Add RDP support to Vinagre

  • Name of mentor: Robert Ancell

  • Description of the project: Vinagre is a remote desktop viewer that currently supports the VNC protocol. This project is to write a plugin that supports the Remote Desktop Protocol (RDP) that is the dominant remote desktop protocol used in Windows desktops/servers.

Implement an Archive Crawler

  • Name of mentor: Michael Vogt

  • Description of the project: We routinely find ourselves looking for things across the entire archive. We need a tool that is smart about looking for things we need. For example, .desktop files, command-not-found data, icons, functions, and outdated FSF addresses Smile :) This tool should be tied into Launchpad and be able to be scope itself to sections of the archives, specific seeds, etc.

Check out lp:~mvo/archive-crawler for a place to start.

Qt 4 Quickly, Quidgets

  • Name of mentor: Daniel Chen

  • Description of the project: Refactor Quickly and/or Quidgets as necessary to handle both GTK+ 2 and Qt 4. There has been moderate "opportunistic developer" interest in a Qt 4 form, but movement has been slow to make it happen.

The "DesktopOne" Audio Experience

  • Name of mentor: Daniel Chen
  • Description of the project: As both PulseAudio and Jack Audio Connection Kit mature, there is a possibility of the desktop user's music experience becoming indistinguishable from that of an "opportunistic composer". Integrate the two by handling PA/JACK complexity and making basic mixing and composition software prominent in the desktop.

Name of the project

  • Name of mentor:
  • Description of the project:

GoogleCodeIn2010/Ideas (last edited 2010-10-22 16:14:13 by c-98-195-219-156)