Difference between revisions of "Google Summer of Code 2014"

From KolibriOS wiki
Jump to navigation Jump to search
m (Protected "Google Summer of Code 2014": Remains here for historical purposes only ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
KolibriOS is going to apply as a mentoring organization for Google Summer of Code 2014. <br>
+
KolibriOS is proud to be selected as a Mentoring Organization for [http://www.google-melange.com/gsoc/homepage/google/gsoc2014 Google Summer of Code 2014]. This page contains our ideas list and some additional information for students and mentors. We are accepting student applications starting March 10th.
This page contains our ideas list and some additional information for students and mentors.  
+
 
 +
Last year, we have run an [[Google Summer of Code 2013|independent Summer of Code]] using money we [http://www.kickstarter.com/projects/kolibrios/kolibrios-help-us-hold-our-own-summer-of-code-2013 collected with Kickstarter]. Two students have worked on KolibriOS, and the results of 2013 Summer of Code were: adding write support for EXT2 filesystem, and adding (read-only) support for XFS filesystem.
 +
 
 +
== Student Requirements ==
 +
Prospective students are required to register [http://board.kolibrios.org/ on our developers forum], join the [http://board.kolibrios.org/chat.php developers chat] and submit a small bugfix / improvement [[Get_source_code|to our SVN]] in order for their application to be considered. Examples of such tasks can be obtained by asking on developers chat or on our IRC channel (#kolibrios @ irc.freenode.net). This requirement is only to show us that you are able to work with [[Get_source_code|our SVN]] and interact with our developers if you are selected. '''This task has to be completed before student application deadline (21 March 19:00 UTC).'''<br><br>
 +
In addition, students need to answer the following questions when applying:
 +
# Full Name (First + Last Name).
 +
# E-mail address.
 +
# Nickname you plan to use on our forums, SVN repository or IRC chat.
 +
# Age.
 +
# Country + city of residence.
 +
# Human languages you speak (write all languages and knowledge level - basic/intermediate/expert/mother tongue).
 +
# Name of college or university you are accepted into or enrolled in + link to their website.
 +
# Name of program (or faculty, or department) in that college/university you are accepted into or enrolled in.
 +
# Your current timezone in UTC/GMT terms (for example, Paris is UTC/GMT +1 hours right now).
 +
# Have you been involved with any open-source project in the past? If yes, which one, and what have you done for that project?
 +
# Code samples - please provide links to code that you have written. It can be your high school project, contribution to open-source organization, your college/university task or anything like that.
 +
# The task you are willing to work on from our list of Summer of Code 2014 ideas (or suggest your own idea, if you don't like any of the proposed ideas).
 +
# What other time commitments, such as school work, another job, planned vacation, etc., will you have between May 19 and August 18?
  
 
== Organization ==
 
== Organization ==
Line 13: Line 31:
 
|-
 
|-
 
|Yogev Ezra
 
|Yogev Ezra
|[http://wiki.kolibrios.org/wiki/User:Yogev_ezra yogev_ezra]
+
|[[User:Yogev_ezra|yogev_ezra]]
 
|Organization Administrator
 
|Organization Administrator
 
|-
 
|-
|Anton Kochkov
+
|Jeffrey Amelynck
|[http://wiki.kolibrios.org/wiki/User:XVilka XVilka]
+
|[[User:Hidnplayr|hidnplayr]]
 
|Mentor, Backup Administrator
 
|Mentor, Backup Administrator
 
|-
 
|-
|Dmitry Pereverzev
+
|Ivan Baravy
|[http://wiki.kolibrios.org/wiki/User:SoUrcerer SoUrcerer]
+
|[[User:dunkaist|dunkaist]]
 
|Mentor
 
|Mentor
 
|-
 
|-
|Jeffrey Amelynck
+
|Sergey Sakhno
|[http://wiki.kolibrios.org/wiki/User:Hidnplayr hidnplayr]
+
|[[User:Punk Joker|punk_joker]]
 
|Mentor
 
|Mentor
 
|-
 
|-
|Kirill Lipatov
 
|[http://wiki.kolibrios.org/wiki/User:Leency Leency]
 
|Mentor
 
|-
 
|Serge Semenov
 
|Serge
 
|Mentor (only for Kernel Vulnerabilities task).
 
 
|}
 
|}
 +
We have discussed "Google Summer of Code 2014" application with all active members of the KolibriOS Project Team, and selected only those 3 (three) people who have both the knowledge, the dedication, and the time to help their students during the entire summer. Each one of them was assigned to mentor projects in his area of specialization only. In a rare event when a Mentor from the above list cannot continue mentoring his student(s) due to personal circumstances, we will try to find a replacement Mentor, or ask the remaining Mentors to cover for the missing one. Additionally, there is always a number of knowledgeable members of our team hanging around our [http://board.kolibrios.org/chat.php forum chat], and they will gladly answer any student questions that may arise, even if they haven't volunteered as Mentors themselves.
  
== Ideas with appointed Mentor ==
+
== Ideas for Google Summer of Code 2014 ==
 
+
The below list contains ideas suggested by KolibriOS team members. '''It is neither complete nor final.'''<br>
=== Kernel vulnerabilities ===
+
Students are welcome ('''and even encouraged''') to suggest their own ideas for GSoC, provided they can find a mentor amongst KolibriOS developers to guide them.
'''Summary:''' Find and fix as many kernel vulnerabilities as you can.
 
  
'''Details:'''
+
=== QR-code in boot log ===
* Goal: Check the list of kernel API functions versus their actual implementation in KolibriOS kernel (for example, check that the function doesn't destroy register values if it declares in description that it doesn't). If you find a vulnerability, try to fix it so that it works according to API. If you cannot fix it yourself, document the vulnerability and describe the problem.
+
'''Summary:''' Add a [http://en.wikipedia.org/wiki/QR_code QR-code] (containing the debug log) at the end of boot process
* Language: Assembler/FASM
 
* Skill level: Intermediate/Expert
 
* Suggested by: Serge
 
* Mentor: Serge '''(Is not always available to answer questions, so select this task only if you can work fairly independently.)'''
 
  
=== Web browser in FASM ===
+
[[File:QR-code.png]]
'''Summary:''' Write a proper HTML web browser for KolibriOS
 
 
 
'''Links:'''
 
* [http://www.w3.org/TR/REC-html40/ HTML 4.01 Specification]
 
  
 
'''Details:'''
 
'''Details:'''
* Primary goal: Have mostly complete HTML4 support on a good enough level to read non-complex (mobile?) websites
+
* Description: Sometimes KolibriOS cannot boot on a certain hardware configuration (gets stuck during or after boot process). In such cases, we request the user having this problem to enable debug log at boot time, take a photo of the screen and show it to us (in the forum). However, sometimes taking a good quality photo can be quite challenging (bad camera, shaking hands etc.) and the attached photo is so blurry to the point the debug log cannot be even read. The idea suggested hereby is to simultaneously encode the debug log which is outputted on the screen, to the form of QR-code, and [http://wiki.kolibrios.org/wiki/File:QR-code.png show the resulting QR-code on empty space on the screen]. In such way, any user possessing a smartphone with a camera and QR-code scanner, could scan the QR-code and submit the encoded text directly on our forums (without having a need to take a photo), and our developers, in turn, would get the debug log text immediately and won't have to unscramble a blurry photo.
* Secondary goal: Add certain elements of CSS, speed optimizations
 
 
* Language: Assembler/FASM
 
* Language: Assembler/FASM
* Skill level: Expert
+
* Skill level: beginner/intermediate
* Suggested by: Pretty much everyone in Kolibri
+
* Suggested by: People on [http://habrahabr.ru/company/kolibrios/blog/ habrahabr.ru]
* Mentor: SoUrcerer
+
* Mentor: dunkaist
 
 
=== Web browser (Option B) ===
 
'''Summary:''' Complete porting of [http://www.netsurf-browser.org/ NetSurf] browser for KolibriOS
 
 
 
'''Links:'''
 
* [http://www.netsurf-browser.org/ NetSurf Website]
 
* [http://board.kolibrios.org/viewtopic.php?f=40&t=2315 Work done so far on NetSurf port (in Russian)]
 
 
 
'''Details:'''
 
Our developer SoUrcerer started working on NetSurf browser port. Since he has no spare time, someone else needs to complete it.
 
* Goal: Bring NetSurf browser port in KolibriOS to the point of 90-95% functionality, with all critical and major bugs fixed, and only minor or trivial bugs left
 
* Language: C (may require writing a few lines in FASM assembly though, to port some libraries)
 
* Skill level: intermediate/advanced
 
* Suggested by: Pretty much everyone in Kolibri
 
* Mentor: SoUrcerer
 
 
 
=== Font subsystem/Locales ===
 
'''Summary:''' Add a font subsystem (with Unicode?) and locale support
 
 
 
'''Details:'''
 
* Primary goal: Add a font subsystem for multiple fonts, etc., standardize it and add keyboard layouts.
 
* Language: Assembler/FASM
 
* Skill level: intermediate/advanced
 
* Suggested by: XVilka/Wildwest
 
* Mentor: XVilka
 
  
 
=== Torrent client ===
 
=== Torrent client ===
Line 102: Line 79:
  
 
'''Details:'''
 
'''Details:'''
* Goals (you can do one or more of these, not all are necessary):
+
* Primary goal: Add Read-only support for the UDF filesystem.
: * Add XFS write support
+
* Additional goal #1: Add Write support for the UDF filesystem
: * Add NTFS writing support
+
* Additional goal #2: Add Write support for the NTFS filesystem (read-only support already exists)
 
* Language: Assembler/FASM
 
* Language: Assembler/FASM
 
* Skill level: intermediate/advanced
 
* Skill level: intermediate/advanced
 
* Suggested by: dunkaist
 
* Suggested by: dunkaist
* Mentor: XVilka
+
* Mentor: dunkaist
  
 
=== FTP client ===
 
=== FTP client ===
Line 114: Line 91:
  
 
'''Details:'''
 
'''Details:'''
* Goal: FTP access (download/upload/etc.)
+
* Primary goal: FTP access (download/upload/etc.)
 
* Additional goal: Create an FTP client library.
 
* Additional goal: Create an FTP client library.
 
* Language: Assembler/FASM
 
* Language: Assembler/FASM
Line 120: Line 97:
 
* Suggested by: hidnplayr
 
* Suggested by: hidnplayr
 
* Mentor: hidnplayr
 
* Mentor: hidnplayr
 
=== USB drivers ===
 
'''Summary:''' Add USB drivers for the new USB stack (gamepads, joysticks, tablets, etc.)
 
 
'''Details:'''
 
* Goal: USB driver(s) for currently unsupported devices.
 
* Language: Assembler/FASM
 
* Skill level: beginner/intermediate/advanced
 
* Suggested by: hidnplayr/Asper
 
* Mentor: XVilka
 
  
 
=== Improve Ethernet support ===
 
=== Improve Ethernet support ===
Line 142: Line 109:
 
* Mentor: hidnplayr
 
* Mentor: hidnplayr
  
=== Printing/scanning API ===
+
=== FT232R driver ===
'''Summary:''' Add a printing and scanning API and drivers.
+
 
 +
'''Summary:''' Write or port a FT232R (USB to serial UART interface IC) driver.
  
 
'''Details:'''
 
'''Details:'''
* Primary goal: Design and code infrastructure for printing and scanning devices.
+
* Description: FT232R is a popular USB to serial UART interface integrated circuit. It is used in cellular phone USB data transfer cables, MCU and FPGA based boards (such as Arduino), modems, MP3 players, digital cameras, smart card readers, PDAs etc.
 +
* Primary goal: Implement a VCP (Virtual COM Port) driver and a test application to communicate with some device by means of FT232R IC (Arduino for example).
 +
* Additional goals:
 +
: * Write an application for uploading sketches to Arduino.
 +
: * Implement a D2XX driver (for direct access to the USB device).
 
* Language: Assembler/FASM
 
* Language: Assembler/FASM
* Skill level: intermediate/advanced
+
* Skill level: Intermediate.
* Suggested by: hidnplayr
+
* Suggested by: Albom
* Mentor: SoUrcerer
+
* Mentor: hidnplayr
  
 
=== Music player ===
 
=== Music player ===
Line 157: Line 129:
 
'''Details:'''
 
'''Details:'''
 
* Primary goal: Rewrite the current music player (ac97snd), in FASM, and improve its functionality.
 
* Primary goal: Rewrite the current music player (ac97snd), in FASM, and improve its functionality.
: * Support for file formats wav, mp3 an xm (using available external libraries).
+
: * Support for file formats wav, mp3 and xm (using available external libraries).
 
: * Support for playlists (m3u).
 
: * Support for playlists (m3u).
 
: * A time display.
 
: * A time display.
 
* Additional goals:
 
* Additional goals:
 
: * Use of system wide hotkeys to control player
 
: * Use of system wide hotkeys to control player
: * Support for IDv3 tags
+
: * Support for metadata (ID3, ...)
: * More codecs (flac, ogg, ...)
+
: * More codecs (flac, vorbis, ...)
 
: * Audio indication (oscillograph, bar graph, ...)
 
: * Audio indication (oscillograph, bar graph, ...)
 
: * Show cover art from files or album folder
 
: * Show cover art from files or album folder
Line 173: Line 145:
 
* Skill level: intermediate/advanced
 
* Skill level: intermediate/advanced
 
* Suggested by: hidnplayr
 
* Suggested by: hidnplayr
* Mentor: hidnplayr
+
* Mentors: hidnplayr / dunkaist
 +
 
 +
=== Web browser: Netsurf ===
 +
'''Summary:''' Complete porting of [http://www.netsurf-browser.org/ NetSurf] browser for KolibriOS
 +
 
 +
'''Links:'''
 +
* [http://www.netsurf-browser.org/ NetSurf Website]
 +
* [http://board.kolibrios.org/viewtopic.php?f=40&t=2315 Work done so far on NetSurf port (in Russian)]. If you don't know Russian, you can read [http://translate.google.com/translate?hl=en&sl=ru&tl=en&u=http%3A%2F%2Fboard.kolibrios.org%2Fviewtopic.php%3Ff%3D40%26t%3D2315 English translation using Google-Translate]
 +
 
 +
'''Details:'''
 +
Our developer [[User:SoUrcerer|SoUrcerer]] started working on NetSurf browser port. Since he has no spare time, someone else needs to complete it.
 +
* Goal: Bring NetSurf browser port in KolibriOS to the point of 90-95% functionality, with all critical and major bugs fixed, and only minor or trivial bugs left. First job would be fixing/enhancing the build system.
 +
* Language: C (may require writing a few lines in FASM assembly though, to port some libraries)
 +
* Skill level: intermediate/advanced
 +
* Suggested by: Pretty much everyone in Kolibri
 +
* Mentors: punk_joker / hidnplayr
 +
 
 +
=== Web browser: WebView ===
 +
'''Summary:''' Improve existing text-only web browser WebView - add more functionality and compatibility.
  
=== Installer ===
+
'''Links:'''
'''Summary:''' Add an installer to KolibriOS.
+
* [http://www.w3.org/TR/REC-html40/ HTML 4.01 Specification]
 +
* [http://board.kolibrios.org/viewtopic.php?f=40&t=1075 Work done so far on WebView (mostly in Russian)]. If you don't know Russian, you can read [http://translate.google.com/translate?hl=en&sl=ru&tl=en&u=http%3A%2F%2Fboard.kolibrios.org%2Fviewtopic.php%3Ff%3D40%26t%3D1075 English translation using Google-Translate]
  
 
'''Details:'''
 
'''Details:'''
* Language: [http://c--sphinx.narod.ru/indexe.htm Sphinx C--]
+
* Primary goal: Have mostly complete HTML4 support on a good enough level to read non-complex (mobile?) websites
* Skill level: beginner/intermediate/advanced
+
* Secondary goal: Add certain elements of CSS, speed optimizations
* Suggested by: asiekierka
+
* Language: [http://c--sphinx.narod.ru/indexe.htm Sphinx C--]. May require writing a few lines in FASM though.
* Mentor: Leency
+
* Skill level: intermediate/advanced
 +
* Suggested by: Leency / hidnplayr
 +
* Mentors: punk_joker / hidnplayr
  
== Open Ideas (without appointed mentor) ==
+
<!--
 +
== Open Ideas (without appointed mentor) ==
  
 
=== Widget toolkit ===
 
=== Widget toolkit ===
Line 223: Line 217:
 
* Suggested by: Wildwest/asiekierka
 
* Suggested by: Wildwest/asiekierka
 
* Mentor: ???
 
* Mentor: ???
 +
 +
=== Kernel vulnerabilities ===
 +
'''Summary:''' Find and fix as many kernel vulnerabilities as you can.
 +
 +
'''Details:'''
 +
* Goal: Check the list of kernel API functions versus their actual implementation in KolibriOS kernel (for example, check that the function doesn't destroy register values if it declares in description that it doesn't). If you find a vulnerability, try to fix it so that it works according to API. If you cannot fix it yourself, document the vulnerability and describe the problem.
 +
* Language: Assembler/FASM
 +
* Skill level: Intermediate/Expert
 +
* Suggested by: Serge
 +
* Mentor: Serge '''(Is not always available to answer questions, so select this task only if you can work fairly independently.)'''
 +
 +
=== Web browser in FASM ===
 +
'''Summary:''' Write a proper HTML web browser for KolibriOS
 +
 +
'''Links:'''
 +
* [http://www.w3.org/TR/REC-html40/ HTML 4.01 Specification]
 +
 +
'''Details:'''
 +
* Primary goal: Have mostly complete HTML4 support on a good enough level to read non-complex (mobile?) websites
 +
* Secondary goal: Add certain elements of CSS, speed optimizations
 +
* Language: Assembler/FASM
 +
* Skill level: Expert
 +
* Suggested by: Pretty much everyone in Kolibri
 +
* Mentor: SoUrcerer
 +
 +
=== Font subsystem/Locales ===
 +
'''Summary:''' Add a font subsystem (with Unicode?) and locale support
 +
 +
'''Details:'''
 +
* Primary goal: Add a font subsystem for multiple fonts, etc., standardize it and add keyboard layouts.
 +
* Language: Assembler/FASM
 +
* Skill level: intermediate/advanced
 +
* Suggested by: XVilka/Wildwest
 +
* Mentor: XVilka
 +
 +
=== USB drivers ===
 +
'''Summary:''' Add USB drivers for the new USB stack (gamepads, joysticks, tablets, etc.)
 +
 +
'''Details:'''
 +
* Goal: USB driver(s) for currently unsupported devices.
 +
* Language: Assembler/FASM
 +
* Skill level: beginner/intermediate/advanced
 +
* Suggested by: hidnplayr/Asper
 +
* Mentor: XVilka
 +
 +
=== Printing/scanning API ===
 +
'''Summary:''' Add a printing and scanning API and drivers.
 +
 +
'''Details:'''
 +
* Primary goal: Design and code infrastructure for printing and scanning devices.
 +
* Language: Assembler/FASM
 +
* Skill level: intermediate/advanced
 +
* Suggested by: hidnplayr
 +
* Mentor: SoUrcerer
 +
-->
 +
 +
[[Category:Misc]]

Latest revision as of 16:55, 15 January 2016

Introduction

KolibriOS is proud to be selected as a Mentoring Organization for Google Summer of Code 2014. This page contains our ideas list and some additional information for students and mentors. We are accepting student applications starting March 10th.

Last year, we have run an independent Summer of Code using money we collected with Kickstarter. Two students have worked on KolibriOS, and the results of 2013 Summer of Code were: adding write support for EXT2 filesystem, and adding (read-only) support for XFS filesystem.

Student Requirements

Prospective students are required to register on our developers forum, join the developers chat and submit a small bugfix / improvement to our SVN in order for their application to be considered. Examples of such tasks can be obtained by asking on developers chat or on our IRC channel (#kolibrios @ irc.freenode.net). This requirement is only to show us that you are able to work with our SVN and interact with our developers if you are selected. This task has to be completed before student application deadline (21 March 19:00 UTC).

In addition, students need to answer the following questions when applying:

  1. Full Name (First + Last Name).
  2. E-mail address.
  3. Nickname you plan to use on our forums, SVN repository or IRC chat.
  4. Age.
  5. Country + city of residence.
  6. Human languages you speak (write all languages and knowledge level - basic/intermediate/expert/mother tongue).
  7. Name of college or university you are accepted into or enrolled in + link to their website.
  8. Name of program (or faculty, or department) in that college/university you are accepted into or enrolled in.
  9. Your current timezone in UTC/GMT terms (for example, Paris is UTC/GMT +1 hours right now).
  10. Have you been involved with any open-source project in the past? If yes, which one, and what have you done for that project?
  11. Code samples - please provide links to code that you have written. It can be your high school project, contribution to open-source organization, your college/university task or anything like that.
  12. The task you are willing to work on from our list of Summer of Code 2014 ideas (or suggest your own idea, if you don't like any of the proposed ideas).
  13. What other time commitments, such as school work, another job, planned vacation, etc., will you have between May 19 and August 18?

Organization

You can find the organizers on the IRC channel (#kolibrios @ irc.freenode.net) or at our forum: http://board.kolibrios.org/

Name Nickname Role
Yogev Ezra yogev_ezra Organization Administrator
Jeffrey Amelynck hidnplayr Mentor, Backup Administrator
Ivan Baravy dunkaist Mentor
Sergey Sakhno punk_joker Mentor

We have discussed "Google Summer of Code 2014" application with all active members of the KolibriOS Project Team, and selected only those 3 (three) people who have both the knowledge, the dedication, and the time to help their students during the entire summer. Each one of them was assigned to mentor projects in his area of specialization only. In a rare event when a Mentor from the above list cannot continue mentoring his student(s) due to personal circumstances, we will try to find a replacement Mentor, or ask the remaining Mentors to cover for the missing one. Additionally, there is always a number of knowledgeable members of our team hanging around our forum chat, and they will gladly answer any student questions that may arise, even if they haven't volunteered as Mentors themselves.

Ideas for Google Summer of Code 2014

The below list contains ideas suggested by KolibriOS team members. It is neither complete nor final.
Students are welcome (and even encouraged) to suggest their own ideas for GSoC, provided they can find a mentor amongst KolibriOS developers to guide them.

QR-code in boot log

Summary: Add a QR-code (containing the debug log) at the end of boot process

QR-code.png

Details:

  • Description: Sometimes KolibriOS cannot boot on a certain hardware configuration (gets stuck during or after boot process). In such cases, we request the user having this problem to enable debug log at boot time, take a photo of the screen and show it to us (in the forum). However, sometimes taking a good quality photo can be quite challenging (bad camera, shaking hands etc.) and the attached photo is so blurry to the point the debug log cannot be even read. The idea suggested hereby is to simultaneously encode the debug log which is outputted on the screen, to the form of QR-code, and show the resulting QR-code on empty space on the screen. In such way, any user possessing a smartphone with a camera and QR-code scanner, could scan the QR-code and submit the encoded text directly on our forums (without having a need to take a photo), and our developers, in turn, would get the debug log text immediately and won't have to unscramble a blurry photo.
  • Language: Assembler/FASM
  • Skill level: beginner/intermediate
  • Suggested by: People on habrahabr.ru
  • Mentor: dunkaist

Torrent client

Summary: Write a (bit-)torrent client for KolibriOS

Details:

  • Primary goal: Implement a torrent client similar to µTorrent Free edition
  • Language: Assembler/FASM
  • Skill level: intermediate/advanced
  • Suggested by: People on IRC
  • Mentor: hidnplayr

Filesystem support

Summary: Improve filesystem support in KolibriOS

Details:

  • Primary goal: Add Read-only support for the UDF filesystem.
  • Additional goal #1: Add Write support for the UDF filesystem
  • Additional goal #2: Add Write support for the NTFS filesystem (read-only support already exists)
  • Language: Assembler/FASM
  • Skill level: intermediate/advanced
  • Suggested by: dunkaist
  • Mentor: dunkaist

FTP client

Summary: Create a GUI based FTP client or add FTP support to one of the existing file managers

Details:

  • Primary goal: FTP access (download/upload/etc.)
  • Additional goal: Create an FTP client library.
  • Language: Assembler/FASM
  • Skill level: beginner/intermediate
  • Suggested by: hidnplayr
  • Mentor: hidnplayr

Improve Ethernet support

Summary: Write more Ethernet drivers.

Details:

  • Primary goal: Support for popular Broadcom, Atheros and/or Marvell Yukon cards. (pick 2)
  • Additional goals: Any Ethernet cards students and their mentors find.
  • Language: Assembler/FASM
  • Skill level: intermediate/advanced
  • Suggested by: hidnplayr
  • Mentor: hidnplayr

FT232R driver

Summary: Write or port a FT232R (USB to serial UART interface IC) driver.

Details:

  • Description: FT232R is a popular USB to serial UART interface integrated circuit. It is used in cellular phone USB data transfer cables, MCU and FPGA based boards (such as Arduino), modems, MP3 players, digital cameras, smart card readers, PDAs etc.
  • Primary goal: Implement a VCP (Virtual COM Port) driver and a test application to communicate with some device by means of FT232R IC (Arduino for example).
  • Additional goals:
* Write an application for uploading sketches to Arduino.
* Implement a D2XX driver (for direct access to the USB device).
  • Language: Assembler/FASM
  • Skill level: Intermediate.
  • Suggested by: Albom
  • Mentor: hidnplayr

Music player

Summary: Improve the current music player in Kolibri.

Details:

  • Primary goal: Rewrite the current music player (ac97snd), in FASM, and improve its functionality.
* Support for file formats wav, mp3 and xm (using available external libraries).
* Support for playlists (m3u).
* A time display.
  • Additional goals:
* Use of system wide hotkeys to control player
* Support for metadata (ID3, ...)
* More codecs (flac, vorbis, ...)
* Audio indication (oscillograph, bar graph, ...)
* Show cover art from files or album folder
* Fade in/out and/or crossover
* Streaming radio (at least mp3 over http stream)
* Skins
* Media library
  • Language: Assembler/FASM (C/C++ to port codec)
  • Skill level: intermediate/advanced
  • Suggested by: hidnplayr
  • Mentors: hidnplayr / dunkaist

Web browser: Netsurf

Summary: Complete porting of NetSurf browser for KolibriOS

Links:

Details: Our developer SoUrcerer started working on NetSurf browser port. Since he has no spare time, someone else needs to complete it.

  • Goal: Bring NetSurf browser port in KolibriOS to the point of 90-95% functionality, with all critical and major bugs fixed, and only minor or trivial bugs left. First job would be fixing/enhancing the build system.
  • Language: C (may require writing a few lines in FASM assembly though, to port some libraries)
  • Skill level: intermediate/advanced
  • Suggested by: Pretty much everyone in Kolibri
  • Mentors: punk_joker / hidnplayr

Web browser: WebView

Summary: Improve existing text-only web browser WebView - add more functionality and compatibility.

Links:

Details:

  • Primary goal: Have mostly complete HTML4 support on a good enough level to read non-complex (mobile?) websites
  • Secondary goal: Add certain elements of CSS, speed optimizations
  • Language: Sphinx C--. May require writing a few lines in FASM though.
  • Skill level: intermediate/advanced
  • Suggested by: Leency / hidnplayr
  • Mentors: punk_joker / hidnplayr