US20160216874A1 - Controlling Access to Content - Google Patents
Controlling Access to Content Download PDFInfo
- Publication number
- US20160216874A1 US20160216874A1 US14/700,077 US201514700077A US2016216874A1 US 20160216874 A1 US20160216874 A1 US 20160216874A1 US 201514700077 A US201514700077 A US 201514700077A US 2016216874 A1 US2016216874 A1 US 2016216874A1
- Authority
- US
- United States
- Prior art keywords
- content
- layer
- user
- displayed
- client application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
Definitions
- client application software it is known for client application software to be executed on one or more processors of a computing device to enable the application to provide functionality to a user of the computing device.
- a client application provides content to an operating system executed on the one or more processors of the computing device.
- the operating system is responsible for rendering this content in a user interface provided by the client application that is displayed on a display of the computing device.
- the content displayed in the user interface is controlled by the user of the computing device using an input device of the computing device.
- the operating system is responsible for communicating detected input selections to the client application such that the client application can deliver appropriate content to the display via the operating system based on the input selections.
- the navigation history of a client application is represented as a last-in, first-out structure commonly called a stack, backstack, or navigation backstack, as it contains layers of content (e.g. levels) in a stack structure that represents the back navigation of the client application.
- This stack is stored in memory of the computing device.
- the last layer of content that is added to the stack (based on a user making a selection in the user interface provided by the client application) is the first layer of content that can be removed.
- a layer of content can be retrieved from the stack only by removing layers one at a time from the top of the stack (for example by the user iteratively pressing a ‘back’ button).
- the single layer of content at the top of the stack is displayed on the display of the computing device.
- the inventor has recognised that known client applications consumes a large amount of processor resource (e.g. processor cycles) when a user navigates through a user interface provided by the particular client application. This in turn increases the power consumption of the computing device, which is particularly problematic when the computing device is a mobile device with a limited battery life.
- processor resource e.g. processor cycles
- a known client application may display a first layer of content in the user interface provided by the client application which displays a plurality of selectable inputs (e.g. icons, tabs, buttons, images, text etc.).
- the known client application is configured to add a further layer of content to the stack and provide the further layer of content to the operating system for rendering on the display to replace the first layer of content.
- the known client application is configured to remove the further layer of content from the stack and provide the first layer of content to the operating system for rendering on the display to replace the further layer of content.
- the navigation between the first layer of content and further layers of content requires the re-rendering of the first layer of content each time the user selects to return to the first layer of content as only a single layer of content is rendered on the display at any one time, and this incurs a large amount of processor resource.
- a user terminal comprising: a display having an available display area; one or more processors configured to run a client application having a user interface capable of operating in a full screen mode whereby a single layer of content is displayed in the available display area or in a split-view mode to display content; wherein the client application is configured to: detect, whilst controlling the user interface to operate in the full screen mode, a user selection that the user interface operates in the split-view mode, and in response display a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and display an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- At least one computer readable medium storing a client application having a user interface and which, when executed on one or more processors of a user terminal comprising a display having an available display area, is configured to: detect, whilst controlling the user interface to operate in a full screen mode whereby a single layer of content is displayed in the available display area, a user selection that the user interface operates in a split-view mode, and in response display a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and display an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- a method implemented by a client application having a user interface the method implemented by the client application when executed on one or more processors of a user terminal comprising a display having an available display area, the method comprising: detecting, whilst controlling the user interface to operate in a full screen mode whereby a single layer of content is displayed in the available display area, a user selection that the user interface operates in a split-view mode, and in response displaying a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and displaying an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- FIG. 1 is a schematic illustration of a communication system
- FIG. 2 is a schematic block diagram of a user terminal
- FIG. 3 is flow chart for a process performed by a communication client application when executed on the user terminal.
- FIGS. 4 a - c illustrates communication client user interfaces provided in accordance with exemplary embodiments of the present disclosure.
- VoIP Voice over internet protocol
- IM instant messages
- file transfers a communication network to other users that have installed and executed the communication client application on their device.
- VoIP Voice over internet protocol
- the user To use VoIP, the user must install and execute client software on their device.
- the client software provides the VoIP connections as well as other functions such as registration and authentication.
- FIG. 1 shows a communication system 100 comprising a first user 104 (User A) who is associated with a user terminal 102 and a second user 110 (User B) who is associated with a user terminal 108 .
- the user terminals 102 and 108 can communicate over a communication network 106 in the communication system 100 , thereby allowing the users 104 and 110 to communicate with each other over the communication network 106 .
- the communication network 106 may be any suitable network which has the ability to provide a communication channel between the user terminal 102 and the second user terminal 108 .
- the communication network 106 may be the Internet or another type of network such as a High data rate mobile network, such as a 3rd generation (“3G”) mobile network.
- 3G 3rd generation
- user terminals can connect to the communication network 106 via an additional intermediate network not shown in FIG. 1 .
- the user terminal 102 is a mobile device, then it can connect to the communication network 106 via a cellular mobile network (not shown in FIG. 1 ), for example a GSM or UMTS network.
- the user terminal 102 may be, for example, a mobile phone, a personal digital assistant (“PDA”), a personal computer (“PC”) (including, for example, WindowsTM, Mac OSTM and LinuxTM PCs), a tablet computer, a gaming device or other embedded device able to connect to the communication network 106 .
- the user terminal 102 is arranged to receive information from and output information to User A 104 .
- the user terminal 102 executes a communication client application 112 , provided by a software provider associated with the communication system 100 .
- the communication client application 112 is a software program executed on a local processor in the user terminal 102 .
- the communication client application 112 performs the processing required at the user terminal 102 in order for the user terminal 102 to transmit and receive data over the communication system 100 .
- the communication client application 112 executed at the user terminal 102 may be authenticated to communicate over the communication system through the presentation of digital certificates (e.g. to prove that user 104 is a genuine subscriber of the communication system—described in more detail in WO 2005/009019).
- the user terminal 108 may correspond to the user terminal 102 .
- the user terminal 108 executes, on a local processor, a communication client application 114 which corresponds to the communication client application 112 executed at the user terminal 102 .
- the communication client application 114 at the user terminal 108 performs the processing required to allow User 110 to communicate over the network 106 in the same way that the communication client application 112 at the user terminal 102 performs the processing required to allow the User A 104 to communicate over the network 106 .
- the user terminals 102 and 108 are end points in the communication system.
- FIG. 1 shows only two users ( 104 and 110 ) and two user terminals ( 102 and 108 ) for clarity, but many more users and user devices may be included in the communication system 100 , and may communicate over the communication system 100 using respective communication clients executed on the respective user devices, as is known in the art.
- FIG. 2 illustrates a detailed view of the user terminal 102 on which is executed a communication client application for communicating over the communication system 100 .
- the user terminal 102 comprises a central processing unit (“CPU”) 202 , to which is connected a display 204 such as a screen or touch screen, input devices such as a keypad 206 , a camera 208 , and touch screen 204 .
- the camera 208 may be a conventional webcam that is integrated into the user terminal 102 , or coupled to the user device via a wired or wireless connection.
- the camera 208 may be a depth-aware camera such as a time of flight or structured light camera.
- An output audio device 210 e.g.
- the CPU 202 is connected to a network interface 224 such as a modem for communication with the communication network 106 .
- the network interface 224 may be integrated into the user terminal 102 as shown in FIG. 2 . In alternative user terminals the network interface 224 is not integrated into the user terminal 102 .
- the user terminal 102 also comprises a memory 226 for storing data as is known in the art.
- the memory 226 may be a permanent memory, such as ROM.
- the memory 226 may alternatively be a temporary memory, such as RAM.
- the user terminal 102 is installed with the communication client application 112 , in that the communication client application 112 is stored in the memory 226 and arranged for execution on the CPU 202 .
- the memory 226 may also store navigation history associated with the communication client application 112 .
- FIG. 2 also illustrates an operating system (“OS”) 214 executed on the CPU 202 .
- OS operating system
- Running on top of the OS 214 is a software stack 216 for the communication client application 112 referred to above.
- the software stack shows an I/O layer 218 , a client engine layer 220 and a client user interface layer (“UI”) 222 .
- Each layer is responsible for specific functions. Because each layer usually communicates with two other layers, they are regarded as being arranged in a stack as shown in FIG. 2 .
- the operating system 214 manages the hardware resources of the computer and handles data being transmitted to and from the communication network 106 via the network interface 224 .
- the I/O layer 218 comprises audio and/or video codecs which receive incoming encoded streams and decodes them for output to speaker 210 and/or display 204 as appropriate, and which receive unencoded audio and/or video data from the microphone 212 and/or camera 208 and encodes them for transmission as streams to other end-user terminals of the communication system 100 .
- the client engine layer 220 handles the connection management functions of the VoIP system as discussed above, such as establishing calls or other connections by server-based or P2P address look-up and authentication. The client engine may also be responsible for other secondary functions not discussed herein.
- the client engine 220 also communicates with the client user interface layer 222 .
- the client engine 220 may be arranged to control the client user interface layer 222 to present information to the user of the user terminal 102 via the user interface of the communication client application 112 which is displayed on the display 204 and to receive information from the user of the user terminal 102 via the user interface.
- FIG. 2 shows one CPU but as an alternative, the user terminal 102 may comprise more than one CPU e.g. which constitute cores of a multi-core processor.
- FIG. 3 is a flow chart for a process 300 performed by the communication client application 112 when executed on the user terminal 102 .
- the process 300 will first be described with reference to FIGS. 4 a - c which illustrate exemplary client user interfaces presented in various embodiments as part of the process 300 .
- the user interface provided by the communication client application 112 can operate in one of at least two modes.
- the first mode is a “full screen” mode in which a single layer of content provided by the communication client application 112 is displayed on the display 204 .
- the second mode is a “split view” mode in which both a first layer of content and a second layer of content provided by the communication client application 112 are displayed on the display 204 .
- the communication client application 112 controls the user interface provided by the communication client application 112 to operate in the full screen mode.
- FIG. 4 a illustrates the client user interface displaying a layer of content 401 in an available area 400 of the display 204 responsive to the communication client application 112 supplying a single layer of content to the OS 214 for rendering on the display 204 .
- This layer of content 401 is stored at the top of the navigation backstack associated with the communication client application 112 .
- the layer of content 401 displayed on the display 204 when the communication client application 112 controls the user interface provided by the communication client application 112 to operate in the full screen mode may comprise information pertaining to the recent communication activity associated with User A 104 within a predetermined period. “Recent” activity is typically meant time-ordered information, with most recent activity being displayed first in a list or most prominently, and less recent activity being displayed later in a list or at a less-prominent position.
- FIG. 4 a illustrates that User A 104 has recent communication activity with Users B-G of the communication system 100 .
- the displayed recent activity may include for example avatars 402 (which are images chosen by users to represent themselves within the VoIP system) of those users that User A 104 has had recent communication activity with, the usernames 404 of those users that User A 104 has had a recent communication session with, and information 406 pertaining to the last communication event in the communication session conducted with the respective users e.g. last IM message received, contact acceptance, missed call etc.
- FIG. 4 a illustrates (i) an avatar 402 a and username 404 a associated with User B 110 and information 406 a pertaining to the last communication event (e.g. an exchanged IM) in the communication session conducted with User B 110 ; (ii) an avatar 402 b and username 404 b associated with a User C and information 406 b pertaining to the last communication event (e.g. an exchanged IM) in the communication session conducted with User C; (iii) an avatar 402 c and username 404 c associated with a User D and information 406 c pertaining to the last communication event (e.g.
- the last communication event e.g. an exchanged IM
- an avatar 402 f and username 404 f associated with a User G and information 406 f pertaining to the last communication event e.g.
- an exchanged IM in the communication session conducted with User G
- the recent activity of User A 104 has been described above with reference to communication sessions conducted with a single user over the communication system 100 . It will be appreciated that the recent activity may include information on recent group communication sessions (that include three or more users) that User A 104 has participated in.
- User A 104 is able to select a selectable input displayed on the layer of content 401 using an input device of the user terminal 102 to view more detailed information on one of the communication sessions. For example, by using a keypad 206 , moving a cursor displayed on the display 204 by physically moving a mouse (not shown in FIG. 2 ) coupled to the user terminal 102 , or touching an area of the display 204 if the display 204 is a touch screen.
- the selectable input may for example be an avatar 402 , a username 404 or a predetermined area of the displayed layer of content surrounding a particular avatar 402 , username 404 and information 406 associated with a communication session.
- the communication client application 112 detects a user selection that the user interface provided by the communication client application 112 operates in the split-view mode. This may be based on detecting selection of a selectable input that is displayed on the layer of content 401 that is displayed when the communication client application 112 is operating in the full screen mode.
- FIG. 4 a An example user selection is indicated in FIG. 4 a by the circle 408 which represents an area of the display 204 (a touch screen) that has been tapped by User A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus).
- FIG. 4 a illustrates that User A has selected to view more detailed information on the communication session with User B 110 .
- a known communication client application would be configured in response to detecting this user selection, to add a further layer of content comprising detailed information on the communication session with User B 110 to the navigation backstack and provide the further layer of content to the OS for rendering on the display.
- the default behaviour of the OS is to display the further layer in full screen mode. That is to replace the layer of content displaying the recent communication activity associated with User A 104 with the further layer of content.
- step S 304 in response to detecting the user selection at step S 304 , the process 300 proceeds to step S 306 whereby the communication client application 112 controls the user interface provided by the communication client application 112 to operate in the split-view mode (depicted in the right-hand illustration of FIG. 4 a ).
- the communication client application 112 adds a further layer of content 403 to the navigation backstack (on top of the layer of content 401 ) and provides both the lower layer of content 401 and the upper further layer of content 403 comprising detailed information on the communication session with User B 110 e.g. a chat view featuring all conversation and call history with User B 110 , to the OS 214 for rendering on the display 204 in the available display area 400 .
- the communication client application 112 controls the OS 214 to render the further layer of content 403 in a predetermined position in the available display area 400 to partially overlap the layer of content 401 displaying the recent communication activity associated with User A 104 . That is, the communication client application 112 controls the OS 214 to operate in accordance with a custom behaviour (such that the OS 214 does not display the further layer 403 in accordance with its default behaviour).
- the above described interaction between the OS 214 and the communication client application 112 is based on the OS 214 exposing at least one API (application programming interface) that the communication client application 112 can use to implement custom behaviours and interactions that are in accordance with embodiments described herein.
- API application programming interface
- the communication client application 112 is configured to control the OS 214 such that the further layer of content 403 is scaled (resized) by the OS 214 to fill a portion of the available display area 400 that corresponds to the predetermined position referred to above. This is depicted in the right-hand illustration of FIG. 4 a.
- the predetermined position referred to above is dependent on the content displayed on the layer of content 401 .
- the lower layer of content e.g. the layer of content 401
- the upper layer of content e.g. the further layer of content 403
- the lower layer of content may overlap the lower layer of content to leave the plurality of selectable inputs exposed and displayed on the display 204 .
- FIG. 4 a due to this partial overlapping, a portion of the layer of content 401 is displayed in the available display area 400 and a remaining portion of the layer of content 401 is not displayed in the available display area 400 (even though it is being rendered for display on the display 204 by the OS 214 ).
- the dashed line 416 shown in FIG. 4 a corresponds to a lock point which separates these separate portions. The position of this lock point 416 is controlled by the communication client application 112 .
- the portion of the layer of content 401 that is displayed in the available display area 400 comprises selectable inputs (e.g. avatars 402 of the users that User A 104 has had recent communication activity with) that may be selected by User A 104 . That is, the partial overlapping of the further layer of content 403 on top of the layer of content 401 displaying the recent communication activity associated with User A 104 creates a tabbed sidebar comprising these selectable inputs.
- selectable inputs e.g. avatars 402 of the users that User A 104 has had recent communication activity with
- the further layer of content 403 displaying detailed information on the communication session with User B 110 in the available display area 400 illustrated in FIG. 4 a shows IM messages previously exchanged between User A 104 and User B 110 however this chat view may include other information such as call history information (placed calls, end of calls, missed calls) and file transfer information.
- the further layer of content 403 comprises a message field 412 into which User A 104 can enter text using the keypad 206 or by tapping an area of the display 204 (a touch screen) when a virtual keypad is displayed on the display 204 .
- the further layer of content 403 comprises a toolbar 414 which displays selectable inputs for initiating a communication event with User B 110 (e.g. to place a voice or video call to User B 110 ) and a selectable menu button which may provide User A 104 with one or more selectable options pertaining to the functionality provided by the communication client application (e.g. to add User B 110 to a favourite contacts list, to edit contact information for User B 110 , to view profile information of User B 110 , to block further communication with User B 110 , to remove User B 110 as a contact).
- selectable inputs for initiating a communication event with User B 110 (e.g. to place a voice or video call to User B 110 ) and a selectable menu button which may provide User A 104 with one or more selectable options pertaining to the functionality provided by the communication client application (e.g. to add User B 110 to a favourite contacts list, to edit contact information for User B 110 , to view profile information of User B 110 , to block further communication with User B 110 ,
- the communication client application 112 controls the user interface provided by the communication client application 112 to display an indicator 410 providing an indication of how content displayed on the further layer of content 403 is related to content on the displayed portion of the layer of content 401 .
- the indicator 410 provides an indication that the communication session information displayed on the further layer of content 403 relates to a communication session with User B 110 due to the indicator 410 being displayed adjacent to the avatar 402 a of User B 110 (rather than adjacent to the avatars 402 b - g of the other users that User A 104 has had recent communication activity with).
- the form of the indicator 410 shown in FIG. 4 a is merely an example and may take other forms.
- FIG. 4 a shows the indicator 410 being displayed on the further layer of content 403 , additionally or alternatively the indicator 410 may be displayed on the layer of content 401 displaying the recent communication activity associated with User A 104 .
- the communication client application 112 may control the user interface provided by the communication client application 112 to display the indicator 410 at a position on the layer of content 401 to indicate that the communication session information displayed on the further layer of content 403 relates to a communication session with User B 110 (for example the indicator 410 may be displayed adjacent to, on, or around the avatar 402 a associated with User B 110 .
- the communication client application 112 may display the indicator 410 on the layer of content 401 in a particular colour, and additionally control the further layer of content 403 to be displayed in this particular colour. This providing an indication that content displayed on the further layer of content 403 is related to content on the displayed portion of the layer of content 401 .
- User A 104 may select another selectable input (e.g. an avatar 402 other than avatar 402 a ) that is displayed on the portion of the layer of content 401 (the created tabbed sidebar) that is displayed in the available display area 400 when the communication client application 112 is operating in the split-view mode.
- another selectable input e.g. an avatar 402 other than avatar 402 a
- the communication client application 112 removes the further layer of content 403 from the navigation backstack and adds another further layer of content 403 comprising detailed information on the communication session with the user associated with the selected avatar 402 , to the navigation backstack (on top of the layer of content 401 ) and provides this other further layer of content (along with the layer of content 401 ) to the the OS 214 for rendering on the display 204 in the available display area 400 in place of the further layer of content 403 in the predetermined position to display detailed information on the communication session with the user associated with the selected avatar 402 .
- the selectable inputs e.g. avatars 402
- the selectable inputs that are displayed on the portion of the layer of content 401 act as tabs to advantageously allow User A 104 to quickly and easily jump between conversations, and see contextual information in the layer of content 401 displaying the recent communication activity associated with User A 104 , whilst actively communicating with one or more users.
- embodiments of the present disclosure negate the need for User A 104 to ‘jump’ up and down levels of content to navigate through the user interface provided by the communication client application 112 as User A 104 does not need to leave the layer of content that is in focus (the upper further layer of content) to interact with the lower layer of content (e.g. the layer of content 401 ).
- User A 104 may make a selection to control the user interface provided by the communication client application 112 to operate in the full screen mode to display only the further layer of content 403 in the available area 400 of the display 204 .
- the communication client application 112 instructs the OS 214 to render the further layer of content 403 on the display 204 in the available display area 400 to fully overlap the layer of content 401 displaying the recent communication activity associated with User A 104 (such that no portion of the layer of content 401 is displayed in the available display area 400 of the display 204 ).
- both the layer of content 401 and the further layer of content 403 are rendered on the display 204 by the OS 214 , only a single layer of content (the further layer of content 403 ) provided by the communication client application 112 is displayed on the display 204 due to the overlapping described above.
- FIG. 4 b illustrates the transition from the user interface provided by the communication client application 112 operating in the split-view mode to operating in the full screen mode in response to a user selection.
- This user selection may for example be a dragging of the further layer of content 403 in a direction to fully overlap the layer of content 401 displaying the recent communication activity associated with User A 104 .
- FIG. 4 b An example user selection is indicated in FIG. 4 b by the circles 408 which represents a finger swipe gesture on an area of the display 204 (a touch screen) that has been made by User A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus) to drag the further layer of content in a substantially horizontal direction (right to left in this example).
- the finger swipe gesture includes the user making contact with the display (a finger-down event), moving the contact from right to left in a substantially horizontal direction across the touch-sensitive surface of the display 204 (a finger-dragging event), and the user ceasing contact with the display 204 (a finger-up (lift off) event).
- This dragging of the further layer of content 403 may also be implemented by User A 104 moving a cursor displayed on the display 204 by physically moving a mouse (not shown in FIG. 2 ) coupled to the user terminal 102 .
- the lock point 416 is associated with a lock threshold area in the available display area 400 which is defined by the communication client application 112 .
- the lock threshold area is defined by a left-side edge that is parallel and positioned to the left of the lock point 416 , and a right-side edge that is parallel and positioned to the right of the lock point 416 (described with respect to the viewpoint of User A 104 noting that the lock threshold area is not visible to User A 104 ).
- the communication client application 112 instructs the OS 214 to render the further layer of content 403 on the display 204 in the available display area 400 to fully overlap the layer of content 401 displaying the recent communication activity associated with User A 104 .
- the communication client application 112 controls the OS 214 to move the left hand edge of the further layer of content 403 horizontally from right to left (as viewed by User A 104 ) along a fixed axis as User A 104 makes the right-to-left finger swipe.
- the communication client application 112 is further configured to control the OS 214 such that the content displayed on the further layer of content 403 when the user interface provided by the communication client application 112 operates in the split-view mode is scaled-up in size by the OS 214 as the further layer of content 403 is expanded in size.
- the further layer of content 403 (after scaling) is displayed in the user interface provided by the communication client application 112 operating in full screen mode. This is depicted in the right-hand illustration of FIG. 4 b.
- Embodiments extend to other user selections such as one or more taps on an area of the display 204 (a touch screen) by User A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus), using keypad 206 , or other input device such as a mouse.
- User A 104 can drag back the previously created tabbed sidebar comprising the selectable inputs at any point allowing for quick and easy switching between the recent communication sessions.
- the communication client application 112 controls the user interface provided by the communication client application 112 to operate in the split-view mode (depicted in the right-hand illustration of FIG. 4 a ).
- the communication client application 112 determines where the dragging gesture ends based on an area in the available display area that the swipe reaches prior to the user ceasing contact with the display 204 .
- the communication client application 112 determines where the dragging gesture ends based on an area in the available display area that the cursor reaches prior to the user releasing a button on the mouse.
- the communication client application 112 controls the OS 214 to move the left hand edge of the further layer of content 403 horizontally from left to right (as viewed by User A 104 ) along the fixed axis as User A 104 makes the left-to-right finger swipe.
- the communication client application 112 may be further configured to control the OS 214 such that the content displayed on the further layer of content 403 when the user interface provided by the communication client application 112 operates in the full screen mode, is scaled-down in size by the OS 214 and displayed in the user interface provided by the communication client application 112 operating in the split-view mode.
- the communication client application 112 may not control the OS 214 to perform any scaling such that the further layer content 403 retains a fixed size so that content displayed along the right-hand side of the further layer of content 403 is cut-off and not displayed in the available display area 400 .
- the communication client application 112 In response to detecting dragging of the left hand edge of the further layer of content 403 in a direction to expose the layer of content 401 (e.g. a left-to-right finger swipe) whereby the dragging gesture ends out of the lock threshold area (beyond the right-side edge of the lock threshold area), the communication client application 112 removes the further layer of content 403 from the navigation backstack to control the user interface provided by the communication client application 112 to not display the further layer of content 403 and reveal the lower layer of content 401 displaying the recent communication activity associated with User A 104 that has been rendered on the display 204 by the OS 214 . This is illustrated in FIG. 4 c.
- the user interface provided by the communication client application 112 maintains operating in the full screen mode in which a single layer of content provided by the communication client application 112 is displayed on the display 204 .
- the communication client application 112 Prior to the left-to-right finger swipe, the communication client application 112 provides both the layer of content 401 displaying the recent communication activity associated with User A 104 and the further layer of content 403 to the OS 214 for rendering on the display 204 , but due to the communication client application 112 instructing the OS 214 to completely overlapping the layer of content 401 with the upper further layer of content 403 , no portion of the layer of content 401 is displayed.
- the communication client application 112 After the left-to-right finger swipe, the communication client application 112 provides only the layer of content 401 displaying the recent communication activity associated with User A 104 to the OS 214 for rendering on the display 204 .
- Embodiments extend to other user selections such as one or more taps on an area of the display 204 (a touch screen) by User A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus), using keypad 206 , or other input device such as a mouse.
- the communication client application 112 continually provides the layer of content 401 displaying the recent communication activity associated with User A 104 to the OS 214 for rendering on the display 204 .
- the layer of content 401 may be fully displayed on the display 204 , partially displayed on the display 204 (due to the further layer of content 403 being rendered partially on top of the layer of content 401 , or not displayed at all on the display 204 .
- the layer of content 401 does not have to be re-rendered by the OS 214 each time User A 104 navigates through the user interface provided by the communication client application 112 to view this content. This advantageously reduces the amount of processor resource that is incurred when User A 104 navigates through the user interface provided by the communication client application 112 .
- the communication client application 112 controls the user interface provided by the communication client application 112 to operate in the split-view mode, the portion of the layer of content 401 that is displayed in the available display area 400 is still able to alert User A 104 to activity (e.g. incoming communication events) happening behind the layer of content that is in focus (e.g. the upper further layer of content 403 ).
- activity e.g. incoming communication events
- the selectable inputs displayed on the portion of the layer of content 401 that is displayed in the available display area 400 may be dynamically re-arranged by the communication client application 112 . That is, if User A 104 receives a communication event (e.g. an instant message) from a user (e.g. a User I) that User A 104 has not had recent communication activity with, then the communication client application 112 may modify the displayed tabbed sidebar by displaying an avatar 402 associated with User I at the top of the recent activity list and shift the remaining avatars 402 a - 402 g down to be positioned under the avatar 402 associated with User I.
- a communication event e.g. an instant message
- the communication client application 112 may modify the displayed tabbed sidebar by displaying an avatar 402 associated with User I at the top of the recent activity list and shift the remaining avatars 402 a - 402 g down to be positioned under the avatar 402 associated with User I.
- the communication client application 112 continues to control the user interface provided by the communication client application 112 to display the further layer of content 403 which displays detailed information on the communication session with User B 110 , and alters the position of the indicator 410 such that it remains being displayed alongside the avatar 402 a of User B 110 in its new position in the displayed tabbed sidebar.
- the communication client application 112 may modify the displayed tabbed sidebar by displaying the avatar 402 associated with the User at the top of the recent activity list and shift the remaining avatars 402 down to be positioned under the avatar 402 associated with User that transmitted the instant message.
- a communication event e.g. an instant message
- the communication client application 112 may modify the displayed tabbed sidebar by displaying the avatar 402 associated with the User at the top of the recent activity list and shift the remaining avatars 402 down to be positioned under the avatar 402 associated with User that transmitted the instant message.
- the communication client application 112 may modify the displayed tabbed sidebar by displaying a visual indication next to, on, or around the avatar 402 associated with the User that transmitted the instant message to alert User A 104 to the received communication event.
- a communication event e.g. an instant message
- the communication client application 112 may modify the displayed tabbed sidebar by displaying a visual indication next to, on, or around the avatar 402 associated with the User that transmitted the instant message to alert User A 104 to the received communication event.
- the communication client application 112 may control the user interface provided by the communication client application 112 to continue operating in the full screen mode.
- the communication client application 112 may add the further layer of content comprising detailed information on the communication session with User B 110 to the navigation backstack (on top of the layer of content 401 ) and provide the further layer of content 403 to the OS 214 for rendering on the display 204 to fully overlap the layer of content 401 displaying the recent communication activity associated with User A 104 (such that no portion of the layer of content 401 is displayed in the available display area 400 of the display 204 ).
- the further layer of content 403 displays detailed information on the communication session with User B 110 in the available display area 400 e.g. a chat view featuring all conversation and call history with User B 110 . This is depicted in the right-hand illustration in FIG. 4 b.
- User A 104 may then make a selection (e.g. a left-to-right finger swipe) to control the user interface provided by the communication client application 112 to operate in the split-view mode (depicted in the right-hand illustration of FIG. 4 a ) or to continue operating in the full screen mode whereby the layer of content 401 displaying the recent communication activity associated with User A 104 is displayed on the display 204 (depicted in the right-hand illustration of FIG. 4 c ).
- a selection e.g. a left-to-right finger swipe
- Embodiments extend to other types of client applications which display a window of content comprising a plurality of selectable inputs (e.g. icons, tabs, buttons, images, text etc.) that provides links to further content associated with the respect selectable inputs.
- selectable inputs e.g. icons, tabs, buttons, images, text etc.
- the client user interface provided by the communication client application 112 displays content in the available area 400 of the display 204 .
- the available area 400 of the display 204 is the whole of the display.
- the available area of the display may constitute only a portion of the display e.g. with the remainder of the display being used by the OS 214 and/or other application(s) executed thereon to display other content.
- a user terminal comprising: a display having an available display area; one or more processors configured to run a client application having a user interface capable of operating in a full screen mode whereby a single layer of content is displayed in the available display area or in a split-view mode to display content; wherein the client application is configured to: detect, whilst controlling the user interface to operate in the full screen mode, a user selection that the user interface operates in the split-view mode, and in response display a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and display an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- the second layer of content may be displayed in the available display area in the full screen mode.
- the user selection that the user interface operates in the split-view mode is a selection of a selectable input displayed on the second layer of content.
- the first layer of content may be selected for display in dependence on said selection of the selectable input.
- the display may be touch-sensitive, and the client application may be configured to detect the user selection based on detection of a tap gesture on the touch-sensitive display.
- the user terminal may be coupled to a computer mouse, and the client application may be configured to detect the user selection based on an input received from the computer mouse.
- the first layer of content may be displayed in the available display area in the full screen mode, the first layer of content completely overlapping the second layer of content that is rendered on the display.
- the user selection that the user interface operates in the split-view mode may be dragging of the first layer of content in a direction to within a threshold area of the available display area.
- the display may be touch-sensitive
- the client application may be configured to detect the user selection based on detection of a swipe gesture in said direction on the touch-sensitive display.
- the user terminal may be coupled to a computer mouse, and the client application may be configured to detect the selection of the selectable input based on an input received from the computer mouse.
- the client application may be further configured to detect, whilst controlling the user interface to operate in the split-view mode, a user selection of a selectable input displayed on the second layer of content, and in response, remove the first layer of content and display a further layer of content in the predetermined position to partially overlap the second layer of content, wherein the further layer of content is selected for display in dependence on said selection of the selectable input.
- the client application may be further configured to detect, whilst controlling the user interface to operate in the split-view mode, a user selection that the user interface operates in the full screen mode, and in response display the first layer of content to fully overlap the second layer of content in the available display area such that no portion of the second layer of content is displayed in the available display area.
- the user selection that the user interface operates in the full screen mode may be dragging of the first layer of content in a direction outside of a threshold area of the available display area.
- the client application may be further configured to detect, whilst controlling the user interface to operate in the split-view mode, an event associated with content displayed on the second layer of content, and in response modify the portion of the second layer of content that is displayed in the available display area to alert a user of the user terminal to said event.
- the predetermined position may be dependent on the content displayed on the second layer of content.
- the indicator may be displayed on at least one of the first layer of content and the second layer of content.
- the available display area may be the whole of the area of a display screen of the device.
- the client application may be a communication client application configured to exchange communication events over a communication network with other user terminals.
- the second layer of content may comprise information related to at least one communication session conducted by the user of the user terminal with one or more further users, and the first layer of content comprises information on communication events exchanged in a selected one of said communication sessions.
- any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), or a combination of these implementations.
- the terms “functionality” and “application” as used herein generally represent software, firmware, hardware, or a combination thereof.
- the functionality or application represents program code that performs specified tasks when executed on a processor (e.g. CPU or CPUs).
- the program code can be stored in one or more computer readable memory devices.
- the user terminals may also include an entity (e.g. software) that causes hardware of the user terminals to perform operations, e.g., processors functional blocks, and so on.
- the user terminals may include a computer-readable medium that may be configured to maintain instructions that cause the user terminals, and more particularly the operating system and associated hardware of the user terminals to perform operations.
- the instructions function to configure the operating system and associated hardware to perform the operations and in this way result in transformation of the operating system and associated hardware to perform functions.
- the instructions may be provided by the computer-readable medium to the user terminals through a variety of different configurations.
- One such configuration of a computer-readable medium is signal bearing medium and thus is configured to transmit the instructions (e.g. as a carrier wave) to the computing device, such as via a network.
- the computer-readable medium may also be configured as a computer-readable storage medium and thus is not a signal bearing medium. Examples of a computer-readable storage medium include a random-access memory (RAM), read-only memory (ROM), an optical disc, flash memory, hard disk memory, and other memory devices that may use magnetic, optical, and other techniques to store instructions and other data.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application claims priority under 35 USC §119 or §365 to Great Britain Patent Application No. 1501079.6, filed Jan. 22, 2015, the disclosure of which is incorporated in its entirety.
- It is known for client application software to be executed on one or more processors of a computing device to enable the application to provide functionality to a user of the computing device.
- A client application provides content to an operating system executed on the one or more processors of the computing device. The operating system is responsible for rendering this content in a user interface provided by the client application that is displayed on a display of the computing device. The content displayed in the user interface is controlled by the user of the computing device using an input device of the computing device. The operating system is responsible for communicating detected input selections to the client application such that the client application can deliver appropriate content to the display via the operating system based on the input selections.
- The navigation history of a client application is represented as a last-in, first-out structure commonly called a stack, backstack, or navigation backstack, as it contains layers of content (e.g. levels) in a stack structure that represents the back navigation of the client application. This stack is stored in memory of the computing device.
- As a user navigates through layers of content in the client application, these layers of content are added to this stack. The last layer of content that is added to the stack (based on a user making a selection in the user interface provided by the client application) is the first layer of content that can be removed. A layer of content can be retrieved from the stack only by removing layers one at a time from the top of the stack (for example by the user iteratively pressing a ‘back’ button). The single layer of content at the top of the stack is displayed on the display of the computing device.
- A wide variety of genres of client applications exist including social media, gaming, news & weather, e-commerce etc.
- The inventor has recognised that known client applications consumes a large amount of processor resource (e.g. processor cycles) when a user navigates through a user interface provided by the particular client application. This in turn increases the power consumption of the computing device, which is particularly problematic when the computing device is a mobile device with a limited battery life.
- For example a known client application may display a first layer of content in the user interface provided by the client application which displays a plurality of selectable inputs (e.g. icons, tabs, buttons, images, text etc.). In response to detecting a user selection of one of these selectable inputs, the known client application is configured to add a further layer of content to the stack and provide the further layer of content to the operating system for rendering on the display to replace the first layer of content. In response to detecting a user selection to return to the first layer of content, the known client application is configured to remove the further layer of content from the stack and provide the first layer of content to the operating system for rendering on the display to replace the further layer of content. The navigation between the first layer of content and further layers of content requires the re-rendering of the first layer of content each time the user selects to return to the first layer of content as only a single layer of content is rendered on the display at any one time, and this incurs a large amount of processor resource.
- According to one aspect of the present disclosure there is provided a user terminal comprising: a display having an available display area; one or more processors configured to run a client application having a user interface capable of operating in a full screen mode whereby a single layer of content is displayed in the available display area or in a split-view mode to display content; wherein the client application is configured to: detect, whilst controlling the user interface to operate in the full screen mode, a user selection that the user interface operates in the split-view mode, and in response display a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and display an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- According to another aspect of the present disclosure there is provided at least one computer readable medium storing a client application having a user interface and which, when executed on one or more processors of a user terminal comprising a display having an available display area, is configured to: detect, whilst controlling the user interface to operate in a full screen mode whereby a single layer of content is displayed in the available display area, a user selection that the user interface operates in a split-view mode, and in response display a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and display an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- According to another aspect of the present disclosure there is provided a method implemented by a client application having a user interface, the method implemented by the client application when executed on one or more processors of a user terminal comprising a display having an available display area, the method comprising: detecting, whilst controlling the user interface to operate in a full screen mode whereby a single layer of content is displayed in the available display area, a user selection that the user interface operates in a split-view mode, and in response displaying a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and displaying an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Nor is the claimed subject matter limited to implementations that solve any or all of the disadvantages noted in the Background section.
- For a better understanding of the present subject matter and to show how the same may be carried into effect, reference will now be made by way of example to the accompanying drawings in which:
-
FIG. 1 is a schematic illustration of a communication system; -
FIG. 2 is a schematic block diagram of a user terminal; -
FIG. 3 is flow chart for a process performed by a communication client application when executed on the user terminal; and -
FIGS. 4a-c illustrates communication client user interfaces provided in accordance with exemplary embodiments of the present disclosure. - Embodiments will now be described by way of example only.
- Whilst embodiments of the present disclosure are applicable to any genre of client application that is executed on a user terminal (computing device), embodiments are described below with reference to a Voice over internet protocol (“VoIP”) communication client application that allows the user of a user terminal (on which the communication client application is executed) to make voice calls and other communication events (e.g. video calls, instant messages (“IM”), file transfers etc.) across a communication network to other users that have installed and executed the communication client application on their device. To use VoIP, the user must install and execute client software on their device. The client software provides the VoIP connections as well as other functions such as registration and authentication.
-
FIG. 1 shows acommunication system 100 comprising a first user 104 (User A) who is associated with auser terminal 102 and a second user 110 (User B) who is associated with auser terminal 108. Theuser terminals communication network 106 in thecommunication system 100, thereby allowing theusers communication network 106. Thecommunication network 106 may be any suitable network which has the ability to provide a communication channel between the user terminal102 and thesecond user terminal 108. For example, thecommunication network 106 may be the Internet or another type of network such as a High data rate mobile network, such as a 3rd generation (“3G”) mobile network. - Note that in alternative embodiments, user terminals can connect to the
communication network 106 via an additional intermediate network not shown inFIG. 1 . For example, if theuser terminal 102 is a mobile device, then it can connect to thecommunication network 106 via a cellular mobile network (not shown inFIG. 1 ), for example a GSM or UMTS network. - The
user terminal 102 may be, for example, a mobile phone, a personal digital assistant (“PDA”), a personal computer (“PC”) (including, for example, Windows™, Mac OS™ and Linux™ PCs), a tablet computer, a gaming device or other embedded device able to connect to thecommunication network 106. Theuser terminal 102 is arranged to receive information from and output information toUser A 104. - The
user terminal 102 executes acommunication client application 112, provided by a software provider associated with thecommunication system 100. Thecommunication client application 112 is a software program executed on a local processor in theuser terminal 102. Thecommunication client application 112 performs the processing required at theuser terminal 102 in order for theuser terminal 102 to transmit and receive data over thecommunication system 100. Thecommunication client application 112 executed at theuser terminal 102 may be authenticated to communicate over the communication system through the presentation of digital certificates (e.g. to prove thatuser 104 is a genuine subscriber of the communication system—described in more detail in WO 2005/009019). - The
user terminal 108 may correspond to theuser terminal 102. Theuser terminal 108 executes, on a local processor, acommunication client application 114 which corresponds to thecommunication client application 112 executed at theuser terminal 102. Thecommunication client application 114 at theuser terminal 108 performs the processing required to allowUser 110 to communicate over thenetwork 106 in the same way that thecommunication client application 112 at theuser terminal 102 performs the processing required to allow theUser A 104 to communicate over thenetwork 106. Theuser terminals -
FIG. 1 shows only two users (104 and 110) and two user terminals (102 and 108) for clarity, but many more users and user devices may be included in thecommunication system 100, and may communicate over thecommunication system 100 using respective communication clients executed on the respective user devices, as is known in the art. -
FIG. 2 illustrates a detailed view of theuser terminal 102 on which is executed a communication client application for communicating over thecommunication system 100. Theuser terminal 102 comprises a central processing unit (“CPU”) 202, to which is connected adisplay 204 such as a screen or touch screen, input devices such as akeypad 206, acamera 208, andtouch screen 204. In embodiments described below thecamera 208 may be a conventional webcam that is integrated into theuser terminal 102, or coupled to the user device via a wired or wireless connection. Alternatively, thecamera 208 may be a depth-aware camera such as a time of flight or structured light camera. An output audio device 210 (e.g. a speaker) and an input audio device 212 (e.g. a microphone) are connected to theCPU 202. Thedisplay 204,keypad 206,camera 208,output audio device 210 andinput audio device 212 may be integrated into theuser terminal 102 as shown inFIG. 2 . In alternative user terminals one or more of thedisplay 204, thekeypad 206, thecamera 208, theoutput audio device 210 and theinput audio device 212 may not be integrated into theuser terminal 102 and may be connected to theCPU 202 via respective interfaces. One example of such an interface is a USB interface. TheCPU 202 is connected to anetwork interface 224 such as a modem for communication with thecommunication network 106. Thenetwork interface 224 may be integrated into theuser terminal 102 as shown inFIG. 2 . In alternative user terminals thenetwork interface 224 is not integrated into theuser terminal 102. Theuser terminal 102 also comprises a memory 226 for storing data as is known in the art. The memory 226 may be a permanent memory, such as ROM. The memory 226 may alternatively be a temporary memory, such as RAM. - The
user terminal 102 is installed with thecommunication client application 112, in that thecommunication client application 112 is stored in the memory 226 and arranged for execution on theCPU 202. The memory 226 may also store navigation history associated with thecommunication client application 112.FIG. 2 also illustrates an operating system (“OS”) 214 executed on theCPU 202. Running on top of theOS 214 is asoftware stack 216 for thecommunication client application 112 referred to above. The software stack shows an I/O layer 218, a client engine layer 220 and a client user interface layer (“UI”) 222. Each layer is responsible for specific functions. Because each layer usually communicates with two other layers, they are regarded as being arranged in a stack as shown inFIG. 2 . Theoperating system 214 manages the hardware resources of the computer and handles data being transmitted to and from thecommunication network 106 via thenetwork interface 224. The I/O layer 218 comprises audio and/or video codecs which receive incoming encoded streams and decodes them for output tospeaker 210 and/or display 204 as appropriate, and which receive unencoded audio and/or video data from themicrophone 212 and/orcamera 208 and encodes them for transmission as streams to other end-user terminals of thecommunication system 100. The client engine layer 220 handles the connection management functions of the VoIP system as discussed above, such as establishing calls or other connections by server-based or P2P address look-up and authentication. The client engine may also be responsible for other secondary functions not discussed herein. The client engine 220 also communicates with the clientuser interface layer 222. The client engine 220 may be arranged to control the clientuser interface layer 222 to present information to the user of theuser terminal 102 via the user interface of thecommunication client application 112 which is displayed on thedisplay 204 and to receive information from the user of theuser terminal 102 via the user interface. -
FIG. 2 shows one CPU but as an alternative, theuser terminal 102 may comprise more than one CPU e.g. which constitute cores of a multi-core processor. - Reference is now made to
FIG. 3 which is a flow chart for aprocess 300 performed by thecommunication client application 112 when executed on theuser terminal 102. Theprocess 300 will first be described with reference toFIGS. 4a-c which illustrate exemplary client user interfaces presented in various embodiments as part of theprocess 300. - In embodiments of the present disclosure, the user interface provided by the
communication client application 112 can operate in one of at least two modes. The first mode is a “full screen” mode in which a single layer of content provided by thecommunication client application 112 is displayed on thedisplay 204. The second mode is a “split view” mode in which both a first layer of content and a second layer of content provided by thecommunication client application 112 are displayed on thedisplay 204. - At step S302, the
communication client application 112 controls the user interface provided by thecommunication client application 112 to operate in the full screen mode. - The left-hand illustration of
FIG. 4a illustrates the client user interface displaying a layer ofcontent 401 in anavailable area 400 of thedisplay 204 responsive to thecommunication client application 112 supplying a single layer of content to theOS 214 for rendering on thedisplay 204. This layer ofcontent 401 is stored at the top of the navigation backstack associated with thecommunication client application 112. - As a mere example, the layer of
content 401 displayed on thedisplay 204 when thecommunication client application 112 controls the user interface provided by thecommunication client application 112 to operate in the full screen mode may comprise information pertaining to the recent communication activity associated withUser A 104 within a predetermined period. “Recent” activity is typically meant time-ordered information, with most recent activity being displayed first in a list or most prominently, and less recent activity being displayed later in a list or at a less-prominent position. -
FIG. 4a illustrates thatUser A 104 has recent communication activity with Users B-G of thecommunication system 100. The displayed recent activity may include for example avatars 402 (which are images chosen by users to represent themselves within the VoIP system) of those users thatUser A 104 has had recent communication activity with, the usernames 404 of those users thatUser A 104 has had a recent communication session with, and information 406 pertaining to the last communication event in the communication session conducted with the respective users e.g. last IM message received, contact acceptance, missed call etc. -
FIG. 4a illustrates (i) an avatar 402 a and username 404 a associated with User B 110 and information 406 a pertaining to the last communication event (e.g. an exchanged IM) in the communication session conducted with User B 110; (ii) an avatar 402 b and username 404 b associated with a User C and information 406 b pertaining to the last communication event (e.g. an exchanged IM) in the communication session conducted with User C; (iii) an avatar 402 c and username 404 c associated with a User D and information 406 c pertaining to the last communication event (e.g. an exchanged file) in the communication session conducted with User D; (iv) an avatar 402 d and username 404 d associated with a User E and information 406 d pertaining to the last communication event (e.g. end of a voice call) in the communication session conducted with User E (v) an avatar 402 e and username 404 e associated with a User F and information 406 e pertaining to the last communication event (e.g. an unanswered voice call) in the communication session conducted with User F; (vi) an avatar 402 f and username 404 f associated with a User G and information 406 f pertaining to the last communication event (e.g. an exchanged IM) in the communication session conducted with User G; and (vii) an avatar 402 g and username 404 g associated with a User H and information 406 g pertaining to the last communication event (e.g. an exchanged IM) in the communication session conducted with User H. - Whilst the recent activity of
User A 104 has been described above with reference to communication sessions conducted with a single user over thecommunication system 100. It will be appreciated that the recent activity may include information on recent group communication sessions (that include three or more users) thatUser A 104 has participated in. -
User A 104 is able to select a selectable input displayed on the layer ofcontent 401 using an input device of theuser terminal 102 to view more detailed information on one of the communication sessions. For example, by using akeypad 206, moving a cursor displayed on thedisplay 204 by physically moving a mouse (not shown inFIG. 2 ) coupled to theuser terminal 102, or touching an area of thedisplay 204 if thedisplay 204 is a touch screen. - The selectable input may for example be an avatar 402, a username 404 or a predetermined area of the displayed layer of content surrounding a particular avatar 402, username 404 and information 406 associated with a communication session.
- At step S304, the
communication client application 112 detects a user selection that the user interface provided by thecommunication client application 112 operates in the split-view mode. This may be based on detecting selection of a selectable input that is displayed on the layer ofcontent 401 that is displayed when thecommunication client application 112 is operating in the full screen mode. - An example user selection is indicated in
FIG. 4a by thecircle 408 which represents an area of the display 204 (a touch screen) that has been tapped byUser A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus).FIG. 4a illustrates that User A has selected to view more detailed information on the communication session withUser B 110. - A known communication client application would be configured in response to detecting this user selection, to add a further layer of content comprising detailed information on the communication session with
User B 110 to the navigation backstack and provide the further layer of content to the OS for rendering on the display. The default behaviour of the OS is to display the further layer in full screen mode. That is to replace the layer of content displaying the recent communication activity associated withUser A 104 with the further layer of content. - In contrast to known solutions, in response to detecting the user selection at step S304, the
process 300 proceeds to step S306 whereby thecommunication client application 112 controls the user interface provided by thecommunication client application 112 to operate in the split-view mode (depicted in the right-hand illustration ofFIG. 4a ). - That is, the
communication client application 112 adds a further layer ofcontent 403 to the navigation backstack (on top of the layer of content 401) and provides both the lower layer ofcontent 401 and the upper further layer ofcontent 403 comprising detailed information on the communication session withUser B 110 e.g. a chat view featuring all conversation and call history withUser B 110, to theOS 214 for rendering on thedisplay 204 in theavailable display area 400. Thecommunication client application 112 controls theOS 214 to render the further layer ofcontent 403 in a predetermined position in theavailable display area 400 to partially overlap the layer ofcontent 401 displaying the recent communication activity associated withUser A 104. That is, thecommunication client application 112 controls theOS 214 to operate in accordance with a custom behaviour (such that theOS 214 does not display thefurther layer 403 in accordance with its default behaviour). - The above described interaction between the
OS 214 and thecommunication client application 112 is based on theOS 214 exposing at least one API (application programming interface) that thecommunication client application 112 can use to implement custom behaviours and interactions that are in accordance with embodiments described herein. - The
communication client application 112 is configured to control theOS 214 such that the further layer ofcontent 403 is scaled (resized) by theOS 214 to fill a portion of theavailable display area 400 that corresponds to the predetermined position referred to above. This is depicted in the right-hand illustration ofFIG. 4 a. - The predetermined position referred to above is dependent on the content displayed on the layer of
content 401. For example, if the lower layer of content (e.g. the layer of content 401) comprises a plurality of selectable inputs, then the upper layer of content (e.g. the further layer of content 403) may overlap the lower layer of content to leave the plurality of selectable inputs exposed and displayed on thedisplay 204. - Thus as shown in
FIG. 4a , due to this partial overlapping, a portion of the layer ofcontent 401 is displayed in theavailable display area 400 and a remaining portion of the layer ofcontent 401 is not displayed in the available display area 400 (even though it is being rendered for display on thedisplay 204 by the OS 214). The dashedline 416 shown inFIG. 4a corresponds to a lock point which separates these separate portions. The position of thislock point 416 is controlled by thecommunication client application 112. - The portion of the layer of
content 401 that is displayed in theavailable display area 400 comprises selectable inputs (e.g. avatars 402 of the users thatUser A 104 has had recent communication activity with) that may be selected byUser A 104. That is, the partial overlapping of the further layer ofcontent 403 on top of the layer ofcontent 401 displaying the recent communication activity associated withUser A 104 creates a tabbed sidebar comprising these selectable inputs. - The further layer of
content 403 displaying detailed information on the communication session withUser B 110 in theavailable display area 400 illustrated inFIG. 4a shows IM messages previously exchanged betweenUser A 104 andUser B 110 however this chat view may include other information such as call history information (placed calls, end of calls, missed calls) and file transfer information. - The further layer of
content 403 comprises amessage field 412 into whichUser A 104 can enter text using thekeypad 206 or by tapping an area of the display 204 (a touch screen) when a virtual keypad is displayed on thedisplay 204. - The further layer of
content 403 comprises atoolbar 414 which displays selectable inputs for initiating a communication event with User B 110 (e.g. to place a voice or video call to User B 110) and a selectable menu button which may provideUser A 104 with one or more selectable options pertaining to the functionality provided by the communication client application (e.g. to addUser B 110 to a favourite contacts list, to edit contact information forUser B 110, to view profile information ofUser B 110, to block further communication withUser B 110, to removeUser B 110 as a contact). - At step S308, the
communication client application 112 controls the user interface provided by thecommunication client application 112 to display anindicator 410 providing an indication of how content displayed on the further layer ofcontent 403 is related to content on the displayed portion of the layer ofcontent 401. As shown inFIG. 4a , theindicator 410 provides an indication that the communication session information displayed on the further layer ofcontent 403 relates to a communication session withUser B 110 due to theindicator 410 being displayed adjacent to theavatar 402 a of User B 110 (rather than adjacent to theavatars 402 b-g of the other users thatUser A 104 has had recent communication activity with). - It will be appreciated that the form of the
indicator 410 shown inFIG. 4a is merely an example and may take other forms. - Whist
FIG. 4a shows theindicator 410 being displayed on the further layer ofcontent 403, additionally or alternatively theindicator 410 may be displayed on the layer ofcontent 401 displaying the recent communication activity associated withUser A 104. - For example, in the scenario whereby the
indicator 410 is displayed on the layer ofcontent 401, thecommunication client application 112 may control the user interface provided by thecommunication client application 112 to display theindicator 410 at a position on the layer ofcontent 401 to indicate that the communication session information displayed on the further layer ofcontent 403 relates to a communication session with User B 110 (for example theindicator 410 may be displayed adjacent to, on, or around theavatar 402 a associated withUser B 110. - The
communication client application 112 may display theindicator 410 on the layer ofcontent 401 in a particular colour, and additionally control the further layer ofcontent 403 to be displayed in this particular colour. This providing an indication that content displayed on the further layer ofcontent 403 is related to content on the displayed portion of the layer ofcontent 401. - Whilst the
communication client application 112 controls the user interface provided by thecommunication client application 112 to operate in the split-view mode,User A 104 may select another selectable input (e.g. an avatar 402 other thanavatar 402 a) that is displayed on the portion of the layer of content 401 (the created tabbed sidebar) that is displayed in theavailable display area 400 when thecommunication client application 112 is operating in the split-view mode. In response to detecting this user selection, thecommunication client application 112 removes the further layer ofcontent 403 from the navigation backstack and adds another further layer ofcontent 403 comprising detailed information on the communication session with the user associated with the selected avatar 402, to the navigation backstack (on top of the layer of content 401) and provides this other further layer of content (along with the layer of content 401) to the theOS 214 for rendering on thedisplay 204 in theavailable display area 400 in place of the further layer ofcontent 403 in the predetermined position to display detailed information on the communication session with the user associated with the selected avatar 402. - The selectable inputs (e.g. avatars 402) that are displayed on the portion of the layer of
content 401 act as tabs to advantageously allowUser A 104 to quickly and easily jump between conversations, and see contextual information in the layer ofcontent 401 displaying the recent communication activity associated withUser A 104, whilst actively communicating with one or more users. Furthermore, embodiments of the present disclosure negate the need forUser A 104 to ‘jump’ up and down levels of content to navigate through the user interface provided by thecommunication client application 112 asUser A 104 does not need to leave the layer of content that is in focus (the upper further layer of content) to interact with the lower layer of content (e.g. the layer of content 401). - Whilst the
communication client application 112 controls the user interface provided by thecommunication client application 112 to operate in the split-view mode,User A 104 may make a selection to control the user interface provided by thecommunication client application 112 to operate in the full screen mode to display only the further layer ofcontent 403 in theavailable area 400 of thedisplay 204. In response to detecting this user selection, with the layer ofcontent 401 displaying the recent communication activity associated withUser A 104 still being rendered on thedisplay 204 by theOS 214, thecommunication client application 112 instructs theOS 214 to render the further layer ofcontent 403 on thedisplay 204 in theavailable display area 400 to fully overlap the layer ofcontent 401 displaying the recent communication activity associated with User A 104 (such that no portion of the layer ofcontent 401 is displayed in theavailable display area 400 of the display 204). - That is, whilst the user interface provided by the
communication client application 112 operates in the full screen mode, both the layer ofcontent 401 and the further layer ofcontent 403 are rendered on thedisplay 204 by theOS 214, only a single layer of content (the further layer of content 403) provided by thecommunication client application 112 is displayed on thedisplay 204 due to the overlapping described above. -
FIG. 4b illustrates the transition from the user interface provided by thecommunication client application 112 operating in the split-view mode to operating in the full screen mode in response to a user selection. - This user selection may for example be a dragging of the further layer of
content 403 in a direction to fully overlap the layer ofcontent 401 displaying the recent communication activity associated withUser A 104. - An example user selection is indicated in
FIG. 4b by thecircles 408 which represents a finger swipe gesture on an area of the display 204 (a touch screen) that has been made byUser A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus) to drag the further layer of content in a substantially horizontal direction (right to left in this example). The finger swipe gesture includes the user making contact with the display (a finger-down event), moving the contact from right to left in a substantially horizontal direction across the touch-sensitive surface of the display 204 (a finger-dragging event), and the user ceasing contact with the display 204 (a finger-up (lift off) event). This dragging of the further layer ofcontent 403 may also be implemented byUser A 104 moving a cursor displayed on thedisplay 204 by physically moving a mouse (not shown inFIG. 2 ) coupled to theuser terminal 102. - The
lock point 416 is associated with a lock threshold area in theavailable display area 400 which is defined by thecommunication client application 112. In the example shown inFIG. 4b , the lock threshold area is defined by a left-side edge that is parallel and positioned to the left of thelock point 416, and a right-side edge that is parallel and positioned to the right of the lock point 416 (described with respect to the viewpoint ofUser A 104 noting that the lock threshold area is not visible to User A 104). In response to detecting a right-to-left finger swipe in whichUser A 104 swipes out of the lock threshold area (the finger-up event is beyond the left-side edge of the lock threshold area), thecommunication client application 112 instructs theOS 214 to render the further layer ofcontent 403 on thedisplay 204 in theavailable display area 400 to fully overlap the layer ofcontent 401 displaying the recent communication activity associated withUser A 104. - The
communication client application 112 controls theOS 214 to move the left hand edge of the further layer ofcontent 403 horizontally from right to left (as viewed by User A 104) along a fixed axis asUser A 104 makes the right-to-left finger swipe. Thecommunication client application 112 is further configured to control theOS 214 such that the content displayed on the further layer ofcontent 403 when the user interface provided by thecommunication client application 112 operates in the split-view mode is scaled-up in size by theOS 214 as the further layer ofcontent 403 is expanded in size. The further layer of content 403 (after scaling) is displayed in the user interface provided by thecommunication client application 112 operating in full screen mode. This is depicted in the right-hand illustration ofFIG. 4 b. - This allows
User A 104, to view or continue to participate in, a recent communication session conducted with a user in a full screen view, which is particularly advantageously when theuser terminal 102 is mobile device with a limited screen size. - Whilst the user selection to control the user interface provided by the
communication client application 112 to operate in the full screen mode by dragging the further layer of content in a substantially horizontal direction has been described above with reference to a finger swipe gesture, this is merely an example. Embodiments extend to other user selections such as one or more taps on an area of the display 204 (a touch screen) byUser A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus), usingkeypad 206, or other input device such as a mouse. -
User A 104 can drag back the previously created tabbed sidebar comprising the selectable inputs at any point allowing for quick and easy switching between the recent communication sessions. - In response to detecting dragging of the left hand edge of the further layer of
content 403 in a direction to expose the layer of content 401 (e.g. a left-to-right finger swipe) whereby the dragging gesture ends within the lock threshold area (not beyond the right-side edge of the lock threshold area), thecommunication client application 112 controls the user interface provided by thecommunication client application 112 to operate in the split-view mode (depicted in the right-hand illustration ofFIG. 4a ). When the dragging gesture is a finger swipe, thecommunication client application 112 determines where the dragging gesture ends based on an area in the available display area that the swipe reaches prior to the user ceasing contact with thedisplay 204. When the dragging gesture is implemented byUser A 104 moving a cursor displayed on thedisplay 204 by physically moving a mouse, thecommunication client application 112 determines where the dragging gesture ends based on an area in the available display area that the cursor reaches prior to the user releasing a button on the mouse. - The
communication client application 112 controls theOS 214 to move the left hand edge of the further layer ofcontent 403 horizontally from left to right (as viewed by User A 104) along the fixed axis asUser A 104 makes the left-to-right finger swipe. Thecommunication client application 112 may be further configured to control theOS 214 such that the content displayed on the further layer ofcontent 403 when the user interface provided by thecommunication client application 112 operates in the full screen mode, is scaled-down in size by theOS 214 and displayed in the user interface provided by thecommunication client application 112 operating in the split-view mode. Alternatively, thecommunication client application 112 may not control theOS 214 to perform any scaling such that thefurther layer content 403 retains a fixed size so that content displayed along the right-hand side of the further layer ofcontent 403 is cut-off and not displayed in theavailable display area 400. - In response to detecting dragging of the left hand edge of the further layer of
content 403 in a direction to expose the layer of content 401 (e.g. a left-to-right finger swipe) whereby the dragging gesture ends out of the lock threshold area (beyond the right-side edge of the lock threshold area), thecommunication client application 112 removes the further layer ofcontent 403 from the navigation backstack to control the user interface provided by thecommunication client application 112 to not display the further layer ofcontent 403 and reveal the lower layer ofcontent 401 displaying the recent communication activity associated withUser A 104 that has been rendered on thedisplay 204 by theOS 214. This is illustrated inFIG. 4 c. - In this scenario, the user interface provided by the
communication client application 112 maintains operating in the full screen mode in which a single layer of content provided by thecommunication client application 112 is displayed on thedisplay 204. Prior to the left-to-right finger swipe, thecommunication client application 112 provides both the layer ofcontent 401 displaying the recent communication activity associated withUser A 104 and the further layer ofcontent 403 to theOS 214 for rendering on thedisplay 204, but due to thecommunication client application 112 instructing theOS 214 to completely overlapping the layer ofcontent 401 with the upper further layer ofcontent 403, no portion of the layer ofcontent 401 is displayed. After the left-to-right finger swipe, thecommunication client application 112 provides only the layer ofcontent 401 displaying the recent communication activity associated withUser A 104 to theOS 214 for rendering on thedisplay 204. - Whilst the user selection detected whilst the user interface provided by the
communication client application 112 is controlled to operate in the full screen mode has been described above with reference to a finger swipe gesture, this is merely an example. Embodiments extend to other user selections such as one or more taps on an area of the display 204 (a touch screen) byUser A 104 using their finger or other computing instrument used to input command to the touch screen (such as a stylus), usingkeypad 206, or other input device such as a mouse. - In embodiments of the present disclosure, the
communication client application 112 continually provides the layer ofcontent 401 displaying the recent communication activity associated withUser A 104 to theOS 214 for rendering on thedisplay 204. In dependence on the navigation through the user interface provided by thecommunication client application 112, the layer ofcontent 401 may be fully displayed on thedisplay 204, partially displayed on the display 204 (due to the further layer ofcontent 403 being rendered partially on top of the layer ofcontent 401, or not displayed at all on thedisplay 204. - Thus the layer of
content 401 does not have to be re-rendered by theOS 214 eachtime User A 104 navigates through the user interface provided by thecommunication client application 112 to view this content. This advantageously reduces the amount of processor resource that is incurred whenUser A 104 navigates through the user interface provided by thecommunication client application 112. - Whilst the
communication client application 112 controls the user interface provided by thecommunication client application 112 to operate in the split-view mode, the portion of the layer ofcontent 401 that is displayed in theavailable display area 400 is still able to alertUser A 104 to activity (e.g. incoming communication events) happening behind the layer of content that is in focus (e.g. the upper further layer of content 403). - For example, the selectable inputs displayed on the portion of the layer of
content 401 that is displayed in theavailable display area 400 may be dynamically re-arranged by thecommunication client application 112. That is, ifUser A 104 receives a communication event (e.g. an instant message) from a user (e.g. a User I) thatUser A 104 has not had recent communication activity with, then thecommunication client application 112 may modify the displayed tabbed sidebar by displaying an avatar 402 associated with User I at the top of the recent activity list and shift the remaining avatars 402 a-402 g down to be positioned under the avatar 402 associated with User I. In this scenario thecommunication client application 112 continues to control the user interface provided by thecommunication client application 112 to display the further layer ofcontent 403 which displays detailed information on the communication session withUser B 110, and alters the position of theindicator 410 such that it remains being displayed alongside theavatar 402 a ofUser B 110 in its new position in the displayed tabbed sidebar. - Similarly, if
User A 104 receives a communication event (e.g. an instant message) from a user (e.g. one of Users C-H) thatUser A 104 has had recent communication activity with, then thecommunication client application 112 may modify the displayed tabbed sidebar by displaying the avatar 402 associated with the User at the top of the recent activity list and shift the remaining avatars 402 down to be positioned under the avatar 402 associated with User that transmitted the instant message. - Alternatively or additionally, if
User A 104 receives a communication event (e.g. an instant message) from a user (e.g. User C-H) thatUser A 104 has had recent communication activity with, then thecommunication client application 112 may modify the displayed tabbed sidebar by displaying a visual indication next to, on, or around the avatar 402 associated with the User that transmitted the instant message to alertUser A 104 to the received communication event. - In contrast to embodiments described above, in response to detecting a selection of a selectable input associated with a recent communication session with
User B 110 that is displayed on the layer ofcontent 401 that is displayed when thecommunication client application 112 is operating in the full screen mode (illustrated inFIG. 4a ), thecommunication client application 112 may control the user interface provided by thecommunication client application 112 to continue operating in the full screen mode. - That is, with the layer of
content 401 displaying the recent communication activity associated withUser A 104 still being rendered on thedisplay 204 by theOS 214, thecommunication client application 112 may add the further layer of content comprising detailed information on the communication session withUser B 110 to the navigation backstack (on top of the layer of content 401) and provide the further layer ofcontent 403 to theOS 214 for rendering on thedisplay 204 to fully overlap the layer ofcontent 401 displaying the recent communication activity associated with User A 104 (such that no portion of the layer ofcontent 401 is displayed in theavailable display area 400 of the display 204). The further layer ofcontent 403 displays detailed information on the communication session withUser B 110 in theavailable display area 400 e.g. a chat view featuring all conversation and call history withUser B 110. This is depicted in the right-hand illustration inFIG. 4 b. -
User A 104 may then make a selection (e.g. a left-to-right finger swipe) to control the user interface provided by thecommunication client application 112 to operate in the split-view mode (depicted in the right-hand illustration ofFIG. 4a ) or to continue operating in the full screen mode whereby the layer ofcontent 401 displaying the recent communication activity associated withUser A 104 is displayed on the display 204 (depicted in the right-hand illustration ofFIG. 4c ). - As explained above, whilst embodiments of the present disclosure have been described with reference to the client application being a communication client application, this is merely an example to illustrate the concepts. Embodiments extend to other types of client applications which display a window of content comprising a plurality of selectable inputs (e.g. icons, tabs, buttons, images, text etc.) that provides links to further content associated with the respect selectable inputs.
- As described above, the client user interface provided by the
communication client application 112 displays content in theavailable area 400 of thedisplay 204. As depicted inFIGS. 4a-c , theavailable area 400 of thedisplay 204 is the whole of the display. However, it is envisaged that the available area of the display (that is the area available to the communication client application 112) may constitute only a portion of the display e.g. with the remainder of the display being used by theOS 214 and/or other application(s) executed thereon to display other content. - Whilst dragging of the further layer of
content 403 in certain directions has been described above, these directions pertain to the example shown inFIGS. 4a-c whereby the plurality of selectable inputs is displayed along the left-side edge of the layer ofcontent 401 that displays the recent communication activity associated withUser A 104. It will be appreciated that the direction (e.g. leftward, rightward, upward, downward etc.) in which the further layer ofcontent 403 is dragged is dependent on the position of the plurality of selectable inputs displayed on the layer ofcontent 401. - As described above, according to one aspect of the present disclosure there is provided a user terminal comprising: a display having an available display area; one or more processors configured to run a client application having a user interface capable of operating in a full screen mode whereby a single layer of content is displayed in the available display area or in a split-view mode to display content; wherein the client application is configured to: detect, whilst controlling the user interface to operate in the full screen mode, a user selection that the user interface operates in the split-view mode, and in response display a first layer of content in a predetermined position to partially overlap a second layer of content in the available display area such that a portion of the second layer of content is displayed in the available display area and a remaining portion of the second layer of content is not displayed in the available display area; and display an indicator providing an indication of how content displayed on the first layer of content is related to content displayed on the portion of the second layer of content.
- The second layer of content may be displayed in the available display area in the full screen mode.
- In this embodiment, the user selection that the user interface operates in the split-view mode is a selection of a selectable input displayed on the second layer of content.
- The first layer of content may be selected for display in dependence on said selection of the selectable input.
- The display may be touch-sensitive, and the client application may be configured to detect the user selection based on detection of a tap gesture on the touch-sensitive display.
- The user terminal may be coupled to a computer mouse, and the client application may be configured to detect the user selection based on an input received from the computer mouse.
- The first layer of content may be displayed in the available display area in the full screen mode, the first layer of content completely overlapping the second layer of content that is rendered on the display.
- In this embodiment, the user selection that the user interface operates in the split-view mode may be dragging of the first layer of content in a direction to within a threshold area of the available display area.
- The display may be touch-sensitive, the client application may be configured to detect the user selection based on detection of a swipe gesture in said direction on the touch-sensitive display.
- The user terminal may be coupled to a computer mouse, and the client application may be configured to detect the selection of the selectable input based on an input received from the computer mouse.
- The client application may be further configured to detect, whilst controlling the user interface to operate in the split-view mode, a user selection of a selectable input displayed on the second layer of content, and in response, remove the first layer of content and display a further layer of content in the predetermined position to partially overlap the second layer of content, wherein the further layer of content is selected for display in dependence on said selection of the selectable input.
- The client application may be further configured to detect, whilst controlling the user interface to operate in the split-view mode, a user selection that the user interface operates in the full screen mode, and in response display the first layer of content to fully overlap the second layer of content in the available display area such that no portion of the second layer of content is displayed in the available display area.
- The user selection that the user interface operates in the full screen mode may be dragging of the first layer of content in a direction outside of a threshold area of the available display area.
- The client application may be further configured to detect, whilst controlling the user interface to operate in the split-view mode, an event associated with content displayed on the second layer of content, and in response modify the portion of the second layer of content that is displayed in the available display area to alert a user of the user terminal to said event.
- The predetermined position may be dependent on the content displayed on the second layer of content.
- The indicator may be displayed on at least one of the first layer of content and the second layer of content.
- The available display area may be the whole of the area of a display screen of the device.
- The client application may be a communication client application configured to exchange communication events over a communication network with other user terminals.
- In this embodiment, the second layer of content may comprise information related to at least one communication session conducted by the user of the user terminal with one or more further users, and the first layer of content comprises information on communication events exchanged in a selected one of said communication sessions.
- The steps shown separately in
FIG. 3 may or may not be implemented as separate steps, and may or may not be implemented in the order shown. - Generally, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), or a combination of these implementations. The terms “functionality” and “application” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, the functionality or application represents program code that performs specified tasks when executed on a processor (e.g. CPU or CPUs). The program code can be stored in one or more computer readable memory devices. The features of the techniques described below are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
- For example, the user terminals may also include an entity (e.g. software) that causes hardware of the user terminals to perform operations, e.g., processors functional blocks, and so on. For example, the user terminals may include a computer-readable medium that may be configured to maintain instructions that cause the user terminals, and more particularly the operating system and associated hardware of the user terminals to perform operations. Thus, the instructions function to configure the operating system and associated hardware to perform the operations and in this way result in transformation of the operating system and associated hardware to perform functions. The instructions may be provided by the computer-readable medium to the user terminals through a variety of different configurations.
- One such configuration of a computer-readable medium is signal bearing medium and thus is configured to transmit the instructions (e.g. as a carrier wave) to the computing device, such as via a network. The computer-readable medium may also be configured as a computer-readable storage medium and thus is not a signal bearing medium. Examples of a computer-readable storage medium include a random-access memory (RAM), read-only memory (ROM), an optical disc, flash memory, hard disk memory, and other memory devices that may use magnetic, optical, and other techniques to store instructions and other data.
- Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/014408 WO2016118793A1 (en) | 2015-01-22 | 2016-01-22 | Controlling access to content |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1501079.6 | 2015-01-22 | ||
GBGB1501079.6A GB201501079D0 (en) | 2015-01-22 | 2015-01-22 | Controlling access to content |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160216874A1 true US20160216874A1 (en) | 2016-07-28 |
US10139983B2 US10139983B2 (en) | 2018-11-27 |
Family
ID=52673795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/700,077 Active 2035-12-05 US10139983B2 (en) | 2015-01-22 | 2015-04-29 | Controlling access to content |
Country Status (2)
Country | Link |
---|---|
US (1) | US10139983B2 (en) |
GB (1) | GB201501079D0 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160364215A1 (en) * | 2015-06-10 | 2016-12-15 | Social Nation S.R.L. | Method and system for dynamic management of digital content and related dynamic graphical interface |
US20170031885A1 (en) * | 2015-07-31 | 2017-02-02 | Samsung Electronics Co., Ltd. | Electronic device and server related to rendering of web content and controlling method thereof |
US10515475B2 (en) * | 2016-06-09 | 2019-12-24 | Verizon Patent And Licensing Inc. | Implementing layered navigation using interface layers |
US10572137B2 (en) * | 2016-03-28 | 2020-02-25 | Microsoft Technology Licensing, Llc | Intuitive document navigation with interactive content elements |
US20240086047A1 (en) * | 2019-09-27 | 2024-03-14 | Apple Inc. | User interfaces for customizing graphical objects |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131497A1 (en) * | 2010-11-18 | 2012-05-24 | Google Inc. | Orthogonal Dragging on Scroll Bars |
US20130159941A1 (en) * | 2011-01-06 | 2013-06-20 | Research In Motion Limited | Electronic device and method of displaying information in response to a gesture |
US20130326421A1 (en) * | 2012-05-29 | 2013-12-05 | Samsung Electronics Co. Ltd. | Method for displaying item in terminal and terminal using the same |
US20150227166A1 (en) * | 2014-02-13 | 2015-08-13 | Samsung Electronics Co., Ltd. | User terminal device and displaying method thereof |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797645B2 (en) | 2005-01-21 | 2010-09-14 | Microsoft Corporation | System and method for displaying full product functionality using minimal user interface footprint |
US8832569B2 (en) | 2006-01-25 | 2014-09-09 | International Business Machines Corporation | Scrolling chat for participation in multiple instant messaging conversations |
US8751572B1 (en) | 2007-06-20 | 2014-06-10 | Google Inc. | Multi-user chat search and access to chat archive |
US8196112B1 (en) | 2008-02-15 | 2012-06-05 | Amazon Technologies, Inc. | Systems and methods for testing widgets in computer environments |
US20090313334A1 (en) | 2008-06-12 | 2009-12-17 | International Business Machines Corporation | Instant messenger conversation topic tabs |
US10680840B2 (en) | 2008-08-28 | 2020-06-09 | Lawrence A. Jonas | System for integrating multiple IM networks and social networking websites |
US9935792B2 (en) | 2009-02-24 | 2018-04-03 | Blackberry Limited | System and method for switching between conversations in instant messaging applications |
KR101588730B1 (en) | 2009-04-21 | 2016-01-26 | 엘지전자 주식회사 | Mobile terminal and method for communicating using instant messaging service thereof |
WO2013061156A2 (en) | 2011-10-27 | 2013-05-02 | Cell Rox, Ltd. | Systems and method for implementing multiple personas on mobile technology platforms |
US20130219299A1 (en) | 2012-02-16 | 2013-08-22 | Gface Gmbh | Live bar |
US9477945B2 (en) | 2012-09-27 | 2016-10-25 | Oracle International Corporation | Task-centered context management |
US20150248199A1 (en) * | 2014-02-28 | 2015-09-03 | Apple Inc. | Split view calendar |
-
2015
- 2015-01-22 GB GBGB1501079.6A patent/GB201501079D0/en not_active Ceased
- 2015-04-29 US US14/700,077 patent/US10139983B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131497A1 (en) * | 2010-11-18 | 2012-05-24 | Google Inc. | Orthogonal Dragging on Scroll Bars |
US20130159941A1 (en) * | 2011-01-06 | 2013-06-20 | Research In Motion Limited | Electronic device and method of displaying information in response to a gesture |
US20130326421A1 (en) * | 2012-05-29 | 2013-12-05 | Samsung Electronics Co. Ltd. | Method for displaying item in terminal and terminal using the same |
US20150227166A1 (en) * | 2014-02-13 | 2015-08-13 | Samsung Electronics Co., Ltd. | User terminal device and displaying method thereof |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160364215A1 (en) * | 2015-06-10 | 2016-12-15 | Social Nation S.R.L. | Method and system for dynamic management of digital content and related dynamic graphical interface |
US10007494B2 (en) * | 2015-06-10 | 2018-06-26 | Social Nation S.R.L. | Method and system for dynamic management of digital content and related dynamic graphical interface |
US20170031885A1 (en) * | 2015-07-31 | 2017-02-02 | Samsung Electronics Co., Ltd. | Electronic device and server related to rendering of web content and controlling method thereof |
US11295492B2 (en) * | 2015-07-31 | 2022-04-05 | Samsung Electronics Co., Ltd. | Electronic device and server related to rendering of web content and controlling method thereof |
US10572137B2 (en) * | 2016-03-28 | 2020-02-25 | Microsoft Technology Licensing, Llc | Intuitive document navigation with interactive content elements |
US10515475B2 (en) * | 2016-06-09 | 2019-12-24 | Verizon Patent And Licensing Inc. | Implementing layered navigation using interface layers |
US20240086047A1 (en) * | 2019-09-27 | 2024-03-14 | Apple Inc. | User interfaces for customizing graphical objects |
Also Published As
Publication number | Publication date |
---|---|
US10139983B2 (en) | 2018-11-27 |
GB201501079D0 (en) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10863136B2 (en) | Switch view functions for teleconference sessions | |
US10868779B2 (en) | Indication of communication across applications | |
EP3533180B1 (en) | Integrated multitasking interface for telecommunication sessions | |
US9432314B2 (en) | Quick navigation of message conversation history | |
US10516632B2 (en) | Switchable modes for messaging | |
EP3114832B1 (en) | Displaying video call data | |
US10139983B2 (en) | Controlling access to content | |
US10863227B2 (en) | Event conditioned views for communication sessions | |
US20170054663A1 (en) | Systems and methods for sharing videos and images in a texting environment | |
CN115509398A (en) | Method for displaying emoticons using instant messaging service and user device thereof | |
EP3103225B1 (en) | Instant messaging | |
CN113110789A (en) | Unified communications application functionality in compressed and full views | |
US20180232920A1 (en) | Contextually aware location selections for teleconference monitor views | |
WO2016118793A1 (en) | Controlling access to content | |
JP2021502661A (en) | How to provide an interactive keyboard and its system | |
US20240292089A1 (en) | Video sharing method and apparatus, electronic device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC., WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BAYSTON, STUART A.;REEL/FRAME:035598/0390 Effective date: 20150428 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHNEIDER, GUILHERME;WINSTON, DANIEL;WEST, RICHARD JAMES;AND OTHERS;SIGNING DATES FROM 20151007 TO 20151013;REEL/FRAME:036833/0794 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |