BTRFS: Implement BTree::Path and change _Find.
[haiku.git] / src / apps / devices / Documentation / Design.txt
blobe31438da02ceaed5a177aa221bb857b0b490ee24
1 DeviceManager Design
2 ====================
4 Requirements
5 ------------
6 1) Graphically list each device in the system, with all the information available for that specific device type:
7   - PCI
8   - USB
9   - SCSI
10   - Bluetooth?
11   - ISA?
12   - ATAPI?
13   - AHCI?
14   - Firewire?
16 2) Generate a comprehensive text listing of the devices present to allow users to share detailed information with developers
17 - Generate an email with this information attached
19 3) Let the user generate a report on how well Haiku supports the devices in the system.
20 - Present a list of devices and per device a star rating on the support, and provide a space for comments on the device support.
21 - For each device allow comments
22 - Include all available information for the device (including loaded driver)
23 - Perhaps this can go into the Haikuware compatibility database? 
25 4) Arrange the devices in different orders (by category, by connection, by bus type, by resource assignment?)
27 Graphical Design
28 ----------------
29 +=========+
30 | Devices |
31 +=========+======================================================+
32 | Devices | Help |                                               |
33 +----------------------------------------------------------------+
34 | +------------------------+-----------------------------------+ |
35 | | Sort by: [Category v]  | / Basic \/ <Bus> \/ Advanced \    | |
36 | | -------------------    | +        +--------+----------+--+ | |
37 | | v Audio/Video Devices  | | Device Name:  Netlink 5787M   | | |
38 | |     Hauppauge WinTV    | | Manufacturer: Broadcom        | | |
39 | |     Intel HDA Audio    | | Category:     Network Devices | | |
40 | | v Human Interface Dev. | | Driver used:  broadcom570x    | | |
41 | |     USB Mouse          | |                               | | |
42 | |     USB Keyboard       | |                               | | |
43 | | v Network Devices      | |                               | | |
44 | |  -->Broadcom 5787M<--  | |                               | | |
45 | |     Intel 4965 WIFI    | |                               | | |
46 | | v Graphics Card        | |                               | | |
47 | |     NVidia 8600M GT    | |                               | | |
48 | |      ....              | +-------------------------------+ | |
49 | +------------------------+-----------------------------------+ |
50 | +-------------------------+  +------------+   +-----------+    |
51 | | Report hardware support |  | Gen. email |   | Gen. Text |    |
52 | +-------------------------+  +------------+   +-----------+    |
53 +================================================================+
55 Menu:
56 Devices
57 - Refresh devices
58 - Report compatibility
59 - Generate system information
60 - -----
61 - About Devices
62 - -----
63 - Quit
65 Interface details:
66 - The left list is an OutlineListView, 
67   - Is inside a scroll container
68   - Will contain nice icons per type/device
69   - Clicking on a device will show the details in the right view
71 - The right view contains 3 tabs:
72   - Basic tab: Information available for every kind device
73   - <Bus> tab: Information specific to the bus type of device. (PCI, USB, etc)
74   - Advanced tab: Has a list of name-value pairs of all available information
76 - Sort by allows the user to arrange the treeview by:
77   - Category: 
78   - Connection
79   - Bus type
81 - Report Hardware Support
82   - List all devices
83   - For each device
85 When you click Report Hardware Support, this appears: 
87 +=========================+
88 | Report Hardware Support |
89 +=========================+============================+
90 | Report Device                   Supported  Comment   |
91 |  [x]   Broadcom Netlink 5787M    *****     _________ |
92 |  [x]   Hauppauge WinTV           *****     _________ |
93 |  [x]   Intel 4965 WIFI           .....     _________ |
94 |  [x]   Intel HDA Audio           ****.     _________ |
95 |  [x]   NVidia 8600M GT           ***..     _________ |
96 |  [x]   USB Keyboard              *****     _________ |
97 |  [x]   USB Mouse                 *****     _________ |
98 |  [ ]   Intel 82801 PCI Bridge    .....     _________ |
99 |  [ ]   Intel 82801H PCI Express  .....     _________ |
100 |                                                      |
101 |  If you wish, you can leave your contact details so  |
102 |  developers can get in touch with you for questions  |
103 |  about your devices. These will be stored privately. |
104 |                                                      |
105 |  Name: _______________  Email: __________________    |
106 |                                                      |
107 |  Haiku-os.org account: __________________________    |
108 |                                                      |
109 |  +--------------------+  +---------------+           |
110 |  | Preview submission |  | Generate File |           |
111 |  +--------------------+  +---------------+           |
112 +======================================================+
114 Interface details:
115 ------------------
116 - All devices are _not_ selected for report by default
117 - As soon as a rating is given, it is selected to be reported
118 - Preview submission will popup the generated list with a submit button
119 - Generate file will generate a file that can be uploaded manually, or emailed to a specific address.
120 - As you mouse over the rating, a popup will appear detailing what each star stands for:
121   - ..... : No support
122   - X.... : Crashes Haiku
123   - **... : Detected but doesn't work with 3rd party driver
124   - ***.. : Detected but doesn't work out of the box
125   - ****. : Detected and works with 3rd party driver
126   - ***** : Detected and works out of the box
127   
128