The intention of this page is to classify features and their place with respect to R1. Once every feature is classified, the releases up to and including R1 can then be scheduled. This schedule will help to serve as inspiration to contribute to features that are required for a particular release. = Procedure = 1. Define the R1 feature set. Features should be organized in three groups: * must-have features * nice-to-have features (which shouldn't hold off the release) * definitely-post-R1 features 2. Define a rough estimation/schedule for the implementation of the missing features. 3. Create the R1 roadmap. This includes all releases we want to do until R1, tagged with preliminary release dates. = Features = == Locale == === Reasons For === 1. more polished impression 1. despite a non-public API, it has stirred many contributions and is important even in its current state === Reasons Against === 1. need to update bundled third party applications 1. locale API not ready to be public 1. layout API not ready to be public 1. including it in Pre-R1 & not in R1 Final, may cause false hopes === SubTasks === 1. Make Layout API public * Master ticket: #5524 * make it FragileBaseClass safe #5526 * integration with the archiving feature in general #5525 * testing the archiving feature in general 1. Preflet needs work 1. update applications to use Layout API * Mail - partially (settings) * Media - partially * Terminal - partially * E-mail - calculating dynamic sizes * FileTypes - calculating dynamic sizes * TextSearch - calculating dynamic sizes * DiskProbe - calculating dynamic sizes * DataTranslations * Tracker * TV * ShowImage * SoundRecorder * People * Poorman * MediaConverter * Magnify * DiskUsage * Cortex * CDPlayer * Bootman * Tracker * Time * ScreenSaver * Shortcuts * Printers 1. update applications to use Locale API * #4619 * Fill in details. 1. update 3rd party applications bundled with Haiku * Vision * WebPositive * BePDF * ClockWerk * Pe * WonderBrush == Wifi == === Reasons For === 1. even without encryption, it improves Haiku's appeal & usability 1. marketing appeal === Reasons Against === 1. including it in Pre-R1 & not in R1 Final, may cause false hopes 1. currently has irq sharing issues that may prevent a successful boot & cause a negative 1st impression. === SubTasks === 1. IRQ sharing issues 1. userland utilities (network preflet integration, some form of notification in deskbar) 1. proper cli integration with ifconfig 1. WEP encryption 1. WPA/WPA2 encryption * Porting wpa_supplicant, would be the quickest way to get WPA/WPA2 support working, presumably as an extension to the net_server, just like dhcp is. == WebPositive == === Reasons For === 1. BeZillaBrowser/Bon Echo/FireFox 2.x is outdated and is a constant blemish 1. In ways, it is more advanced than BeZillaBrowser === Reasons Against === 1. Missing functionality that users expect in a browser === SubTasks === 1. WebKit as optional build feature 1. Integrate WebPositive in repository * for next alpha, perhaps just an OptionalPackage? == ACPI == 1. wide spread testing 1. http://dev.haiku-os.org/ticket/5064 == Package manager == === SubTasks === 1. UnionFS needs to be implemented, such that one can edit a file that has been inserted by a package (like config files). 1. thorough testing required 1. test packages need to be created == IRQ Routing == Fill in details. == Debugger == 1. not quite ready for public consumption yet. == Jamfile Engine == Fill in details. == Media Kit Encoding Support == 1. Implement BEncoder API 1. Adding support for more codecs 1. Updating the port of Xiph would need to be done as well == Network Preflet Rewrite == Fill in details. == Device Manager == Fill in details. == bootman improvements == 1. support multiple drives * r25044 * #2477 * #3545 * #4503 1. user selectable destination drive (eg, install to usb stick) #3443 1. writembr #5595 == TTY Layer == 1. Rework our current TTY layer into a module 1. Create an API that fulfills the need of a serial port * traditional RS232 * serial over USB. 1. Integrate the new API into the serial drivers that are already in our repository, 1. Make sure everything works as expected. 1. Until now the serial port was reserved for kernel debugging, but it is now time for proper userland support. === Reasons For === 1. Would allow Haiku to be debugged by another installation of Haiku === Reasons Against === 1. More frequently, new hardware is missing serial header == OSS Improvements == 1. Prevent driver collision == Stack and Tile == === Reasons Against === 1. Requires much code refactoring before merging into trunk == Session Management == Fill in details. == Content Based Search == Fill in details. = [http://dev.haiku-os.org/milestone/Unscheduled Unscheduled] = 1. Hardware 3D acceleration * 3D accelerated app_server 1. Tracker rewrite/refactoring * separate view mode code * add more view modes 1. Multi-user support 1. 64 bit support 1. Keyboard shortcut and gestures management (Spicy Keys has been integrated as "Shortcuts", needs improvements.) 1. Keyboard and Mouse settings associated with hardware 1. Multi-head support in app_server 1. Concurrent user support in input and app_server 1. Remote app_server (has been implemented, but could use more user-friendly integration) 1. New file system - FutureHaikuFileSystem 1. More POSIX compatibility 1. Replacing the C library * #1907 * [http://www.freelists.org/post/haiku-development/PATCH-libroot-improvements haiku-development:PATCH-libroot-improvements] 1. Power management 1. I/O APICs (implemented, but the interrupt mapping for PCI interrupts that has to be read through ACPI is yet missing) 1. Finalize new driver architecture and rewrite all drivers 1. IPv6 network support 1. Floppy drive support 1. Media Acceleration library (common routines to be used by media plugins that can be replaced by OpenCL, SSE or the like) 1. API changes after dropping BeOS backwards compatibility - [http://dev.haiku-os.org/wiki/APIChangesOnCompatibilityDrop APIChangesOnCompatibilityDrop] 1. Calendar / Scheduling application (and server?) 1. Gamepad/joystick support [http://www.freelists.org/post/haiku-development/Joystick-support ML thread] = Random Questions = 1. What is needed to make the Locale API public? 1. What needs to be improved for the Locale Preflet? 1. What currently happens when you archive a BView hierarchy that is layout managed, and unarchive it again?