Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A METHOD AND A COMPUTING SYSTEM FOR MANIPULATING, TRANSFERRING AND SHARING VIRTUAL OBJECTS ON VIRTUAL SURFACES
Document Type and Number:
WIPO Patent Application WO/2015/075150
Kind Code:
A1
Abstract:
The invention concerns a method executed by a computing system for manipulating, transferring and sharing virtual objects on virtual surfaces comprising the steps of: a) create at least one virtual surface (100, 200), b) visualize said virtual surface (100, 200) through at least two windows (110, 210), where the first window (110) displays said virtual surface (100, 200) and the second window (210) displays the same virtual surface (100) or another virtual surface (200), c) Create at least one virtual object (10a-10f) on said virtual surface (100, 200), whereby characteristics of said virtual object (10a-10f) are sent to at least a server (300) able to communicate with each of said first window and second window, d) Manipulate said virtual object (10b) on said virtual surface (100, 200) to move (20) and/or modify said virtual object (10b), e) Send the parameters related to said manipulation to said server (300), f) Send information from said server (300) to said second window (210) in order to synthetize a virtual object (10b) on the second window (210), with same characteristics as said virtual object (10b) on said first window (110).

Inventors:
CREVOISIER ALAIN (CH)
Application Number:
PCT/EP2014/075204
Publication Date:
May 28, 2015
Filing Date:
November 20, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUTURE INSTR S RL (CH)
International Classes:
G06Q10/10; G06F3/0488
Domestic Patent References:
WO2010144430A12010-12-16
WO2010144430A12010-12-16
Foreign References:
US20100299436A12010-11-25
US20120233555A12012-09-13
US20110302506A12011-12-08
US20130013560A12013-01-10
US20100299436A12010-11-25
US20120233555A12012-09-13
US20110302506A12011-12-08
Attorney, Agent or Firm:
P&TS SA (Neuchâtel, CH)
Download PDF:
Claims:
Claims

1 . A method executed by a computing system for manipulating, transferring and sharing virtual objects on virtual surfaces comprising the steps of:

a) create at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface and the second window displays the same shared virtual surface,

c) Create at least one virtual object on said shared virtual surface, whereby characteristics of said virtual object are sent to at least a server able to communicate with each of said first window and second window, d) Manipulate said virtual object on said virtual surface to move and/or modify said virtual object,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to one among said first window and said second window in order to synthetize a virtual object on this one among said first window and second window, with same characteristics as said virtual object displayed on the other one among said first window and said second window,

wherein in step (b) said first window is visible on a first screen of a first device of a first user and said second window is visible on a second screen of a second device of a second user, wherein step (c) of creating said virtual object on said virtual surface is performed by said first user from said first device or by said second user from said second device, and wherein said step (d) of manipulating of said virtual object can be performed by said first user from said first device and by said second user from said second device, whichever takes first control of said virtual object.

2. A method according to claim 1 , wherein said server is a remote server communicating with said first and second devices through the web. 3. A method according to claim 1 , wherein said server is a local server communicating with said first window and said second window.

4. A method according to claim 1 , wherein said first device and said second device are controlled by the same user.

5. A method according to claim 1 , wherein said first device and said second device are controlled by different users. 6. A method according to claim 1 , wherein said first device and said second device are different user's devices and wherein said virtual surface is shared between said first user and said second user through a virtual room which give access to all virtual surfaces previously registered.

7. A method according to claim 1 , wherein in step (c) at least a first virtual object and a second virtual object are created on said shared virtual surface.

8. A method according to preceding claim, wherein in step (d) said first virtual object and said second virtual object are attached to each other, thereby creating a complex virtual object.A method according to preceding claim, wherein said shared virtual surface is displayed on a tactile screen and wherein in step (d) said first virtual object and said second virtual object are attached to each other by having said first virtual object and said second virtual object at least partially superposed on said first virtual surface and by touching with the user's body said tactile screen

simultaneously on both first and second virtual objects.

9. A method according to claim 7, wherein in step (d) said first virtual object and said second virtual object are initially visually separated but when manipulating at least one of said first virtual object and said second virtual object, said first virtual object and said second virtual object come into contact with each other, the virtual object having the higher speed when said first virtual object and said second virtual object come into contact with each other, is displayed as being in front of the other virtual object.

10. A computing system for manipulating , transferring and sharing virtual objects on virtual surfaces comprising:

- means for visualising virtual surfaces able to show at least a first window and a second window,

- means for creating at least one virtual surface visible through at least two windows, where the first window displays said virtual surface and the second window displays the same shared virtual surface, and means for creating at least one virtual object on said virtual surface,

- at least a server able to communicate with each of said first window and second window and to receive characteristics of said virtual object,

- means for manipulating said virtual object on said virtual surface to move and/or modify said virtual object, and

- means for transferring data between said server and said first window and between said server and said second window in order to synthetize by the use of directives, a virtual object on one among said first window and second window, with same characteristics as said virtual object displayed on the other one among said first window and said second window, wherein said first window is visible on a first screen of a first device of a first user and said second window is visible on a second screen of a second device of a second user, wherein means for creating at least one virtual object can be activated by said first user from said first device or by said second user from said second device and wherein means for manipulating said virtual object on said virtual surface is controllable by said first user from said first device and by said second user from said second device, whichever takes first control of said virtual object.

1 1 . A system according to claim 10, wherein it comprises a first server being a local server communicating with said first window and a second server communicating with said second window and being a remote server which is able to communicate and exchange information with said first server.

12. A system according to any of claims 10 to 1 1 , wherein it comprises a first server being a local server communicating with said first window and a second server being a local server communicating with said second window and a third server being a remote server which is able to communicate and exchange information with said first server and said second server.

13. A system according to claim 10, wherein it further

comprises a user interface -comprising for each virtual surface currently displayed on said first window:

- a status bar indicating at least said virtual surface' s name,

- an identification strip identifying virtual surface,

- at least one active button forming a clickable for triggering an action either immediately or through another clickable. 14. A system according to preceding claim, wherein it further comprises :

- an active switch (514) forming a clickable for selecting to visualize in said identification strip either a device' ID corresponding to the connected device with a window corresponding to said virtual surface or said available virtual surfaces' name. 1 5. A system according to claim 14, wherein it further comprises a separate visual identification of the user who acts on said virtual surface currently displayed on said first window.

Description:
A method and a computing system for manipulating, transferring and sharing virtual objects on virtual surfaces

Field of the invention

[0001] The present invention concerns a method executed by a

computing system for manipulating, transferring and sharing virtual objects on virtual surfaces, and a computing system for implementing such method.

Description of related art

[0002] Nowadays, sharing information through distant or local devices in a convivial way is a natural activity, notably through the web and all available applications. A commonly used possibility consists in using a server and attached storage as the common container for the information shared by all devices of a local or remote network. Also, the possibility exists to share screen between several devices (for instance personal computers), and to access these devices remotely to view and modify content.

[0003] US 2010/299436 allows sharing of output data from a plurality of resources onto a mobile computing device having a virtual screen space divided into sub-screen spaces, each being associated to a resource.

