Create an Internet Connection Status


The desktop does not yet have an indication of the connectivity of the computer to the internet. At the moment it only detects network connectivity, this isn't clear or the intended goal for home users.



Require two parts:

  1. Additions to network manager to express deep status of the network connectivity.
    1. Connected indirectly to the Internet (has default route + dns + known http request without 30X header)
    2. Connected directly to the Internet (same as above but with public IP address)
    3. Connected but behind HTTP redirect (has default route but http request returns 30X header)
    4. Connected to router, no internet connection (can not contact live server).
    5. Connected to router, no dns (not defined or can not contact dns server).
    6. Connection but no default route, mute connection.
    7. No connection.
    8. D-Bus available for apps to take advantage of (over normal nm)
  2. Some front-end modifications to take advantage of the features.
    1. Optional status notifier when not online
    2. icon change when not-online but in automatic configuration.

Network Tests

These tests are to be performed and each needs to be answered in order to get the status:

  1. Default Gateway set
  2. DNS Set
  3. HTTP Request
    1. DNS Failure
    2. Connection failure
    3. HTTP Headers contain redirect
  4. Network IP == Public IP


The status front end design needs to have some thoughts as to how much information to expose in the icons and how much to use for status updates or general information when requested. For instance, the current icon uses a simple connection icon for Ethernet and a signal strength icon for wifi and 3G connections.

  1. Possible second icon, although that adds to clutter
  2. possible combination icon, adds to complexity of message
  3. Possible selective icon, using icons where the most important status is shown.
  4. Use a simple overlay for internet or warning triangle for other problems.

Discussion Notes

Gobby Document copy and paste from Wed, Nov 18 at 12:50.

User Problem

  • Primary Goal, to be able to connect to the data on the internet.
  • Status of connection to allow users to see.
  • Second objective, can't connect to the internet, resolutions.

Possible Problems

  • Paywalls - Open the web browser
  • Routing Problems - Advise to contact the ISP
  • DNS Failures - Same
  • Local Network Only - Nothing to advise (e.g. military base, bank)
  • Partial Internet (some Web sites or protocols whitelisted or blacklisted)
  • Bandwidth Overload - Advise to slow or stop downloads/uploads

UI Design

  • Instead of a positive indicator, negative indicator of not-online.
  • Granular status of Not Connected, Not Online and Online Connection.
  • Indication icon which is not too WARNING, but warning.

Further Development

Items not in this specification but have been discussed as interesting further developments.

  1. Attempt default passwords on router and warn users of impending security doom.
  2. Directly connected online, warn users of the usefulness of home routers for internet sharing.
  3. Ability for network manager to remember settings for paywalls, automatically connect through them.
  4. Test the speed and latency of the connection to the internet during download of http, expose those values.
  5. Measure bandwidth/ping and provide via dbus to warn about low connectivity.

BluePrints/OnlineStatus (last edited 2010-05-04 01:42:37 by pool-68-163-147-106)