A computer program product comprising an application program and having a non-transitory computer readable medium with computer code thereon for use with a computer processor, which when executed by the computer processor, causes the computer processor to produce a non-modal graphical user control element on a ribbon within the application program providing real-time status information about the application program, the computer code comprising: computer code which, when executed by the computer processor, the computer processor to produce the non-modal graphical user control element (401, 340B, 402, 403) on a ribbon graphically displayed within the application program, wherein the non-modal graphical user control element does not force the user to engage with the non-modal graphical user control element; computer code which, when executed by the computer processor, causes the computer processor to receive from the application program a status message of a predefined application specific category and visually placing the status message in real-time on the non-modal graphical user control element at a location associated with the predefined category; wherein the status messages includes application specific position information identifying an object within a user interface object hierarchy associated with one of a plurality of graphical user interfaces within the application program; and computer code which, when executed by the computer processor, responsive to user selection of the non-modal graphical user control element at the location for the predefined application specific category, causes the application program to switch to code within the application program associated with the object within the user interface object hierarchy identified by the application specific position information that is associated with said one of the plurality of graphical user interfaces within the application program, wherein the application program is a complex computer program that is used by a plurality of users that may simultaneously work on a data set to develop a project, the complex computer program having a plurality of projects each project associated with project data and the computer program product further includes computer code which, when executed by the computer processor, causes the computer processor to identify the status message according to a project and only displaying the status messages if a user (910, 950) is working on the project. computer code which, when executed by the computer processor, the computer processor to produce the non-modal graphical user control element (401, 340B, 402, 403) on a ribbon graphically displayed within the application program, wherein the non-modal graphical user control element does not force the user to engage with the non-modal graphical user control element; computer code which, when executed by the computer processor, causes the computer processor to receive from the application program a status message of a predefined application specific category and visually placing the status message in real-time on the non-modal graphical user control element at a location associated with the predefined category; wherein the status messages includes application specific position information identifying an object within a user interface object hierarchy associated with one of a plurality of graphical user interfaces within the application program; and computer code which, when executed by the computer processor, responsive to user selection of the non-modal graphical user control element at the location for the predefined application specific category, causes the application program to switch to code within the application program associated with the object within the user interface object hierarchy identified by the application specific position information that is associated with said one of the plurality of graphical user interfaces within the application program, wherein the application program is a complex computer program that is used by a plurality of users that may simultaneously work on a data set to develop a project, the complex computer program having a plurality of projects each project associated with project data and the computer program product further includes computer code which, when executed by the computer processor, causes the computer processor to identify the status message according to a project and only displaying the status messages if a user (910, 950) is working on the project.