Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
developers:gsoc:2016:ideas [2016/02/18 05:00] – nurupo | developers:gsoc:2016:ideas [2016/02/24 19:57] (current) – [Language-independent Tox Core implementation tests] iphydf | ||
---|---|---|---|
Line 2: | Line 2: | ||
See also: **[[developers: | See also: **[[developers: | ||
- | |||
- | List of mentors: | ||
- | ^ ^ Email address | ||
- | | chuongv | ||
- | | dvor | | | ||
- | | grayhatter | ||
- | | iphy | < | ||
- | | irungentoo | ||
- | | JX7P | | | ||
- | | mannol | ||
- | | stal | | | ||
- | | zero-one | ||
- | ===== Idea template ===== | ||
- | |||
- | Use the following template for adding your own ideas. | ||
- | |||
- | Create a project header if there isn't one already and add your ideas under the corresponding project. | ||
- | |||
- | The project header should be followed by link(s) to pages related to the project. If your project has its own wiki page describing it, it would make a link. From the link(s) you provide, at the very least, the student should be able to get information on general description of the project, maintainer' | ||
- | |||
- | Before suggesting an idea, take into consideration that students will be working for 3 months on it, so please refrain from suggesting ideas that are likely to be finished too early or too late. | ||
- | |||
- | When writing an idea, make sure that you don't use any Tox-specific jargon that a student won't understand. Write in simple terms, so that college students unfamiliar with Tox could understand. | ||
- | |||
- | It's suggested to always include your (mentor' | ||
- | |||
- | You are encouraged to look into Ideas pages for the previous GSoC years: [[developers: | ||
- | |||
- | |||
- | ===== Project name ===== | ||
- | |||
- | [[https:// | ||
- | |||
- | |||
- | ==== Idea name ==== | ||
- | |||
- | **Brief explanation**: | ||
- | |||
- | **Expected results**: a list of what you expect students to complete by the end of 3 months | ||
- | |||
- | **References**: | ||
- | |||
- | **Knowledge Prerequisite**: | ||
- | |||
- | **Difficulty**: | ||
- | |||
- | **Mentor**: email and IRC nick | ||
===== Infrastructure ===== | ===== Infrastructure ===== | ||
This project is collection of all Tox Project infrastructure. | This project is collection of all Tox Project infrastructure. | ||
- | |||
==== Website improvements ==== | ==== Website improvements ==== | ||
- | **Brief explanation**: | + | **Brief explanation**: |
* Prefer static content generation. | * Prefer static content generation. | ||
* All dynamic information provided in HTML should have machine-readable (e.g. JSON) alternatives. | * All dynamic information provided in HTML should have machine-readable (e.g. JSON) alternatives. | ||
Line 76: | Line 28: | ||
**Difficulty**: | **Difficulty**: | ||
- | **Mentor**: zero-one | + | **Mentor**: |
===== Tox Core ===== | ===== Tox Core ===== | ||
- | [[users: | + | [[users: |
==== Language-independent Tox Core implementation tests ==== | ==== Language-independent Tox Core implementation tests ==== | ||
Line 92: | Line 44: | ||
**Expected results**: | **Expected results**: | ||
* Design document and interface specification. | * Design document and interface specification. | ||
- | * A complete set of functional tests for every component of Tox Core as specified in its [[https:// | + | * A complete set of functional tests for every component of Tox Core as specified in its [[https://toktok.github.io/spec|specification]]. |
* Optionally, but highly recommended as a means for self-validation: | * Optionally, but highly recommended as a means for self-validation: | ||
* Optionally: a testing interface for multiple nodes with different (or the same) implementations to run in a simulated environment. | * Optionally: a testing interface for multiple nodes with different (or the same) implementations to run in a simulated environment. | ||
Line 100: | Line 52: | ||
**Difficulty**: | **Difficulty**: | ||
- | **Mentor**: irungentoo for the libtoxcore side + see language/ | + | **Mentor**: |
==== Implement Tox protocol in another language ==== | ==== Implement Tox protocol in another language ==== | ||
- | **Brief explanation**: | + | **Brief explanation**: |
Language choices are currently: | Language choices are currently: | ||
- | ^ Language | + | ^ Language |
- | | C# | iphy | | | + | | C# |
- | | Coq | iphy | | | + | | Coq | [[iphydf@gmail.com|iphy]] | | |
- | | Cyclone | + | | Cyclone |
- | | F# | iphy | | | + | | F# |
- | | **Go** | + | | **Go** |
- | | **Haskell** | + | | **Haskell** |
- | | JX-Objective C | JX7P | | | + | | JX-Objective C |
- | | MISRA-C/ | + | | MISRA-C/ |
- | | OCaml | iphy | | | + | | OCaml | [[iphydf@gmail.com|iphy]] | | |
- | | **Rust** | + | | **Rust** |
- | | Safe-D | + | | Safe-D |
- | | **Scala** | + | | **Scala** |
- | | SML | iphy | | | + | | SML | [[iphydf@gmail.com|iphy]] | | |
- | | Swift | dvor, stal | | | + | | Swift |
Safe-D is D where all public entry points are @safe and no internal functions are @trusted. **Bold** languages are ones that have a beginning of an implementation. | Safe-D is D where all public entry points are @safe and no internal functions are @trusted. **Bold** languages are ones that have a beginning of an implementation. | ||
Line 148: | Line 100: | ||
**Difficulty**: | **Difficulty**: | ||
- | **Mentor**: mannol | + | **Mentor**: |
==== Multi-Device Support ==== | ==== Multi-Device Support ==== | ||
Line 162: | Line 114: | ||
**Difficulty**: | **Difficulty**: | ||
- | **Mentor**: grayhatter | + | **Mentor**: |
==== Mobile-friendliness improvements ==== | ==== Mobile-friendliness improvements ==== | ||
Line 176: | Line 128: | ||
**Difficulty**: | **Difficulty**: | ||
- | **Mentor**: irungentoo for libtoxcore, iphy for Antox | + | **Mentor**: |
===== Tox4j ===== | ===== Tox4j ===== | ||
Line 356: | Line 308: | ||
**Expected results**: | **Expected results**: | ||
- | Using existing Objective C wrapper for toxcore create a fully functional client for OS X. Client should be written in Swift and should have following features: | + | Using existing Objective C wrapper for toxcore, create a fully functional client for OS X. Client should be written in Swift and should have following features: |
// | // | ||
Line 373: | Line 325: | ||
**Difficulty**: | **Difficulty**: | ||
- | **Mentor**: [[d@dvor.me|dvor]], | + | **Mentor**: [[d@dvor.me|dvor]], |