The subject disclosure relates to representing and displaying user object information as multi-sided user object information on mobile computing devices in a networked computing environment.
By way of background concerning conventional systems, the networked computing realm has generally evolved into two divergent classes of computing devices: (A) larger, relatively non-portable computing devices with full input, processing, output and/or storage functionality, such as PCs and (B) smaller portable computing devices, such as mobile phones, with the same or similar functionality as their larger counterparts, but with more limited input, processing, output and/or storage characteristics due to the more limited capabilities (e.g., smaller displays, smaller input, slower processors, less storage, etc.).
With respect to the larger, standalone computing devices, traditional Web applications and services, such as a social networking application, have allowed users to enter individual or group profile information, and share that information with others; however, traditionally, this has not been optimal for display on mobile devices due to the limited screen size. Some conventional systems have attempted to automatically resize or dynamically “re-flow” the web site content for display on mobile devices with limited screen size, but such techniques inevitably fail to provide a fully satisfactory experience.
Displays have become constrained elsewhere too. For instance, a single web “page” has evolved beyond the single presentation of information by a single content provider. Today, there are many content owners delivering content to a typical web page according to sometimes complex relationships, e.g., the web site owner, third parties that develop applications or web widgets for the web site, advertisement providers (e.g., banner ads, right side ads, top center, etc.) and so on. In this respect, a variety of content providers may all be required to, in effect, share screen space, and thus the same problem presents itself with web pages as devices—there is not enough display space for a single content owner to display all of the information.
Accordingly, it would be desirable to provide an improved display experience for displaying centralized user information retrieved from a networked computing environment. The above-described deficiencies of today's device display systems are merely intended to provide an overview of some of the problems of conventional systems, and are not intended to be exhaustive. Other problems with conventional systems and corresponding benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description.
A simplified summary is provided herein to help enable a basic or general understanding of various aspects of exemplary, non-limiting embodiments that follow in the more detailed description and the accompanying drawings. This summary is not intended, however, as an extensive or exhaustive overview. Instead, the sole purpose of this summary is to present some concepts related to some exemplary non-limiting embodiments in a simplified form as a prelude to the more detailed description of the various embodiments that follow.
Various embodiments of an improved display technique for displaying user information as a multi-sided user object are provided for displaying different sides of the multi-sided user object on a device. In one non-limiting embodiment, the user object is a user profile and the multi-sided user object is a multi-sided user profile object where updates to the user profile can be made directly via a PC, or via a device with limited display aspect via changes made to side(s) of the multi-sided user profile object. The multi-sided user object can be displayed as part of any client process, e.g., an application, a networked service or web widget display system.
These and other embodiments are described in more detail below.
Various non-limiting embodiments are further described with reference to the accompanying drawings in which:
As a roadmap for what follows, an overview of various embodiments presented herein is first presented. Then, exemplary, non-limiting optional implementations are discussed in more detail for supplemental context and understanding. Next, some non-limiting computing apparatus and networked apparatus are described as potential operating environments for the various embodiments described herein.
As discussed in the background, among other things, conventional systems do not adequately represent and display information entered into web sites from PCs on devices. Accordingly, in various non-limiting embodiments, user information is displayed on a device, e.g., via a mobile device or a web widget of a web page, as a multi-sided user object such that different sides of the multi-sided user object are displayed when requested by the user, and the multi-sided user object can be rotated from side to side to display the different sides of the multi-sided user object. The multi-sided user object can be displayed as part of any client process, e.g., an application, a networked service or web widget display system or engine. While some of the embodiments herein are described in the context of a mobile device such as a mobile phone, the ideas are not so limited, but rather are applicable to any computing device having an aspect of display where it would be desirable to present more information than allowed by the 2-D space provided for the user interface component or subcomponent on display.
In one non-limiting embodiment, the user object is a user profile and the multi-sided user object is a multi-sided user profile object where updates to the user profile can be made directly via a PC, or via the device by making changes to side(s) of the multi-sided user profile object. In one aspect, a method for creating and managing profile and other information on the web can be represented as a profile card, which is then converted for use as a two-sided display card object for display on the mobile phone, although any number of sides can be accommodated.
The profile card contains personal identity and other links, e.g., to media, that are located on the web, which the system then translates for display on the mobile phone. For the avoidance of doubt, while some of the embodiments herein are described in the context of user profile information, such embodiments are not limited to profile information, and can include other file types or purposes besides individual identity. Any object created by a user having information that can be represented as a multi-sided object with multiple sides of information related to a common theme can be the subject of the embodiments herein. Such embodiments relating to user profile information are described herein for illustrative purposes in the widely recognized scenarios of e-commerce web sites, social networking web sites, web sites for other outreach reasons, etc., i.e., wherever users commonly create objects representing information representation in a networked data store.
For instance, group identities can be represented in a similar manner. For another example, a media preview card can include sample music and other artist information as part of an artist or album profile, or an upcoming movie can have a profile card that includes preview information related to the upcoming movie. Thus, any information that can be modeled in the real world as a physical card, such as a baseball card with a photo on the front, and statistics on the back, is contemplated by the embodiments described herein. Moreover, for the avoidance of doubt, multi-sided objects having more than two sides are contemplated herein, e.g., as described in connection with
In this regard, embodiments are described herein wherein a user object can be created and managed on the web. In accordance with the various embodiments described in more detail below, a user can create a profile (or other user object) at a social networking web site, or other web site, and manage that profile from centralized storage, and retrieve that profile on any form factor of device. For instance, an application or web service process on the device can retrieve the profile, and display the profile for the form factor of the device. On a device, such as a portable computing device, or web widget on display, the screen space may be limited and accordingly, the display of user object information as a multi-sided user object is advantageously an intuitive way for users to navigate user object information.
The various embodiments herein describe profile, or other, information that can be represented as a multi-sided card, such as a two-sided card. Thus, the device, such as a mobile device, includes a way to turn over the card to view the other side, or rotate the object to other sides. This can be a keyboard command, a command activated via a user interface component, or other software command activated by the user of the mobile phone. In one embodiment, the device includes a touch screen user interface, such that activating a specific portion of the touch screen, or a swiping action on a displayed side of the card on display in effect turns the card over, consistent with the concept of turning over a card in the physical world (or otherwise rotating a 3-D object).
In another embodiment, orientation sensors in the device can inform which side is displayed. For instance, each time the device is turned over, another side of the card can be displayed. In this regard, the mapping of sides of the multi-sided object on display to sides of an intuitively understood 3-D Earthly object serves at least two main purposes: (1) the user grasps how to change to other sides of information via commonly understood 3-D object abstractions of the physical world and (2) the subsets of information displayed on each side of the multi-sided user object can concisely represent different parts of the whole user information without presenting all of the user object information at once. In this regard, conventional systems have attempted to resize the information from web stores on mobile phones without satisfying either goal.
In one embodiment, multi-sided user objects are sharable with other users, but editable or updatable only by a user with password entry. Optionally, any changes made to information of a user object by the authorized user are global, i.e., all future accesses of the information of the user object reflect the changes.
As mentioned, in various embodiments, a multi-sided user object, such as a card, has multiple sides that are managed and created on the web. This allows the card to be “flipped over” or rotated when displayed on a device, such as a mobile phone. When displayed on a mobile phone, for example, the card or other multi-sided user object can be fitted for multiple different types of handsets by specification. Various embodiments include the ability to edit the user information both on the device, such as a mobile phone and on the web, and have changes reflected in either spot, i.e., anywhere a device can update the user information.
In one embodiment, a multi-sided user objects is displayed on a device display via an application executing on the device. In other embodiments, the display is dictated by a Web services experience undertaken by the mobile phone. In yet other embodiments, web widgets executing on the mobile phone include a user interface component for displaying the multi-sided user object information, and rotating among the various sides. In this regard, for additional background, widgets are downloadable interactive virtual tools that provide services such as showing the user the latest news, the current weather, the time, a calendar, a dictionary, a map program, a calculator, desktop notes, photo viewers, or even a language translator, among many diverse other things.
To elaborate on the notion of a multi-sided user object, for the avoidance of doubt, any number of sides can be accommodated for a multi-sided user object. A user can dictate the number of sides (“7 sides make sense for my information”), or the context of an application or service might dictate the number of sides (“baseball has 9 innings” or “the world has 7 continents”). Some commonly referred to 3-D objects in the physical world with equal sides include dodecahedron (twelve sides), decahedron (ten sides), octahedron (eight sides), cubes (six sides) and tetrahedrons (four sides).
In this regard, as a non-limiting example of 3-D solids, Platonic solids are perfectly regular solids with the following conditions: all sides are equal and all angles are the same and all faces are identical. In each corner of such a solid, the same number of surfaces collide. Five known Platonic solids include the tetrahedron, hexahedron, octahedron, dodecahedron or icosahedron. These are only examples of 3-D objects that can be reduced to a multi-sided user object as described herein for displaying different sides. For clarity, and as described in the embodiments below, any number of sides two or greater can be included by a multi-sided user object in accordance with the various embodiments described herein.
In
Once stored or updated in user object information store 230, a device 250 (including a limited display) may request a multi-sided user object representation from the web server(s), service(s) or widget delivery system(s) 200. Component 214 retrieves and transforms user information to a multi-sided object representation, which is transmitted via interface(s) 210 and network(s) 220 to the requesting device. The multi-sided object 240 can thus be displayed one side at a time on device display 250.
For illustration of the concept only,
To illustrate the power of various embodiments, a first side 900 of a multi-sided user object can be rotated, or flipped, to display a second side 910 of the multi-sided user object, as illustrated in
One of ordinary skill in the art can appreciate that the various embodiments of display techniques described herein can be implemented in connection with any computer or other client or server device, which can be deployed as part of a computer network or in a distributed computing environment, and can be connected to any kind of data store. In this regard, the various embodiments described herein can be implemented in any computer system or environment having any number of memory or storage units, and any number of applications and processes occurring across any number of storage units. This includes, but is not limited to, an environment with server computers and client computers deployed in a network environment or a distributed computing environment, having remote or local storage.
Distributed computing provides sharing of computer resources and services by communicative exchange among computing devices and systems. These resources and services include the exchange of information, cache storage and disk storage for objects, such as files. These resources and services also include the sharing of processing power across multiple processing units for load balancing, expansion of resources, specialization of processing, and the like. Distributed computing takes advantage of network connectivity, allowing clients to leverage their collective power to benefit the entire enterprise. In this regard, a variety of devices may have applications, objects or resources that may request multi-sided user object information as described for various embodiments of the subject disclosure.
Each object 1110, 1112, etc. and computing objects or devices 1120, 1122, 1124, 1126, 1128, etc. can communicate with one or more other objects 1110, 1112, etc. and computing objects or devices 1120, 1122, 1124, 1126, 1128, etc. by way of the communications network 1140, either directly or indirectly. Even though illustrated as a single element in
There are a variety of systems, components, and network configurations that support distributed computing environments. For example, computing systems can be connected together by wired or wireless systems, by local networks or widely distributed networks. Currently, many networks are coupled to the Internet, which provides an infrastructure for widely distributed computing and encompasses many different networks, though any network infrastructure can be used for exemplary communications made incident to the display of multi-sided user object information as described in various embodiments.
Thus, a host of network topologies and network infrastructures, such as client/server, peer-to-peer, or hybrid architectures, can be utilized. The “client” is a member of a class or group that uses the services of another class or group to which it is not related. A client can be a process, i.e., roughly a set of instructions or tasks, that requests a service provided by another program or process. The client process utilizes the requested service without having to “know” any working details about the other program or the service itself.
In a client/server architecture, particularly a networked system, a client is usually a computer that accesses shared network resources provided by another computer, e.g., a server. In the illustration of
A server is typically a remote computer system accessible over a remote or local network, such as the Internet or wireless network infrastructures. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server. Any software objects utilized pursuant to the techniques for performing transmitting or receiving of multi-sided user object information can be provided standalone, or distributed across multiple computing devices or objects.
In a network environment in which the communications network/bus 1140 is the Internet, for example, the servers 1110, 1112, etc. can be Web servers with which the clients 1120, 1122, 1124, 1126, 1128, etc. communicate via any of a number of known protocols, such as the hypertext transfer protocol (HTTP). Servers 1110, 1112, etc. may also serve as clients 1120, 1122, 1124, 1126, 1128, etc., as may be characteristic of a distributed computing environment.
As mentioned, advantageously, the techniques described herein can be applied to any device where there may be limited screen space in order to display desired subsets of the information via a multi-sided object. It should be understood, therefore, that handheld, portable and other computing devices and computing objects of all kinds are contemplated for use in connection with the various embodiments, i.e., anywhere that a device may enter, update, or display user object information. Accordingly, the below general purpose remote computer described below in
Although not required, embodiments can partly be implemented via an operating system, for use by a developer of services for a device or object, and/or included within application software that operates to perform one or more functional aspects of the various embodiments described herein. Software may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices. Those skilled in the art will appreciate that computer systems have a variety of configurations and protocols that can be used to communicate data, and thus, no particular configuration or protocol should be considered limiting.
With reference to
Computer 1210 typically includes a variety of computer readable media and can be any available media that can be accessed by computer 1210. The system memory 1230 may include computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) and/or random access memory (RAM). By way of example, and not limitation, memory 1230 may also include an operating system, application programs, other program modules, and program data.
A user can enter commands and information into the computer 1210 through input devices 1240. A monitor or other type of display device is also connected to the system bus 1222 via an interface, such as output interface 1250. In addition to a monitor, computers can also include other peripheral output devices such as speakers and a printer, which may be connected through output interface 1250.
The computer 1210 may operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote computer 1270. The remote computer 1270 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, or any other remote media consumption or transmission device, and may include any or all of the elements described above relative to the computer 1210. The logical connections depicted in
Also, there are multiple ways to implement the same or similar functionality, e.g., an appropriate API, tool kit, driver code, operating system, control, standalone or downloadable software object, etc. which enables applications and services to use the multi-sided user object information as described herein. Thus, embodiments herein are contemplated from the standpoint of an API (or other software object), as well as from a software or hardware object that provides access to the multi-sided user objects. Accordingly, various embodiments described herein can have aspects that are wholly in hardware, partly in hardware and partly in software, as well as in software.
The word “exemplary” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, for the avoidance of doubt, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
As mentioned, the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. As used herein, the terms “component,” “system” and the like are likewise intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on computer and the computer can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
The aforementioned systems have been described with respect to interaction between several components. It can be appreciated that such systems and components can include those components or specified sub-components, some of the specified components or sub-components, and/or additional components, and according to various permutations and combinations of the foregoing. Sub-components can also be implemented as components communicatively coupled to other components rather than included within parent components (hierarchical). Additionally, it should be noted that one or more components may be combined into a single component providing aggregate functionality or divided into several separate sub-components, and that any one or more middle layers, such as a management layer, may be provided to communicatively couple to such sub-components in order to provide integrated functionality. Any components described herein may also interact with one or more other components not specifically described herein but generally known by those of skill in the art.
In view of the exemplary systems described supra, methodologies that may be implemented in accordance with the described subject matter will be better appreciated with reference to the flowcharts of the various figures. While for purposes of simplicity of explanation, the methodologies are shown and described as a series of blocks, it is to be understood and appreciated that the claimed subject matter is not limited by the order of the blocks, as some blocks may occur in different orders and/or concurrently with other blocks from what is depicted and described herein. Where non-sequential, or branched, flow is illustrated via flowchart, it can be appreciated that various other branches, flow paths, and orders of the blocks, may be implemented which achieve the same or a similar result. Moreover, not all illustrated blocks may be required to implement the methodologies described hereinafter.
In addition to the various embodiments described herein, it is to be understood that other similar embodiments can be used or modifications and additions can be made to the described embodiment(s) for performing the same or equivalent function of the corresponding embodiment(s) without deviating therefrom. Still further, multiple processing chips or multiple devices can share the performance of one or more functions described herein, and similarly, storage can be effected across a plurality of devices. Accordingly, the invention should not be limited to any single embodiment, but rather should be construed in breadth, spirit and scope in accordance with the appended claims.
This application claims priority to U.S. Provisional Application Ser. No. 60/896,814, filed on Mar. 23, 2007, entitled “PORTABLE AND SHARABLE PROFILE FOR MOBILE DEVICES”, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60896814 | Mar 2007 | US |