07:24:35 RRSAgent has joined #mbui 07:24:35 logging to http://www.w3.org/2013/07/10-mbui-irc 07:25:17 meeting: MBUI F2F, Munich day 1 07:25:31 chair: Fabio 07:25:53 agenda: http://www.w3.org/wiki/Munich_2013_Face_to_Face_Agenda 07:25:53 scribe: Dave 07:25:58 scribenick: dsr 07:26:43 We start by going around the table introducing ourselves. The telephone bridge will be set up shrotl 07:26:54 s/shrotl/shortly/ 07:27:13 Topic: Red Hat's interest in MBUI 07:27:37 Heiko, our host, gives us a brief introduction to Red Hat. 07:28:10 Open source company well known for its Linux distributions, we offer support and training. 07:28:29 Fabio: who are your clients? 07:29:01 Heiko: traditionally, financial companies for servers, but more generally for enterprise 07:29:30 Large insurance companies, health care, and other companies across the board. 07:29:42 Jaroslav: what is the relation to jBoss? 07:30:22 Heiko: we acquired jBoss 6 years ago, and it is now run as its own business unit, focusing on a Java server platform. 07:31:09 e.g. for business rules and BPM, where you depend on declarative statement of business rules. 07:33:55 jBoss is based upon the Drools forward chaining engine. 07:35:26 Heiko: on the one hand we need to bring the various software components together, but we also need to present a consistent user interface for managing them. 07:36:15 We have software engineers working on middleware components, but mostly they don't have expertise in user interface design. 07:37:02 One of the benefits for model based UI design is to enable the full range of stakeholders to engage in the design and review process. 07:37:42 We have been exploring the UseML framework for an XML description of the UIs. 07:38:22 A business expert may create a rough UI, that is later refined by a usability expert. 07:38:33 rrsagent, set logs public 07:39:39 We go directly from the AUI to the final UI. We don't make use of task models, but do take advantage of the temporal operators. 07:40:19 Paolo: how do you model mutual exclusion, where if you do one task you can't then do another. 07:41:06 Heiko: we have suspend and resume operators ... 07:42:36 Heiko: we currently just generate HTML5 as the final UI. We are also considering an eclipse module. 07:42:53 Everything is open source and publicly accessible. 07:44:33 We have explored for some time the right level of abstraction to meet our UI, and the W3C MBUI WG looked very relevant to our needs. 07:45:28 The structural aspects are much easier to address compared with the behavioural aspects for a given UI design. 07:46:23 It has been very useful to have a shared terminology to facilitate work across different stakeholders. 07:47:03 We support UI extensions and progressive enhancements to a UI, even with contributions by end-users. 07:48:09 With a simpler description of the abstract UI it becomes much easier for people to adjust the UI to their needs. 07:48:53 We have have very strong authorization requirements for the interfaces, controlling which users can do access what features. 07:49:01 s/can do/can/ 07:53:27 The tooling is critical for making this all practical. 07:54:27 We can check the consistency of a given UI design against the domain interfaces. 07:56:11 People contribute structural parts (domain interfaces) and the behavioural parts in different orders, So we need to allow for that. 07:57:15 We are working on better visual tools for designing and manipulating the full UI design. 07:59:08 Different stakeholders contribute different aspects to a design and this would be close to impossible without the models as a shared underlying description. 08:01:28 Jaroslav refers to XForms and SCXML as providing a vocabulary for UI aspects, have you considered using any of these in your work? 08:03:07 Heiko: not really. We define product/domain specific containers as the basis for forms. 08:04:53 Dave: W3C groups in many cases use WebIDL for specifying interfaces, I've been looking at extending this with annotations inspired by XForms. 08:06:41 Jaroslav asks if Heiko could give a short presentation of the details of the Red Hat framework, perhaps this evening or tomorrow morning. 08:07:08 Topic: Review of MBUI Use Case study 08:09:36 Vivian: the use case study is depicted in figure 2 in the intoduction to MBUI, see https://docs.google.com/document/d/1Xp50GZ8EfY017AT_pCMBq5PeK8cwNEZi1a8hXexJkCc/ 08:10:58 Jaroslav: it is important to describe a concrete example in more details, so that readers can understand how the models at different levels of description relate to one another. 08:11:53 s/details/detail/ 08:13:03 Vivian and Jaroslav discuss what's needed ... 08:13:53 Dave: what timescale are we talking about for finishing this? 08:14:08 Joelle: I was expecting this to have been done by today. 08:15:27 Gaelle: can we do this collaboratively? 08:16:32 Jaroslav: I would expect to see a CTT diagram and a text-based description of tasks, and likewise for the AUI. 08:17:20 Fabio: to avoid the document becoming too large, we can cite external documents with the full models. 08:19:40 Dave: the introduction does need to provide sufficient details to motivate people to read more, but without embroiling them in too many details. 08:20:18 Carlos: we need to explain the Cameleon framework first. 08:20:24 Joelle: yes 08:20:41 hbraun has joined #mbui 08:20:53 Carlos: who are the target readers for the document? 08:21:10 Joelle: UI developers and tool vendors. 08:22:53 Jaroslav notes that there is a lack of consistency across our documents. 08:32:57 Joelle: it would be a lot easier if we could project the documents so that can all see just what is being referred to 08:33:35 ... we take a break while the projection system wiring is sorted out -- the room was recently reconfigured and isn't working just yet -- 08:38:31 hbraun has joined #mbui 08:41:20 ... we shift rooms as a work around the wiring problem 08:41:33 Fabio has joined #mbui 08:41:39 joelle has joined #mbui 08:42:48 Jaroslav has joined #mbui 08:43:00 gaelle has joined #mbui 08:45:19 paolo has joined #mbui 08:46:30 we reconvene, and Heiko projects the intro document, see https://docs.google.com/document/d/1Xp50GZ8EfY017AT_pCMBq5PeK8cwNEZi1a8hXexJkCc/ 08:46:49 here's the dial-in number: +49 89 205071241 08:48:53 We discuss what we want to see for the treatment of the use case in the introductory document. 08:49:24 There needs to be a consistent treatment of the terms used. 08:51:04 Fabio: the meta model is quite simple, e.g. compared with the one we started with in Serenoa. 08:51:41 Joelle points out some minor inconsistencies, e.g. the spelling of colour in one place and color in another. 08:52:23 Joelle we really need to get this ready for publication. 08:53:53 Davide joins us remotely via the telephone bridge 08:56:57 Gaelle: the task models needs to be explained, e.g. the interleaving operator. 08:58:20 Gaelle: the case study needs to be convincing about the value of using task models. 08:58:27 davide_ has joined #mbui 08:59:03 Carlos: Fabio's example of the digital home is for me easier to understand 08:59:43 Gaelle: we don't need to start afresh, it isn't a huge amount of work! 09:00:19 ... Nick arrives 09:01:02 Joelle: we need to show how the models relate to different target platforms e.g. smart phones. 09:01:39 Carlos is right, it makes sense to start from the final UI and show how this is derived. 09:02:01 Gaelle: we just need to take the point of view of the end user. 09:04:41 Vivian projects the diagam from http://sites.uclouvain.be/mbui/ 09:05:40 s/diagam/diagram/ 09:06:39 This shows the car rental use case AUI and task model 09:08:25 Fabio: the task model is abstract and doesn't specify the final UI 09:10:06 Gaelle draws a diagram with one task model, two resultant AUI models, and showing that a given AUI model can be used for mulitple CUI models, and in turn for multiple final UIs 09:10:53 Vivian: the AUI should be platform independent. 09:11:24 Paolo: the AUI should be expressed in terms of containers ... 09:12:33 Jaroslav: would the clustering of abstract interaction units depend on the characteristics of the target devices. 09:13:00 Fabio: the AUI vocabulary is modality independent. 09:13:15 Paolo: we could handle this at the task model 09:13:53 Joelle: we don't necessarily start from the task models, sometimes you start from the abstract UI 09:15:30 Dave: it makes sense to start from small number of screen shots on the use case on a desktop and a smart phone, and then explain how the models make it easier to generat these UIs 09:15:57 s/generat/generate/ 09:17:27 Carlos: in the task model there is a single action to submit the data collected from the user. 09:18:53 ... some confusion ensues 09:19:53 Joelle the mapping from the task model to the final UI is not one to one. 09:19:56 Nick_Kaklanis has joined #mbui 09:20:13 Present+ Nick_Kaklanis 09:20:53 Jaroslav: you can't revert a submit (semantics are transactional) 09:22:53 Present+ Dave, Paolo, Fabio, Heiko, Nick, Michael, Carlos, Joelle, Gaelle, Davide 09:23:07 Regrets: Jean, Gerrit 09:24:26 Dave thinks the discussion is mostly about the domain model ... 09:25:53 and the ordering semantics imposed by it 09:26:41 Fabio: how do we want to proceed (as we are running short of time for this agenda item) 09:27:43 Heiko: so the plan is to use a single use case consistently across our documents, right? 09:27:53 Fabio: yes 09:28:41 Carlos: we could have further use cases, although in less detail 09:31:03 We discuss the initial wording for motivating the car rental use case 09:31:18 Joelle volunteers to draft the context of use 09:32:22 1. The user is at home at her PC. 09:33:14 2. The user is walking fast along a quiet street with her smart phone 09:34:57 Fabio: if you are walking fast your attention is not on the screen. 09:35:38 Joelle: let's now look at the task model ... 09:36:39 Dave: the task model needs to relate to the domain model at some level 09:37:28 Gaelle invites Jaroslav to describe the task model 09:38:44 n.b. for the second context of use, we anticipate the use of vocal interaction with the smart phone. 09:39:38 Jaroslav: you should put the most important task first ... 09:40:34 Fabio: at the task level should avoid unnecessary details, as these should be added at the concrete UI level for the target platforms. 09:40:53 s/level/level, you/ 09:45:42 Dave notes that the current task model for the car rental example isn't realistic compared with actual car rental apps from the likes of the Hertz company. 09:46:24 You typically pick up and drop off the car from a Hertz site, e.g. an airport or railway station. 09:47:16 The tasks focus on how you are able to identify these sites, e.g. with the name of the airport, or by drilling down from the country, region, town and so forth. 09:47:54 Heiko: we should look a simplified use cases based upon real world examples. 09:48:22 s/look a/look at/ 09:50:57 Paolo suggests refining task models based upon the availability of resources and the constraints that apply to them. 09:52:09 Fabio: some transformations for particular constraints can be done at the task level or at lower levels. 09:54:57 Heiko: if there are big differences between the needs of the two contexts of use, then it would be easier to understand with separate task models. 09:55:40 Joelle: it needs to specify who, what, when and where. 09:57:19 Dave: what covers the type of car, options such as booster seats for small children, and insurance options. 09:59:14 Gaelle: the main tasks cover expressing what you want, making a selection, reviewing the details, then making the payment. 10:05:00 We use the Hertz website as a guide to constructing our simplified task model 10:05:28 Joelle: you first need to specify where and when, but these tasks are not ordered. 10:07:57 Dave wonders about how you capture the fact that it is rare to return the car to a different location than where you picked it up, isn't this part of the domain model? 10:16:02 We discuss the task for selecting a pick up and drop off site. The details are likely to vary according to the context of use. 10:22:24 Joelle and Gaelle present their proposal for the task model 10:23:05 Dave notes that task models can be decomposed into modular design exercises done by different teams. 10:24:03 We don't need to cover everything in a single task model. 10:25:42 Joelle: the what booking task subdivides into where, when and what which need to precede the pay task 10:30:11 Dave: when approaching UI design, a starting point is typically a statement of the business needs including characterisation of the target users. This can then be mapped into the domain and task models. 10:32:53 Joelle: price comparison sites seem to generalize the domain model to cover multiple websites, e.g. Hertz and Avis, one example is how far away the car rental site is located. 10:35:53 Gaelle: we need to be able to indicate that a task is a critical one. This is for tasks where there is a big penalty to the user for making a mistake. 10:36:34 Fabio: we could add that in the next update the the task model specification. 10:37:21 Paolo: we could characterise the tasks in terms of the resources they make available to the process in their post-conditions 10:39:00 Dave asks for how we want to address the less likely case of users wanting to drop off at a different location? 10:39:15 Fabio: we can make that into an optional task. 10:39:27 rrsagent, make minutes 10:39:27 I have made the request to generate http://www.w3.org/2013/07/10-mbui-minutes.html dsr-grasbrunn 10:41:21 Paolo: the drop off at a different location is really a subtask of "define return location", either you accept the default location or you set a different one 10:41:23 sfeu has joined #mbui 11:56:47 davide_: ping 11:56:57 davide_: we are about to continue 11:57:43 ... we break for lunch 11:59:53 Topic: What is left to do on the Introduction to MBUI? 12:00:23 Improve the consistency. Update the use case based on the morning's discussion. 12:02:43 Jaroslav has made some notes on the white board diagram for the car rental task model provided by Joelle and Gaelle. 12:04:17 Dave notes that Hertz only shows the cars they reckon will be available from your selected pick up location and date. 12:04:53 Jaroslav: so there is a dependency ordering on the tasks. 12:06:04 Joelle the commit and pay task is a critical task as it can't be back tracked, 12:07:01 Action: Jaroslav to draw an updated CTT diagram and circulate the exported XML file by end of 10 July 2013 12:09:53 Heiko: do we need to include an explicit domain model? 12:10:55 Dave: I think this would be considered important by Web developers who are very much interested in the boundary from the user interface and the back end application information systems. 12:11:36 s/from/between/ 12:13:24 Heiko: people will take different approaches to what is developed first, the domain model make come after the initial work on the task model. 12:15:53 In my opinion the domain, task and abstract ui models should be in the same document for the convenience of readers. 12:17:08 Gaelle: should we have a new document just for the case? 12:17:53 Joelle: so all the models are extracted from the other documents and referenced. 12:18:09 Gaelle: we could then have separate documents for each use case. 12:19:31 Paolo: sometimes you only want to use one model, and don't need the full set of models for a given use case. 12:28:02 Dave: the introductory document should be readable on its own. 12:28:21 Gaelle asks Dave to create a new document for the car rental study 12:28:53 Dave: I copied the intro document, so now you all need to edit it as appropriate, see https://docs.google.com/document/d/1BnITI7AoeZAlOMiRvLW0Yt45nsx9wCT3AVTgmLDu2G0/ 12:29:44 Nick_Kaklanis has joined #mbui 12:31:59 Fabio: we need to decide on next steps ... 12:33:19 Our next teleconference will be Friday, 19 July. We should have the intro and use case documents ready for Group review by then. 12:33:31 Joelle: I will work on it this evening. 12:34:30 Fabio: I think we can now proceed to other agenda items. 12:34:40 Topic Updating the Task model specification 12:37:40 Fabio: we have already agreed a number of changes. To clean up the introduction, to move out the example model and reference the use case document, and to add support to the schema for marking tasks as "critical". 12:38:34 Dave: we should then aim to push out an updated public working draft. 12:38:57 We can later move to a last call working draft once the working group notes have been published. 12:39:30 Fabio: ISTI will update the html version that was previously published. 12:39:53 Dave: thanks - it was a lot of work to generate clean HTML from the google doc, so that is much appreciated. 12:40:57 Fabio: the specification is now structured to make it easier to add new task types. 12:42:20 Action: Fabio and colleagues to provide an updated draft by the next teleconference (July 19) 12:42:53 Topic: The Abstract UI meta model specification 12:43:08 see https://docs.google.com/document/d/1UGZz_xaPuSbMtRb4a-14tM9CM8tHmbEWuLVuNNnx25o/edit 12:43:59 Vivian provides a short status report. 12:46:06 Carlos: where is the output event for when the system provides info back to the user? 12:46:30 Heiko: we have a DataInputOutput event that can be used for that. 12:47:06 Paolo: we aren't aiming to be comprehensive in the set of events, what you see are essentially examples. 12:48:00 Joelle: we have a distinction between interactors and events 12:49:14 Heiko: what was the motivation to merge the input and output event? 12:49:57 Paolo: the description makes the purpose clear: to support data input, output or both. 12:51:03 You could say it is too general, but I don't see it as a problem 12:51:20 s/it as/that as/ 12:52:22 Fabio: is the resource model explained here? 12:52:33 Paolo: you're right, it is missing 12:52:53 Jaroslav: Paolo could you provide one? 12:54:52 the uml diagrams are kept here: http://code.google.com/p/mbui-diagrams/ t 12:57:29 Dave: I've added a link to it from the wiki page for editor's drafts 12:58:24 Heiko: we don't all of us understand all of the details of the AUI meta model, I think that is a sign that it is too complex 13:02:36 We discuss the attribute "isCompound" which essentially means whether the interaction unit is composed from lower level components. 13:04:20 s/means/signals/ 13:04:54 Jaroslav: are they any methods to get the compound components? 13:05:05 Fabio: no, we should add them 13:05:32 Heiko: the attribute seems redundant, right 13:05:53 Gaelle: yes, you're right 13:07:35 .... Davide rejoins remotely on the audio bridge 13:09:29 Gaelle: we are losing flexibility with the current meta model for composition. 13:10:43 Paolo: if we leave composition to the task model, we lose flexibility. 13:11:26 Gaelle: the task model is rigid (e.g. in its set of temporal operators), here in the AUI we need greater flexibility. 13:16:12 Carlos: in the task model, a task may have an explicit set of sub-tasks, but you can't have a given task decompose into different sets of sub-tasks. 13:17:28 Fabio: would the latter make sense? 13:19:54 Paolo steps up to the board to clarify his point about the rigidity of the current decomposition meta model for tasks 13:21:18 Gaelle: composition should be a common pattern for the meta-models across the levels in the Cameleon framework 13:24:54 Gaelle: composition is an entity per se that is made explicit at all levels of models 13:25:14 Jaroslav: do we have an operator then for this? 13:26:27 s/then for/for/ 13:26:55 Paolo: the task model is structured through the pattern CompoundElement - Composition Entity - aggregation of entitities of the same type of the compound element, in the same way as the Task model 13:29:04 Paolo: the rationale is that the semantics of the composition relation makes it difficult to create intermediate levels, once a subtree has been created 13:31:33 Gaelle: I want to remove the attribute useCaseCoverage 13:32:32 fabio has joined #mbui 13:33:02 Heiko: this needs to be revisited by Jean, why don't we remove everything that isn't obvious to people in the room? 13:33:43 Paolo: we may not want to bind to use cases in all situations. 13:34:06 Fabio: useCaseCoverage sounds like a documentation concept. 13:35:44 Joelle reads out the descriptions of the attributes on AbstractInteractionUnit 13:36:21 Fabio: securityLevel seems similar to "critical" for task models. 13:37:00 Vivian: security can be used in relation to access control - locking down which users can access what features. 13:37:36 Carlos: why a five point security scale? 13:38:25 Dave: I would have thought that for access control you want names that you can related to access control policies 13:38:31 s/related/relate/ 13:39:28 Gaelle: these attributes are here to allow people to start by designing the AUI and then to come up with the task model. 13:39:41 s/then/later/ 13:40:00 rrsagent, make minutes 13:40:00 I have made the request to generate http://www.w3.org/2013/07/10-mbui-minutes.html dsr-grasbrunn 13:40:54 Heiko: companies vary considerably in how they deal with security. 13:41:16 We also have to consider privacy ... 13:42:21 Gaelle: perhaps we need a generic mechanism for annotations and allow for extensibility 13:43:37 Joelle: who wants to volunteer to update the AUI metamodel? 13:45:16 I would rather we updated it right now, right here! 13:46:23 Gaelle summarises her proposal for the new framework for the meta model 13:49:54 Paolo volunteers to try to capture this in words for the minutes. Discussion ensures on the details. 13:50:25 Gaelle: all the metamodels, no matter their level of abstraction, are based on the following conventions: 13:50:37 Paolo notes that instantiation is needed not subclassing for that would give the wrong kind of flexibility. 13:51:24 there are entities, these are composed through a Composition classes, and there is a mechanism for annotating entities with domain-specific levels 13:52:12 all the other metamodels realise these mechanisms 13:53:12 gaelle has joined #mbui 13:54:41 rrsagent, make minutes 13:54:41 I have made the request to generate http://www.w3.org/2013/07/10-mbui-minutes.html dsr-grasbrunn 13:55:05 joelle_ has joined #mbui 13:55:26 rrsagent, make minutes 13:55:26 I have made the request to generate http://www.w3.org/2013/07/10-mbui-minutes.html dsr-grasbrunn 14:00:54 Gaelle: draws the updated meta model on the flip chart 14:01:02 Paolo: I am updating the model electronically. 14:22:56 The point is to make the metamodels consistent in the way of modeling, and concise, ie. limited to the scope they are in charge of. The fact that a model is a composition of entities, that an entity can be annotated, and so on is generic and so should be capitalized in the commons, ie. the UImodel. Each level of abstraction inherits from this generic model, and thus focuses on the specificities it has (enumerations of tasks, AUI composition roles) 14:24:36 If we have annotations that make sense at all the levels of abstraction (e.g., important, frequent, critical, ...), then they should be also enumerated in the commons 14:25:32 a paragraph regarding the definition of the user that was at the end of the introductory document has been deleted and pasted it in this document: https://docs.google.com/document/d/1-Nzb3_R6bJnqe7CZ7_mVJLRaqTVDz26ssNLV_pSW_TQ/edit 14:31:37 gaelle_ has joined #mbui 14:37:54 we resume after a coffee break while the editors are busy updating the AUI meta models. 14:38:03 Paolo presents the new meta model. 14:39:23 Gaelle asks Paolo to provide examples. 14:42:13 In the coffee break Heiko noted that simplifying the meta model is important for use by businesses. The number of documents remains an issue, and we really need a short introduction that can be read in a few minutes. Something that a developer or manager can understand, and which doesn't need to reflect the rigour expected in research papers. 14:42:39 Perhaps we should spend a little time on the personas for the people we want to read our documents? 14:44:08 Paolo steps up to the screen whilst asking Vivian to make changes to the naming of the components in the UML editor. 14:46:26 The grey boxes are generic and used for annotatons. The yellow(?) boxes are specific to the AUI 14:47:10 dsr-grasbrunn: can you remind of printing later on, when we finished todays session? 14:53:06 Topic: The Glossary 14:53:24 Fabio: lets put a finish time of 5:30pm for this session. 14:54:04 Jaroslav: one general question is how to handle abbreviations, as this hampers readability 14:54:54 Fabio: usually these are put somewhere 14:55:25 Jaraslav: an example is the use of AIU for abstract interation unit. 14:55:54 I would just expand these abbreviations. 14:55:54 Dave agrees 14:56:02 General agreement around the room 14:57:33 We do however need to define the common abbreviations used in our other documents. 14:58:03 Jaroslav: how to treat citations and references as there a lot of them 14:58:14 Fabio: I would remove them 14:59:38 In the short term Jaroslav will move the references into a new column so that we don't lose them 15:00:54 Jaroslav asks Joelle to review the terms migratory UI, nomadic UI and plastic UI 15:03:38 See Jaroslav's recent emai: http://lists.w3.org/Archives/Public/public-mbui/2013Jul/0009.html 15:08:22 Jaroslav would like to have a column with synonyms and related words in the published document. 15:08:54 Gaelle: what is the norm for glossaries in W3C? 15:09:33 Dave: not sure that there is one, we should perhaps follow Heiko's suggestion of coming up with the personas for our target readers, and ask them! 15:20:20 we discuss the wording of the glossary items one by one. 15:21:09 Heiko: is the glossary an optional document? In my opinion, it shouldn't be essential for people reading the other documents, and we could be using our time more effectively on other matters, 15:21:56 Gaelle: we should recommend certain terms for a consistent way of talking about model-based design. 15:24:44 Dave notes that the current wording for "Abstraction" is too hard for the target audience and as such needs rewriting into something simpler. 15:26:37 He adds that the introduction to model-based UI should be a short easy to read introduction that doesn't require people to read the glossary, which is something that people could turn to as follow on background reading as they feel the desire to dig deeper. 15:32:44 sfeu has joined #mbui 15:33:05 We continue through the terms ... 15:33:29 (note we've reached the 5:30pm local time deadline we planned to stop) 15:36:24 we agree to continue to 6pm 15:56:27 the call dropped, I'm leaving now... See you tomorrow 16:21:44 hbraun has joined #mbui 17:01:12 dsr-grasbrunn has joined #mbui