US 2012/233555 presents real-time collaborative editing through client and host devices. US 2011/302506 concerns method and system for coordinating visual content collaboration.

[0004] WO 2010/144430 presents a solution sharing windows between different users but there is no possibility for several users to interact on the same virtual surface at the same time, and therefore to manipulate the same virtual object or different virtual objects simultaneously.

[0005] These existing solutions have however too limited possibilities in case of collaborative work, interactive classroom, brainstorming meeting or any other possible activity implying several active users manipulating information in real time. Namely, to date there is no existing solution where all participants can bring and share information with the same commodity as being around the same table, whatever the location of these participants. [0006] The objective of this invention is to address some or all the shortcomings of the prior art, and to propose a means to create,

manipulate, transfer and share virtual objects on virtual surfaces.

[0007] Also, the present invention aims to provide a solution which is adaptable to a large panel of situations, notably in relation with the location of the users, and the configuration of devices and screens used by these users.

Brief summary of the invention

[0008] According to the invention, these aims are achieved by means of a method executed by a computing system according to claim 1 , and by means of a computing system according to claim 12.

[0009] According to an embodiment of the invention, the method for manipulating, transferring and sharing virtual objects on virtual surfaces comprises the steps of:

a) create at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface and the second window displays the same shared virtual surface,

c) Create at least one virtual object on said shared virtual surface, whereby characteristics of said virtual object are sent to at least a server able to communicate with each of said first window and second window, d) Manipulate said virtual object on said virtual surface to move and/or modify said virtual object,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to one among said first window and said second window in order to synthetize a virtual object on this one among said first window and second window, with same characteristics as said virtual object displayed on the other one among said first window and said second window,

wherein in step (b) said first window is visible on a first screen of a first device of a first user and said second window is visible on a second screen of a second device of a second user, wherein step (c) of creating said virtual object on said virtual surface is performed by said first user from said first device or by said second user from said second device, and wherein said step (d) of manipulating of said virtual object can be performed by said first user from said first device and by said second user from said second device, whichever takes first control of said virtual object.

[0010] In that situation, said virtual surface is the same for said first window and said second window, in step (c) said virtual object is created on said virtual surface and in said step (d) the results of the manipulation of said virtual object are simultaneously visible on said first window and on said second window which both show a same representation of said shared virtual surface.

[0011] The method for manipulating, transferring and sharing virtual objects on virtual surfaces according to another embodiment of the invention comprises the steps of:

a) creating at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface and the second window displays the same virtual surface or another virtual surface,

c) Create at least one virtual object on said virtual surface, whereby characteristics of said virtual object are sent to a at least a server able to communicate with each of said first window and second window, d) Manipulate said virtual object on said virtual surface to move and/or modify said virtual object,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to said second window in order to synthetize a virtual object on the second window, with same characteristics as said virtual object on said first window.

Preferably, such method also allows the position of said virtual object and displacement of said virtual object to be computed in order to provide, when manipulating said virtual object, the visual impression of visualizing through said first and second window either the same surface or two contiguous surfaces.

Also, preferably the result of said manipulation of said virtual object is visible on said first window displaying said virtual surface and also on said second window when said second window displays the same virtual surface.

[0012] In the present text, the expression "window" has the general meaning in computer science, i.e. a visual area having generally a

rectangular shape, containing some kind of user interface, window decoration and displaying information, such that output of one or more processes and input to one or more processes . It can overlap with the area of other windows especially when said windows are on the same screen. Windows are primarily associated with graphical displays, where they can be manipulated with input devices such as a mouse, a touch screen, a pointing device, a touch pad, a keyboard.... [0013] Also, in the present text, the expression "virtual surface" means a storage area for virtual objects. Said virtual surface is visualized through one window or several windows, through one screen or several screens dependent from one or several devices, controlled by one or several users. A local surface pertains to a given user and a remote surface pertains to linked users. Such a virtual surface is also generally known under the term "canvas".

[0014] Also, in the present text, the expression "virtual object" means a representation of information of different types such as notes, photos, pictures, videos, links, web pages, desktop documents such as PDF

documents, word processing document, spreadsheet document..., also a group of such virtual objects, and a folder or container containing other virtual objects and/or group of such virtual objects and/or one or several of such folders. These virtual objects provide a support for digital information which can be manipulated on said virtual surface(s) in a way presenting similarities with the manipulation of physical objects, as hereinafter explained. [0015] Also, in the present text, the expression "device" means electronic devices able to visualize at least one window, on at least one screen. A non-limitative list of devices according to this meaning are tablets, personal computers, laptops, smartphones, interactive and multitouch whiteboards and tables, notably handheld devices. [0016] According to the invention, "manipulate" a virtual object means either move or modify. When moving a virtual object in the meaning of the invention, the visual representation of said virtual object remains

unchanged per se but has a changing position within one virtual surface or several virtual surfaces, with any possible movement including notably translation, rotation, inclination, and any combination of these movements. Each virtual object has intrinsic characteristics attached to it, such as its type (for instance web link, photo, notes...), address, content, colour, shape, size....When manipulating a virtual object only through moving, its characteristics are kept unchanged. [0017] When modifying a virtual object in the meaning of the invention, the visual representation of said virtual object is changing per se, with an unchanged position on said virtual surface, including in a non-limitative way the following modifications or amendments: edition, deletion, zooming (i.e. changing the scale through expansion or reduction of size) , grouping several virtual objects to constitute a complex virtual object, changing the colour or any other element of appearance , changing the orientation (rotating, mirror effect). When manipulating a virtual object only through modifying, its characteristics are changing. To each virtual object present on a virtual surface, are also attached parameters which are features in relation with the situation of the virtual object with respect to the virtual surface, including current situation and modification of this situation namely position (X, Y), orientation, size, speed, angle of movement, damping of movement (virtual friction with the surface), and more generally any parameter involved in the calculation of position in a sequence of time.

[0018] Of course, during a manipulation both moving and modifying of said virtual object on said virtual surfaces can be performed.

[0019] In all cases, for each virtual object present on a virtual surface both characteristics and parameters form together information about said virtual objects and said virtual surface(s). This information is collected and regularly updated in a database connected with at least a server able to communicate with each of said first window and second window. A dedicated software application uses this information to have a correct visualization of said virtual object on said virtual surface(s), i.e. a correct "image" of said virtual surface on said window(s) which display(s) said virtual surface. [0020] Thanks to this method, after creation of one or several virtual objects on one or several virtual surfaces, these virtual objects can be manipulated, for instance during a brainstorming session, through a graphic interface also present on said virtual surface, for moving a virtual object within a virtual surface, modifying a virtual object present on a virtual surface, transferring a virtual object from a first window displaying a first virtual surface to a second window representing a virtual surface contiguous to the first window, and also for sharing the same virtual objects on a unique shared virtual surface visible through at least a first window and a second window.

In some embodiments of the method, a gate is used for visualization of other connected virtual surfaces or other connected devices from a current virtual surface that can be a shared virtual surface or not.

Also, in some embodiments of the method, a virtual room is used and forms a common space for interconnecting virtual surfaces for several users. [0021] Depending from the situation, this method can be implemented by the mean of a web (or Cloud) based server, or through a local server, or through a combination of both types of servers.

Also, this method can be implemented by the mean of further computing elements, forming other computer hardware or computer software, notably one or more client(s) (for instance. iOS, Android, html, etc) forming programs or devices that are part of a client-server model.

[0022] In a first configuration of the method according to the invention, said method comprises the steps of

a) create at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface on a first screen of a first device and the second window displays the same virtual surface or another virtual surface on said first screen of said first device,

c) Create at least one virtual object on said virtual surface, whereby characteristics of said virtual object are sent to at least a server (here a program in the same computer or over a computer network) able to communicate with each of said first window and second window, d) Manipulate from said first device said virtual object on said virtual surface to move and/or modify said virtual object,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to said second window in order to synthetize a virtual object on the second window, with same characteristics as said virtual object on said first window.

In this first configuration, one user is using a single screen of a same device to manipulate at least one virtual object on two windows forming different portions of this screen, these two windows displaying either a same virtual surface or two different virtual surfaces.

[0023] In a second configuration of the method according to the invention, said method comprises the steps of

a) create at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface on a first screen of a first device and the second window displays the same virtual surface or another virtual surface on a second screen also controlled from said first device, c) Create at least one virtual object on said virtual surface, whereby characteristics of said virtual object are sent to at least a server (here a program in the same computer or over a computer network) able to communicate with each of said first window and second window, d) Manipulate said virtual object from said first device on said virtual surface to move and/or modify said virtual object,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to said second window in order to synthetize a virtual object on the second window, with same characteristics as said virtual object on said first window,

In this second configuration, one user is using two screens controlled by a same device to manipulate at least one virtual object on two windows respectively displayed on said first screen and on said second screen, these two windows displaying either a same virtual surface or two different virtual surfaces.

Preferable, wherein said first window shows a first virtual surface and said second window shows a second virtual surface which is different from said first virtual surface, wherein both step (c) of creation of said virtual object and said step (d) of manipulation of said virtual object are performed on said first virtual surface from said first device, wherein said first virtual surface and said second virtual surface are interconnected.

According to a possible configuration, an enlarged surface is formed by the juxtaposition of a first virtual surface visible through said first window and a second virtual surface visible through said second window, said server containing information from both first virtual surface and second virtual surface.

[0024] In a third configuration of the method according to the invention, said method comprises the steps of

a) create at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface on a first screen of a first device and the second window displays on a second screen of a second device the same virtual surface or another virtual surface,

c) Create at least one virtual object on said virtual surface from said first device or from said second device, whereby characteristics of said virtual object are sent to at least a server able to communicate with each of said first window and second window,

d) Manipulate said virtual object on said virtual surface to move and/or modify said virtual object, which manipulation can be performed from said first device and from said second device,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to said second window in order to synthetize a virtual object on the second window, with same characteristics as said virtual object on said first window,

In this third configuration, one user or two users is (are) using two screens controlled by different devices to manipulate at least one virtual object on two windows respectively displayed on said first screen and on said second screen, these two windows displaying either a same virtual surface or two different virtual surfaces..

[0025] In said first, second and third configurations, if said first window and second window display the same virtual surface, the virtual object synthetized on the second window has the same characteristics and the same parameters than the virtual object on said first window so that the virtual object synthetized on the second window is an identical picture of the virtual object of the first window.

In said first and second configurations, if said first window and second window display different virtual surfaces, and if manipulation of said virtual object on said first virtual surface comprises moving said virtual object on said first virtual surface towards said second virtual surface, the virtual object synthetized on the second window has the same

characteristics than the virtual object on said first window and also the parameters of said virtual object on said first window are considered to synthetize the virtual object on the second window as copy of virtual object of the first window having a movement on the second window which appears as a natural prolongation of the movement of the virtual object on said first window (impression of an extension of trajectory with adapted speed and orientation of the virtual object on said second window).

[0026] In a fourth configuration of the method according to the invention, said method comprises the steps of

a) create a first virtual surface and create a second virtual surface, b) visualize said first virtual surface and said second virtual surface, through at least two windows, where the first window displays said first virtual surface on a first screen of a first device and the second window displays said second virtual surface on a second screen of a second device, c) Create at least one virtual object on said first virtual surface from said first device or on said second virtual surface from said second device, whereby characteristics of said virtual object are sent to at least a server able to communicate with each of said first window and second window, d) Manipulate said virtual object on whoever virtual surface among said first virtual surface and said second virtual surface contains said virtual object, to move and/or modify said virtual object, which manipulation is performed from said corresponding device among said first device and said second device,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to said second window in order to synthetize either a modified virtual object on the first window or a moved virtual object on the second window having same characteristics as said virtual object on said first window.

In this fourth configuration, one user or two users is (are) using two screens controlled by different devices to manipulate at least one virtual object on two windows respectively displayed on said first screen and on said second screen, these two windows displaying two different virtual surfaces. The virtual object can be modified from the device with the screen/window containing the corresponding first virtual surface containing the virtual object, which means changing the intrinsic characteristics attached to the virtual object. Also the , the virtual object can be moved from the first virtual surface by action on the first device onto the second virtual surface like a ball thrown from a first playing field onto a second playing field, which means not changing the intrinsic characteristics attached to the virtual object, but only changing the position of the virtual object, preferably, wherein said first window shows a first virtual surface and said second window shows a second virtual surface which is different from said first virtual surface, wherein both step (c) of creation of said virtual object and said step (d) of manipulation of said virtual object are performed on said first virtual surface from said first device, wherein said first virtual surface and said second virtual surface are interconnected.

According to a possible provision, an enlarged surface is formed by the juxtaposition of a first virtual surface visible through said first window and a second virtual surface visible through said second window, said server containing information from both first virtual surface and second virtual surface. [0027] According to a possible provision of the second and fourth configuration, in step (d) of manipulating said virtual object comprises the virtual transfer of location of said virtual objects from said first virtual surface forming a source surface towards said second virtual surface forming a destination surface, said virtual object being first moved within said first virtual surface in direction of the border of the first surface and when said virtual object reaches the border of the first surface it then disappears from said first virtual surface and at the same time appears on the border of said second virtual surface, said virtual transfer of said virtual object being visible with an impression of continuous sliding movement of said virtual object from said first virtual surface to said second virtual surface.

[0028] According to another possible provision of the second and fourth configuration, said movement of said virtual object on said first virtual surface is activated by said device having the screen with the virtual first surface on which is displayed said virtual object and after said virtual object appeared on said second virtual surface its movement on said second virtual surface is a visual extension of its previous movement on said first virtual surface. [0029] According to another possible provision of the second and fourth configuration, before said destination surface (said second virtual surface) is able to receive a virtual object from said source surface (said first virtual surface), implementing a step of forming a bridge from said source surface to said destination surface through said server.

[0030] It is to be noted that other configurations of the method according to the invention are possible, notably those described below in relation with the figures 1 to 6.

[0031] The computing system for manipulating, transferring and sharing virtual objects on virtual surfaces according to the invention comprises:

- means for visualising virtual surfaces able to show at least a first window and a second window,

