image/svg+xml Ted Jan 1st, 11:00 pm Audio User Daemon Indicator* Main audio levelMenus* Slider to adjust* Preferences... (mixer)Notifications* Audio level change Power User Daemon Indicator* Main battery level* Individual bat.Menus* Individual bat. entries* Preferences...Notifications* Battery status* Power change AC/Bat Network User Daemon Indicator* Connected AP signal level* Other APs sig. level* Network statusMenus* APs level* Network interfaces* Preferences...Notifications* Network status change* New AP available? Session User Daemon Indicator* IM Status* Logged in usersMenus* Status change* User switch* Guest session* Session managementNotifications* IM Account failed Date-time User Daemon Indicator* Active appointmentsMenus* Complex, start app?Notifications* New appointment Pulse Audio NetworkManager GNOME PowerManager DevKitPower EDS GNOMESession Telepathy System Python C We don't care that much about how it's implemented, as long as it works. Can have complex state that is difficult to implement in a lower level language. Less verifiable, but also more dynamic. Needs to be fast light and small. Also verifiable and simple. Async DBus * Indicators Spec* Application Menu Spec System Specific Many of these are DBus but others are less specified. They can be system specific. User Side Service Side This is the amount of code that actually interacts with the user and handles user input but also displaying information to the user. These are the different components that gather information and bubbling it up to the level of the user. They can do this with the interfaces on the other side of the diagram.