wiki:Obsolete/Proposals/Networks Preferences

Version 2 (modified by wkornewald, 12 years ago) ( diff )

changed the way you can switch the active location


This is a proposal for the R1 Networks preferences application.

Our goal is to create a consistent and intuitive user interface which makes it as easy as possible to join an existing network. Our UI must make even non-technical users feel confident to configure their network by hand without the help of ISP-provided software. At the same time, we need to offer features required by mobile users.

Since Haiku's focus is the desktop market we don't offer server settings in the standard preferences. Server settings should only be available via the command line and settings files or 3rd-party applications.

Conceptual model


Every network interface is displayed as a "network" of a certain "type". Some network types (e.g.: PPP, VPN) require creating a new network object. Others (e.g., Ethernet, WiFi) are always available and can't be removed. Wireless networks are grouped per device.

Locations and sharing of preferences

Locations facilitate saving and quickly recalling a set of network preferences. This is useful for mobile users who use their computer at different places.

A network can be shared shared between all locations by adding it to the system-defined "Global" location. Otherwise, it will only exist in one single, custom location. Hardware devices that are represented as a network (e.g.: Ethernet, WiFi) can only be part of the "Global" location.

Customization of preferences

Custom locations can locally customize (override) a network's global configuration, but some network types only allow for customizing a subset of the global preferences. For example, phone line networks don't allow for customizing the login information. You can't selectively customize individual values, but only all customizable values or none.

User interface


  • manage device configurations
  • IPv4 and IPv6 preferences
  • support for locations
  • settings are applied immediately where it makes sense
  • simple and consistent UI


The application name and window title is "Networks". When started, the application window looks like this:

Location: [Home \/]

Computer name: [laptop_______]
Connect on demand: [My ISP \/]  (Only modems and VPNs)

|- Networks ------------| |- Network Preferences ---------------------------------------------|
|Ethernet    (Connected)| | [ ] Customize preferences for this location
|Ethernet 2   (No Cable)| |
|My ISP   (Disconnected)| | Name: Ethernet
|Wireless (Establishing)| | Status: Connected
|Work VPN (Disconnec...)| |
|                       | | below....
|                       | |
|                       | |
|                       | |
|                       | |
|                       | |
|                       | |
|                       | |
|-----------------------| |-------------------------------------------------------------------|

 Add: [Network \/] Move to: [Location \/]  [Remove]

 [x] Show networks icon in Deskbar


Every entry in the "Networks" list on the left will have little icons in order to make it easier to distinguish networks by type. Maybe it could even be used to indicate the connection status.

When you click on "Add:" you get a simple pop-up which allows choosing the network type. The network is added to the currently selected location. The network types should have a non-technical and a technical name, where possible. For example: "Phone line (PPP)" or "Broadband (PPPoE)".

"Move to:" lists all available locations (the current one is grayed-out). The "Global" location is at the top, separated from the others.

The network name can only be changed in the "Global" location. The "[ ] Customize preferences for this location" checkbox is only shown in custom locations. Values that can't be customized (or all values if you don't customize the preferences) are displayed as simple text instead of grayed-out control. If some values can't be customized a note is displayed below the checkbox: 'Note: Some values can only be changed in the "Global" location.'.

Locations can override "Connect on demand". In custom locations there is an entry "Same as Global".

The active location is only changed when the preferences application is closed.


This network type is always visible and cannot be removed.

|- [x] Automatic IPv4 Configuration ---------------------|
|  IP address: Detecting...
| Subnet mask:
|      Router:
|              [Configure Router...]

|- [x] Automatic IPv6 Configuration ---------------------|
|    IP address: 0123:4567:89AB:CDEF:0123:4567:89AB:CDEF
| Prefix length: 64
|        Router: 2345:4567:89AB:CDEF:0123:4567:89AB:CDEF
|                [Configure Router...]

DNS servers: [________________] (Optional, IPv4 and IPv6)

Hardware address (MAC): 01:23:45:67:89:AB

When choosing automatic configuration the text fields are replaced with status information. The "[Configure Router...]" button allows for directly visiting the router configuration page with your browser. It is only enabled if Haiku detects that HTTP is available on the router's port 80.

All preferences can be customized.

Mobility (IPv6)


  • prefix for automatic configuration
  • full router IP for manual configuration


  • override whether enabled or disabled

Phone line (PPP)


  • you can only override "Phone number" and "Wait for dial tone"

Broadband (PPPoE)

Username: [_____________]
Password: [_____________]
          [x] Save password

  Device: [Ethernet 2 \/]
 Service: [_____________] (Optional)

[ ] Stay always connected
[ ] Use encrypted authentication (not everywhere supported)


Locations can only override "Service".

VPN - all types (IPsec, L2TP, PPTP, etc.)


  • you can only override "Server"


This network type is always visible and cannot be removed.

|- [x] Connect Automatically ------------------------------|
| (o) Preferred networks
| ( ) Open networks

|- Preferred Networks -------------------------------------|
| [x] Home (Connected)
| [ ] University
Add: [Wireless Network \/] [Edit...]  [Remove]    [Connect]

Hardware address (MAC): 01:23:45:67:89:AB

Locations can only override the set of preferred networks or choose to connect to all open networks. In order to look for available networks you can use the Deskbar replicant or click on "Add:".

Note: See TracWiki for help on using the wiki.