- means for creating at least one virtual surface visible through at least two windows, where the first window displays said virtual surface and the second window displays the same virtual surface or another virtual surface, and means for creating at least one virtual object on said virtual surface,

- at least a server able to communicate with each of said first window and second window and to receive characteristics of said virtual object,

- means for manipulating said virtual object on said virtual surface to move and/or modify said virtual object, and

- means for transferring data between said server and said first window and between said server and said second window in order to synthetize a virtual object on the second window, with same characteristics as said virtual object on said first window (said server being able to communicate with the device or the devices displaying said first window and said second window).

[0032] In another embodiment, the computing system for manipulating , transferring and sharing virtual objects on virtual surfaces according to the invention comprises:

- means for visualising virtual surfaces able to show at least a first window and a second window,

- means for creating at least one virtual surface visible through at least two windows, where the first window displays said virtual surface and the second window displays the same shared virtual surface, and means for creating at least one virtual object on said virtual surface,

- at least a server able to communicate with each of said first window and second window and to receive characteristics of said virtual object,

- means for manipulating said virtual object on said virtual surface to move and/or modify said virtual object, and

- means for transferring data between said server and said first window and between said server and said second window in order to synthetize by the use of directives, a virtual object on one among said first window and second window, with same characteristics as said virtual object displayed on the other one among said first window and said second window,

wherein said first window is visible on a first screen of a first device of a first user and said second window is visible on a second screen of a second device of a second user, wherein means for creating at least one virtual object can be activated by said first user from said first device or by said second user from said second device and wherein means for manipulating said virtual object on said virtual surface is controllable by said first user from said first device and by said second user from said second device, whichever takes first control of said virtual object.

[0033] According to a possible provision, said virtual surface is an enlarged surface formed by the juxtaposition of a first virtual surface visible through said first window and a second virtual surface visible through said second window, said server containing information from both first virtual surface and second virtual surface.

[0034] Preferably, said manipulating means are able to implement a virtual transfer of location of said virtual object placed on said first virtual surface from said first virtual surface forming a source surface towards said second virtual surface forming a destination surface, wherein during said virtual transfer said virtual object moves within said first virtual surface in direction of the border of the first surface and when said virtual object reaches the border of the first surface it disappears from said first virtual surface and at the same time appears on the border of said second virtual surface with an impression of continuous slide of said virtual object from said first virtual surface to said second virtual surface

[0035] According to a possible provision, said information comprises movement information concerning the sliding movement information of said virtual object on the source surface including location in the screen, angle of displacement and speed, in order to have this information used to place said virtual object on the border of said destination surface with a continuity visual impression when said virtual object reach the border of said source surface.

[0036] These means for creating virtual surfaces and means for manipulating virtual objects on said virtual surfaces are formed by modules of a dedicated software application relying on all available functionalities and hardware of the device with the screen displaying the window with the considered virtual surface containing virtual objects. As an example, a virtual object can move on a virtual surface for instance by user's

control/action on the touchpad and/or the keyboard. Such a manipulation implies other computing elements such as computer programs, software libraries, and graphical interfaces. Also, means for creating virtual objects comprises libraries (of photographs...), access to web navigators, local memories.... Also, said means for transferring data between said server and said first window and between said server and said second window can notably comprise a local, preferably secured, network and/or a real-time communication network for exchange, notably exchange of directives and information, through the web for cloud computing.

Brief Description of the Drawings

[0037] The invention will be better understood with the aid of the description of embodiments given by way of example and illustrated by the figures, in which: Fig. 1 shows a schematic view of a first embodiment of the method according to the invention in a first step,

Fig.2 shows a view similar to that of Fig.1 for a following step;

Fig.3 shows a schematic view of a second embodiment of the method according to the invention, Fig.4 shows a schematic view of a configuration between two users implementing the method according to a third embodiment of the invention,

Fig.5 shows another representation of the situation of Fig.4, and

Fig.6 shows a general overview of another configuration between three users using the method according to the invention, illustrating other possibilities.

Detailed Description of possible embodiments of the Invention

[0038] In fig. 1 are shown a first virtual surface 100 and a second virtual surface 200 which are not directly interconnected to each other but via an intermediate server 300 (remote surfaces 100, 200). According to the invention, these two virtual surfaces 100 and 200 are respectively visible through a first window 1 10 and through a second window 210 displayed on the same screen (not shown) or on different screens. Also when said two virtual surfaces 100 and 200 are displayed on two different screens, those screens can be attached to the same device (for example two screens used in parallel for working on the same computer) or they can be attached to two different devices. Also when said two virtual surfaces 100 and 200 are displayed on two different screens, each screen being dependent from a different device, these two devices can be located at the same place (for instance, same meeting room) with an interconnection (links 400) via a local server 300, or can be located at remote but close places (for instance, two different offices in the same building) with a local server 300

interconnecting said two screens and therefore said two windows 1 10 and 210), or can be located at remote places (for instance in different buildings and/or different cities and/or different countries) and interconnected via a remote server 300 through web connections 400.

[0039] The first virtual surface 100 of Fig.1 contains two virtual objects 10a and 10b, being for instance respectively a photo (virtual object 10a) and a handwritten note (virtual object 10b). Also, the second virtual surface 200 of Fig.2 contains four virtual objects, being in this example a virtual object 10c in the form of a text and virtual objects representing pdf documents 10d, 10e and 10f.

[0040] As an example, this configuration is used between two different users needing to exchange information about a meeting being organized. In this example, the virtual object 10a in the first virtual surface 100 of the first window 1 10 contains the photo of the building for this forthcoming meeting and the virtual object 10b in the same first virtual surface 100 contains information about the situation and route to this building (for instance a written itinerary). In this example, the virtual object 10c in the second virtual surface 200 of the second window 210 contains the agenda for this forthcoming meeting and virtual objects 10d, 10e and 10f contain electronic business cards of the attendees to this meeting.

[0041] A manipulation of virtual object 10b is illustrated in Fig. 1 and 2 as a transfer of virtual object 10b between said first virtual surface 100 towards second virtual surface 200. In fig.1 User having control of said first virtual surface 100 uses a dedicated input device such as a mouse, a touch screen, a pointing device, or a touch pad to perform the manipulation of virtual object 10b. In Fig.1 said virtual object 10b is displaced through a translation motion from the left to the right in said first window 1 10 (arrow 20). If there is no open gate or no connection between the corresponding first virtual surface 100 and said second virtual surface 200, the virtual object 10b is reaching the right border of said second virtual surface 200 and then bounces as a ball would do on a wall (non-shown situation), with a deceleration simulated as friction so that the movement would finally stop. In the situation shown in Fig. 2, a gate is open or a connection exists between said first virtual surface 100 and said second virtual surface 200 enabling the virtual object 10b to first disappear from the right border of said first window, then rapidly appears on the border (preferably the left border of the second virtual surface 200 placed on the right side of the first window 100) of the second virtual surface 200. As a preferred implementation, the virtual object 10b appearing on said second virtual surface 200 has a movement on said second virtual surface 200 which is an extension of its previous movement on first virtual surface 100, whereby the user facing the second virtual surface 200 has an impression of a sliding object coming through the border of the second virtual surface 200 (see Fig. 2).

To have a realism effect, preferably the visualisation of said virtual objects on said virtual surfaces is refreshed 60 time per seconds (update cycle of said server 300) using local resources with directives from said server 300 (local resources are those of the device with the screen displaying the window with the considered virtual surface with the virtual objects which can move or not). [0042] For implementing such continuous movement of said virtual object 10b from said first virtual surface 100 to said second virtual surface 200, said server 300 receives and exchanges information and directives about said virtual object 10b. A first portion of this information comprises "characteristics" of said virtual object 10b which are intrinsic features of the virtual object 10b and any modification of this virtual object 10b, namely here the text giving the itinerary and practical information to find the building for the forthcoming meeting, said text being written on a little window forming a digital note which position can be changed like a sticky note such as a digital post-it - registered trademark. -) . A second portion of this information also concerns the displacement (location and any movement) of said virtual object 10b on said first or second virtual surface. Here the second portion of this information are formed by

"parameters" in relation with the displacement of the virtual object 10b with respect to the first virtual surface 100, namely the size, shape, of the note, its colour, its position on the first window (x,y coordinates) and notably along the border of the first window, and also its speed (which is not zero during a movement on the first virtual surface 100), direction and angle (illustrated by arrow 20 in Fig.1 during the first part of the movement of the virtual object 10b)). If said first virtual surface 100 and said second virtual surface 200 are visualized as having the same size, the virtual object 10b is advantageously shown as having the same size and dimension on both said first virtual surface 100 and said second virtual surface 200.

Otherwise, if said first virtual surface 100 and said second virtual surface 200 are visualized as having not the same size, the virtual object 10b is advantageously shown as having a changed size between its first

representation on said first virtual surface 100 and its second

representation on said second virtual surface 200, with the same

proportionality ratio between said second representation and said first representation than between said second virtual surface 200 and said first virtual surface 100.

[0043] This information allow, through directives, the synthesis of the visualization of said virtual object 10b firstly on said first window 1 10, by the device controlling the screen with said first window 1 10 displaying said first virtual surface 100, and secondly after the transfer is activated, the synthesis of the visualization of said virtual object 10b on said second window 210, by the device controlling the screen with said second window 210. To that end, This information is sent from said first window 1 10, via a server (not shown), to the application managing said second window 210 so as to synthetize the rest of the movement of said virtual object 10b on said second window 210.

Another option is to duplicate said virtual object 10b on said first virtual surface 100 before transferring said virtual object 10b onto the second virtual surface 200 and keeping a copy of said virtual object 10b on said first virtual surface 100.

[0044] In this configuration, said first virtual surface 100 forms a source surface and said second virtual surface 200 forms a destination surface. In some cases, said destination surface is able to receive a virtual object from said source surface, after implementation of a preliminary step of forming a bridge by opening a gate (not shown) between said source surface and said destination surface through said server 300. Such a gate allows to visualize other virtual surfaces or other devices from said source surface. Also, in this configuration said first virtual surface 100 and said second virtual surface 200 are juxtaposed forming thereby together an enlarged surface formed by the combination of two individual surfaces. Said server 300 receives updated information about said first virtual surface 100 and said second virtual surface 200. [0045] In Fig.3 showing a second embodiment of the method according to the invention wherein the situation differs from that of the first embodiment previously described in relation with Fig.1 and 2 in that the first window 1 10 and the second window 210 display the same virtual surface 500 and therefore the same virtual objects 10g and 10h contained in said common virtual surface 500 forming a shared virtual surface.

According to the invention, this common virtual surface 500 is visible through a first window 1 10 and through a second window 210 displayed on the same screen (not shown) or on different screens. Also when said two virtual surfaces 100 and 200 are displayed on two different screens, those screens can be attached to the same device (for example two screens used in parallel for working on the same computer) or they can be attached to two different devices. Also when said two virtual surfaces 100 and 200 are displayed on two different screens, each screen being dependent from a different device, these two devices can be located at the same place (for instance, same meeting room) with an interconnection (links 400) via a local server 300, or can be located at remote but close places (for instance, two different offices in the same building) with a local server 300

interconnecting said two screens and therefore said two windows 1 10 and 210), or can be located at remote places (for instance in different buildings and/or different cities and/or different countries) and interconnected via a remote server 300 through web connections 400.

[0046] In Fig.3 the virtual objects 10g and 10h are intrinsically the same (same type, same size, same content etc... therefore have the same characteristics) and are an image of the same manipulation with respect to the unique virtual surface 500 (same orientation, same position, same speed etc....Therefore have the same parameters with respect to said unique virtual surface 500). The representation of said unique virtual surface or shared virtual surface 500 is displayed simultaneously on said first window 1 10 and on said second window 210 in a synchronized manner via said server 300. Also, in fig.3 movement of said virtual objectl Oh on said virtual surface 500 is represented by arrow 20 and is the same on first window 1 10 and second window 210, independantly of which user manipulates the virtual object 10h among user A having control of the first window 1 10 and user B having control of the second window 210.

[0047] In fig.4 and 5 show other representations of possible

configurations of the implementation of the method according to the invention between two users or more than two users according to a third embodiment, mixing said previously described first and second

embodiments of the invention.

[0048] In the configuration of Fig.4, a first user A (on the left) has created three different virtual surface VSA1, VSA2 and VSA3, the latter being a shared virtual surface SVS as previously described virtual surface 500 of fig.3. Also a second user B (on the right) has created one virtual surface VSB1 and has access to a shared virtual surface VSB2 identical to said shared virtual surface SVS created by user A. In this example, said shared virtual surface SVS is identical to said virtual surface 500 previously described in relation with Fig.3. [0049] In this situation, said first user A can manipulate virtual objects 10g and 10h of said shared virtual surface SVS or VSA3, but also all virtual objects of his others virtual surfaces VSA1 and VSA2, including transfer of a virtual object from and/or into said virtual surfaces VSA1 , VSA2 and VSA3 (shared virtual surface SVS). Also, in this situation, said second user B can manipulate virtual objects 10g and 10h of said shared virtual surface SVS or VSB2, but also all virtual objects of his other virtual surface VSB1 , including transfer of a virtual object from and/or into said virtual surfaces VSB1 and VSB2 (shared virtual surface SVS).

[0050] In such a situation, first user A has not access to said virtual surfaces VSB1 and second user B has not access to said virtual surfaces VSA1 and VSA2.

[0051] In a specific embodiment, manipulation of a virtual object present on said shared virtual surface SVS can be performed at the same time by said first user A (through a not shown first device) and by said second user B (through a not shown second device), only the result of the manipulation of the user taking first control of said virtual object being visible. In another specific embodiment manipulation of a virtual object present on said shared virtual surface SVS can be performed at the same time by only said first user A (through a not shown first device) or by only said second user B (through a not shown second device), whichever takes first control of said virtual object (for instance virtual object 10g or 10h on Fig.4). Of course, if, at the same time or in a delayed time frame, user A manipulates virtual object 10g and user B manipulates virtual object 10g, there is no conflict and each virtual object 10g and 10h is modified/moved in accordance with the manipulation of the user having taken control of this virtual object 10g and 10h.

[0052] In another more complex configuration as shown in Fig.5, four users A, B, C and D share a common virtual surface SVS. As in Fig.4, user A has created three different virtual surface VSA1 , VSA2 and VSA3, the latter being said shared virtual surface SVS and second user B has access to two virtual surface VSB1 and VSB2, the latter being identical to and formed by said shared virtual surface SVS. Moreover user C has access to his own personal virtual surfaces VSC1 , VSC2, VSC3 and to VSC4 which is said shared virtual surface SVS. Lastly user D has access to his own personal virtual surfaces VSD1 , VSD2, VSD3 and to VSD4 which is said shared virtual surface SVS. As shown on Fig.5 said user C transfer a virtual object 10j from his virtual surface VSC2 to his virtual surface VSC3 (arrow 24), while user B transfers virtual object 10g onto said shared virtual surface SVS (arrow 21 ) and user C transfer virtual object 10i onto said shared virtual surface SVS (arrow 22), which manipulations are visible for all four users A, B, C and D. Also, in Fig.5 is shown another manipulation that can be performed by any of users A, B, C and D: virtual objects 10g and 10i which are on said shared virtual surface SVS are preferably partially superposed and grouped to form a pair of virtual objects in which said are bound to each other forming thereby a complex virtual object 23 (resulting from a dedicated

manipulation such as a directive - such as action on a button, or a clickable, or specific configuration of fingers on a tactile screen and/or motion of one or two of these virtual objects 10g and 10i - aimed to form groups of virtual objects, as detailed below).

[0053] This complex virtual object 23 is thereafter manipulated as a block like previously described simple virtual objects 10a to 10i, for instance through a movement on said shares virtual surface SVS wherein virtual objects 10g and 10i forming said complex virtual object 23 keep their relative position to each other and their individual characteristics

unchanged, whereas parameters concern now the complex virtual object 23 as long as it has not been split up to form again two independent and separated virtual objects 10g and 10i.

In a preferred embodiment, said shared virtual surface SVS is displayed on a multitouch table handled by user A (for instance, the meeting leader), and movement of said virtual objects 10 g and 10i is performed through the sliding of said virtual objects 10 g and 10i touched and slide respectively by the two hands of user A coming closer to each other until said virtual objects 10 g and 10i are at least partially in contact (i.e superposed).

Preferably, the attachment of said virtual objects 10 g and 10i to form the complex virtual object 23 being activated by two cumulative conditions as said virtual objects 10 g and 10i being at least partially superposed and at the same time being simultaneously touched through a tactile screen by the user's hands (or any parts of body's user, or a first body part of a first user and a second body part of a second user).

[0054] According to another aspect of the invention, there is a possible control of which among several virtual objects (two or more than two virtual objects) which have an overlapping surface in common. To that end, when two virtual objects are separated but come into contact with each other due to the sliding of one or two of these two virtual objects, the virtual object having the higher speed when the virtual objects come into contact with each other, is displayed as being in front of the other virtual object. Therefore if only one first virtual object is moving toward another fixed second virtual object, this first virtual object is displayed over the fixed second virtual object. In Figure 5, the virtual object 10 g or the virtual object 10i is displayed on the top of the other virtual object: if the virtual object 10 g has a higher speed than virtual objectl Oi, therefore virtual object 10 g is visible over the virtual objectl Oi, and vice versa.

In that situation, preferably, the portion of the fixed second virtual object which is superimposed with the first virtual object is not visible but is hidden by the corresponding overlapping surface of the first virtual object. In this context, when the hierarchy of superposition between two virtual objects visible on the virtual surface is not in line to what a user would like, it is possible to make a change of order of superposition into two steps: first the two virtual objects are separated through the moving of one or two of these virtual objects until they have no overlapping surface , i.e no contact or point having common coordinates, and then the virtual object which is to be placed on the top is moved toward the other virtual object (either with a fixed other virtual object or with a higher speed if the other virtual object is also moved).

[0055] In order to have access to said shared virtual surface SVS, an authorization in the form of an invitation has preferably to be sent by user A (registered user) to other users B, C and D who have access, through a virtual room, to said virtual surface SVS, as guest users. Users can create several virtual rooms that are shared with different group of users (for instance one virtual room for collaborative work, a virtual room for family, etc). A user A will invite other users B, C, and D to join a room by sending an invitation. A user can also invite non registered users to joining a room providing an URL, QR Code or virtual Room Code, as "guest users" for which temporary virtual surfaces are created for the common session in the virtual room. Therefore, the management of groups of users is taken into account by introducing the concept of "virtual Room " . A virtual room acts as a connector between different devices. The identifier of a virtual room can be for example a code (Room code), a certain URL or a QR code, unique for the whole system. [0056] At that stage, a metaphor can be used to explain in other words the situation. Virtual surfaces are surface of storage for virtual objects like trays are surface of storage for real objects. A list of virtual surfaces is like a rack full of trays. One can say that devices are like the vehicles holding the trays to enter a virtual room. [0057] Figure 6 illustrates another configuration with four users A, B, C and D respectfully equipped with a smartphone 600, a tablet 700, a laptop 800 and a multitouch table 900 (or a multitouch table 900). In this situation, user D with said multitouch table 900 is considered as the leader of the meeting or working session between users A, B, C and D.

User A visualises on the screen on his smartphone 600 a virtual surface VSA1 with three virtual objects. User A first manipulate one of these three virtual objects by duplication, forming thereby a copy which is shown as virtual object 10j .

User B visualises on the screen of his tablet 700 a first virtual surface B1 or VSB1 whose name is visible through a bottom strip or status bar, with two virtual objects on said first virtual surface B1 , another strip at the upper portion of said first virtual surface B1 showing another virtual surface VSB2 of user B.

User C visualises on the screen of his laptop 800 virtual surface

Brainstorming #2 whose name is visible through a bottom strip forming a status bar 520, with several virtual objects on said virtual surface

Brainstorming #2, another strip 523 at the upper portion of said first virtual surface B1 showing another virtual surface Brainstorming #1 . User D visualises on the screen of the multitouch table 900 the same thing than user C, i.e. virtual surface Brainstorming #2 whose name is visible through a bottom strip 521 , with several virtual objects on said virtual surface Brainstorming #2, another strip 523 at the upper portion of said first virtual surface B1 showing another virtual surface Brainstorming #1 . Here virtual surface Brainstorming #1 and virtual surface Brainstorming #2 are respectively shared virtual surfaces SVS1 and SVS2 for users A, B, C and D.

[0058] As can be seen in Fig.6, user A manipulates a virtual object 10j through his tactile screen, with a slide movement of his finger on the representation of said virtual object 10j onto the right side of the screen, transferring thereby said virtual object 10j on the virtual surface

Brainstorming #2. This action from user A is visible on said shared virtual surfaces SVS1 where virtual object 10j arrives from the left side and where the lateral left strip 522 illustrating the connection with said virtual surface VSA1 is temporarily changing of colour or flashing to inform the users C and D visualizing said shared virtual surfaces SVS1 of the arrival of said virtual object 10j from said virtual surface VSA1 of user A. Alternatively or in addition to the flashing of the identification bar, when several users can interact simultaneously on a same virtual surface, a separate visual identification of the user who acts can be implemented. This can be done by displaying a unique visual indicator dedicated to each user at the location of the spot where an interaction takes place, and during the time of the interaction. Such an interaction can be the position of fingers on a touch screen or the position of the mouse or of any other type of

