GSoC2008
From UCSC Wiki
Project Ideas 2008
SOAP enabled modules for Bassa
Bassa server became modular 2007 Google Summer of Code (GSoC-2007). Early this year GADisk which worked as a front end for Bassa was replaced by Bassa's own web front end which communicates with Bassa core using SOAP. Currently only Bassa's core can be accessed through the SOAP interface but modules which relied on passing XML documents between GADisk and Bassa are now broken since they are neither developed to support SOAP nor the Bassa core has a mechanism to let them register their functions for corresponding SOAP requests. Now it is time to modify Bassa's module framework so that modules can register their SOAP functions with Bassa core. Once this is done Bassa's modules can be accessed by external web applications through the SOAP interface.
Difficulty Level: Medium/Hard
Skills Required:
- Firm knowledge and experience in C
- Familiarity with gSOAP API and SOAP in general
- Loading and unloading modules dynamically with libdl
References
Bassa Proxy Emulation
Bassa requires a module that will act like a proxy server. The main task of this module is copying HTTP requests and responses from browser to Proxy (squid)/Web server. When Proxy server(Squid) gives a file too big response Bassa's proxy emulation module should send a HTTP redirection to the Browser. Once the browser receives this message it will use relevant plugins to deal with it.
Difficulty Level: Medium/Hard
Skills Required:
- Firm knowledge and experience in C
- Knowledgeable in HTTP protocol and proxy servers
- Loading and unloading modules dynamically with libdl
References
Further integration of GoogleApps into Moodle
Currently the GApps integration with Moodle let the administrators of moodle to manage the GApps accounts via moodle administration interface and all the moodle users can create (or request), update accounts via Moodle. Also the users can access GApps email via SSO. The next step of this project would be to integrate Google Docs within the Moodle framework. This functionality is expected as a module to the Moodle with possible integration with Moodle grade book and other features like Moodle Roles and Moodle Groups.
Difficulty Level: Easy/Medium
Skills Required:
- Good familiarity with the Google APIs
- Good familiarity with the Moodle APIs
- Good understanding of the PHP language in general
References
NextMenu - Next-Generation Menu that knows which Application you want to open Next
"NextMenu" is an attempt to come up with a next generation menu system for launching applications for the FOSS desktop environment by adapting to the user's application launch pattern.
The primary idea behind NextMenu is to customize the menu for the user by studying user's application usage pattern and optionally comparing that with other similar users. When ever a user opens an application, various information such as the day of the week and time the application was launched, the length the application was used before closing, the frequency the application was open etc. are tracked by the system. This information is then used to perform statistical analysis to figure out which applications the user is likely to run "Next".
Project Goals
The aim of this project is to build several modules that facilitates the creation of NextMenu.
- Develop a set of plugin modules that capture application launch and usage patterns, analyzes data, generates the menu, uploads inferred patterns to a central server and downloads recommended application data.
- Develop an extensible framework for include plugin module architecture that can bring in new functionality
- Develop a menu prototype to test the new menu concepts
- Conform to Feedesktop's Desktop Menu Specification
Difficulty Level: Medium/Hard
Skills Required:
- Firm knowledge and experience in C/C++
- Familiarity with statistical analysis in general
- Understanding of UI design concepts
References
Communication Protocols for Kuppi
kuppi is an infrastructure to cope with peer learning. The proposed infrastructure would seamlessly provide the necessary connectivity and communication between the mobile devices independent of their platform and also the necessary interfaces to build suitable applications to use in peer learning. The software would ultimately give students the ability to create a virtual classroom and build up a learning environment even when they do not have a proper network infrastructure and interactively share their learning objects and knowledge. As an initial step it is required to develope the protocols for communication.
References
Delay Tolerant Query Layer for BusNet
BusNet protocol is designed to collect sensor readings from large geographical area using public transportation system. The protocol collect the data all over the area and pulls to the centers. The goal of this project is to provide a Delay Tolerant Query Facility in BusNet. Basically users will have the flexibility of changing the acquisition constraints and ease of using friendly query language with this service.
References
ComoNet
For the moment ComoNet system is being developed using Nokia S60 3rd Edition on Symbian v9. Due to its new licensing platform to use Audio API and access certain other GSM functions developers has to pay Symbian. For that reason in order to proceed further we need to bear an additional cost.Our main intention is to develop the entire system based on Android SDK from Google. Thus from the locating protocol to routing the audio using RTP over WLAN, those functions has to be developed using Android SDK. Thus it eases the necessity of the licensing.
Difficulty Level: Medium/Hard
Skills Required:
- Firm knowledge and experience in Java/C++
- Familiarity with Android platform
- Knowledge in RTP protocols, Bluetooth, Wi-Fi and GSM
References:
Online Predictive Text Input Service
Traditional keyboard based text input has several disadvantages, especially for languages with large number of characters in their alphabets. Keyboard based text-input is slow, inconvenient, and prone to error. Most mobile terminals these days offer predictive-text-entry schemes in order to overcome such problems.The goal of this project, however, is to invent an online quick responsive predictive text input facilitation service which can be used with any browser in any web page. This service will make the text-entry faster and easier. Moreover, this service will help to promote the correct usage of language (ie. spelling and grammar). It is expected to use large corpus as well as crawled web text as the database. Unlike the traditional predictive text input applications, context sensitive text prediction (anywhere in the text or page) service will be developed using the latest web technologies.
Difficulty Level: Medium/Hard
Skills Required:
- Proficiency in XHTML, HTML, and CSS with expert knowledge of AJAX type applications.
- Expert knowledge of JavaScript technologies.
- Experience with multiple browsers including cross-browser development
- Experience with graphic designing applications is a plus.
- Good working knowledge of Web Servers (Apache).
- Knowledge of PHP, MySQL and XML is a must.
References
Scalable Bandwidth Aggregator With Improved Dead Gateway Detection
Small and Medium businesses and home office environment users use Linux boxes as network routers and bandwidth aggregators. By aggregation several broad band connections better connectivity and high availability can be achieved. All the bandwidth aggregators have to face dead gateway detection problem and the existing Linux solution is not detect dead gateways and gateway resume properly.
The objective of this proposal to improve the existing dead gateway detection patch for Linux 2.6.x with resume support and implement user space notifier with user level daemon to get dead gateway detection notification to the user space application. User level dead gateway detection daemon can control all the user level application according to the available band width and help Linux system to prioritize the traffic .
Difficulty Level: Hard
Skills Required:
- C Programing
- Linux Kernel
- Bandwidth aggregation and routing
References