Ideas Page: Difference between revisions
(Don't mention mentors, this is not GSoC) |
m (Add remark on Cassowary algorithm) |
||
Line 5: | Line 5: | ||
== Ideas == | == Ideas == | ||
<!-- | <!-- | ||
documentation from source generator | |||
documentation from source generator | filesystem in userspace (FUSE) | ||
gui layout engine using Cassowary algorithm https://duckduckgo.com/?q=The+Cassowary+linear+arithmetic+constraint+solving+algorithm&t=ffab&ia=web | |||
--> | --> | ||
=== Sortable list of ideas for easy navigation === | === Sortable list of ideas for easy navigation === |
Revision as of 01:38, 30 October 2017
Introduction
This is an ideas page for new developers.
Ideas
Idea Name | Area | Programming Language |
---|---|---|
File system | Kernel | FASM (Assembler) |
Widget toolkit | System wide | FASM (Assembler), C |
Port PolarSSL | Library | C/FASM |
XMPP/Jabber client | Application | Assembler/FASM |
Fasmg port | Application | FASM/FASMG (Assembler) |
Unicode library | Library/Application | FASM (Assembler) |
Document viewer | Library/Application | FASM (Assembler) |
Virt-IO driver | Kernel | FASM (Assembler) |
Loop device driver | Kernel | FASM (Assembler) |
GIMP plugin for skins | Application | C/Python/Scheme |
RSS/Atom news reader | Application | FASM (Assembler) |
File system
- Primary goal: Add write support for ext4 file system (ext4 reading and ext2 writing are already supported).
- Additional goal: Improve write support for NTFS file system.
- Language: FASM (Assembler)
- Links: Ext4 Disk Layout
Widget toolkit
- Primary goal: Extend Box_lib (a set of separate widgets) to create a full-featured widget toolkit, design architecture and implement focus handling, callbacks and other core ideas.
- Additional goal: Integrate created box_lib widgets to the C-framework, extend framework with font handling, layout manager
- Language: FASM (Assembler), C (framework)
- Links: basic idea, list of toolkits
Port PolarSSL
- Primary goal: Make a working port of PolarSSL (as native KolibriOS MS COFF library) and add it to the automatic build-system.
- Additional goal: Update HTTP library (written in FASM) to support HTTPS.
- Language: C/FASM
- Links: Forum thread about polarSSL, HTTP library on WebSVN
XMPP/Jabber client
- Primary goal: Write a basic XMPP/Jabber library and client for KolibriOS.
- Additional goal: Implement some xmpp extentions.
- Language: Assembler/FASM
- Links: XMPP spec, XMPP extentions, Unfinished XMPP client for KolibriOS
Fasmg port
Tomasz Grysztar (creator of FASM) introduced FASMG, a new assembler engine. It would be nice to support its new syntax in KolibriOS.
- Primary goal: Write FASMG application like FASM one. Port standard KolibriOS macros to FASMG syntax.
- Additional goal: Implement macros for compatibility with FASM.
- Language: Assembler/FASM/FASMG
- Links: FASMG overview, FASMG manual
Unicode library
Unicode is a huge and sophisticated standard. Nevertheless modern OS should provide libraries with Unicode related routines like NFC, NFD, sorting, comparing, etc.
- Primary goal: Write a tiny Unicode library with core Unicode algorithms and example application.
- Additional goal: Upgrade existing applications to use the new library.
- Language: Assembler/FASM
- Links: libutf
Document viewer
Document viewer is a vital part of any desktop operating system. Text, config and source code files can be viewed by existing text editors, however binary documents viewer is still required.
- Primary goal: Design API for a document viewer extendable with plugins, implement it as a KolibriOS application.
- Additional goal: Write some plugins like PDF or DJVU.
- Language: Assembler/FASM
- Links: Zathura plugin system
Virt-IO driver
Virtio is a virtualization standard for network and disk device drivers where just the guest's device driver "knows" it is running in a virtual environment, and cooperates with the hypervisor. This enables guests to get high performance network and disk operations, and gives most of the performance benefits of paravirtualization.
- Primary goal: Write kernel driver for, say, virt-io Ethernet card.
- Additional goal: Write more drivers.
- Language: Assembler/FASM
- Links: Virt-IO wiki
Loop device driver
- Primary goal: Write loop device driver and example application to manage loop devices.
- Additional goal: Prepare a set of disk images to be used in filesystem unit tests.
- Language: Assembler/FASM
- Links: loop device overview
GIMP plugin for skins
KolibriOS skins are currently written in FASM. It is inconvenient to design them as there is no realtime preview and all skin images are edited separately.
- Primary goal: Write a GIMP plugin to open/save KolibriOS skins.
- Additional goal: Create more skins.
- Language: C/Python/Scheme
- Links: How to write a GIMP plugin
RSS/Atom news reader
RSS and Atom are standards for web feeds. They are XML based and easily processed via AsmXml library. Corresponding user application would be a big plus to usability of KolibriOS.
- Primary goal: Write RSS news reader as a standalone KolibriOS application.
- Additional goal: Add Atom support to the app.
- Language: Assembler/FASM
- Links: AsmXml library, RSS, Atom
Most importantly...Have Fun!