pointer. For example, such a visual indicator can be a yellow square for user A, a green circle or user B, a blue diamond or user C. Such a provision is useful when more than two users can act on the same virtual surface, so that each user can easily identify who is currently acting. Such an

information is also useful for the currently non-acting users to know when a current action of another user is finished (for instance when the visual indicator has disappeared or is currently fading) and therefore be able to take control of the same or another virtual object. [0059] Depending from the configuration of the computing system, in some cases, gates are used between each pair of virtual surfaces connected together : When gates are required by the computing system, the gate between virtual surface VSA1 and virtual surface Brainstorming #2 has to be open to authorize the transfer of said virtual object 10 j from said virtual surface VSA1 to said virtual surface Brainstorming #2: Otherwise if this gate is closed, there is no bridge between virtual surface VSA1 and virtual surface Brainstorming #2 and the virtual object 10 j will only bump into the right side of virtual surface VSA1 and bounce on the latter. [0060] As can also be seen in Fig.6, user B manipulates a virtual object 10k through his tactile screen, with a slide movement of his finger on the representation of said virtual object 10k onto the upper side of the screen, transferring thereby said virtual object 10k on another of user B's virtual surfaces named VSB2, which action is shown as also making the

corresponding strip as flashing on the screen of said tablet 700. This action from user B, i.e. manipulation through moving of said virtual object 10k, is not in this case visible on said shared virtual surface Brainstorming #2 or SVS2.

Said virtual surfaces VSB2 of user B being interconnected via a gate with said virtual surface Brainstorming #2, at a later stage user B could transfer said virtual object 10k onto said virtual surface Brainstorming #2.

Previously mentioned flashing of strips real time visual indication of the device and/or user having control on a virtual object or manipulating said virtual object. [0061] According to the invention, said computing system for

manipulating , transferring and sharing virtual objects on virtual surfaces comprises also a user interface comprising for each virtual surface currently displayed on said first window:

- a status bar indicating at least said currently displayed virtual surface' s name (status bar at the bottom of shared virtual surface Brainstorming #2 or SVS2 in Fig.6),

- an identification strip identifying any available virtual surface of the connected devices/users, and - at least one active button forming a clickable activable through a short press for triggering an action either immediately or through another clickable, such as a new window or contextual menu.

In the context of the present invention, a clickable is any active area in a graphical user interface for a game or application that can be triggered or activated by the user, usually by a click of a mouse, of a touchpad or of a tactile screen: this constitutes a primary method of user interaction.

[0062] As can be seen on fig.6 four active buttons 510 to 513 are displayed at the four corners of said virtual surface Brainstorming #2.

A first active button 510 with a gear image is located at the bottom left corner of said virtual surface Brainstorming #2: this first active button 510 corresponds to the settings (switch to a new window or open a box in the centre of the main window, depending on screen size):

- Device ID: name as it will appear to other users (eg. iPad of Tom)

- Public or Private: if private is set, the device will not appear as a strip to other users

- Main or Normal: if main is set, the surface will appear as a longer strip to other users, positioned by default on the top of the screen,

- Sharing link: by copying this link in a browser, a user can join the group without needing an account

If the user logged in using an account, additional settings are available:

- Account settings: name, email address and password

- Log out: returns to the log in screen. [0063] A second active button 51 1 with a double arrow image is located at the upper left corner of said virtual surface Brainstorming #2: this second active button 51 1 is a Switch button to switch from a virtual surface (main surface currently visible and which name is within the bottom strip) to a different virtual surface: after pressing this active button 51 1 the strips around the border are highlighted and touching any of them will make the main window to switch to the corresponding virtual surface. After switching to a different virtual surface, the status bar on the bottom of the screen is updated accordingly and the strip that was selected is replaced by the previous virtual surface. Note that after switching to a different device, virtual Surfaces are the one pertaining to that particular device. In this case, pressing the switch button a third time will make the strips to display the local virtual surfaces, namely the virtual surfaces connected to the shared virtual surface SVS.

[0064] A third active button 512 with a +/- image is located at the upper right corner of said virtual surface Brainstorming #2: this third active button 512 allows addition or deletion of virtual object to/from virtual surfaces. For instance pressing this third active button 512 opens a contextual menu: - New Virtual object from Notepad: opens the Notepad window to create a virtual note,

- New Virtual object from Camera: opens the camera interface to take a picture,

- New Virtual object from File: open the file browser to choose a file such as a picture, or other desktop documents,

- New Virtual object from Link: paste a link to a webpage or video (eg. on YouTube),

- Duplicate Virtual objects: duplicate Virtual objects on the virtual Surface by touching them. Touching and empty space will deactivate the option. - Delete Virtual objects: delete Virtual objects on the virtual Surface by touching them. Touching and empty space will deactivate the option.

- New Virtual Surface: add a new virtual Surface after providing a name (Virtual Surface ID),

- Rename Virtual Surface: available if current virtual Surface is owned by current user activating this third active button 512,

- Delete Surface: delete the current surface after confirmation.

[0065] A fourth active button 513 with a lock image is located at the bottom right corner of said virtual surface Brainstorming #2: this fourth active button 513 allows Strips options (opens a contextual menu):

- Lock / Unlock or Hide the strips around the border: when Unlock, strips can be moved around the border, for instance to correspond to the order of participants around a table. The size of the strips is adjusted

automatically according to their number on each side of the window. Also, when Unlock is activated for said fourth active button 513, all virtual objects can be manipulated through a modification and moving whereas when Lock virtual objects can only be moved but not modified.

[0066] Optionally another active button for choosing the information written in the strips or bars, namely either devices name or virtual surface names. In fig.6, a switch 514 "S/D" forms a clickable for selecting to visualize in said identification strips either a device' ID corresponding to the device with a window corresponding to said virtual surface or said virtual surfaces' name. When pressing this switch 514 it will make the strips content to alternate between Devices information (for instance device name or ID) and virtual Surfaces information for instance virtual surface name)

In Fig.6 the switch 514 is on the "S" position which means the strips 521 to 524 display the available virtual surface, namely strip 521 (bottom of shared virtual surface SVS2) displays "Surface B2", strip 522 (left of shared virtual surface SVS2) displays "Surface A1 ", strip 523 (top of shared virtual surface SVS2) displays "Brainstorming #1 " for identifying shared virtual surface SVS1 as being also connected, and strip 524 (right of shared virtual surface SVS2) displays "Surface C1 ".

If the switch 514 is on the "D" position (non-shown situation) the strips 521 to 524 would display the connected device corresponding to these available virtual surfaces, namely strip 521 would display "Tablet of User B", strip 522 would display "Smartphone of User A", strip 523 would still display

"Brainstorming #1 " for identifying shared virtual surface SVS1 as being also connected, and strip 524 would display "Laptop of user C".

