Bundle-PBib
view release on metacpan or search on metacpan
t/sample.rtf view on Meta::CPAN
\par In the case of the Passage system, the user interface is rather simple; it consists of the virtual part of the bridge. The }{\i\insrsid12989836 virtual}{\insrsid12989836
part of the bridge is displayed on a roomware component whenever a passenger is detected on the }{\i\insrsid12989836 physical}{\insrsid12989836 part of the bridge (see figure }{\field{\*\fldinst {\insrsid12989836 REF fPassagePicture \\h }{
\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000008000000100000006600500061007300730061006700650050006900630074007500720065000000}}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid12989836 3}{\insrsid12989836 \_}{
\lang1024\langfe1024\noproof\insrsid12989836 1}}}{\insrsid12989836 ).
\par The user-interface model allows one to define alternative user-interface concepts suitable for different interaction devices (req. }{\field{\*\fldinst {\insrsid12989836 REF qDifferentFormsOfInteraction \\h \\* MERGEFORMAT }{\insrsid12989836
{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710044006900660066006500720065006e00740046006f0072006d0073004f00660049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 H\_1}}}{\insrsid12989836
). Multiple-computer devices (req. {\*\bkmkstart _Hlt517580772}}{\field{\*\fldinst {\insrsid12989836 REF qCompositeRoomwareComponents \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710043006f006d0070006f00730069007400650052006f006f006d00770061007200650043006f006d0070006f006e0065006e00740073000000}}}{\fldrslt {\insrsid12989836 U\_2}}}{\insrsid12989836 {\*\bkmkend _Hlt5175...
}) and multi-device interaction (req. }{\field{\*\fldinst {\insrsid12989836 REF qMultipleDeviceInteraction \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001b00000071004d0075006c007400690070006c00650044006500760069006300650049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 UH\_2}}}{\insrsid12989836
) make it necessary to have user interface elements that can be distributed and shared among di}{\insrsid12989836 f}{\insrsid12989836 ferent devices (see below).
\par By explicitly modeling an appropriate user-interface, all issues related to the hardware and physical environment can be addressed at one point, allowing applications and documents to be d}{\insrsid12989836 e}{\insrsid12989836 vice-independent.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart sPhysicalModelConcept}
{\*\bkmkstart _Toc2659660}{\*\bkmkstart _Toc19764440}Environment Model{\*\bkmkend sPhysicalModelConcept}{\*\bkmkend _Toc2659660}{\*\bkmkend _Toc19764440}: Context Awareness
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 One major property of ubiquitous c
omputing environments is the heterogeneity of the available d}{\insrsid12989836 e}{\insrsid12989836 vices. In order to provide a coherent user experience [[DisappearingUI-CoherenceScope]], the \'93
system must have a deeper understanding of the physical space\'94 [[EasyLiving-Technologies]]. This raises the need for an adequate model of the application\rquote s physical environment.
\par Therefore, the environment model is the representation of }{\i\insrsid12989836 relevant}{\insrsid12989836 parts of the \'93real\'94 world. On one hand, this includes a description of which devices are used, how they are configured, and which ca...
\insrsid12989836 a}{\insrsid12989836 bilities they have. This is the direct }{\i\insrsid12989836 hardware environment}{\insrsid12989836 , which can be employed by the user-interface model to adapt to different devices (req. }{\field{\*\fldinst {
\insrsid12989836 REF qDifferentFormsOfInteraction \\h \\* MERG}{\insrsid12989836 E}{\insrsid12989836 FORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710044006900660066006500720065006e00740046006f0072006d0073004f00660049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 H\_1}}}{\insrsid12989836
). This part corresponds to the platform model defined by the Plasticity framework [[Plasticity-Framework+Agenda]], or Aura\rquote s notion of enviro}{\insrsid12989836 n}{\insrsid12989836 ment [[Aura-Framework]].
\par In addition, other aspects can be included if they can influence the behavior of the software. Necessa}{\insrsid12989836 r}{\insrsid12989836 ily, it has
to be possible to measure their relevant properties with sensors. Depending on detected changes in the }{\i\insrsid12989836 physical environment}{\insrsid12989836 , further actions can be triggered to reflect the current situation (req. }
{\field{\*\fldinst {\insrsid12989836 REF qDynamicConfiguration \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b0200000008000000160000007100440079006e0061006d006900630043006f006e00660069006700750072006100740069006f006e000000}}}{\fldrslt {\insrsid12989836 U\_4}}}{\insrsid12989836 ).
\par The Passage system is an example of how to react upon changes in the physical environment. As me}{\insrsid12989836 n}{\insrsid12989836
tioned, the virtual part of the bridge is shown as soon as a physical object is detected on the physical part of the bridge. Thus, Passage needs to keep a repres
entation of the detected physical objects and the location (esp. bridge) where they have been sensed (fig. }{\field{\*\fldinst {\insrsid12989836 REF fPassageClasses \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b0200000008000000100000006600500061007300730061006700650043006c00610073007300650073000000}}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid12989836 6}{\insrsid12989836 \_}{\lang1024\langfe1024\noproof\insrsid12989836 ...
\insrsid12989836 ). This is part of the environment model. Additio}{\insrsid12989836 n}{\insrsid12989836 ally, the sensors used for detecting physical objects belong to the environment model as well.
\par Besides the physical environment, other contextual information \endash such as the current task, project, or presence of co-workers \endash could influence the behavior of the software, so long as this information is available to the applica
tion. This part refers to the }{\i\insrsid12989836 logical context}{\insrsid12989836 of the application.
\par Software with functionality depending on physical objects and their properties, or other aspects of the user\rquote s environment (req. {\*\bkmkstart _Hlt536717755}}{\field{\*\fldinst {\insrsid12989836 REF qContextAwareness \\h \\* MERGEFORMAT...
\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710043006f006e007400650078007400410077006100720065006e006500730073000000}}}{\fldrslt {\insrsid12989836 U\_3}}}{\insrsid12989836 {\*\bkmkend _Hlt536717755}) is ca...
}{\i\insrsid12989836 context-aware }{\insrsid12989836
[[ContextToolkit-AppDevelopment]]. There is a strong need for context-aware applications in ubiquitous computing environments, as the large number of available devices, services, and tools can be a burden for the user if the complexity for explicit i...
\insrsid12989836 r}{\insrsid12989836 action becomes too high. An environment designed to support the users needs, needs to aim at }{\i\insrsid12989836 implicit}{\insrsid12989836
interaction [[Schmidt-ImplicitHCI]]. This can be accomplished by using changes in the real world\rquote s state to trigger software functionality.}{\cs31\super\insrsid12989836 \chftn {\footnote \pard\plain
\s32\qj \fi-144\li144\ri0\sa80\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin144\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs31\super\insrsid12989836 \chftn }{\insrsid12989836 However
, using detected context to trigger functionality always has the danger of relying on misinte}{\insrsid12989836 r}{\insrsid12989836 preted information, which can be very annoying for users.}}}{\insrsid12989836 T
herefore, the environment model must be capable of expres}{\insrsid12989836 s}{\insrsid12989836 ing relevant information, such as spatial relationships between physical objects.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart sInteractionModelConcept}
{\*\bkmkstart _Toc2659661}{\*\bkmkstart _Toc19764441}Interaction Model{\*\bkmkend sInteractionModelConcept}{\*\bkmkend _Toc2659661}{\*\bkmkend _Toc19764441}: Presentation and Interaction
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 To be able to support different styles of interaction (req. }{\field{\*\fldinst...
\insrsid12989836 REF qDifferentFormsOfInteraction \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710044006900660066006500720065006e00740046006f0072006d0073004f00660049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 H\_1}}}{\insrsid12989836 , }{\field{\*\fldins...
\insrsid12989836 REF qPhysInteraction \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000008000000110000007100500068007900730049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 ...
}}}{\insrsid12989836 ), the interaction model specifies how different interaction styles can be defined. The term used here describes a part of the software a}{\insrsid12989836 r}{\insrsid12989836 chitecture, and should not be confused with the \'93
interaction model\'94 describing the \'93look and feel\'94 of a user interface at a conceptual level as defined by [ :inline | [BeaudouinLafon-PostWIMPModel]]. I}{\insrsid12989836 n}{\insrsid12989836 stead, it is a generalized view of the \'93
interaction model\'94 described by [ :inline | [Suite-CouplingUIs]].
\par As shown in figure }{\field{\*\fldinst {\insrsid12989836 REF fBasicModels \\h }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000006600420061007300690063004d006f00640065006c0073000000}}}{\fldrslt {
\lang1024\langfe1024\noproof\insrsid12989836 4}{\insrsid12989836 \_}{\lang1024\langfe1024\noproof\insrsid12989836 2}}}{\insrsid12989836
, the interaction model defines a way to interact with all other basic models. This is necessary, as all models can define aspects and functions that can be represented for and a}{\insrsid12989836 c}{\insrsid12989836
cessed by the user. For example, a data object like a \'93text\'94 object often has a directly attached view and controller, enabling direct interaction with the text; then, interaction and data model communicate d}{\insrsid12989836 i}{\insrsid129898...
rectly, bypassing user interface and application models. Alternatively, a \'93visual interaction area\'94 being part of the user interface model, provides functionality that has an immediate visual representation re}{\insrsid12989836 n}{\insrsid12989...
dered by the interaction model. In other cases, the interaction model will not access the data model d}{\insrsid12989836 i}{\insrsid12989836
rectly. Instead, it is associated with an appropriate application model as a mediator to the data model. This way, the interaction style can be adapted depending on which application model is used to access a data model.
\par As an appropriate
interaction style depends on the available interaction devices and the associated user interface, a suitable interaction model can be chosen depending on the environment and user-interface model. For visual-based interaction, an adapted version of th...
el-view-controller concept [[MVC-Cookbook], [COAST-ooSyncGroupware]] has proven su}{\insrsid12989836 c}{\insrsid12989836 cessful. However, the \'93model\'94
of the model-view-controller concept is not further structured. It can refer to each of data, application, user interface, or environment model.
\par Passage defines an interactive visual representation (for the virtual part of the bridge) and physical a}{\insrsid12989836 c}{\insrsid12989836
tions as input (placing objects on the physical part of the bridge). Consequently, its interaction model uses both a visual interaction model (see section }{\field{\*\fldinst {\insrsid12989836 REF sModelLayer \\r \\h }{\insrsid12989836 {\*\datafield...
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000c00000073004d006f00640065006c004c0061007900650072000000}}}{\fldrslt {\insrsid12989836 5.2}}}{\insrsid12989836 ) and a sensor model providing the basis for detec}{\insrsid12989836 t}{\insrsid12989836 ...
ing physical o}{\insrsid12989836 b}{\insrsid12989836 jects (see section }{\field{\*\fldinst {\insrsid12989836 REF sSensorModel \\r \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000007300530065006e0073006f0072004d006f00640065006c000000}}}{\fldrslt {\insrsid12989836 6.1}}}{\insrsid12989836 ).
\par {\*\bkmkstart sConceptualSharing}{\*\bkmkstart _Toc19764442}{\listtext\pard\plain\s2 \f1\fs22\insrsid12989836 \hich\af1\dbch\af0\loch\f1 2.3\tab}}\pard\plain \s2\ql \fi-578\li578\ri0\sb120\sa60\keep\keepn\widctlpar
\jclisttab\tx576\hyphpar0\aspalpha\aspnum\faauto\ls128\ilvl1\outlinelevel1\adjustright\rin0\lin578\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 Second Dimension: Coupling and Sharing{\*\bkmkend sConceptualSharing...
{\*\bkmkend _Toc19764442}
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 Whenever multiple devices are involved in a software system, th
e question arises, which parts of the system should be local to a device or shared between several. This has to be clarified for both the a}{\insrsid12989836 p}{\insrsid12989836 plication code and its state. While }{\i\insrsid12989836 distributing co...
\insrsid12989836 among devices is a technical question unique to every application, }{\i\insrsid12989836 sharing state}{\insrsid12989836 has conceptual implications, which this section addresses.
\par Today, many applications still run entirely local to a single computer, or access only data that is di}{\insrsid12989836 s}{\insrsid12989836 tributed over a network. Aiming at synchronous collaboration, crucial aspects of traditional CSCW system...
\i\insrsid12989836 access to shared data}{\insrsid12989836 and }{\i\insrsid12989836 coupling the applications }{\insrsid12989836
of collaborating users [[Suite-CouplingUIs]]. Therefore, coupling has to be applied to both the data and the application model [[COAST-Model]].
\par In the context of ubiquitous computing environments, this view has to be extended. In addition to data and application, also information about the physical environment, e.g., the presence of nearby users or other avai}{\insrsid12989836 l}{
\insrsid12989836 able interaction devices, has to be exchanged by different devices and applications.
\par As discussed above, in a ubiquitous computing environment elements of the user interface can be di}{\insrsid12989836 s}{\insrsid12989836 tributed among several machines (req. }{\field{\*\fldinst {\insrsid12989836 REF qCompositeRoomwareComponent...
\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710043006f006d0070006f00730069007400650052006f006f006d00770061007200650043006f006d0070006f006e0065006e00740073000000}}}{\fldrslt {\insrsid12989836 U\_2}}}{
\insrsid12989836 ) or among different devices (req. }{\field{\*\fldinst {\insrsid12989836 REF qMultipleDeviceInteraction \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001b00000071004d0075006c007400690070006c00650044006500760069006300650049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 UH\_2}}}{\insrsid12989836 ). Based on the sep}{
\insrsid12989836 a}{\insrsid12989836 ration of concerns that has been previously identified, Dewan\rquote s definition of coupling [[Dewan-FlexibleUICoupling]] can be refined. Coupling can now be defined as }{\i\insrsid12989836
sharing the same interaction, user interface, or editing (application) state}{\insrsid12989836
among several users or devices. Coupling can thus simply be implemented as accessing the same user interface or application model. This is an important benefit of using shared user interface and application models.
\par Depending on how much state is shared, the }{\i\insrsid12989836 degree of coupling}{\insrsid12989836
can be controlled. If all involved user interface and editing state is shared, a tightly coupled collaboration mode is realized; if only the same data model is shared, users work loosely coupled (req. }{\field{\*\fldinst {\insrsid12989836 REF
qFlexibleCoupling \\h }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710046006c0065007800690062006c00650043006f00750070006c0069006e0067000000}}}{\fldrslt {\insrsid12989836 C\_2}}}{\insrsid12989836
). This is related to the coupling model d}{\insrsid12989836 e}{\insrsid12989836 scribed in [[Suite-CouplingUIs]].
\par Even, if some models are not coupled, one can profit from sharing environment, user interface, and application models. As the information encapsulated in the models is accessible to all clients, it is po}{\insrsid12989836 s}{\insrsid12989836
sible to provide }{\i\insrsid12989836 awareness information}{\insrsid12989836 in the user interface. Typical for CSCW applications is the pr}{\insrsid12989836 o}{\insrsid12989836
vision of workspace or activity awareness [[GroupKit-AwarenessWidgets], [Interlocus-ActivityAwareness
]]. This can easily be realized if the application model including all editing state is shared [[COAST-Model]]. While tightly coupling the user interface can be inconvenient [[GroupKit-AwarenessTradeoffs], [Colab-WYSIWIS-Rev]], shared user interface ...
mation provides a means of giving add}{\insrsid12989836 i}{\insrsid12989836 tional awareness hints to remote users.
\par Beyond the provision of awareness in CSCW systems, sharing the environment model allows a new kind of awareness for ubiquitous computing environments. The information embodied in the enviro}{\insrsid12989836 n}{\insrsid12989836
ment model can be used to give environmental awareness.
\par This section discusses the aspects of sharing the basic models. Before starting a detailed discussion, it has to be noted that \'93sharing\'94 can be implemented in many different ways. In the case of collaborating devices with quite varying pro...
\endash especially in terms of memory, performance, or network co}{\insrsid12989836 n}{\insrsid12989836 nection \endash a shared object does not necessarily have to have the same implementation for different pla}{\insrsid12989836 t}{\insrsid1298983...
forms (see e.g. Manifold [[Manifold-Architecture]] or Pocket Dream Team [[QuickStep-Challenges]]). For example, a shared \'93image\'94 object is likely to have a different implementation on a high-end des}{\insrsid12989836 k}{\insrsid12989836
top PC than on a PDA. At the conceptual level, however, both implementations refer to the same shared object.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart _Toc2659663}{\*\bkmkstart _Toc197...
Sharing the Data Model{\*\bkmkend _Toc2659663}{\*\bkmkend _Toc19764443}: Collaborative Data Access
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 In order to access and work collaboratively with shared data (req. }{\field{\*\...
\insrsid12989836 REF qCollaboration \\h }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000f000000710043006f006c006c00610062006f0072006100740069006f006e000000}}}{\fldrslt {\insrsid12989836 C\_1}}}{\insrsid12989836
), it is widely agreed that a shared model for documents reduces the complexity in dealing w
ith distributed applications. While there are well-established models defining a shared data model providing read-only access only (e.g. the world-wide-web), it is much more complicated to allow simultaneous modific}{\insrsid12989836 a}{\insrsid12989...
tions at a fine granularity.
\par Most popular toolkits and frameworks for computer-supported cooperative work provide some mech}{\insrsid12989836 a}{\insrsid12989836
nism to manage a shared-object space. In toolkits with a centralized architecture [[Rendezvous-Demands]], the document is necessarily shared. Replicated (or semi-replicated
[[Groupware-Architectures]]) systems create a shared-object space by synchronizing the replicated objects [[Clock-Architecture], [Dragonfly-Architecture], [COAST-ooSyncGroupware]]. In later versions of GroupKit [[GroupKit-CSCW92], [GroupKit-RealTime...
ared \'93environments\'94 have been introduced as shared data structures that can trigger cal}{\insrsid12989836 l}{\insrsid12989836 backs upon changes.
\par Application designers thus have to decide to which degree or for which parts of their application shared access to data is desirable or necessary. For the Passage system, a shared data model enables a straigh}{\insrsid12989836 t}{\insrsid1298983...
forward access to data objects from different computers, which is necessary when a passenger is tran}{\insrsid12989836 s}{\insrsid12989836 ferred to another roomware component.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart _Toc2659664}
{\*\bkmkstart sApplicationModelSharing}{\*\bkmkstart _Toc19764444}Sharing the Application Model{\*\bkmkend _Toc2659664}{\*\bkmkend sApplicationModelSharing}{\*\bkmkend _Toc19764444}: Workspace Awareness & Degree of Coupling
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836
To have an easy way of getting information about the editing state of other users, it has been proposed not only to share the data model, but also to share the application model [[COAST-Model]]. Sharing the editing state gives the ability to
provide awareness about editing activities. Taking again the exa}{\insrsid12989836 m}{\insrsid12989836 ple of a text-edit application model, sharing it opens the opportunity to visualize, e.g., text cursors or sele}{\insrsid12989836 c}{\insrsid12989...
tions of remote users.
\par By changing the state of the application model, the degree of coupling or other possible work modes can be controlled (req. }{\field{\*\fldinst {\insrsid12989836 REF qFlexibleCoupling \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710046006c0065007800690062006c00650043006f00750070006c0069006e0067000000}}}{\fldrslt {\insrsid12989836 C\_2}}}{\insrsid12989836
( run in 0.611 second using v1.01-cache-2.11-cpan-39bf76dae61 )