Application Glass is any glass that performs the interrelation between CG widgets and some given Application. This can be a Web application, Desktop application, Mobile application, Vehicle infotainment application, an application running on a wearable device, or an application running on some other embedded system. The execution environment determines which CG client library is used. However, in all of these cases, the binding of application context and CG content is handled by relating CG content with Glass Type derived from application name or type and Glass Id derived from application state, event, view or any other identified condition.
For a glass to be related with an application two properties need to be set:
Glass Type: will be related with Application name or type
Glass Id: will be related with well defined Application state
Widget is interrelated with certain event, state, condition or view of an application and this is more likely handled by direct integration with CG API.
Start Conditions of App Glass
In the case of Application Glass the start condition is some state of an application:
Event: some event was fired by an application and a listener of this event is used to set the Glass Id with identifier related with this event and start fetching interrelated Widgets.
View: Some view was opened by the user.
User action: User performed some action, for example clicked a button or link or selected some menu item.
Condition: application checks its condition and at some condition it is coded to start the fetching process.
Example1: MyReader Together:
In thsi example we will assume the existence of some desktop application named MyReader that is capable of reading documents of standard formats.
This hypothetical application uses and hypotehtical ReadingTogetherConnector Widget for the purpose of P2P based shared reading that can be used as part of virtual-consulting service. This assumes that CG was embedded in the MyReader software. A reader is then capable of adding ReadingTogetherConnector widget related with a given document. Widget’s peers-group can be set with two or more peers. The user sends the document to another person defined in the peers-group. When document is opened by two persons the Glass is loaded and ReadingTogetherConnector is operated. The Widget acts to establish stream of data for passing messages that carry information of document state, for example the current loaded page. When connection is establish the two (or more) persons are able to read the document together (Co-Reading). The same idea can be extended for using other types of widgets in relation with a given document such as ChatWidget that will also allow chatting session between readers, or NoteWidget that will allow leaving notes one to another that are available also without two persons been connected at the same time (offline sharing).
Glass & State settings:
Glass Type: "MyReader" (The name/type of out hypothtical app)
Glass Id: unique ID of a given document
Example2: Heart Beat Online:
This application uses ServiceProxy Widget to let user share his/her heartbeat data with medical center service. Generally SeviceProxy are types of widgets that intermediate between users with some service providers. In this case the service provider is some medical center and its duty is to provide help to people who suffer heart illness by monitoring their heartbeat or other physical measurement. A peers group in this case defines two entities: the monitored user (the patient) and a non human peer that works automatically in the background, on some medical center server and its purpose is real-time monitoring and logging physical measurements of the patient. If the monitoring peer detects some dangerous situation it sends warning to the patient peer, that triggers some visible warning. At the same time it can generate alert to medical team so that some representative of the medical center will contact the person.
The session of monitoring may not exist all the time, but when required the patient can connect and start a session. For example, if this patient goes out for training and he wants to be monitored in order to be alarmed when the monitoring system detects a dangerous situation, the user can used a smart watch with heartbeat measurement. The smart watch will operate the Content Glass application (possibly in coordination with a smart phone), and using the ServiceProxy widget, the heartbeat information from the smart watch will be transmitted in real-time to the non human listening peer. If the monitoring peer detects a situation that is defined as dangerous, it send back an Alert message, that triggers some indication of warning.
Glass & State settings:
Glass Type: "Heart Beat Online" (hypothetical name of application running on smart watch for real-time monitoring of heartbeats)
Glass Id: Patient Id