[0067] These previously described status bar, identification strips and active buttons are of course also visible under the same representation and location on the screen of the laptop 800 of user C. These previously described identification strips 521 to 524 can be moved on said shared virtual surface SVS2 to correspond better to a real space disposition of connected devices, or any more convivial disposition on said shared virtual surface SVS2, and constitute a cartography of connected devices/available virtual surfaces Such cartography combined with the flashing of the identification strip corresponding to the virtual surface from which a virtual object is transferred (Surface A1 transferring virtual object 10j on Fig.6) provides a convivial visual user graphic interface.

[0068] In some configurations, the system comprises a first (local) server communicating with one or several devices connected to said first window, and a second server (remote) communicating with one or several other devices connected to said second window. Said second server is able to communicate and exchange information and directives with said first server. For instance, such a configuration could correspond to a situation where said first window is displayed on a screen device within a local network (firm network) and said second window is displayed on a screen device connected only to a remote server via a web link.

[0069] In some other configurations, the system comprises a first server being a local server communicating with said first window and a second server being a local server communicating with said second window and a third server being a remote server which is able to communicate and exchange information and directives with said first server and said second server. For instance, such a configuration could correspond to a situation where said first window is displayed on the screen of a device within a local network (firm network) and said second window is displayed on the screen of a device within another local network (firm network) and a remote server allows the link between said local networks. This link can performed via the cloud or via a secured transmission.

[0070] According to another aspect of the invention, a method for manipulating, transferring and sharing virtual objects on virtual surfaces is proposed which comprises the steps of:

a) creating at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface and the second window displays the same virtual surface or another virtual surface,

c) Create at least one virtual object on said virtual surface, whereby characteristics of said virtual object are sent to a at least a server able to communicate with each of said first window and second window, d) Manipulate said virtual object on said virtual surface to move and/or modify said virtual object,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to said second window in order to synthetize a virtual object on the second window, with same characteristics as said virtual object on said first window,

wherein in step (c) at least a first virtual object and a second virtual object are created on said virtual surface and wherein in step (d) said first virtual object and said second virtual object are attached to each other, thereby creating a complex virtual object.

According to a preferred embodiment, the bounding of the virtual objects forming said complex virtual is reversible. Such a complex virtual object is thereafter manipulated as a block like a simple virtual object. Preferably, the virtual objects forming said complex virtual object keep their relative position to each other and their individual characteristics unchanged, whereas parameters concern now the complex virtual object. Also, the virtual objects forming said complex virtual can be split up to form again two independent and separated virtual objects.

[0071] In a preferred embodiment, said first virtual surface is displayed on a tactile screen and wherein in step (d) said first virtual object and said second virtual object are attached to each other by having said first virtual object and said second virtual object at least partially superposed on said first virtual surface and by touching with the user's body said tactile screen simultaneously on both first and second virtual objects.

[0072] According to another aspect of the invention, a method for manipulating, transferring and sharing virtual objects on virtual surfaces is proposed which comprises the steps of:

a) creating at least one virtual surface,

b) visualize said virtual surface through at least two windows, where the first window displays said virtual surface and the second window displays the same virtual surface or another virtual surface, c) Create at least one virtual object on said virtual surface, whereby characteristics of said virtual object are sent to a at least a server able to communicate with each of said first window and second window, d) Manipulate said virtual object on said virtual surface to move and/or modify said virtual object,

e) Send the parameters related to said manipulation to said server by the use of directives,

f) Send directives from said server to said second window in order to synthetize a virtual object on the second window, with same characteristics as said virtual object on said first window,

wherein said virtual surface further comprises at least an identification strip identifying any available virtual surface of the connected devices and/or users.

[0073] In a preferred embodiment, said identification strip can be moved on said virtual surface. For instance in Figure 6, the virtual surface SVS2 of user D comprises in its bottom part the identification strip 521 for the available virtual surface named "Surface B2" , in its left part the identification strip 522 for the available virtual surface named "Surface A1 " for the first virtual surface of user A, in its upper part the identification strip 523 for the available (shared) virtual surface named "Brainstorming #1 " and in its right part the identification strip 524 named "Surface C1 " for the first virtual surface of user C.

With such identification strips 521 , 522, 523 and 524,one takes into account the spatial aspect of the different devices 600, 700, 800 and 900, i.e. their location with respect to each other, which is useful when they are gathered in the same place.

To that end, in order to adapt the respective location of the identification strips 521, 522, 523 and 524 on the shared virtual surface SVS2 to the real location of the different devices 600, 700, 800 and 900, preferably the identification strips 521 , 522, 523 and 524 can move on the shared virtual surface SVS2. In figure 6, the identification strips 521 , 522, 523 and 524 can move on all four sides of the screen of the device 900 in a way that corresponds to the actual location. For instance, in Figure 6, the

identification strip 521 is on the lower part of the shared virtual surface SVS2 since user B is placed along the bottom part of the screen of the device 900. If B user B was placed along the right part of the screen of the device 900, therefore the location of the identification strip 521 would be changed (either by user D or by user B) and placed on the right part of the shared virtual surface SVS2. If user B was placed along the left part of the screen of the device 900, therefore the location of the identification strip 521 would be changed and placed on the left part of the shared virtual surface SVS2. If user B was placed along the upper part of the screen of the device 900, therefore the location of the identification strip 521 would be changed and placed on the upper part of the shared virtual surface SVS2. In an alternative, the moving of the position of identification strip 521 of user B on user D's device 900 automatically changes the position of the identification strip of user D on user B's device, so as to keep a correct respective location of the identification strips. [0074] In a preferred embodiment, there is a flashing of the

identification strip corresponding to the virtual surface from which a virtual object is transferred: see the flashing of identification strip 522 in Figure 6.

[0075] Also, the identification strips can be used when a user goes or comes out of a virtual room, the list of identification strips displayed on the shared virtual surface accessible via the virtual room is updated

automatically. Therefore, the identification strip of the device of a new user entering the virtual room appears whereas the identification strip of the device of a user coming out from the virtual room disappears.

Reference numbers used on the figures

10a-10k Virtual objects

20 Arrow (movement resulting from manipulation)

21 Arrow (movement resulting from manipulation)

22 Arrow (movement resulting from manipulation)

23 Complex virtual object (resulting from a grouping gesture)

24 Arrow (movement resulting from manipulation)

100 First virtual surface

1 10 first window

200 Second virtual surface

210 Second window

300 Server

400 Connection

500 Shared virtual surface

510-513 Activable buttons

514 switch

520 Status bar

521 -524 identification strip

VSA1 First virtual surface of user A

VSA2 second virtual surface of user A

SVS Shared virtual surface (VSA3 or VSB2 or VSC4 or VSD4)

SVS1 Shared virtual surface

SVS 2 Shared virtual surface

VSB1 First virtual surface of user B

VSC1 First virtual surface of user C

VSC2 second virtual surface of user C

VSD1 First virtual surface of user D

VSD2 second virtual surface of user D

VSDA3 third virtual surface of user D

VSA4 fourth virtual surface of user D

600 Smartphone of user A

700 Tablet of user B

800 Laptop of user C

900 Interactive whiteboard or multitouch table