• No results found

3.6 Mapping of CIR Tasks to Multi-touch Interaction Techniques

4.4.3 Functionality

This section discusses the implementation of the prototype with regard to each of the twelve functional requirements of a multi-touch CIR application, as specified in Section 2.6.5. There is some overlap in implementation functionality and this overlap is described under the relevant headings.

4.4.3.1 Provide shared access to an information space

As noted in Section 4.4.1, the choice of information space directly influenced the choice of application domain. The Internet was chosen as the most typical information space for a CIR application.

Shared access to the information space was provided by creating a User Control library of Information Controls that represented documents from the information space. Four types of User Control were created, namely the Text Information Control, Image Information Control, Media Information Control and HTML Information Control. These Information Controls can retrieve information from the Internet as specified by a URI. It the URI for a document is known, the user may create a new Information Control using the main menu

widget. Initially, an HTML Information Control is created with its content being a prompt for a URI. The OSK widget is displayed when the URI textbox is given focus by the user tapping it. When “Enter” is pressed on the OSK widget, Co-IMBRA determines the file type from the URI. If it is not a HTML document, the system replaces the HTML Information Control with the appropriate type. The content of the Information Control is then updated with a representation of the document source, retrieved from the Internet.

4.4.3.2 Search by collaboratively querying and filtering the information space

Creating a new Information Control and specifying the URI is not a typical use of Co- IMBRA, since the URI of a resource will in most cases not be known. Therefore searching the information space is necessary to find the URIs. The starting point for a collaborative search is the Search Information Control. It is also created using the main menu widget. Each Search Information Control is designed for use by one user. Collaboration in search queries is supported by multiple search controls. Users can duplicate a search control and share the search results. Multiple users may use several search controls with different search terms.

There are several search engines available for use on the Internet. The most popular of these is Google, with 65.5% of over 17 billion searches being performed by Google in the US alone in May 2011 (ComScore, 2011). Google has a simple, uncluttered interface, making it relatively easy to automatically isolate search results from advertisements and internal Google links. While the prototype could be built with several choices of search engine, it was decided for scoping reasons to use only Google.

Google provides a free Google Web Search Application Programming Interface (API), but as of November 1st, 2010 the API has been deprecated and limited (Google, 2010). The new Custom Search API is a paid-for service. Since all that is needed is links to web sites, it was decided that a simple link-scraping technique would supply the necessary links from the Google search results. An Information Control is created for each of the remaining links and their Information Controls are added to a ListBox in the Search Information Control.

4.4.3.3 Present or visualise the search results or shared information

Initially, the search results are displayed in a list box in the Search Information Control. The Search Information Control functions like a folder, containing the search results in one place. Users may scroll through the results, deleting results they find irrelevant, selecting individual results to create new Information Controls, or adding value to the results. Value is added by “turning over” the Information Control. This is performed by tapping the “turn over” button. An animation shows the control being turned over to reveal the “other side”, which is a standard added value control consistent for all Information Controls.

4.4.3.4 Collaboratively navigate through and retrieve search results

After a search is performed the user will have a collection of Information Controls each representing a search result. As noted in Section 4.4.3.2, users may split these results among themselves to allow collaborative navigation. As Co-IMBRA is a co-located system, users can talk freely amongst themselves about the results they have found. Users may retrieve the information by creating an Information Control from the collection, for documents that require more detailed study.

4.4.3.5 Open documents to use as information sources

In cases where a user wishes to open a retrieved document, he may double-tap on an Information Control. The double tap gesture is analogous to a double click of a mouse button, traditionally used to launch an application or open a file. The operating system is called upon to open the file with the default viewer.

CIR applications are not intended to update data. However, when the file is opened in the default viewer, the user may make changes to the data. The control is refreshed if the user updates the object and saves the file.

4.4.3.6 Manipulate the search results or shared information

Search results are represented by Information Controls, which are manipulated by use of gesture. They may be moved, resized or rotated freely to change order. They may also be added to folders in order to categorise them.

Physical manipulation is very intuitive and standardised with the use of multi-touch interaction techniques. There are three main gestures to perform move, resize and rotate

These can be performed with one or more simultaneous touches, with at least two touches required for resize and rotate. The gesture processor returns the location of two touch points. The appropriate manipulation transformations are calculated from the amount they move, from the amount the distance between them changes and from the amount the angle between them changes.

A new folder can be created from the main menu widget. The user selects the new folder button from the widget and a folder is created at the location of the widget. This folder can be manipulated and have value added in the same way as any other Information Control. To add Information Controls to the folder, they are dragged and dropped onto it. To open an Information Control, the user scrolls to the required control in the list box and taps the “open control” button.

4.4.3.7 Update or add value to shared information

All Information Controls, including the Search Information Control and the Log Information Control, can have annotations and ratings added. To do this, a user taps the “turn over” button on an Information Control, revealing a standard control for annotating and rating an Information Control.

A user selects his or her colour from the colour coding widget to enable annotation and rating. The user can select one to five stars for the relevance rating. To make an annotation, the user taps the annotation textbox. He or she can then use the OSK widget to make notes about the Information Control. These notes are immediately reflected in any duplicate Information Controls through data binding.

4.4.3.8 Update users on other users’ actions

There are two main ways other users’ actions are reflected in the system. The first is through data binding. One information object can be represented by multiple Information Controls to facilitate information sharing (see Section 4.4.3.10). If multiple users are using copies of the same Information Control, updates and actions are reflected immediately in the copy of the control through data binding. The copy of the control reflects these updates in the user’s chosen colour code to provide feedback as to which user is performing the updates.

The other way the users’ actions are reflected is through the Log Information Control. All actions made using the system are logged. To create a copy of the Log Information Control, a user selects the Log Information Control button from the main menu widget. The Log Information Control displays the actions in the colour code of the user who made them to provide feedback on which user performed which actions. The Log Information Control is described in more detail in Section 4.4.3.11.

4.4.3.9 Enable communication between group members

Enabling communication in a CIR system usually refers to a built in Instant Messaging (IM) client or some other form of enabling communication between users in different locations. As a co-located system, users of the prototype are free to talk amongst themselves verbally. However, the functionality described in Section 4.4.3.8 could also be considered to satisfy this functional requirement, as group members may communicate with each other by leaving annotations.

4.4.3.10 Enable division of workload between group members

All Information Controls may be duplicated by tapping the “duplicate control” button. This allows multiple representations of the same information object to be created, allowing multiple users to work on the same control. Division of search results occurs when a search control is duplicated. Results are shared equally between the two controls. This prevents users from unnecessarily duplicating their efforts by providing each user with a unique list of results. Users can then navigate through their assigned results.

4.4.3.11 Store logs of user actions, such as communication and searches

The Log Information Control is the primary feature for dealing with logging. Each Log Information Control is identical. Every action performed using the system is logged. The Action class stores the Information Control the action was associated with, the type of action, the time the action was performed and the colour code of the user who performed the action.

A Log Information Control is created using the main menu widget. The Log Information Control consists of a ListBox which displays a list of past actions. The items are displayed in the colour code of the user who performed the action.

4.4.3.12 Enable users to refind and reuse information.

One search control is created and logged for each search term set used. If a user wishes to repeat the search, the user can do so by opening the log control, locating the search by time, user and/or search term and tapping it once. Previously found Information Controls can also be reopened from the log control by locating them and tapping them once. Annotations and ratings are saved per search control.

Related documents