WO2013184423A1 - Managing objects in panorama display to navigate spreadsheet - Google Patents
Managing objects in panorama display to navigate spreadsheet Download PDFInfo
- Publication number
- WO2013184423A1 WO2013184423A1 PCT/US2013/042793 US2013042793W WO2013184423A1 WO 2013184423 A1 WO2013184423 A1 WO 2013184423A1 US 2013042793 W US2013042793 W US 2013042793W WO 2013184423 A1 WO2013184423 A1 WO 2013184423A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- screen
- primary
- primary screen
- application
- interaction controls
- Prior art date
Links
- 230000003993 interaction Effects 0.000 claims abstract description 51
- 230000009471 action Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 24
- 230000033001 locomotion Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 239000012530 fluid Substances 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims 2
- 230000003213 activating effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 3
- 238000003860 storage Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000003292 diminished effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000010454 slate Substances 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
Definitions
- Computer applications interact with human beings through user interfaces. While audio, tactile, and similar forms of user interfaces are available, visual user interfaces through a display device are the most common form of user interface. With the development of faster and smaller electronics for computing devices, smaller size devices such as handheld computers, smart phones, tablet devices, and comparable devices have become common. Such devices execute a wide variety of applications ranging from communication applications to complicated analysis tools. Many such applications render visual effects through a display and enable users to provide input associated with the applications’ operations.
- Screen size and utilization are ongoing concerns in mobile device platforms. Screen sizes in mobile devices are limited due to minimalist approach most modern solutions provide to fulfill customer demand. There is substantial technical challenge to providing a display capable of desktop computer resolutions in a mobile device. Even when feasible, providing a desktop computer resolution in a mobile device leads to tiny fonts and diminished usability. Duplicating most features of a desktop application including controls and fine details of a displayed object is a great challenge to surmount. Most modern solutions provide mobile applications with diminished features compared to desktop counterparts. Other solutions try to fit large desktop based menu structures into smaller screen size of mobile devices with diminished returns on usability.
- Embodiments are directed to managing objects in a panorama display to navigate a spreadsheet.
- an application may display an object from the spreadsheet on a primary screen of a panorama display including the primary screen and left and right virtual screens.
- the primary screen may be a display surface of a mobile device.
- the application may overlay primary interaction controls on the object.
- Primary interaction controls may include controls to manipulate elements of the object.
- the application may provide additional interaction controls for the object on the left virtual screen adjacent to the primary screen and/or associated objects links on the right virtual screen adjacent to the primary screen.
- FIG. 1 illustrates an example network diagram where an application may manage objects in a panorama display to navigate a spreadsheet according to some embodiments
- FIG. 2 illustrates an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments
- FIG. 3 illustrates another orientation of an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments
- FIG. 4 illustrates another example user interface displaying actions to manage objects in a panorama display to navigate a spreadsheet according to embodiments
- FIG. 5 illustrates another example user interface in transition between screens of a panorama display managing objects to navigate a spreadsheet according to embodiments
- FIG. 6 is a networked environment, where a system according to embodiments may be implemented
- FIG. 7 is a block diagram of an example computing operating environment, where embodiments may be implemented.
- FIG. 8 illustrates a logic flow diagram for a process managing objects in a panorama display to navigate a spreadsheet according to embodiments.
- an application may manage objects in a panorama display to navigate a spreadsheet.
- the application may display an object such as a chart on a primary screen of a panorama display with adjoining virtual screens.
- the primary screen may be the display surface of a mobile device such as a smart phone of a tablet device (i.e.: a slate.)
- the display surface may be a touch based control surface for the device.
- the device may also be controlled by gestures, which may be captures optically or based on touch.
- the application may overlay primary interaction controls on the object. The primary interaction controls may be dynamically changed as a result of zooming in and out of sections of the object.
- the application may also provide additional interaction controls for the object on a left virtual screen and associated objects links on a right virtual screen adjacent to the primary screen.
- the additional interaction controls may include data element manipulation processes such as sorting and filtering.
- the associated objects links may include links to pivot tables and alternative charts of the object.
- the application may overlay portions of the left and right virtual screens on the primary screen exposing the additional interaction controls and the associated objects links on the primary screen.
- program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
- embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices.
- Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- Embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media.
- the computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es).
- the computer-readable storage medium is a non-transitory computer-readable memory device.
- the computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable media.
- a spreadsheet may be any data in a table format which may include objects such as charts to represent the data.
- a panorama display may include a primary screen and multiple virtual screens with content.
- a user may be enabled to shift content from one virtual screen to the primary screen through touch actions.
- Touch actions may include taps and swipes.
- the panorama display may provide a continuous display experience through fluid shift movements when changing content from virtual screens to the primary screen.
- the primary screen may be the display surface of a mobile device such as a smart phone, a tablet or slate device, or any device with a touch based display. Due to screen size limitations in mobile devices, a spreadsheet may be partitioned to object, additional object controls, and associated objects links to be managed by the panorama display.
- the term“platform” may be a combination of software and hardware components for managing objects in a panorama display to navigate a spreadsheet.
- platforms include, but are not limited to, a hosted service executed over a plurality of servers, an application executed on a single computing device, and comparable systems.
- the term“server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below.
- diagram 100 illustrates an example network diagram where an application may manage objects in a panorama display to navigate a spreadsheet according to some embodiments.
- the components and environments shown in diagram 100 are for illustration purposes.
- Embodiments may be implemented in various local, networked, cloud-based and similar computing environments employing a variety of computing devices and systems, hardware and software.
- one or more servers 102 may provide content such as a spreadsheet for consumption.
- Content may be stored in data stores partitioned to data tables.
- the servers 102 may provide the content to clients upon request through networks 104.
- the network(s) 104 may be any network architecture providing access to the servers 102 through wired or wireless technology.
- Client devices 106 may include a variety of hardware such as desktop computer 110, laptop computer 112, a tablet device 114 such as a slate, and a smart phone 116.
- the client devices 106 may execute an application providing a panorama display through the client devices display surface.
- the client devices 106 may retrieve content such as a spreadsheet from servers 102.
- An application executing on client devices 106 may display an object, controls, and associated objects retrieved from the content in the panorama display of the client devices 106.
- the client devices may retrieve and display object, controls, and associated objects links on the panorama display of the client devices from local content (i.e.: a spreadsheet) of the client devices.
- FIG. 2 illustrates an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments.
- Diagram 200 displays an example mobile device 202 such as a smart phone executing an application utilizing the panorama display.
- the device 202 may have a display capable of showing the panorama display 216.
- the panorama display 216 may expose virtual screens adjacent to a primary screen 206 through overlaid portions on the primary screen 206.
- a left virtual screen 204 and a right virtual screen 208 may be partially overlaid on the primary screen 206 exposing a user to additional content such controls and objects links.
- the left virtual screen 204 may provide additional interaction controls 210 for an object 212 displayed on the primary screen 206.
- the application may provide primary controls to manipulate the object 212 displayed on the primary screen 206.
- the additional interaction controls may include functionality to alter the data elements of the object 212.
- the application may overlay primary interaction controls on the object 212 to sort and filter data elements through primary screen 206.
- the application may provide additional interaction controls 210 such as expanded sort and filter functions provided on the left virtual screen.
- the application may provide associated objects links 214 on a right virtual screen 208.
- the associated objects links may include links to data tables, alternative charts, pivot tables, etc.
- FIG. 3 illustrates another orientation of an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments.
- Diagram 300 displays a device 302 such as a smart phone in a horizontal orientation.
- An application providing a panorama display 310 may adjust the panorama display 310 according to the orientation of the device 302.
- the application may detect a change in orientation of the device through device sensors. According to the orientation of the device, the application may adjust the orientation of the panorama display 310. When the application detects the device 302 in a horizontal orientation, the application may rotate the object displayed on a primary screen 306 to a horizontal format. The application may rescale the object to fit the horizontal format. Examples may include swapping axis in charts and adding and removing columns and rows from data tables, etc.
- the application may also rotate virtual screens adjacent to the primary screen upon detecting a rotated device 302.
- the application may rotate left virtual screen 304 to a horizontal position and rescale provided content such as additional interaction controls to a horizontal orientation.
- the rescaled controls may be formatted to be displayed in two columns to utilize the horizontal screen space in an optimized fashion.
- the application may also re- orient the contents of a right virtual screen 308 to a horizontal orientation upon detecting a horizontal device 302.
- the application may rescale the contents such as associated objects links.
- the application may format the associated objects links to utilize the horizontal screen space optimally. Examples may include presenting the links through multiple columns or displaying additional information about the associated objects.
- Embodiments are not limited to horizontal orientation described above, the device may also be held in a vertical orientation leading the application to re-orient the right and left virtual screens and the primary screen to a vertical orientation as described in prior examples.
- FIG. 4 illustrates another example user interface displaying actions to manage objects in a panorama display to navigate a spreadsheet according to embodiments.
- Diagram 400 may display a left virtual screen 402, a primary screen 404, and a right virtual screen 406.
- the left virtual screen 402 may provide additional interaction controls.
- the right virtual screen 406 may provide associated links objects.
- the primary screen 404 may display the object and overlaid portions of the left and right virtual screens.
- a user may touch a portion of the left virtual screen 402 overlaid on the primary screen 404.
- the touch action may be a tap 410.
- the application may shift the contents of the left virtual screen 402 such as the additional interaction controls into the primary screen 404.
- the application may provide the object displayed by the primary screen 404 on the right virtual screen 406.
- the application may also provide the associated objects links on the left virtual screen 402.
- the application may initiate a right shift of the additional interaction controls when the application detects a touch action such as a right swipe 412 concluding on a right edge of the primary screen 404 overlaid by the portion of the right virtual screen.
- a right swipe is not limited to one concluding on the right edge. Any predefined right swipe on the primary screen may initiate right shift of content within the panorama display.
- the user may touch a portion of the right virtual screen 406 overlaid on the primary screen 404.
- the touch action may be a tap 418.
- the application may shift the contents of the right virtual screen 406 such as associated objects links into the primary screen 404.
- the application may provide the object displayed by the primary screen 404 into the left virtual screen 402.
- the application may also provide the additional interaction controls on the right virtual screen 406.
- the application may initiate a left shift of the associated objects links when the application detects a touch action such as a left swipe 412 concluding on a left edge of the primary screen 404 overlaid by the portion of the left virtual screen.
- a left swipe is not limited to one concluding on the left edge. Any predefined left swipe on the primary screen may initiate left shift of content within the panorama display.
- the application may overlay primary controls on the content displayed on the primary screen 404.
- the application may detect a touch action such as a tap 416 on an element of the object.
- the application may display a pop-up information box providing additional information about the element.
- the application may detect a touch action such as a pinch 414 or a spread.
- the application may zoom into a section of the object centered around the pinch 414 subsequent to detecting the pinch 414.
- the application may zoom out of a section of the object centered around a spread subsequent to detecting the spread.
- the application may detect a touch action on the object.
- the application may activate a primary interaction control associated with the touch action.
- the primary interaction control may include a select, a sort, a filter, a zoom in, or a zoom out of data elements of the object.
- the touch action may include a tap, a tap and hold, a swipe, a pinch, and a spread.
- the touch action may include multiple fingertips based motions which may be previously or dynamically assigned to controls for the object.
- the application may position the overlaid portion of the left virtual screen at a left edge of the primary screen.
- the application may also position the overlaid portion of the right virtual screen at a right edge of the primary screen.
- the application may rotate the object, the additional interaction controls, and the associated objects links according to a horizontal and a vertical positioning of the panorama display as discussed above.
- the application may detect a right swipe concluding at a right edge of the primary screen or a tap on an area of the primary screen displaying the overlaid portion of the left virtual screen as a touch action.
- the application may shift the additional interaction controls to the primary screen subsequent to detecting the touch action.
- the application may provide the object on the right virtual screen.
- the application may detect a left swipe concluding at a left edge of the primary screen or a tap on an area of the primary screen displaying the overlaid portion of the right virtual screen as a touch action.
- the application may shift the associated objects links to the primary screen.
- the application may provide the object on the left virtual screen.
- the object may be a data table or a chart associated with the data table.
- the additional interaction controls may activate operations on elements and format of the object.
- the primary screen may be a display surface of a device such as a mobile device.
- FIG. 5 illustrates another example user interface in transition between screens of a panorama display managing objects to navigate a spreadsheet according to embodiments.
- Diagram 500 may display a device showing associated objects links on a primary screen 502 and an object such as a chart provided on the left virtual screen.
- the application may detect a tap action 504 selecting one of the associated objects links. Subsequently, the application may display the selected object such as a data table on the primary screen 506 of the device.
- the application may provide associated objects links including alternative charts of the object and pivot tables of data elements of the object on a left virtual screen. Additionally, the application may provide additional interaction controls to create pivot tables of data elements of the object including object attribute selection and attribute relationship analysis controls on the right virtual screen.
- the application may adjust a movement between the object, the additional interaction controls, and the associated objects links to provide a fluid shift according to the detected touch action. Additionally, the application may detect another touch action selecting one of the associated object links. Subsequent to detecting the other touch action, the application may display a selected associated object on the primary screen.
- the application may adjust presented primary interaction controls subsequent to zoom in or zoom out from a section of the object centered around the zoom action according to an associated pinch or spread user touch action.
- the application may provide primary controls to manipulate an element subsequent to zoom in to the element.
- the application may provide default primary controls to manipulate the entire object subsequent to a zoom out of a section of the object.
- Embodiments are not limited to primary screen and left and right virtual screens. In alternate embodiments, multiple virtual screens may be used to provide multiple objects, additional interaction controls sets, or associated objects links sets. Embodiments are also not limited to overlaying the portions of the right and left virtual screen on the primary screen simultaneously. Both or one of the left and right portions may be displayed according to user preferences or dynamically adjusted settings. A user may still access an un-displayed portion of a virtual screen through a user action such as tap or a swipe in the direction of the virtual screen.
- FIG. 2 through 5 The example scenarios and schemas in FIG. 2 through 5 are shown with specific components, data types, and configurations. Embodiments are not limited to systems according to these example configurations. Managing objects in a panorama display to navigate a spreadsheet may be implemented in configurations employing fewer or additional components in applications and user interfaces. Furthermore, the example schema and components shown in FIG. 2 through 5 and their subcomponents may be implemented in a similar manner with other values using the principles described herein.
- FIG. 6 is a networked environment, where a system according to embodiments may be implemented.
- Local and remote resources may be provided by one or more servers 614 or a single server (e.g. web server) 616 such as a hosted service.
- An application may communicate with client interfaces on individual computing devices such as a smart phone 612 or a tablet device 611 ('client devices') through network(s) 610.
- an application may manage objects in a panorama display to navigate a spreadsheet.
- the application may display an object from the spreadsheet on a primary screen of the device and provide additional interaction controls and associated objects links in adjoining virtual screens.
- the application may orient the primary screen, virtual screen and contents according to detected device orientation to provide optimum flow during content shifts from virtual screens to the primary screen.
- Client devices 611- 613 may enable access to applications executed on remote server(s) (e.g. one of servers 614) as discussed previously.
- the server(s) may retrieve or store relevant data from/to data store(s) 619 directly or through database server 618.
- Network(s) 610 may comprise any topology of servers, clients, Internet service providers, and communication media.
- a system according to embodiments may have a static or dynamic topology.
- Network(s) 610 may include secure networks such as an enterprise network, an unsecure network such as a wireless open network, or the Internet.
- Network(s) 610 may also coordinate communication over other networks such as Public Switched Telephone Network (PSTN) or cellular networks.
- PSTN Public Switched Telephone Network
- network(s) 610 may include short range wireless networks such as Bluetooth or similar ones.
- Network(s) 610 provide communication between the nodes described herein.
- network(s) 610 may include wireless media such as acoustic, RF, infrared and other wireless media.
- FIG. 7 and the associated discussion are intended to provide a brief, general description of a suitable computing environment in which embodiments may be implemented.
- computing device 700 may include at least one processing unit 702 and system memory 704.
- Computing device 700 may also include a plurality of processing units that cooperate in executing programs.
- the system memory 704 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two.
- System memory 704 typically includes an operating system 705 suitable for controlling the operation of the platform, such as the WINDOWS® and WINDOWS PHONE® operating systems from MICROSOFT CORPORATION of Redmond, Washington.
- the system memory 704 may also include one or more software applications such as program modules 706, a panorama display application 722, and object module 724.
- Panorama display application 722 may provide a display surface of a device with adjoining virtual screens to provide additional interaction controls and associated objects links for the object displayed on the primary screen according to embodiments.
- the object module 724 may format and evaluate objects to create controls for the objects and associated objects. Examples may include forming pivot tables according to defined relationships between attributes of the objects. This basic configuration is illustrated in FIG. 7 by those components within dashed line 708.
- Computing device 700 may have additional features or functionality.
- the computing device 700 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape.
- additional storage is illustrated in FIG. 7 by removable storage 709 and non-removable storage 710.
- Computer readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- Computer readable storage media is a non-transitory computer readable memory device.
- System memory 704, removable storage 709 and non- removable storage 710 are all examples of computer readable storage media.
- Computer readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 700. Any such computer readable storage media may be part of computing device 700.
- Computing device 700 may also have input device(s) 712 such as keyboard, mouse, pen, voice input device, touch input device, and comparable input devices.
- Output device(s) 714 such as a display, speakers, printer, and other types of output devices may also be included. These devices are well known in the art and need not be discussed at length here.
- Computing device 700 may also contain communication connections 716 that allow the device to communicate with other devices 718, such as over a wireless network in a distributed computing environment, a satellite link, a cellular link, and comparable mechanisms.
- Other devices 718 may include computer device(s) that execute
- Communication connection(s) 716 is one example of communication media.
- Communication media can include therein computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
- Example embodiments also include methods. These methods can be implemented in any number of ways, including the structures described in this document. One such way is by machine operations, of devices of the type described in this document.
- Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators need not be co-located with each other, but each can be only with a machine that performs a portion of the program.
- FIG. 8 illustrates a logic flow diagram for a process managing objects in a panorama display to navigate a spreadsheet according to embodiments.
- Process 800 may be implemented by an application such as a panorama display application in some examples.
- Process 800 may begin with operation 810 where an application may display an object from the spreadsheet on a primary screen of a panorama display that includes left and right adjoined virtual screens.
- the application may overlay primary interaction controls on the object.
- the primary interaction controls may include sort, filter and zoom functions.
- the application may provide additional interaction controls for the object on the left virtual screen at operation 830.
- the additional interaction controls may be determined dynamically according to the object displayed by the primary screen.
- the application may provide associated objects links on the right virtual screen.
- the associated objects may include pivot tables, alternative charts, etc.
- the application may overlay portions of the left and right virtual screens on the primary screen to expose the additional interaction controls and the associated objects links on the primary screen at operation 850.
- Some embodiments may be implemented in a computing device that includes a communication module, a memory, and a processor, where the processor executes a method as described above or comparable ones in conjunction with instructions stored in the memory.
- Other embodiments may be implemented as a computer readable storage medium with instructions stored thereon for executing a method as described above or similar ones.
- process 800 are for illustration purposes. Managing objects in a panorama display to navigate a spreadsheet according to embodiments may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
A panorama display application shows objects from a spreadsheet such as charts in primary screen of a mobile device adjoined by left and right virtual screens. The application overlays interaction controls such as sort and filter functions on the object. The application also provides additional interaction controls for the object on the left virtual screen and associated objects links on the right virtual screen. The application may expose the additional interaction controls and the associated objects links by overlaying portions of the virtual screens on the primary screen. The application fluidly shifts content from virtual screens to the primary screen subsequent to detected user action on the overlaid portions.
Description
MANAGING OBJECTS IN PANORAMA DISPLAY TO NAVIGATE
SPREADSHEET BACKGROUND
[0001] Computer applications interact with human beings through user interfaces. While audio, tactile, and similar forms of user interfaces are available, visual user interfaces through a display device are the most common form of user interface. With the development of faster and smaller electronics for computing devices, smaller size devices such as handheld computers, smart phones, tablet devices, and comparable devices have become common. Such devices execute a wide variety of applications ranging from communication applications to complicated analysis tools. Many such applications render visual effects through a display and enable users to provide input associated with the applications’ operations.
[0002] Screen size and utilization are ongoing concerns in mobile device platforms. Screen sizes in mobile devices are limited due to minimalist approach most modern solutions provide to fulfill customer demand. There is substantial technical challenge to providing a display capable of desktop computer resolutions in a mobile device. Even when feasible, providing a desktop computer resolution in a mobile device leads to tiny fonts and diminished usability. Duplicating most features of a desktop application including controls and fine details of a displayed object is a great challenge to surmount. Most modern solutions provide mobile applications with diminished features compared to desktop counterparts. Other solutions try to fit large desktop based menu structures into smaller screen size of mobile devices with diminished returns on usability.
SUMMARY
[0003] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
[0004] Embodiments are directed to managing objects in a panorama display to navigate a spreadsheet. According to embodiments, an application may display an object from the spreadsheet on a primary screen of a panorama display including the primary screen and left and right virtual screens. The primary screen may be a display surface of a mobile device. The application may overlay primary interaction controls on the object. Primary interaction controls may include controls to manipulate elements of the object. The application may provide additional interaction controls for the object on the left virtual
screen adjacent to the primary screen and/or associated objects links on the right virtual screen adjacent to the primary screen.
[0005] These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. 1 illustrates an example network diagram where an application may manage objects in a panorama display to navigate a spreadsheet according to some embodiments;
[0007] FIG. 2 illustrates an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments;
[0008] FIG. 3 illustrates another orientation of an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments;
[0009] FIG. 4 illustrates another example user interface displaying actions to manage objects in a panorama display to navigate a spreadsheet according to embodiments;
[0010] FIG. 5 illustrates another example user interface in transition between screens of a panorama display managing objects to navigate a spreadsheet according to embodiments;
[0011] FIG. 6 is a networked environment, where a system according to embodiments may be implemented;
[0012] FIG. 7 is a block diagram of an example computing operating environment, where embodiments may be implemented; and
[0013] FIG. 8 illustrates a logic flow diagram for a process managing objects in a panorama display to navigate a spreadsheet according to embodiments.
DETAILED DESCRIPTION
[0014] As briefly described above, an application may manage objects in a panorama display to navigate a spreadsheet. The application may display an object such as a chart on a primary screen of a panorama display with adjoining virtual screens. The primary screen may be the display surface of a mobile device such as a smart phone of a tablet device (i.e.: a slate.) The display surface may be a touch based control surface for the device. The device may also be controlled by gestures, which may be captures optically or based on touch. The application may overlay primary interaction controls on the object. The primary interaction controls may be dynamically changed as a result of zooming in and out of sections of the object. The application may also provide additional interaction controls for the object on a left virtual screen and associated objects links on a right virtual
screen adjacent to the primary screen. The additional interaction controls may include data element manipulation processes such as sorting and filtering. The associated objects links may include links to pivot tables and alternative charts of the object. Next, the application may overlay portions of the left and right virtual screens on the primary screen exposing the additional interaction controls and the associated objects links on the primary screen.
[0015] In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and their equivalents.
[0016] While the embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a computing device, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.
[0017] Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0018] Embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium is a non-transitory computer-readable memory device. The computer-readable storage medium can for example be implemented via one
or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable media.
[0019] According to embodiments, a spreadsheet may be any data in a table format which may include objects such as charts to represent the data. A panorama display may include a primary screen and multiple virtual screens with content. A user may be enabled to shift content from one virtual screen to the primary screen through touch actions. Touch actions may include taps and swipes. The panorama display may provide a continuous display experience through fluid shift movements when changing content from virtual screens to the primary screen. The primary screen may be the display surface of a mobile device such as a smart phone, a tablet or slate device, or any device with a touch based display. Due to screen size limitations in mobile devices, a spreadsheet may be partitioned to object, additional object controls, and associated objects links to be managed by the panorama display.
[0020] Throughout this specification, the term“platform” may be a combination of software and hardware components for managing objects in a panorama display to navigate a spreadsheet. Examples of platforms include, but are not limited to, a hosted service executed over a plurality of servers, an application executed on a single computing device, and comparable systems. The term“server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below.
[0021] Referring to FIG. 1, diagram 100 illustrates an example network diagram where an application may manage objects in a panorama display to navigate a spreadsheet according to some embodiments. The components and environments shown in diagram 100 are for illustration purposes. Embodiments may be implemented in various local, networked, cloud-based and similar computing environments employing a variety of computing devices and systems, hardware and software.
[0022] In an example environment illustrated in diagram 100, one or more servers 102 may provide content such as a spreadsheet for consumption. Content may be stored in data stores partitioned to data tables. The servers 102 may provide the content to clients upon request through networks 104. The network(s) 104 may be any network architecture providing access to the servers 102 through wired or wireless technology.
[0023] Client devices 106 may include a variety of hardware such as desktop computer 110, laptop computer 112, a tablet device 114 such as a slate, and a smart phone 116. The client devices 106 may execute an application providing a panorama display through the client devices display surface. The client devices 106 may retrieve content such as a spreadsheet from servers 102. An application executing on client devices 106 may display an object, controls, and associated objects retrieved from the content in the panorama display of the client devices 106. Alternatively, the client devices may retrieve and display object, controls, and associated objects links on the panorama display of the client devices from local content (i.e.: a spreadsheet) of the client devices.
[0024] FIG. 2 illustrates an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments. Diagram 200 displays an example mobile device 202 such as a smart phone executing an application utilizing the panorama display.
[0025] According to some embodiments, the device 202 may have a display capable of showing the panorama display 216. The panorama display 216 may expose virtual screens adjacent to a primary screen 206 through overlaid portions on the primary screen 206. A left virtual screen 204 and a right virtual screen 208 may be partially overlaid on the primary screen 206 exposing a user to additional content such controls and objects links.
[0026] According to other embodiments, the left virtual screen 204 may provide additional interaction controls 210 for an object 212 displayed on the primary screen 206. The application may provide primary controls to manipulate the object 212 displayed on the primary screen 206. The additional interaction controls may include functionality to alter the data elements of the object 212. In an example scenario, the application may overlay primary interaction controls on the object 212 to sort and filter data elements through primary screen 206. In another example scenario, the application may provide additional interaction controls 210 such as expanded sort and filter functions provided on the left virtual screen.
[0027] According to other embodiments, the application may provide associated objects links 214 on a right virtual screen 208. In an example scenario where the object 212 is a chart, the associated objects links may include links to data tables, alternative charts, pivot tables, etc.
[0028] FIG. 3 illustrates another orientation of an example user interface managing objects in a panorama display to navigate a spreadsheet according to embodiments. Diagram 300 displays a device 302 such as a smart phone in a horizontal orientation. An application
providing a panorama display 310 may adjust the panorama display 310 according to the orientation of the device 302.
[0029] According to some embodiments, the application may detect a change in orientation of the device through device sensors. According to the orientation of the device, the application may adjust the orientation of the panorama display 310. When the application detects the device 302 in a horizontal orientation, the application may rotate the object displayed on a primary screen 306 to a horizontal format. The application may rescale the object to fit the horizontal format. Examples may include swapping axis in charts and adding and removing columns and rows from data tables, etc.
[0030] According to other embodiments, the application may also rotate virtual screens adjacent to the primary screen upon detecting a rotated device 302. In an horizontal position, the application may rotate left virtual screen 304 to a horizontal position and rescale provided content such as additional interaction controls to a horizontal orientation. The rescaled controls may be formatted to be displayed in two columns to utilize the horizontal screen space in an optimized fashion. Additionally, the application may also re- orient the contents of a right virtual screen 308 to a horizontal orientation upon detecting a horizontal device 302. The application may rescale the contents such as associated objects links. The application may format the associated objects links to utilize the horizontal screen space optimally. Examples may include presenting the links through multiple columns or displaying additional information about the associated objects. Embodiments are not limited to horizontal orientation described above, the device may also be held in a vertical orientation leading the application to re-orient the right and left virtual screens and the primary screen to a vertical orientation as described in prior examples.
[0031] FIG. 4 illustrates another example user interface displaying actions to manage objects in a panorama display to navigate a spreadsheet according to embodiments.
Diagram 400 may display a left virtual screen 402, a primary screen 404, and a right virtual screen 406. The left virtual screen 402 may provide additional interaction controls. The right virtual screen 406 may provide associated links objects. The primary screen 404 may display the object and overlaid portions of the left and right virtual screens.
[0032] According to some embodiments, a user may touch a portion of the left virtual screen 402 overlaid on the primary screen 404. The touch action may be a tap 410. Upon detecting the tap 410, the application may shift the contents of the left virtual screen 402 such as the additional interaction controls into the primary screen 404. The application may provide the object displayed by the primary screen 404 on the right virtual screen
406. The application may also provide the associated objects links on the left virtual screen 402. Alternatively, the application may initiate a right shift of the additional interaction controls when the application detects a touch action such as a right swipe 412 concluding on a right edge of the primary screen 404 overlaid by the portion of the right virtual screen. A right swipe is not limited to one concluding on the right edge. Any predefined right swipe on the primary screen may initiate right shift of content within the panorama display.
[0033] According to other embodiments, the user may touch a portion of the right virtual screen 406 overlaid on the primary screen 404. The touch action may be a tap 418. Upon detecting the tap 418, the application may shift the contents of the right virtual screen 406 such as associated objects links into the primary screen 404. The application may provide the object displayed by the primary screen 404 into the left virtual screen 402. The application may also provide the additional interaction controls on the right virtual screen 406. Alternatively, the application may initiate a left shift of the associated objects links when the application detects a touch action such as a left swipe 412 concluding on a left edge of the primary screen 404 overlaid by the portion of the left virtual screen. A left swipe is not limited to one concluding on the left edge. Any predefined left swipe on the primary screen may initiate left shift of content within the panorama display.
[0034] According to yet other embodiments, the application may overlay primary controls on the content displayed on the primary screen 404. In an example scenario, the application may detect a touch action such as a tap 416 on an element of the object. The application may display a pop-up information box providing additional information about the element. In another example scenario, the application may detect a touch action such as a pinch 414 or a spread. The application may zoom into a section of the object centered around the pinch 414 subsequent to detecting the pinch 414. Alternatively, the application may zoom out of a section of the object centered around a spread subsequent to detecting the spread.
[0035] According to other embodiments, the application may detect a touch action on the object. The application may activate a primary interaction control associated with the touch action. The primary interaction control may include a select, a sort, a filter, a zoom in, or a zoom out of data elements of the object. The touch action may include a tap, a tap and hold, a swipe, a pinch, and a spread. Alternatively, the touch action may include multiple fingertips based motions which may be previously or dynamically assigned to controls for the object.
[0036] According to other embodiments, the application may position the overlaid portion of the left virtual screen at a left edge of the primary screen. The application may also position the overlaid portion of the right virtual screen at a right edge of the primary screen. Additionally, the application may rotate the object, the additional interaction controls, and the associated objects links according to a horizontal and a vertical positioning of the panorama display as discussed above.
[0037] According to other embodiments, the application may detect a right swipe concluding at a right edge of the primary screen or a tap on an area of the primary screen displaying the overlaid portion of the left virtual screen as a touch action. The application may shift the additional interaction controls to the primary screen subsequent to detecting the touch action. And, the application may provide the object on the right virtual screen. Alternatively, the application may detect a left swipe concluding at a left edge of the primary screen or a tap on an area of the primary screen displaying the overlaid portion of the right virtual screen as a touch action. The application may shift the associated objects links to the primary screen. And, the application may provide the object on the left virtual screen.
[0038] According to other embodiments, the object may be a data table or a chart associated with the data table. The additional interaction controls may activate operations on elements and format of the object. As previously discussed, the primary screen may be a display surface of a device such as a mobile device.
[0039] FIG. 5 illustrates another example user interface in transition between screens of a panorama display managing objects to navigate a spreadsheet according to embodiments. Diagram 500 may display a device showing associated objects links on a primary screen 502 and an object such as a chart provided on the left virtual screen. The application may detect a tap action 504 selecting one of the associated objects links. Subsequently, the application may display the selected object such as a data table on the primary screen 506 of the device.
[0040] According to some embodiments, the application may provide associated objects links including alternative charts of the object and pivot tables of data elements of the object on a left virtual screen. Additionally, the application may provide additional interaction controls to create pivot tables of data elements of the object including object attribute selection and attribute relationship analysis controls on the right virtual screen.
[0041] According to other embodiments, the application may adjust a movement between the object, the additional interaction controls, and the associated objects links to provide a
fluid shift according to the detected touch action. Additionally, the application may detect another touch action selecting one of the associated object links. Subsequent to detecting the other touch action, the application may display a selected associated object on the primary screen.
[0042] According to yet other embodiments, the application may adjust presented primary interaction controls subsequent to zoom in or zoom out from a section of the object centered around the zoom action according to an associated pinch or spread user touch action. In an example scenario, the application may provide primary controls to manipulate an element subsequent to zoom in to the element. In another example scenario, the application may provide default primary controls to manipulate the entire object subsequent to a zoom out of a section of the object.
[0043] Embodiments are not limited to primary screen and left and right virtual screens. In alternate embodiments, multiple virtual screens may be used to provide multiple objects, additional interaction controls sets, or associated objects links sets. Embodiments are also not limited to overlaying the portions of the right and left virtual screen on the primary screen simultaneously. Both or one of the left and right portions may be displayed according to user preferences or dynamically adjusted settings. A user may still access an un-displayed portion of a virtual screen through a user action such as tap or a swipe in the direction of the virtual screen.
[0044] The example scenarios and schemas in FIG. 2 through 5 are shown with specific components, data types, and configurations. Embodiments are not limited to systems according to these example configurations. Managing objects in a panorama display to navigate a spreadsheet may be implemented in configurations employing fewer or additional components in applications and user interfaces. Furthermore, the example schema and components shown in FIG. 2 through 5 and their subcomponents may be implemented in a similar manner with other values using the principles described herein.
[0045] FIG. 6 is a networked environment, where a system according to embodiments may be implemented. Local and remote resources may be provided by one or more servers 614 or a single server (e.g. web server) 616 such as a hosted service. An application may communicate with client interfaces on individual computing devices such as a smart phone 612 or a tablet device 611 ('client devices') through network(s) 610.
[0046] As discussed above, an application may manage objects in a panorama display to navigate a spreadsheet. The application may display an object from the spreadsheet on a primary screen of the device and provide additional interaction controls and associated
objects links in adjoining virtual screens. The application may orient the primary screen, virtual screen and contents according to detected device orientation to provide optimum flow during content shifts from virtual screens to the primary screen. Client devices 611- 613 may enable access to applications executed on remote server(s) (e.g. one of servers 614) as discussed previously. The server(s) may retrieve or store relevant data from/to data store(s) 619 directly or through database server 618.
[0047] Network(s) 610 may comprise any topology of servers, clients, Internet service providers, and communication media. A system according to embodiments may have a static or dynamic topology. Network(s) 610 may include secure networks such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 610 may also coordinate communication over other networks such as Public Switched Telephone Network (PSTN) or cellular networks. Furthermore, network(s) 610 may include short range wireless networks such as Bluetooth or similar ones. Network(s) 610 provide communication between the nodes described herein. By way of example, and not limitation, network(s) 610 may include wireless media such as acoustic, RF, infrared and other wireless media.
[0048] Many other configurations of computing devices, applications, data sources, and data distribution systems may be employed to manage objects in a panorama display to navigate a spreadsheet. Furthermore, the networked environments discussed in FIG. 6 are for illustration purposes only. Embodiments are not limited to the example applications, modules, or processes.
[0049] FIG. 7 and the associated discussion are intended to provide a brief, general description of a suitable computing environment in which embodiments may be implemented. With reference to FIG. 7, a block diagram of an example computing operating environment for an application according to embodiments is illustrated, such as computing device 700. In a basic configuration, computing device 700 may include at least one processing unit 702 and system memory 704. Computing device 700 may also include a plurality of processing units that cooperate in executing programs. Depending on the exact configuration and type of computing device, the system memory 704 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. System memory 704 typically includes an operating system 705 suitable for controlling the operation of the platform, such as the WINDOWS® and WINDOWS PHONE® operating systems from MICROSOFT CORPORATION of Redmond, Washington. The system memory 704 may also include one or more software
applications such as program modules 706, a panorama display application 722, and object module 724.
[0050] Panorama display application 722 may provide a display surface of a device with adjoining virtual screens to provide additional interaction controls and associated objects links for the object displayed on the primary screen according to embodiments. The object module 724 may format and evaluate objects to create controls for the objects and associated objects. Examples may include forming pivot tables according to defined relationships between attributes of the objects. This basic configuration is illustrated in FIG. 7 by those components within dashed line 708.
[0051] Computing device 700 may have additional features or functionality. For example, the computing device 700 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 7 by removable storage 709 and non-removable storage 710. Computer readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Computer readable storage media is a non-transitory computer readable memory device. System memory 704, removable storage 709 and non- removable storage 710 are all examples of computer readable storage media. Computer readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 700. Any such computer readable storage media may be part of computing device 700. Computing device 700 may also have input device(s) 712 such as keyboard, mouse, pen, voice input device, touch input device, and comparable input devices. Output device(s) 714 such as a display, speakers, printer, and other types of output devices may also be included. These devices are well known in the art and need not be discussed at length here.
[0052] Computing device 700 may also contain communication connections 716 that allow the device to communicate with other devices 718, such as over a wireless network in a distributed computing environment, a satellite link, a cellular link, and comparable mechanisms. Other devices 718 may include computer device(s) that execute
communication applications, storage servers, and comparable devices. Communication
connection(s) 716 is one example of communication media. Communication media can include therein computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
[0053] Example embodiments also include methods. These methods can be implemented in any number of ways, including the structures described in this document. One such way is by machine operations, of devices of the type described in this document.
[0054] Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators need not be co-located with each other, but each can be only with a machine that performs a portion of the program.
[0055] FIG. 8 illustrates a logic flow diagram for a process managing objects in a panorama display to navigate a spreadsheet according to embodiments. Process 800 may be implemented by an application such as a panorama display application in some examples.
[0056] Process 800 may begin with operation 810 where an application may display an object from the spreadsheet on a primary screen of a panorama display that includes left and right adjoined virtual screens. At operation 820, the application may overlay primary interaction controls on the object. The primary interaction controls may include sort, filter and zoom functions. Next, the application may provide additional interaction controls for the object on the left virtual screen at operation 830. The additional interaction controls may be determined dynamically according to the object displayed by the primary screen. At operation 840, the application may provide associated objects links on the right virtual screen. The associated objects may include pivot tables, alternative charts, etc.
Subsequently, the application may overlay portions of the left and right virtual screens on the primary screen to expose the additional interaction controls and the associated objects links on the primary screen at operation 850.
[0057] Some embodiments may be implemented in a computing device that includes a communication module, a memory, and a processor, where the processor executes a method as described above or comparable ones in conjunction with instructions stored in
the memory. Other embodiments may be implemented as a computer readable storage medium with instructions stored thereon for executing a method as described above or similar ones.
[0058] The operations included in process 800 are for illustration purposes. Managing objects in a panorama display to navigate a spreadsheet according to embodiments may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.
[0059] The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.
Claims
1. A method executed on a computing device for managing objects in a panorama display to navigate a spreadsheet, the method comprising:
displaying an object from the spreadsheet on a primary screen of the panorama display including the primary screen, a left virtual screen, and a right virtual screen; overlaying primary interaction controls on the object;
providing additional interaction controls for the object on the left virtual screen adjacent to the primary screen;
providing associated objects links on the right virtual screen adjacent to the primary screen; and
overlaying portions of the left and right virtual screens on the primary screen to expose the additional interaction controls and the associated objects links on the primary screen.
2. The method of claim 1, further comprising:
detecting a gesture on the object; and
activating one of the primary interaction controls associated with the gesture.
3. The method of claim 2, whereon the primary controls include at least one from a set of: a select, a sort, a filter, a zoom in, and a zoom out data elements of the object.
4. The method of claim 2, wherein the gesture is detected through one of a touch detection and an optical detection, and includes at least one from a set of: a tap, a tap and hold, a swipe, a pinch, and a spread.
5. The method of claim 1, further comprising:
positioning a portion of the left virtual screen at a left edge of the primary screen; and
positioning a portion of the right virtual screen at a right edge of the primary screen.
6. The method of claim 1, further comprising:
rotating the object, the additional interaction controls, and the associated objects links according to a horizontal and a vertical positioning of the panorama display.
7. A computing device for managing objects in a panorama display to navigate a spreadsheet, the computing device comprising:
a memory configured to store instructions; and
a processor coupled to the memory, the processor executing an application in conjunction with the instructions stored in the memory, wherein the application is configured to:
display an object from the spreadsheet on a primary screen of the panorama display including the primary screen, a left virtual screen, and a right virtual screen;
overlay primary interaction controls on the object;
provide additional interaction controls for the object on the left virtual screen adjacent to the primary screen;
provide associated objects links on the right virtual screen adjacent to the primary screen;
overlay portions of the left and right virtual screens on the primary screen to expose the additional interaction controls and the associated objects links on the primary screen;
detect a gesture on one of the portions; and
shift one of the associated object links and the additional interaction controls associated with the gesture to the primary screen.
8. The computing device of claim 7, wherein the application is further configured to:
provide associated objects links including alternative charts of the object and pivot tables of data elements of the object on the left virtual screen.
9. The computing device of claim 7, wherein the application is further configured to:
provide additional interaction controls to create pivot tables of data elements of the object including object attribute selection and attribute relationship analysis controls on the right virtual screen.
10. A computer-readable memory device with instructions stored thereon for managing objects in a panorama display to navigate a spreadsheet, the instructions comprising:
displaying an object from the spreadsheet on a primary screen of the panorama display including the primary screen, a left virtual screen, and a right virtual screen;
overlaying primary interaction controls on the object;
providing additional interaction controls for the object on the left virtual screen adjacent to the primary screen;
providing associated objects links on the right virtual screen adjacent to the primary screen;
overlaying portions of the left and right virtual screens on the primary screen to expose the additional interaction controls and the associated objects links on the primary screen;
detecting a touch action on one of the portions;
shifting one from a set of: the associated object links and the additional interaction controls associated with the touch action to the primary screen; and
adjusting movement between the object, the additional interaction controls, and the associated objects links to provide a fluid shift according to the detected touch action.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201380030143.0A CN104350495B (en) | 2012-06-07 | 2013-05-28 | Object is managed in panorama is shown with navigation through electronic form |
EP13730691.6A EP2859468A1 (en) | 2012-06-07 | 2013-05-28 | Managing objects in panorama display to navigate spreadsheet |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/490,830 US9164972B2 (en) | 2012-06-07 | 2012-06-07 | Managing objects in panorama display to navigate spreadsheet |
US13/490,830 | 2012-06-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013184423A1 true WO2013184423A1 (en) | 2013-12-12 |
Family
ID=48670773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2013/042793 WO2013184423A1 (en) | 2012-06-07 | 2013-05-28 | Managing objects in panorama display to navigate spreadsheet |
Country Status (4)
Country | Link |
---|---|
US (2) | US9164972B2 (en) |
EP (1) | EP2859468A1 (en) |
CN (1) | CN104350495B (en) |
WO (1) | WO2013184423A1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996244B2 (en) * | 2013-03-13 | 2018-06-12 | Autodesk, Inc. | User interface navigation elements for navigating datasets |
US10095389B2 (en) | 2014-08-22 | 2018-10-09 | Business Objects Software Ltd. | Gesture-based on-chart data filtering |
US10380770B2 (en) | 2014-09-08 | 2019-08-13 | Tableau Software, Inc. | Interactive data visualization user interface with multiple interaction profiles |
US10521092B2 (en) | 2014-09-08 | 2019-12-31 | Tableau Software, Inc. | Methods and devices for adjusting chart magnification asymmetrically |
US10635262B2 (en) | 2014-09-08 | 2020-04-28 | Tableau Software, Inc. | Interactive data visualization user interface with gesture-based data field selection |
US10347018B2 (en) | 2014-09-08 | 2019-07-09 | Tableau Software, Inc. | Interactive data visualization user interface with hierarchical filtering based on gesture location on a chart |
US10347027B2 (en) | 2014-09-08 | 2019-07-09 | Tableau Software, Inc. | Animated transition between data visualization versions at different levels of detail |
US20160259488A1 (en) | 2015-03-06 | 2016-09-08 | Alibaba Group Holding Limited | Navigation user interface for compact mobile devices |
USD767611S1 (en) * | 2015-04-16 | 2016-09-27 | Nasdaq, Inc. | Display screen or portion thereof with graphical user interface |
US10896532B2 (en) | 2015-09-08 | 2021-01-19 | Tableau Software, Inc. | Interactive data visualization user interface with multiple interaction profiles |
CN106896997B (en) | 2016-06-28 | 2020-11-10 | 创新先进技术有限公司 | Sliding control method and device and sliding block selector |
US11032410B2 (en) | 2016-11-08 | 2021-06-08 | Microsoft Technology Licensing, Llc | Mobile data insight platforms for data analysis |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19939065A1 (en) * | 1999-08-18 | 2001-02-22 | Volkswagen Ag | Multifunction control device |
US20060036964A1 (en) * | 2004-08-16 | 2006-02-16 | Microsoft Corporation | User interface for displaying selectable software functionality controls that are relevant to a selected object |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5847706A (en) * | 1995-11-30 | 1998-12-08 | Hewlett Packard Company | Sizeable window for tabular and graphical representation of data |
US6864878B2 (en) * | 2002-03-29 | 2005-03-08 | Xerox Corporation | Tactile overlays for screens |
US7337180B2 (en) | 2002-12-20 | 2008-02-26 | Sap Aktiengesellschaft | Displaying data tables in user interfaces |
KR100560470B1 (en) * | 2003-11-24 | 2006-03-13 | 삼성에스디아이 주식회사 | Method for manufacturing diode transistor and image display apparatus using the same |
EP1538536A1 (en) * | 2003-12-05 | 2005-06-08 | Sony International (Europe) GmbH | Visualization and control techniques for multimedia digital content |
US7299406B2 (en) | 2004-06-02 | 2007-11-20 | Research In Motion Limited | Representing spreadsheet document content |
CN100472417C (en) * | 2004-08-16 | 2009-03-25 | 微软公司 | User interface for displaying selectable software functionality controls that are relevant to a selected object |
US7617444B2 (en) | 2004-12-20 | 2009-11-10 | Microsoft Corporation | File formats, methods, and computer program products for representing workbooks |
US7548925B2 (en) * | 2005-01-24 | 2009-06-16 | Microsoft Corporation | Diagrammatic access and arrangement of data |
KR100619071B1 (en) * | 2005-03-18 | 2006-08-31 | 삼성전자주식회사 | Apparatus for displaying a menu, method thereof, and recording medium having program recorded thereon to implement the method |
EP1913768A4 (en) * | 2005-08-05 | 2009-10-14 | Samsung Electronics Co Ltd | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
US8689132B2 (en) | 2007-01-07 | 2014-04-01 | Apple Inc. | Portable electronic device, method, and graphical user interface for displaying electronic documents and lists |
US7990394B2 (en) * | 2007-05-25 | 2011-08-02 | Google Inc. | Viewing and navigating within panoramic images, and applications thereof |
KR101012300B1 (en) * | 2008-03-07 | 2011-02-08 | 삼성전자주식회사 | User interface apparatus of mobile station having touch screen and method thereof |
AR071981A1 (en) * | 2008-06-02 | 2010-07-28 | Spx Corp | WINDOW OF MULTIPLE PRESENTATION SCREENS WITH INPUT FOR CIRCULAR DISPLACEMENT |
US20090313537A1 (en) | 2008-06-17 | 2009-12-17 | Microsoft Corporation | Micro browser spreadsheet viewer |
US8108791B2 (en) * | 2009-02-27 | 2012-01-31 | Microsoft Corporation | Multi-screen user interface |
JP5158006B2 (en) * | 2009-04-23 | 2013-03-06 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
US8681106B2 (en) | 2009-06-07 | 2014-03-25 | Apple Inc. | Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface |
KR101674205B1 (en) * | 2009-10-27 | 2016-11-08 | 엘지전자 주식회사 | Method for controlling icon display in mobile terminal and mobile terminal thereof |
US8375316B2 (en) * | 2009-12-31 | 2013-02-12 | Verizon Patent And Licensing Inc. | Navigational transparent overlay |
US20120078885A1 (en) * | 2010-09-24 | 2012-03-29 | Rovi Technologies Corporation | Browsing hierarchies with editorial recommendations |
-
2012
- 2012-06-07 US US13/490,830 patent/US9164972B2/en active Active
-
2013
- 2013-05-28 WO PCT/US2013/042793 patent/WO2013184423A1/en active Application Filing
- 2013-05-28 CN CN201380030143.0A patent/CN104350495B/en active Active
- 2013-05-28 EP EP13730691.6A patent/EP2859468A1/en not_active Withdrawn
-
2015
- 2015-09-11 US US14/851,874 patent/US10838607B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19939065A1 (en) * | 1999-08-18 | 2001-02-22 | Volkswagen Ag | Multifunction control device |
US20060036964A1 (en) * | 2004-08-16 | 2006-02-16 | Microsoft Corporation | User interface for displaying selectable software functionality controls that are relevant to a selected object |
Non-Patent Citations (3)
Title |
---|
"Excel 2003 Charting User Interface Screenshot", 1 January 2003 (2003-01-01), XP055070618, Retrieved from the Internet <URL:file:///C:/Documents%20and%20Settings/xxx/Desktop/Document1.pdf> [retrieved on 20130710] * |
JOHNSON J A ED - KATZ I R ET AL: "A COMPARISON OF USER INTERFACES FOR PANNING ON A TOUCH-CONTROLLED DISPLAY", HUMAN FACTORS IN COMPUTING SYSTEMS. CHI '95 CONFERENCE PROCEEDINGS. DENVER, MAY 7 - 11, 1995; [CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS], NEW YORK, ACM, US, 7 May 1995 (1995-05-07), pages 218 - 225, XP000538450, ISBN: 978-0-201-84705-5 * |
See also references of EP2859468A1 * |
Also Published As
Publication number | Publication date |
---|---|
CN104350495B (en) | 2017-10-03 |
US20160062585A1 (en) | 2016-03-03 |
US9164972B2 (en) | 2015-10-20 |
US10838607B2 (en) | 2020-11-17 |
CN104350495A (en) | 2015-02-11 |
US20130332810A1 (en) | 2013-12-12 |
EP2859468A1 (en) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10838607B2 (en) | Managing objects in panorama display to navigate spreadsheet | |
US10067635B2 (en) | Three dimensional conditional formatting | |
US10782844B2 (en) | Smart whiteboard interactions | |
US9589233B2 (en) | Automatic recognition and insights of data | |
US9436349B2 (en) | Business solution user interface enabling interaction with reports | |
US9003298B2 (en) | Web page application controls | |
US20120272144A1 (en) | Compact control menu for touch-enabled command execution | |
US20120185787A1 (en) | User interface interaction behavior based on insertion point | |
US20130191785A1 (en) | Confident item selection using direct manipulation | |
US20140325418A1 (en) | Automatically manipulating visualized data based on interactivity | |
US20140331179A1 (en) | Automated Presentation of Visualized Data | |
EP2825947A1 (en) | Web page application controls | |
US9377864B2 (en) | Transforming visualized data through visual analytics based on interactivity | |
US10936186B2 (en) | Gestures used in a user interface for navigating analytic data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13730691 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013730691 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |