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