Author Topic: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!  (Read 7856 times)

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« on: December 31, 2009, 04:42:59 pm »
Hello Community,

I will be reviewing documentation on applying for the Google Summer of Code 2010 (the application process begins in April). I'd like to get a head start on filling out the applications/documentation required. We're in the process of creating a list of ideas for student projects. I'd like to solicit help from the community on ideas. Many of you have asked for feature enhancements and things to be fixed, so here is your opportunity. Please post your ideas and a detailed description, skills you think that are needed, and how difficult the tasks is (in your opinion). The development team will then review and update if necessary.

In addition, we'll be looking for people to mentor the students. You will need knowledge of LinuxMCE and also knowledge of the technology for said idea (in order to assist the student in implementing the idea). You do not have to be the mentor of an idea that you post...

Here are some useful links:

Joomla Project GSoC Ideas List - http://docs.joomla.org/Summer_of_Code_2009_Project_Ideas
GSoC FAQ - http://code.google.com/opensource/gsoc/2008/faqs.html
GSoC Application - http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_org_app
GSoC Timeline - http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2009/timeline
GSoC Mentor Applicatio - http://socghop.appspot.com/gsoc/org/apply_mentor/google/gsoc2009

Your help would be appreciated!

Thanks!

-dlewis
« Last Edit: December 31, 2009, 05:00:13 pm by dlewis »

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #1 on: January 01, 2010, 02:02:35 pm »
I guess I'll start this off:

Idea: Zoneminder Integration

Description: Although LinuxMCE offers many features Zoneminder offers, it would be great to have full integration of Zoneminder into LinuxMCE (with the ability for Zoneminder to be updated when LinuxMCE is updated). This would either involve attaching Zoneminder as a DCE device or making Zoneminder fully integrated with all of the Security/Video features. We may want to look into 'MythZoneminder' to assist.

Skills Required: PHP, MySQL, C/C++, Some Perl

Mentor: TBD

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #2 on: January 01, 2010, 02:26:25 pm »
Idea: LinuxMCE as Samba Domain Controller

Description: To allow the LinuxMCE core to act as a domain controller that would allow centralized logon to MySQL/LinuxMCE Web admin as well as MythWeb, RADIUS, Samba Shares and Domain Joined Computers (which can be XP Pro/Vista Business/Vista Ultimate/Any Linux computer that supports Kerberos or third party software to join to a domain). Here are other questions to be answered:

Should it serve purely as a Domain Controller?
How should it interact with LinuxMCE?
Should it use terminal services to install Windows Orbiter to Windows Desktops?

Skills Required: PHP, MySQL, C/C++, Samba

Mentor: TBD

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #3 on: January 01, 2010, 02:36:06 pm »
Idea: RAID Support

Description: Full RAID support, including:

Automounting RAID arrays

Alerting: RAID status "Damaged/Rebuilding" - show a single confirmation on the orbiters only once, RAID status "Removed" - show a single confirmation on the orbiters that a drive has been removed and data could be compromised if another drive fails, and RAID status "Failed" - show a nag on all orbiters similar to the low disk space nag. This nag will not go away until remedied.

Fix Faulty RAID Drive in WebAdmin: When a drive is marked by mdadm as FAULTY, the user must fix this manually via the command line. However, this can be fixed by showing an additional button for that drive - "Remove" (or similar name). Then have the result of this action be an mdadm --remove /dev/mdx /dev/sdy. When the page refreshes, the drive will be listed as REMOVED, where there is already logic in place for the user reactivate the removed drive. This final addition should allow most any user to fix a damaged RAID array from the web admin.

Skills Required: PHP, MySQL, C/C++

Mentor: jondecker?

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #4 on: January 02, 2010, 12:50:59 am »
Idea: Plugin to expose media and house status to web clients

Description:To enable more Orbiter type devices, a web Orbiter is a nice thing. The original web orbiter is fairly bandwidth hungry and not too fast. Ok for inhouse, but not really nice, especially over slower links.

To get the same type of functionality into a new breed of Orbiter, like the iOrbiter, the innards of the system need to be exposed, as to allow direct access to those values via AJAX or similar.

Skills Required:AJAX, JSON, RPC

Mentor: Hari?

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #5 on: January 02, 2010, 05:24:47 am »
Idea: Rewrite the Bluetooth Dongle Code

Description: If you have Bluetooth in the computer that you will use as a LinuxMCE Media Director, this device turns your mobile phone into a remote control and gives you "follow-me" capabilities--your lighting preferences, media and more can follow you around the house.

Skills Required: PHP, MySQL, C/C++, Bluetooth device experience

Mentor: TBD
« Last Edit: January 02, 2010, 05:40:54 am by dlewis »

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #6 on: January 02, 2010, 05:40:34 am »
Idea: Rewriting IR Remote Control Architecture

Description: IR Remote Control Architecture allows you to decode and send infra-red signals of many commonly used remote controls. The current implementation has limitations. This would involve a re-write of IRBase library.

Skills Required: PHP, MySQL, C/C++

Mentor: TBD
« Last Edit: January 02, 2010, 06:02:13 am by dlewis »

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #7 on: January 02, 2010, 06:01:56 am »
Idea: Rewrite of Orbiter (i.e. User Interface)

Description:Orbiters are the devices used to communicate/interface with LinuxMCE at the user level. The Orbiter devices display the standardized Orbiter User Interface (UI) from which users control all user-aspects and functionality of LinuxMCE. Orbiter can be on any devices/platform. Orbiter should be rewritten to use clutter as its canvas api. Orbiter should use abstracted rpc services to make development simpler and should employ a capabilities based UI only specifying what functionality is needed as the UI changes. Here are some general thoughts on the approach:

(1) Make a new main orbiter, based on clutter.
(2) Re-think the entire "screen" methodology to simply be capabilities "We are at a remote, it needs these functions" and leave layout policy completely to the target orbiter.
(3) Make it easy for others to write orbiters for their native devices.

Skills Required: PHP, MySQL, C/C++, OpenGL, and UI experience is a plus

Mentor: Thom
« Last Edit: January 18, 2010, 07:49:52 pm by dlewis »

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #8 on: January 02, 2010, 06:16:23 am »
Idea: Remote Procedure Call (RPC) Development

Description: Linuxmce needs a streamlined and simplified api for connecting user interfaces to the project. By replacing dedicated protocols and communication methods with a robust and standardized interface, RPC is designed to facilitate communication between client and server processes. The functions contained within RPC are accessible by any program that must communicate using a client/server methodology.

Skills Required: PHP, MySQL, C/C++, Client/Server side programming

Mentor: Hari
« Last Edit: January 02, 2010, 06:22:09 am by dlewis »

bongowongo

  • wants to work for LinuxMCE
  • **
  • Posts: 826
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #9 on: January 02, 2010, 10:41:52 am »
Idea: Landing Page
http://forum.linuxmce.org/index.php?topic=9313.0

Description: Instead of the very nice flickerpage background it could be more usefull to have a standard customisable landing page which gives the user an overview of information that he finds usefull. Time, date, weatherforecast, stocksexchange, overview of news, status of house, status of network, etc... This could be a simple CMS that makes use of standard plugins.

Skills Required: PHP, MySQL

Mentor: TBD
« Last Edit: January 02, 2010, 03:59:11 pm by dlewis »

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #10 on: January 03, 2010, 11:30:17 pm »
Idea: Re-Write of Pluto Standard Plugins

Description: This project would initialize the re-write of the pluto standard plugins, starting with the following plugins:

Orbiter_Plugin, Media_Plugin, Plug_And_Play_Plugin, Xine_Plugin, VDR_Plugin, and Basic_XML_Data_Source_Plugin.

Skills Required: PHP, MySQL

Mentor: TBD

krys

  • Addicted
  • *
  • Posts: 583
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #11 on: January 04, 2010, 04:26:59 am »
Idea: Video Conferencing

Description: Add video conferencing to LinuxMCE, both for VOIP calls to external numbers and calls from MD to MD for room to room, or for orbiter to front door camera etc.

Skills Required: ?

Mentor: TBD
« Last Edit: January 04, 2010, 04:36:57 am by dlewis »

digilifellc

  • Regular Poster
  • **
  • Posts: 31
  • Technology. Simple. Hidden.
    • View Profile
    • Digital Lifestyles, LLC
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #12 on: January 04, 2010, 04:29:42 pm »
Idea: Miro integration

Description: Allow Miro feeds to be viewable within the LinuxMCE, or call up the Miro interface from LinuxMCE's UI, or read and retrieve videocast/podcast links from Miro's XML data while maintaining watched/unwatched status and keeping that status still unable by Miro.

Skills Required: unsure, but guessing XML parsing, python, DCE control,...

Mentor: TBD
What stays the same for every project no matter who is the client?

                                      The Home!

jimbodude

  • Guru
  • ****
  • Posts: 372
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #13 on: January 05, 2010, 09:27:06 pm »
Idea: Support Portable Devices

Description: Make the media library more portable.

1) Synchronize: Have the ability to synchronize certain media with media devices (such as MP3 player, video player, iPod, your laptop, whatever) based on manual selection or a set of rules.  Rules would include reasons to copy media to a device, import media from a device, or to delete media from a device.  The Rules could be defined in a new section of the Web admin, or in a completely new interface.  Eventually, the rules interface could exist in the Orbiter.  The media would be automatically copied to the proper devices whenever they are connected to an MD (in the case of USB devices) or the network (in the case of network-capable devices).  Any transcoding should be possible on a per-device basis - for instance, turn all audio into MP3 for my MP3 Player, turn all video into MPEG for my video player, video sent to my n810 should be the correct resolution for the small screen, and H264 media should be allowed on my really powerful laptop.  Transcoding might happen before the device is connected, based on the next set of media that would be sent to it.  The portable device's usual interface would be used for browsing the media and playback.

2) The "Portable Media Director": For devices with a bit more power (such as a laptop), do all the stuff from above, plus install a viewing client similar to the On-Screen Orbiter so the user would be very familiar with the interface no matter what media is playing.  This would build upon the Synchronize features, but have a bigger footprint on the client.

The scope of the initial project would only cover the Synchronize functionality, and may need to be simplified down further - say to one simple device category, like USB Mass Storage or NFS.

Skills Required: Lots, some outside of LinuxMCE for specific hardware support, like iPod. Probably C/C++ for device templates and rules engine, web and database skills for rules interface

Mentor: ?
« Last Edit: January 05, 2010, 09:39:09 pm by jimbodude »

smino

  • Making baby steps
  • Posts: 3
    • View Profile
Re: Google Summer of Code (GSoC) - Ideas and Mentors Needed!!!
« Reply #14 on: January 11, 2010, 07:30:34 pm »
Integration with Lime Technologies Unraid. I do not work for them, I do use their software.

UnRaid is a digital media storage server (NAS) with parity protection, but no striping, so it can shut down drives not being used. So you get Raid 5 protection but not the performance. Performance is that of your single Hard Drive. It does NFS, SAMBA, FTP, SABNZBD, Torrents, ...running on syslinux slackware (unfortunately). It boots from USB so all your SATA/IDE/SCSI interfaces are free for storage. Very easy to use, and very easy to swap out a 400GB drive for a 2TB drive! It rebuilsd the date of the drive you pulled out onto the new one. The thing is it is a great system that uses very little CPU. I know that if I could run Linux MCE Server side of things on this slackware server, that would be amazing, and reduce the need for another server. I think the two softwares go hand in hand quiet well. It can support up to 19 drives for a 36TB solution.

newbielink:http://lime-technology.com/ [nonactive]
You can buy the server pre-made, make your own server, and buy only the software. I think what is missing to linux MCE is the storage side of Parity only, no striping, auto power shutdown drives not needed, web gui tools to manage it all.