COSS.fi

Summercode 2008

2008 Summercoders have finished their projects

COSS and a number of Finnish companies hired Finnish university students to code in open source projects during summer.

The coders and their projects were:

Antti Kaijanmäki – Mobile Broadband Configuration Assistant for NetworkManager
Juuso Alasuutari – Improving the LASH Audio Session Handler
Niklas Laxström – I18n with MediaWiki
Olli Savolainen – Moodle Quiz
Sakari Bergen –  Ardour

Alongside COSS, 2007 Summer Code was funded – and the choice of Summercoders done by – Nokia, Nokia Siemens Networks, Saunalahti, Google, Novell, Ixonos ja Nomovok.

Summer Code 2008 Collage

Juuso Alasuutari: Improving the LASH Audio Session Handler

My project for Summercode 2008 is to improve the LASH Audio Session Handler (LASH) framework, which is geared towards professional audio production. LASH’s purpose is to enhance the desktop user experience by synchronizing application settings.

A Linux-based audio production environment differs fundamentally from the traditional, monolithic paradigm. Instead of running inside one application, an audio session on Linux usually consists of separate programs which route audio and MIDI data between one another using the JACK audio server.

This degree of flexibility introduces complexity into how sessions are managed. Without a common framework for synchronizing the applications’ state, the user must launch programs separately, load their settings, and manage their connections manually.

LASH aims to provide centralized control over the audio session’s components. Audio applications utilize the LASH library to hook up to the LASH daemon, which can then instruct them to load or save settings. The daemon can also auto-launch or close a session’s audio applications.

The purpose of my Summercode project is to re-implement LASH’s internal protocol as a D-Bus service, as well as add some missing API features. The overall goal is to get LASH back on track with the current JACK development, where D-Bus connectivity will play a significant part for future releases.

Sakari Bergen: Ardour

Ardour is a digital audio workstation for Linux and OS X. It can be used for recording, editing and mixing multi-track audio. At the moment Ardour’s audio export capabilities are quite limited and it doesn’t have support for including meta-data in sessions or exported files. The proposed project consists of adding support for meta-data, adding export functionality and renewing the export dialog in Ardour.

The export functionality to be added includes more encoding options, exporting to multiple files with different formats at once, audio format profiles, multichannel export, trimming/adding silence, normalization, usability improvements and some other minor improvements.

The meta-data functionality will include the tools for adding meta-data to sessions and embedding it into exported files. Ardour session files are XML, so the meta-data can easily be added to the session file itself as a chunk of XML. On export the meta-data may be added to the exported files in an appropriate format: Vorbis comment for FLAC and Vorbis, iXML for BWF etc.

Adding this functionality to Ardour will make working on music collaboratively and sharing it a lot easier. The export functionality will ease quick making and sharing of development snapshots of work in progress or simply sharing a finished project. Meta-data and tagging will encourage people to include proper meta data in their files. Especially specifying a license in the meta-data would broaden possibilities in sharing and reusing openly licensed audio material and thus boost collaborative creativity.

Antti Kaijanmäki: Mobile Broadband Configuration Assistant for NetworkManager

In these days of tie-in sales it is easy and inexpensive to get a mobile broadband subscription, but it is difficult to configure a mobile connection for GNU/Linux based systems. There are no easy to use tools for creating the needed connection settings and thus the user must create nontrivial configuration files by hand! What makes the situation even worse is that the service providers often have support documentation only for Microsoft Windows operating systems and thus it can be very difficult even for an experienced user – let alone for a novice – to find the needed information.

The project aims to address the current problematics in configuring mobile broadband connections under GNU/Linux by developing an assistant software for GNOME desktop environment. The assistant will be integrated with NetworkManager to provide the user the most convenient mobile broadband experience under GNOME desktop. Dan William – who is employed by Red Hat and who is the main developer of NetworkManager – has promised to mentor the project.

During the development only commonly used external components and libraries will be used and thus the program should run on any GNU/Linux distribution, given that all the required external dependencies have been satisfied.

Niklas Laxström – I18n with MediaWiki

MediaWiki is a popular wiki software that is internationalised into hundreds of languages. One of the reasons for that is a MediaWiki extension named Translate. It adds translation capabilities to
MediaWiki software for translating MediaWiki, including almost 200 extensions, and an open source game FreeCol.

In my project the primary aim is to add translation support for projects other than MediaWiki and bring this collaborative translation process available to other open source projects. I will achieve this by adding support for GNU Gettext file formats. I will also improve the administrative features of Translate extension and fix the remaining rough edges in internationalisation support. In addition to that I will implement wiki page translation – a feature needed by many open source projects using wiki for documentation.

The extension is most useful when all translators work in one central place, where translators can help each other for example by collaboratively documenting messages that are hard to translate. MediaWiki provides translators a familiar web-based working environment and change tracking similar to version control systems. Translators work mostly on one message at a time, removing the need to control who translates which file and when.

Olli Savolainen: Moodle Quiz

Moodle Quiz module is a tool for creating quizzes and exams, that is, for training and assessing students’ skills. In the Kesäkoodi project, I will re-implement the user interface (UI) used by teachers for building quizzes in the Quiz module.

There are several well-known issues in the usability of the current Quiz. The process insisted by the  old user interface conflicts with the novice users’ assumed process and conceptual models. Alas, there can be no gradual enhancements to the old user interface, but it needs to be redesigned and reimplemented. The main means to enhance the usability are as follows: first, allowing novice users to manipulate and perceive actual content more directly, and second, allowing them to manage quiz content according to the processes familiar to them from pen and paper exams. The new UI has already been designed and paper prototype tested, as well as discussed with the Moodle community with an ultimately positive response.

The result of this project will be a Moodle compliant PHP implementation of the designed UI, tested for usability. This UI will enable users to create quizzes from scratch, with minimal instruction. Adding pre-existing question content to Quizzes using the new UI will be left for a follow-up project.

Scroll to Top