The present invention relates to the use of multiple portable computing devices initially within a certain proximity to transfer digital items, including data, documents, and/or images, using gestures, as if to simulate a large, multi-user touch table surface.
Although touch tables are gaining popularity as devices to facilitate creative collaboration, they have severe limitations including: size, weight, immobility, expense, and lack of cleanliness. Individuals wishing to use a touch table must go to a dedicated touch table facility. They are also required to share a common surface, which can become dirty. Further, the number of users is limited by the number that can physically fit around the touch table, whereas the size of the touch table is limited by the width across which an individual can comfortably reach. Rather than leverage hardware already purchased by a company or individuals, existing touch table technology requires that the company or individual buy a new dedicated piece of equipment, thereby adding expense. In addition, users must find a way to get information to and from the touch table, adding unnecessary steps and, thereby, discouraging use.
It is increasingly common for a person to own a portable computing device, such as a smart phone or electronic tablet, with touchscreen functionality. Most people who own such devices use them for a variety of communicative purposes, including voice calls, email, and file transfers, and, increasingly, for enhancing productivity through the use of task management apps. Such apps usually require the use of an online network to transfer data between devices (e.g., the “cloud”) or a physical connection between two devices.
The platforms, systems, media, and methods provided herein allow multiple users to exchange digital information using only gestures on their touchscreen mobile devices over a networked interface, as if passing documents or orders around a table. A user is able to transfer data from their “source” device to one or more “destination” devices using wireless communications technologies and a series of hand gestures. No particular operation or physical connection is required to obtain the file at the destination devices. A responsive and unitary software module, installed on each mobile device, gives users the ability to detect proximate devices and, once connected, share on-screen visualizations and interactions seamlessly in a common work space, fostering collaboration and increased productivity. Accordingly, the platforms, systems, media, and methods provided herein successfully emulate the idea of a touch-based interactive conference table, which allows users to create, manipulate, and transfer data instantly to others in geospatial proximity, while overcoming the shortfalls of existing systems.
The platforms, systems, media, and methods provided herein create a shared, collaborative virtual work environment by exploiting wireless communications technologies that allow for real-time distribution of digital information across local and remote spaces.
In one aspect, disclosed herein are computer-implemented systems comprising: a plurality of mobile processing devices, each device comprising an operating system configured to perform executable instructions, a touchscreen, and a memory; and a mobile application, provided to each mobile processing device, the application comprising: a software module for measuring proximity of each of the devices; a software module for creating a distributed, interactive collaboration Graphical User Interface (GUI), the GUI presenting a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object. In some embodiments, the plurality of mobile processing devices includes about 2 to about 20 devices. In some embodiments, the software's GUI comprises a representation of a user. In some embodiments, the GUI emulates the environment of a boardroom, a conference room, or a classroom. In some embodiments, the data object comprises: an image file, a video file, an audio file, a document, a text file, a word processor file, a spreadsheet, a presentation file, a calendar event, a task, an interactive element, an executable file, a combination thereof, or a database thereof. In some embodiments, the application further comprises a software module for managing permissions for transferring data objects. In some embodiments, the application further comprises a software module for creating a record of data objects transferred, the record comprising source, destination, and content.
In another aspect, disclosed herein are non-transitory computer readable storage media encoded with a mobile application including executable instructions that when provided to each of a plurality of touchscreen mobile devices create a distributed, interactive collaboration GUI, the application comprising: a software module for measuring proximity of each mobile device of a plurality of mobile devices provided the mobile application; a software module for displaying a distributed, interactive collaboration GUI, the interface presenting a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the mobile devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object. In some embodiments, the plurality of mobile devices includes about 2 to about 20 devices. In some embodiments, the GUI comprises a representation of a user. In some embodiments, the GUI emulates the environment of a boardroom, a conference room, or a classroom. In some embodiments, the data object comprises: an image file, a video file, an audio file, a document, a text file, a word processor file, a spreadsheet, a presentation file, a calendar event, a task, an interactive element, an executable file, a combination thereof, or a database thereof. In some embodiments, the application further comprises a software module for managing permissions for transferring data objects. In some embodiments, the application further comprises a software module for creating a record of data objects transferred, the record comprising source, destination, and content. In some embodiments, the application further comprises a software module for maintaining the configuration of the environment and data object transfer functionality when the devices are removed from proximity.
In another aspect, disclosed herein are computer-implemented methods of providing an interactive collaboration environment, the environment distributed across a plurality of touchscreen mobile devices, the method comprising the steps of: measuring, by each of the mobile devices, the proximity of each of the other mobile devices of the plurality of mobile devices; displaying, by each of the mobile devices, a distributed, interactive GUI, the interface presenting a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the mobile devices; creating or identifying a data object in response to a first touchscreen gesture; and transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
In another aspect, disclosed herein are computer-implemented systems comprising: a plurality of mobile processing devices, each device comprising an operating system configured to perform executable instructions, a touchscreen, and a memory; and a mobile application, provided to each mobile processing device, the application comprising: a software module for measuring proximity of each of the devices; a software module for creating a distributed, interactive GUI, the GUI presenting a representation of an environment, the environment including representations of a plurality of users, the representations of the users displayed in the environment based on proximity and relative positions of each of the devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object. In some embodiments, the plurality of mobile processing devices includes about 2 to about 20 devices. In some embodiments, the GUI emulates the environment of a boardroom, a conference room, or a classroom. In some embodiments, the data object comprises: an image file, a video file, an audio file, a document, a text file, a word processor file, a spreadsheet, a presentation file, a calendar event, a task, an interactive element, an executable file, a combination thereof, or a database thereof. In some embodiments, the application further comprises a software module for managing permissions for transferring data objects. In some embodiments, the application further comprises a software module for transferring the representation of the environment displayed on a device to one or more other devices. In some embodiments, the application further comprises a software module for creating a record of data objects transferred, the record comprising source, destination, and content.
In another aspect, disclosed herein are non-transitory computer readable storage media encoded with a mobile application including executable instructions that when provided to each of a plurality of touchscreen mobile devices create a distributed, interactive GUI, the application comprising: a software module for measuring proximity of each mobile device of a plurality of mobile devices provided the mobile application; a software module for creating a distributed, interactive GUI, the GUI presenting a representation of an environment, the environment including representations of a plurality of users, the representations of the users displayed in the environment based on proximity and relative positions of each of the devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object. In some embodiments, the plurality of mobile devices includes about 2 to about 20 devices. In some embodiments, the GUI emulates the environment of a boardroom, a conference room, or a classroom. In some embodiments, the data object comprises: an image file, a video file, an audio file, a document, a text file, a word processor file, a spreadsheet, a presentation file, a calendar event, a task, an interactive element, an executable file, a combination thereof, or a database thereof. In some embodiments, the application further comprises a software module for managing permissions for transferring data objects. In some embodiments, the application further comprises a software module for transferring the representation of the environment displayed on a device to one or more other devices. In some embodiments, the application further comprises a software module for creating a record of data objects transferred, the record comprising source, destination, and content. In some embodiments, the application further comprises a software module for maintaining the configuration of the environment and data object transfer functionality when the devices are removed from proximity.
In another aspect, disclosed herein are computer-implemented methods of providing an interactive collaboration environment, the environment distributed across a plurality of touchscreen mobile devices, the method comprising the steps of: measuring, by each of the mobile devices, the proximity of each of the other mobile devices of the plurality of mobile devices; displaying, by each of the mobile devices, a distributed, interactive GUI, the GUI presenting a representation of an environment, the environment including representations of a plurality of users, the representations of the users displayed in the environment based on proximity and relative positions of each of the devices; creating or identifying a data object in response to a first touchscreen gesture; and transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
Current touch tables suffer from severe disadvantages including: large size, high weight, substantial immobility, high cost, significant lack of cleanliness, and limitations on the number of concurrent users. Moreover, individuals wishing to use a current touch table must go to a dedicated touch table facility, which introduces unacceptable time delays, inconvenience, and additional expense.
The platforms, systems, media, and methods provided herein successfully emulate the idea of a traditional touch-based interactive conference table, but overcome the problems of existing systems. Advantages of the platforms, systems, media, and methods provided herein include allowing multiple users to exchange digital information using only gestures on their mobile devices over a networked interface, as if passing documents or orders around a table. No particular operation or physical connection is required to transfer a file from a source device to one or more destination devices. Further advantages include a responsive and unitary software module, installed on each mobile device, that gives users the ability to share on-screen visualizations and interactions seamlessly in a common work space, fostering collaboration and increased productivity.
Described herein, in certain embodiments, are computer-implemented systems comprising: a plurality of mobile processing devices, each device comprising an operating system configured to perform executable instructions, a touchscreen, and a memory; and a mobile application, provided to each mobile processing device, the application comprising: a software module for measuring proximity of each of the devices; a software module for creating a distributed, interactive collaboration GUI, the GUI presenting a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
Also described herein, in certain embodiments, are non-transitory computer readable storage media encoded with a mobile application including executable instructions that when provided to each of a plurality of touchscreen mobile devices create a distributed, interactive collaboration GUI, the application comprising: a software module for measuring proximity of each mobile device of the plurality of mobile devices provided the mobile application; a software module for displaying a distributed, interactive collaboration GUI, the GUI presenting a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the mobile devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
Also described herein, in certain embodiments, are computer-implemented methods of providing an interactive collaboration GUI, the GUI distributed across a plurality of touchscreen mobile devices, the method comprising the steps of: measuring, by each of the mobile devices, the proximity of each of the other mobile devices of the plurality of mobile devices; displaying, by each of the mobile devices, a distributed, interactive collaboration GUI, the GUI presenting a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the mobile devices; creating or identifying a data object in response to a first touchscreen gesture; and transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
Also described herein, in certain embodiments, are computer-implemented systems comprising: a plurality of mobile processing devices, each device comprising an operating system configured to perform executable instructions, a touchscreen, and a memory; and a mobile application, provided to each mobile processing device, the application comprising: a software module for measuring proximity of each of the devices; a software module for creating a distributed, interactive collaboration GUI, the GUI presenting a representation of an environment, the environment including representations of a plurality of users, the representations of the users displayed in the environment based on proximity and relative positions of each of the devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
Also described herein, in certain embodiments, are non-transitory computer readable storage media encoded with a mobile application including executable instructions that when provided to each of a plurality of touchscreen mobile devices create a distributed, interactive collaboration GUI, the application comprising: a software module for measuring proximity of each mobile device of a plurality of mobile devices provided the mobile application; a software module for creating a distributed, interactive collaboration GUI, the GUI presenting a representation of an environment, the environment including representations of a plurality of users, the representations of the users displayed in the environment based on proximity and relative positions of each of the devices; a software module for creating or identifying a data object in response to a first touchscreen gesture; and a software module for transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
Also described herein, in certain embodiments, are computer-implemented methods of providing an interactive collaboration GUI, the GUI distributed across a plurality of touchscreen mobile devices, the method comprising the steps of: measuring, by each of the mobile devices, the proximity of each of the other mobile devices of a plurality of mobile devices; displaying, by each of the mobile devices, a distributed, interactive collaboration GUI, the GUI presenting a representation of an environment, the environment including representations of a plurality of users, the representations of the users displayed in the environment based on proximity and relative positions of each of the devices; creating or identifying a data object in response to a first touchscreen gesture; and transferring the data object in response to a second touchscreen gesture, the second gesture indicating at least one destination for the data object.
Unless otherwise defined, all technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Any reference to “or” herein is intended to encompass “and/or” unless otherwise stated.
In some embodiments, the platforms, systems, media, and methods described herein include a distributed touch table, or use of the same. In further embodiments, the platforms, systems, media, and methods described herein include one or more of: a software module for measuring proximity each of a plurality of mobile processing devices; a software module for measuring the relative positions of each of a plurality of mobile processing devices; a software module for creating a GUI presenting an environment based on the proximity and the relative positions of each of the devices; and a software module for transferring a data object between mobile devices.
Many wireless communications protocols and standards are suitable for detection of devices, determination of proximity and relative position of the devices, and transfer of data between devices. In various embodiments, the wireless communications utilize radio waves, visible light, or interpretation of captured images. In some embodiments, communications suitably utilize Near Field Communication (NFC) protocols and standards. In some embodiments, communications suitably utilize BlueTooth and/or Bluetooth Low Energy protocols and standards. In some embodiments, communications suitably utilize ZigBee protocols and standards. In some embodiments, communications suitably utilize Visible Light Communication (VLC), including Li-Fi, protocols and standards. In some embodiments, communications suitably utilize Wi-Fi and/or WiMAX protocols and standards.
In some embodiments, determination of proximity and relative position of each of a plurality of mobile devices utilizes GPS technology integrated with a mobile device and accessed by an application. In some embodiments, determination of proximity and relative position suitably utilizes a still or video camera associated with a device to capture images which are used in conjunction with one or more communications protocols and/or GPS to supplement position determinations. In further embodiments, captured images are subsequently subjected to one or more computer-based image interpretation algorithms (e.g., facial recognition, etc.) to enhance a virtual environment by improving accuracy or adding metadata to elements of the environment.
In light of the disclosure provided herein, those of skill in the art will recognize that suitable operating ranges for the wireless communications are dependent, at least in part, on the type of wireless communication employed. In various near-field embodiments, suitable ranges include, by way of non-limiting examples, about 1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or more centimeters, including increments therein. In further near-field embodiments, suitable ranges include, by way of non-limiting examples, about 1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or more meters, including increments therein.
In some embodiments, the platforms, systems, media, and methods described herein include a plurality of mobile processing devices, each provided with a mobile application. Many configurations, described further herein, are suitable for the application GUI.
In some embodiments, the application includes a software module for creating a distributed, interactive collaboration GUI, the GUI presenting a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the devices. By way of example, in certain embodiments, each of a plurality of mobile devices display a distributed touch table GUI, wherein the devices are proximity and operating together to present a portion of a single, contiguous environment, the portion of the environment determined by the proximity and the relative positions of each of the mobile devices. In further embodiments, such a single, contiguous environment is adapted for use by a single user. In other embodiments, such a single, contiguous environment is adapted for use by a plurality of users.
In other embodiments, the application includes a software module for creating a distributed, interactive collaboration GUI, the GUI presenting a representation of an environment, the environment including representations of a plurality of users, the representations of the users displayed in the environment based on proximity and relative positions of each of the devices. By way of further example, in certain embodiments, each of a plurality of mobile devices display a distributed touch table GUI that presents a representation of a virtual environment. In further embodiments, the environment is configured to align with the point of view of each user based on proximity and relative positions of each of the devices. In still further embodiments, the environment includes a representation of each user, the representation displayed in the environment based on proximity and relative position. In further embodiments, such a representation of an environment maintains the representations of the users displayed in the environment even after the devices are separated and no longer in proximity.
Aspects of the GUIs are suitably updated at various intervals. For example, the number of devices in proximity, the degree of proximity and relative position of the devices, and the number and identity of users is suitably monitored for the purpose of updating the configuration of the representations in the GUIs. In some embodiments, the GUIs are updated substantially in real-time.
The plurality of devices suitably includes a wide ranging number of devices. In various embodiments, suitable numbers of devices include, by way of non-limiting examples, about 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, or more devices, including increments therein. In various embodiments, suitable numbers of devices include, by way of non-limiting examples, about 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or more devices, including increments therein. In various embodiments, suitable numbers of devices include, by way of non-limiting examples, about 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, or more devices, including increments therein.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
In some embodiments, the platforms, systems, media, and methods described herein include one or more data objects, or use of the same. Many types of data are suitable. In further embodiments, the data transferred using the distributed touch table includes, but is not limited to, information containing tasks and/or directives. In further embodiments, the data transferred using the distributed touch table includes, but is not limited to, text files, contact information, word processing documents, presentations, spreadsheets, databases, and combinations thereof. In further embodiments, the data transferred using the distributed touch table includes, but is not limited to, multimedia files, interactive files, audio files, illustrations, photographs, videos, and combinations thereof. In further embodiments, the data transferred using the distributed touch table includes, but is not limited to, applications and/or executable files.
In some embodiments, the platforms, systems, media, and methods described herein include one or more gestures, or use of the same. In further embodiments, suitable gestures are performed by a user on a touchscreen of a mobile device described herein.
Referring to
In some embodiments, the platforms, systems, media, and methods described herein include data transfer, or use of the same. In one embodiment, after creating a “packet” of information, such as a task or directive, on the source device, the individual transmits the information by flicking the information in the direction of one or more destination devices (or a representation of a destination in a GUI), where it will be received instantly without any additional operations being performed. See
In some embodiments, the directionality and type of gestures determine whether only one destination device receives the information or whether one or more destination devices receive the information.
In some embodiments, through NFC technologies or cameras on the source device, the source device detects the location of the destination devices relative to the source device to allow the direction of the flicking gesture to determine which destination device receives the information.
In some embodiments, the source device detects other destination devices through NFC technologies, GPS, or cameras on the source device and represents such destination devices through the GUI on the source device screen. After creating a “packet” of information, such as a task or directive, on the source device, the individual flicks the information to an area of the source device screen corresponding to one or more detected destination devices, resulting in the transmission of the information to one or more destination devices, where it will be received instantly without any additional operations being performed. The GUI for the source device screen displaying the destination devices could be a virtual boardroom as shown in
In another embodiment, multiple source devices are physically placed next to each other as shown in
In some embodiments, the platforms, systems, media, and methods described herein are useful in a wide range of contexts. In some embodiments, the mobile interfaces described herein are used for the distribution and exchange of, for example, information, ideas, documents, tasks, and directives during or after group meetings. Individuals on a “source” device optionally create a task or list of tasks and distribute these orders to one or more “destination” devices nearby using simple gestures such as a directional flick of the finger aimed at another device. The invention thus mimics the “live” surface of an interactive touch table using only mobile devices.
In some embodiments, the mobile interfaces described herein allow users to see what data has been distributed to the group simply by coming in close contact with the other users. Once connected via, for example, BlueTooth, information that has been previously exchanged is optionally displayed on the source device to see how it has been altered or completed by the recipient. The invention thus permits users to hold one another accountable for these tasks by visualizing precisely how much work each user has been assigned.
In some embodiments, the platforms, systems, media, and methods described herein include a digital processing device, or use of the same. In further embodiments, the digital processing device includes one or more hardware central processing units (CPU) that carry out the device's functions. In still further embodiments, the digital processing device further comprises an operating system configured to perform executable instructions. In some embodiments, the digital processing device is optionally connected a computer network. In further embodiments, the digital processing device is optionally connected to the Internet such that it accesses the World Wide Web. In still further embodiments, the digital processing device is optionally connected to a cloud computing infrastructure. In other embodiments, the digital processing device is optionally connected to an intranet. In other embodiments, the digital processing device is optionally connected to a data storage device.
In accordance with the description herein, suitable digital processing devices include, by way of non-limiting examples, server computers, desktop computers, laptop computers, notebook computers, sub-notebook computers, netbook computers, netpad computers, set-top computers, handheld computers, Internet appliances, mobile smartphones, tablet computers, personal digital assistants, video game consoles, and vehicles. Those of skill in the art will recognize that many smartphones are suitable for use in the system described herein. Those of skill in the art will also recognize that select televisions, video players, and digital music players with optional computer network connectivity are suitable for use in the system described herein. Suitable tablet computers include those with booklet, slate, and convertible configurations, known to those of skill in the art.
In some embodiments, the digital processing device includes an operating system configured to perform executable instructions. The operating system is, for example, software, including programs and data, which manages the device's hardware and provides services for execution of applications. Those of skill in the art will recognize that suitable server operating systems include, by way of non-limiting examples, FreeBSD, OpenBSD, NetBSD®, Linux, Apple® Mac OS X Server®, Oracle® Solaris®, Windows Server®, and Novell® NetWare®. Those of skill in the art will recognize that suitable personal computer operating systems include, by way of non-limiting examples, Microsoft® Windows®, Apple® Mac OS X®, UNIX®, and UNIX-like operating systems such as GNU/Linux®. In some embodiments, the operating system is provided by cloud computing. Those of skill in the art will also recognize that suitable mobile smart phone operating systems include, by way of non-limiting examples, Nokia® Symbian® OS, Apple® iOS®, Research In Motion® BlackBerry OS®, Google® Android®, Microsoft® Windows Phone® OS, Microsoft® Windows Mobile® OS, Linux®, and Palm® WebOS®.
In some embodiments, the device includes a storage and/or memory device. The storage and/or memory device is one or more physical apparatuses used to store data or programs on a temporary or permanent basis. In some embodiments, the device is volatile memory and requires power to maintain stored information. In some embodiments, the device is non-volatile memory and retains stored information when the digital processing device is not powered. In further embodiments, the non-volatile memory comprises flash memory. In some embodiments, the non-volatile memory comprises dynamic random-access memory (DRAM). In some embodiments, the non-volatile memory comprises ferroelectric random access memory (FRAM). In some embodiments, the non-volatile memory comprises phase-change random access memory (PRAM). In other embodiments, the device is a storage device including, by way of non-limiting examples, CD-ROMs, DVDs, flash memory devices, magnetic disk drives, magnetic tapes drives, optical disk drives, and cloud computing based storage. In further embodiments, the storage and/or memory device is a combination of devices such as those disclosed herein.
In some embodiments, the digital processing device includes a display to send visual information to a user. In some embodiments, the display is a cathode ray tube (CRT). In some embodiments, the display is a liquid crystal display (LCD). In further embodiments, the display is a thin film transistor liquid crystal display (TFT-LCD). In some embodiments, the display is an organic light emitting diode (OLED) display. In various further embodiments, on OLED display is a passive-matrix OLED (PMOLED) or active-matrix OLED (AMOLED) display. In some embodiments, the display is a plasma display. In other embodiments, the display is a video projector. In still further embodiments, the display is a combination of devices such as those disclosed herein.
In some embodiments, the digital processing device includes an input device to receive information from a user. In some embodiments, the input device is a keyboard. In further embodiments, a keyboard is a physical keyboard. In other embodiments, a keyboard is a virtual keyboard. In some embodiments, the input device is a pointing device including, by way of non-limiting examples, a mouse, trackball, track pad, joystick, game controller, or stylus. In some embodiments, the input device is a touch screen or a multi-touch screen. In other embodiments, the input device is a microphone to capture voice or other sound input. In other embodiments, the input device is a video camera to capture motion or visual input. In still further embodiments, the input device is a combination of devices such as those disclosed herein.
In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more non-transitory computer readable storage media encoded with a program including instructions executable by the operating system of an optionally networked digital processing device. In further embodiments, a computer readable storage medium is a tangible component of a digital processing device. In still further embodiments, a computer readable storage medium is optionally removable from a digital processing device. In some embodiments, a computer readable storage medium includes, by way of non-limiting examples, CD-ROMs, DVDs, flash memory devices, solid state memory, magnetic disk drives, magnetic tape drives, optical disk drives, cloud computing systems and services, and the like. In some cases, the program and instructions are permanently, substantially permanently, semi-permanently, or non-transitorily encoded on the media.
In some embodiments, the platforms, systems, media, and methods disclosed herein include at least one computer program, or use of the same. A computer program includes a sequence of instructions, executable in the digital processing device's CPU, written to perform a specified task. In light of the disclosure provided herein, those of skill in the art will recognize that a computer program is optionally written in various versions of various languages. In some embodiments, a computer program comprises one sequence of instructions. In some embodiments, a computer program comprises a plurality of sequences of instructions. In some embodiments, a computer program is provided from one location. In other embodiments, a computer program is provided from a plurality of locations. In various embodiments, a computer program includes one or more software modules. In various embodiments, a computer program includes, in part or in whole, one or more web applications, one or more mobile applications, one or more standalone applications, one or more web browser plug-ins, extensions, add-ins, or add-ons, or combinations thereof.
In some embodiments, a computer program includes a mobile application provided to a mobile digital processing device. In some embodiments, the mobile application is provided to a mobile digital processing device at the time it is manufactured. In other embodiments, the mobile application is provided to a mobile digital processing device via the computer network described herein.
In view of the disclosure provided herein, a mobile application is created by techniques known to those of skill in the art using hardware, languages, and development environments known to the art. Those of skill in the art will recognize that mobile applications are written in several languages. Suitable programming languages include, by way of non-limiting examples, C, C++, C#, Objective-C, Java™, Javascript, Pascal, Object Pascal, Python™, Ruby, VB.NET, WML, and XHTML/HTML with or without CSS, or combinations thereof.
Suitable mobile application development environments are available from several sources. Commercially available development environments include, by way of non-limiting examples, AirplaySDK, alcheMo, Appcelerator®, Celsius, Bedrock, Flash Lite, .NET Compact Framework, Rhomobile, and WorkLight Mobile Platform. Other development environments are available without cost including, by way of non-limiting examples, Lazarus, MobiFlex, MoSync, and Phonegap. Also, mobile device manufacturers distribute software developer kits including, by way of non-limiting examples, iPhone and iPad (iOS) SDK, Android™ SDK, BlackBerry® SDK, BREW SDK, Palm® OS SDK, Symbian SDK, webOS SDK, and Windows® Mobile SDK.
Those of skill in the art will recognize that several commercial forums are available for distribution of mobile applications including, by way of non-limiting examples, Apple® App Store, Android™ Market, BlackBerry® App World, App Store for Palm devices, App Catalog for webOS, Windows® Marketplace for Mobile, Ovi Store for Nokia® devices, Samsung® Apps, and Nintendo® DSi Shop.
In some embodiments, a computer program includes a standalone application, which is a program that is run as an independent computer process, not an add-on to an existing process, e.g., not a plug-in. Those of skill in the art will recognize that standalone applications are often compiled. A compiler is a computer program(s) that transforms source code written in a programming language into binary object code such as assembly language or machine code. Suitable compiled programming languages include, by way of non-limiting examples, C, C++, Objective-C, COBOL, Delphi, Eiffel, Java™, Lisp, Python™, Visual Basic, and VB .NET, or combinations thereof. Compilation is often performed, at least in part, to create an executable program. In some embodiments, a computer program includes one or more executable complied applications.
In some embodiments, the platforms, systems, media, and methods disclosed herein include software, server, and/or database modules, or use of the same. In view of the disclosure provided herein, software modules are created by techniques known to those of skill in the art using machines, software, and languages known to the art. The software modules disclosed herein are implemented in a multitude of ways. In various embodiments, a software module comprises a file, a section of code, a programming object, a programming structure, or combinations thereof. In further various embodiments, a software module comprises a plurality of files, a plurality of sections of code, a plurality of programming objects, a plurality of programming structures, or combinations thereof. In various embodiments, the one or more software modules comprise, by way of non-limiting examples, a web application, a mobile application, and a standalone application. In some embodiments, software modules are in one computer program or application. In other embodiments, software modules are in more than one computer program or application. In some embodiments, software modules are hosted on one machine. In other embodiments, software modules are hosted on more than one machine. In further embodiments, software modules are hosted on cloud computing platforms. In some embodiments, software modules are hosted on one or more machines in one location. In other embodiments, software modules are hosted on one or more machines in more than one location.
In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more databases, or use of the same. In view of the disclosure provided herein, those of skill in the art will recognize that many databases are suitable for storage and retrieval of user, location, proximity, and data transfer information. In various embodiments, suitable databases include, by way of non-limiting examples, relational databases, non-relational databases, object oriented databases, object databases, entity-relationship model databases, associative databases, and XML databases. In some embodiments, a database is internet-based. In further embodiments, a database is web-based. In still further embodiments, a database is cloud computing-based. In other embodiments, a database is based on one or more local computer storage devices.
The following illustrative examples are representative of embodiments of the software applications, systems, and methods described herein and are not meant to be limiting in any way.
A distributed touch table is used for the distribution and exchange of tasks and directives during group meetings. Individuals on a “source” device optionally create a task or list of tasks and distribute these orders to one or more “destination” devices nearby using simple gestures such as a directional flick of the finger aimed at another device. The role of a device as a “source” or a “destination” is fluid and changes based on the actions of the user, i.e., sending or receiving data.
A distributed touch table is used to play collaborative games, where individuals playing a game connect mobile devices and create, manipulate, and transfer virtual balls or other objects between their mobile devices using each mobile device's touchscreen interface.
A distributed touch table is used for collaborative design by a group of individuals. Each individual's device displays the same visual design, such as an architecture blueprint or a technical drawing. An individual creates objects to annotate or modifies the design on his or her source device. The individual then uses a simple gesture such as a directional flick of the finger (see e.g.,
A distributed touch table is used to facilitate interaction in an educational or training environment, such as a classroom. For example, one or more instructors and one or more pupils use the invention to share notes, assignments, reading materials, etc. Pupils use the invention to submit questions to the instructors.
A distributed touch table is used to facilitate collaboration by investigators. One or more investigators use their mobile device to collect information related to the investigation, such as witness statements, documents, or photographs. They then connect their devices in the distributed touch table and share information. For example, photographs taken by one investigator are distributed to other investigators, based on their relevance to each of the investigator's lines of inquiry.
A distributed touch table is used for medical training, much like multi-touch tables are used for medical visualization to simulate clinical reality. When placed together, 24 mobile devices create a “mosaic” of life-sized body parts that are rendered and manipulated collaboratively and by each individual user. Unlike a static touch table, however, the objects, or parts thereof, are optionally passed to one another using a flicking gesture, allowing destination users to see the source user's images and actions and work with them remotely. For image-centric specialties, such as surgery, such a device is invaluable for training in a safe, secure, and collaborative virtual environment.
While preferred embodiments of the present invention have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the invention. It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention.