Summer of Code 2008/Ideas

From The Neuros Technology Wiki

Jump to: navigation, search

This is the ideas page.


Contents

[edit] Ideas for Student Projects

Here's some ideas from Neuros, but feel free to add here your own ideas. They are warmly welcome. If you don't like to add them in the wiki, feel free to discuss them in mailing list or on the IRC channel, and Neuros staff will add them here.

All projects that involve writing applications for the OSD, should be implemented using the new QT-based software stack, not the old Nano-X based software stack.

[edit] Playback of Videos Recorded by MYTHTV backend servers: DLNA

The concept here would be to make the OSD capable of finding and playing back media stored in DLNA devices on the network, effectively making it a DLNA client. MYTHTV servers as of the latest revision are DLNA protocol compatible. An extension to this would be to make the OSD also serve the function of being a DLNA server so its recorded media could be played back from other DLNA clients.


[edit] Last.fm radio player application

One of our community members has a working last.fm plugin for xmms2, that can be used on the OSD already. However this is only half the battle of accessing Last.fm from the device in a way that is easy and intuitive for end users. The student working on this project should implement a new application that use the site API and/or screen scraping techniques to allow navigation to the various radio stations that Last.fm provide (similar artist, group, another user favorites, tag, etc). It should also support for an user to login to his own Last.fm account and listen to his personal radio stations (recommendations, personal, friends, etc). There are surely a lot more creative things one can do with Last.fm data so feel free to go bonkers for bonus points (Adding AudioScrobbler support would be good). Augmenting the audio with scrolling bio information, etc on the screen is a good example. See bug #1473.

[edit] GNU Gnash port (Flash player)

Port Gnash to the OSD. There's lots of interesting Flash from language learning applications to hosts of others, there are lots of interesting things that can be done if the OSD could play Flash (not Flash video, just Flash animations and applications). Bonus points for any interactivity you can hack into the viewer using our limited input via IR remote.

[edit] Web browser port

Port a web browser to the OSD. Bonus points if complete with some form of Javascript/AJAX support. Even more bonus points for integrating the above Gnash player to view also Flash content inside the OSD. The user interface design is actually important here, since we have no keyboard, no mouse, and only a remote control on the OSD, the screen size is at most 640x480 and will be output on a TV screen. So coping with these limitations in ways that enhance usability for end users in creative ways is an integral part of the project. The Neuros forums has a thread on Greyback's work on Webkit on the OSD

Focus of this browser is less on general purpose browsing that browsing targeted towards multimedia sites, particularly video. That includes specifically targeting the browsing experience of multimedia sites. as well as creating a standard that can be used to create sites specifically looking to target a set-top box. Given the lack of complete flash support for linux on Arm, it is understood that workaround will be needed, and not all sites will be supported without cooperation from those sites. In other words, for sites where the stream or file is obscured by flash, it acceptable to assume that the location of that stream will be provided by other means.

[edit] BitTorrent client

Port a BitTorrent client to the OSD. Challenges will be around handling CPU/IO bottlenecks when a user- or schedule-initiated recording or user-initiated playback begins. It's not necessary for it to be a port of something else in terms of GUI, but we suggest that you at least use/customize an existing back-end or library instead of writing a new one from scratch. This is a comeback from last year's Summer of Code that was sadly discarded for lack of slots from Google, so you may also want to refer to last year's project ideas page.

[edit] RSS feed reader + podcast support

Port an RSS feed reader to the OSD. Support for podcast and video podcast RSS feeds will give you bonus points. See also Broadcatching for reference.

[edit] Port Ogg Theora Codec (OSD 2 only)

Port Ogg Theora (decoding capability) to the c64x DSP. This project is only applicable to the OSD 2 which is based on TI's Davinci 6446 Processor. The student awarded this project will be loaned an OSD 2 prototype (obviously) and a complete suite of hardware and software tools for porting the codec, including TI's proprietary development environment, Code Composer Suite.

[edit] Internet Television Projects

[edit] u-IPTV: universal Internet TV client (OSD 2 only)

The idea is to provide such a level of Internet TV support that non-technical users will find it easier to use OSD as a way to deliver Internet TV content to TV than PC they're currently using. Universal meaning user suppose to easly add new providers to the list of already supported by simple editing of config files. That will require design/implementation of unified GUI client, streaming protocols and framework/API with pluggable modules that'll do screen scraping for particular provider (similar to n-Tube).

Unfortunately, majority of Internet TV providers I have in mind (ethnic TV) stream their content encoded with WMV9 at 640x480 so this project is for OSD2 only.

[edit] n-Tube: universal FLV video site browser

Design and possibly implement an universal FLV Video site browser for the OSD. The goal is to support browsing of video sites other than YouTube not by hardcoding such support, but by designing a framework that allows an unified browsing system with a well defined API and pluggable modules that do the actual screen scraping (or XML/AJAX API if the site allows it). "Browsing" here is intended browsing with an ad-hoc user interface like the one we have now on the YouTube player on the OSD, not a generic web browser. Implementing any actual pluggable module is not the focus, the framework is (even though an example/demo module is a bonus) The OSD has already FLV playback capabilities, so you will just hand off the URL of the movie and not worry about that part at all. There is more discussion about this idea on this mailing list thread. See bug #740.

[edit] FTA DVB-S controller

There're number of USB DVB-S (TwinHan StarBox, TechniSat SkyStar) devices on the market that let user to receive FTA (Free-to-Air) unencrypted satellite TV signal. Client could be written to record/playback this signal. Probably a OSD 2 project.

[edit] Enhancements from Bugzilla

Bugzilla contains many suggested enhancements to the OSD software. Many of them would make suitable GSOC projects.

Personal tools