Extensible user profile

文档序号:1409750 发布日期:2020-03-06 浏览:6次 中文

阅读说明:本技术 可扩展用户简档 (Extensible user profile ) 是由 B·施勒辛格 S·魏因伯格 于 2018-05-24 设计创作,主要内容包括:本文所描述的实现公开了一种用于通过向组管理员提供组形成用户界面,来为用户组提供可扩展用户简档的系统,其中,该组形成用户界面允许组管理员添加组特定字段,创建包括该组特定字段的组表,并将该组表链接到用户简档表。(Implementations described herein disclose a system for providing an extensible user profile for a group of users by providing a group formation user interface to a group administrator, wherein the group formation user interface allows the group administrator to add group-specific fields, create a group table that includes the group-specific fields, and link the group table to a user profile table.)

1. A method of providing an extensible user profile, comprising:

receiving a request from a group administrator to create a new group for a group of users of an application;

providing a group formation user interface to the group administrator, wherein the group formation user interface allows the group administrator to add group-specific fields;

creating a group table including the group-specific field; and

linking the group table to a user profile table for the group of users.

2. The method of claim 1, further comprising:

presenting a group join user interface to a user joining the group, wherein the group join user interface presents the group-specific field.

3. The method of claim 2, further comprising:

receiving values for one or more of the group-specific fields from the users joining the group; and

displaying the value of the group-specific field to other members of the group.

4. The method of claim 1, wherein the user profile includes one or more group join fields for one or more groups joined by a user, and further comprising: adding the group to the group join field.

5. The method of claim 4, further comprising: linking the group table to the user profile table based on the group join field.

6. The method of claim 1, wherein one or more of the group-specific fields are exposed to one or more other groups specified by the user.

7. A physical article comprising one or more tangible computer-readable storage media encoding computer-executable instructions for executing a computer process on a computer system, the computer process comprising:

receiving a request from a group administrator to create a new group for a group of users of a social networking application;

providing a group formation user interface to the group administrator, wherein the group formation user interface allows the group administrator to add group-specific fields;

creating a group table including the group-specific field;

linking the group table to a user profile table for the group of users; and

presenting a group join user interface to a user joining the group, wherein the group join user interface presents the group-specific field.

8. The physical article of claim 7, wherein the computer-executable instructions further comprise: receiving values for one or more of the group-specific fields from the users joining the group.

9. The physical article of claim 7, wherein the user profile comprises a group join field comprising a list of one or more groups joined by the user, and the method further comprises: adding the group to the group join field.

10. The physical article of claim 9, further comprising: linking the group table to the user profile table based on the group join field.

11. The physical article of claim 7, wherein one or more of the group-specific fields are exposed to one or more other groups specified by at least one of the user and the group administrator.

12. A system for providing an extensible user profile, comprising:

a memory;

one or more processor units;

an Extensible User Profile (EUP) module stored in the memory and executable by the one or more processor units, the EUP module configured to:

providing the group administrator with a group formation user interface, wherein the group formation user interface allows the group administrator to add group-specific fields for a group of users of a social networking application, an

Receiving a plurality of group-specific fields from the group administrator; and

a user profile manager application stored in the memory and executable by the one or more processor units, the user profile manager application configured to:

creating a group table comprising said group specific fields, an

Linking the group table to a user profile table.

13. The system of claim 12, wherein the EUP module is further configured to present a group join user interface to users joining the group, wherein the group join user interface presents the group-specific fields.

14. The system of claim 13, wherein the user profile manager application is further configured to add one or more groups to a group join field of the user profile table.

15. The system of claim 12, at least one of the set-specific fields overrides a field in the user profile.

Background

Advances in computing and mobile technology have led to a large number of applications being used to engage in various activities. Many of these applications (e.g., social networking applications, texting applications, photo sharing applications, dating applications) require a user to create a user profile that includes various information about the user. In addition, some of these applications also allow users to create groups in which members of the group can share information among the group members. For example, a social network application may allow a group administrator to form a group of members that reside in a particular community.

Disclosure of Invention

Embodiments described herein disclose a system for providing an extensible user profile for a group of users by providing a group formation user interface to a group administrator, wherein the group formation user interface allows the group administrator to add group-specific fields, create a group table including the group-specific fields, and link the group table to the user profile table.

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the invention, nor is it intended to be used to limit the scope of the invention.

Other embodiments are also described and recited herein.

Drawings

A further understanding of the nature and advantages of the present invention may be realized by reference to the figures which are described in remaining portions of the specification. In the drawings, like reference numerals are used throughout the several figures to designate like parts.

FIG. 1 illustrates an exemplary implementation of a system for providing an extensible user profile.

FIG. 2 provides an exemplary visual representation of a user profile provided by the extensible user Profile System disclosed herein.

FIG. 3 illustrates exemplary operations of a system for providing an extensible user profile.

FIG. 4 illustrates alternative exemplary operations of a system for providing an extensible user profile.

FIG. 5 illustrates alternative exemplary operations of the system for providing an extensible user profile.

FIG. 6 illustrates an exemplary system that can be used to implement the described techniques to provide an extensible user profile.

FIG. 7 illustrates an exemplary mobile device that can be used to implement the described techniques to provide an extensible user profile.

Detailed Description

Users of computing devices use a large number of applications to obtain information and interact with other users. For example, consumers widely use social network applications to interact with other members of the social network. Many of these applications require a user to create a user profile that includes various information about the user. For example, a photo sharing application may ask a user to provide their name, email address, date of birth, city and residence, and a picture of a profile. In addition, some of these applications also allow users to create groups in which members of the group can share information among the group members. The user who creates the group is called the group administrator.

Common user profiles are used for different purposes, but they contain the same set of information about the user. However, when a group administrator creates a group of selected members, the group administrator has no flexibility to add group specific information in the member profiles. For example, if a social networking application requires its user to provide a name, email, and date of birth in order to create a profile on the social networking application, a group administrator who wants to create a group member who owns a dog will not be able to request that each group member profile contain information about the name of the dog that the member is holding, the breed of the dog, and a photograph of the dog.

The Extensible User Profile (EUP) system disclosed herein allows a user to provide an extensible profile that includes other information about group members in a member profile. For example, a messaging application may require its user to provide a name, telephone number, and email address for its user's profile. However, when a user decides to create a user group with particular characteristics (and thus becomes a group administrator for the created group), the group administrator may need more information about the member users of the group (hereinafter referred to as "group members"). For example, if the user Alice (Alice) wants to create a user named "Herzliya cat lover" for a user with a cat, members living in Herzliya and liking a cat may share stories and information about the cat, Alice may want each member of her Herzliya cat lover to have their cat name and cat picture as part of her profile. The EUP disclosed herein allows Alice to do so as a group administrator of Herzliya cat fans.

Fig. 1 illustrates an exemplary implementation of an EUP system 100 for providing an extensible user profile for such group members. In particular, the EUP system 100 is shown as being used by users Mina 102 and Tamir106 using their computing devices (e.g., smartphones 104 and 108). In particular, Mina 102 and Tamir106 may be users of social network app 110 that they use through smartphones 104 and 108. In particular, social network app 110 may be installed as a client application on smartphones 104 and 108 and supported by social network application server 120.

In one embodiment of the EUP system 100, the social network application server 120 may be implemented on a cloud server, where various components on the cloud server are located on various different servers, but are connected to each other through a network 180, such as the internet. As shown, social network application server 120 includes a social network application 122 and a social network data store 126. The social networking application 122 may be implemented by computer instructions stored in a computer-readable memory, where the instructions are executable on a computer processor.

The social network application 122 also includes a user profile manager module 124 and an EUP module 112. The user profile manager module 124 may be configured to manage profiles of individual users of the social network application 122. For example, the user profile manager module 124 may manage user profiles 128 stored in the social network data store 126. In particular, the user profile 128 is stored in an architecture with extensible records. In particular, the user profile may include fields for each user that are required by the social networking application 122. In an exemplary implementation, each user profile includes at least a user identification (uID), a username (umame), and a user email (uEmail).

However, for the EUP system 100, the user profile record may be extended to include other information about the user. In particular, the user profile 128 may be extended based on the context of the group of members of which the user is a member. For example, if a user is a member of a group, a field identifying the name of the group may be added to the user record.

Further, the EUP module 112 may work with local EUP modules 112a, 112b located on the client devices to enable users such as Mina 102 and Tamir106 to create membership groups, extend member profiles using other fields, and populate such extensible user profiles. For example, Tamir106 may be interested in creating a new group of members named "dog fans" for dog lovers. In this case, Tamir106 may select an option for creating a new group, in response to which EUP module 112b presents an EUP group formation user interface (UD)140 to Tamir 106.

The EUP group formation UI 140 includes an option for Tamir106 to add a group name, where Tamir106 may type in the group name "dog fan". The EUP group formation UI 140 also provides the option for Tamir106 to add fields to the user profiles of the members of the dog fan's group. For example, Tamir106 may add fields for "dog name" and "dog breed". Once Tamir106 has provided all of the fields of the "dog fan" group, Tamir106 may select the option of adding participants to the "dog fan" group. For example, Tamir106 may add the Mina Goldstein from the contact list of smartphone 108. Once the participants are added, Tamir106 may select an invite option 142 to invite the participants, including the Mina Goldstein, to join the "dog fan" group.

Once Tamir106 selects invite option 142, EUP module 112b may send a message to social networking application 122 that Tamir106 created a new group of "dog fans". In particular, the EUP module 112b may also transmit to the social network application 122 a list of new fields for Tamir that Tamir wishes to add "dog name" and "dog breed" to the profiles of the "dog lover" group members. Additionally, the EUP module 112b may also send a list of participants, including the Mina Goldstein, to the social networking application 122.

Upon receiving the list of field names to be added to the user profile, the user profile manager module 124 may add the group name as a field to the user's profile record. In addition, user profile manager module 124 also includes a dog fan group table 130 for the "dog fan" group, which includes fields for a user identification (uID), a name of the user's dog (uDog), and a breed of the user's dog (ubried). As user profile manager module 124 receives additional information from each participant of the "dog fan" group, user profile manager module 124 may add a record in "dog fan" group table 130 for each such group member.

In one implementation, the user profile manager module 124 is configured to add a field to the profile record for each group joined by the user. Thus, for example, profile record 128a is shown as having fields for the first group (uGroup1), profile record 128b is shown as having fields for the "dog fan" group (uGrDL) and the "car fan" group (uGrCL), and profile record 128c is shown as having fields for the "dog fan" group (uGrDL). In addition, social network datastore 126 includes a "dog fan" group table 130 and a "car fan" table 132.

Upon receiving a participant list (e.g., MinaGoldstein) from the EUP group formation UI 140 on the smartphone 108, the EUP module 112 communicates with the client EUP module of the participant's device. For example, the EUP module 112 sends a message to the EUP module 112a on the smartphone 104 of the Mina 102 indicating to the Mina that she is invited to join the "dog fan" group. If Mina accepts the invitation, the EUP module 112a presents the EUP group joining UN 150 to Mina. The EUP join UI150 may present to the Mina 102 some options to provide the values for the group field of the "dog enthusiast" group, namely the dog name Betty and the dog hunting dog.

In one implementation, the EUP join UI150 also provides the Mina 102 with an option to invite other users (e.g., Kana) to join the "dog fan" group. However, in an alternative implementation, such addition of other participants (e.g., Kana) to the "dog fan" group may have to be approved by the group administrator Tamir 106. Once the Mina 102 selects the join button 152 to join the group, the values Betty and beagle for the group fields are passed to the EUP module 112 and the user profile manager module 124. The user profile manager module 124 adds these values to the "dog fan" group table 130.

Once the group field of a given group member of a particular group is added to the group table, if another group member of the group views the profile of the given group member, they will see all the values of all the fields in the profile. Thus, once Mina 102 has joined the "dog enthusiast" group and given the values of dog name and dog breed, if Tamir106 looks at the profile of Mina 102s, Tamir106 will see the name, email, dog name and dog breed of Minas in her profile view.

It should be noted that in the illustrated implementation, Mina 102 provides the name of the dog and its breed when joining the "dog fans" group. In an alternative implementation, the Mina 102 may join the group without providing such information. In another implementation, the group administrator Tamir106 may identify one or more of the fields (dog name and dog species) in the group field as a mandatory item for the participant to join the "dog fan" group, in which case the "dog fan" group can only be joined after the Mina 102 provides such information. Alternatively, however, Mina may choose to have the "dog fan" group share the values of dog name and dog breed with users of other groups or users that are not members of the "dog fan" group.

In implementations of the EUP system 100, the social networking application 122 also allows certain group fields to override fields in the user profile. For example, "dog enthusiasts" may also include a field for a user photo along with the dog (u & dPhoto), while the user profile for the social network application may include a field for a user photo (uPhoto). In such an implementation, a user who is also a member of the "dog fan" group may specify that in a particular context, the value of u & dPhoto is displayed in the user profile in place of uPhoto. For example, if Mina 102 provided Betty for her photos, she could specify that she would be shown with Betty's photos in her profile when members of the "dog fan" group view her profile.

FIG. 2 provides an exemplary visual representation of user profile fields 200 provided by the extensible user profile system disclosed herein. In particular, user profile field 200 may include an application user profile field 202 that is required by an application, such as a social networking application. User profile field 200 also includes a group field for pet owner group 210, a group field for dog owner group 220, and a group field for professional network group 230.

As shown, the extensible user profile system disclosed herein allows the group administrator of each of the groups 210, 220, 230 to specify group fields for its members. When a user of an application joins one of the groups 210, 220, 230, the user may provide the value of the group-specific field. For example, when a user joins dog owner group 220, the user may provide values for the name of the dog, the dog's breed, and a photo of the dog. The user may also specify that they wish to override one of the application user profile fields 202 when viewed by the other members of the group. Thus, members of dog owner group 220 may specify: when other members of dog owner group 220 view their profiles, a photo with the dog is displayed.

Alternatively, the user may also specify that fields in another group be employed for use in the selected group. Thus, if the user has joined pet owner group 210 and provided a picture of the pet, the user may specify that the picture with the pet be displayed to a member of dog owner group 220 if that member views their profile. Alternatively still, the user may provide a value for the application user profile field 202 that is generally opaque to other users of the application, but may be used as a group field. For example, an email address may be part of the application user profile field 202, but not disclosed to other users. However, upon joining the professional network group 220, the user may specify that members of the professional network group 220 should be able to view the email address from the application user profile field 202. In an alternative implementation, this option of using fields from another group is also available to the group administrator. For example, a group administrator for the Herzliya cat enthusiast group and the Herzliya pet enthusiast group may indicate that the "pictures with pet" fields he specifies in each of the two groups are the same. Thus, if the user joins one of the two groups and sets a photograph with his cat, later when the user joins the second group, the field has already been pre-filled with his photograph from the first group and is waiting for his confirmation.

FIG. 3 illustrates exemplary operations 300 of a system for providing an extensible user profile. Specifically, operation 302 receives a request from a user of an application to create a group. For example, operation 302 may receive a request from a user to create a parent-teacher association (PTA) group. Operation 304 presents the group formation UI of fig. 1 (e.g., group formation UI 140). Operation 306 receives a list of group fields. For example, in the case where a user (group administrator) creates a PTA group, the group administrator may designate the name of a child, the school year of the child, and the sports items of the child as fields for the user to join the PTA group.

Operation 308 may receive a group field type or drop down list from which the user can select. For example, for the PTA group, the group administrator may specify the type of school year for the child as a number. Alternatively, other fields may be designated as text, images, and so forth. Alternatively, the PTA group administrator may limit the size of the field to a certain number of characters, or specify the field as a certain type, such as a numeric field, a field that may be selected from a set of values (e.g., male, female), or a field containing a file (jpg, pdf) of a certain type, and so forth. Alternatively, the PTA group administrator may provide a list of sports items from which the user may select when filling out a child sports item. Operation 310 receives a group field condition. For example, the PTA group administrator may specify that the school year of the child is not less than 5 and not more than 12. Operation 312 receives a list of participants for which the group administrator wishes to invite to join the group. Operation 314 saves the various information received at operations 306-314 and communicates with a user profile manager module (e.g., user profile manager module 124 of fig. 1).

FIG. 4 illustrates alternative exemplary operations 400 for a system for providing an extensible user profile. Operation 402 receives group information from the group administrator that includes a list of group fields, various characteristics of the group fields, and a list of participants invited to join the group. For example, for a group administrator who creates a PTA group, operation 402 receives a list of fields for the name of the PTA group, the name of children, the school year of children, and the sports items of children, their types, restrictions, etc., and a list of users who the PTA group administrator invites to join the PTA group.

Operation 404 creates a PTA group table for the PTA group including the child names, child school years, and child athletic items of the PTA group fields. Each record of the PTA group table also includes a user ID identifying the group members. Operation 406 sends an invitation to the participant provided by the PTA group administrator. Such an invitation may be, for example, a text message on the mobile device, an email, a message within an application, etc. In response to the invitation, the user may choose to join the group, and operation 408 determines whether the invited participant accepted the invitation.

If the invited participant accepts the invitation, operation 410 presents an EUP group join UI (e.g., EUP group join UI150 of FIG. 1). The invited participants may use the EUP group join UI to provide various information, such as the value of the group field. Operation 412 determines whether the participant has joined the group. If the invited participant has joined the group, operation 414 creates a participant record in the group table. For example, if participant Joe fills in information including the value of the PTA group field using the EUP group join UI and selects the join option of the EUP group join UI, operation 414 creates a record for Joe in the PTA group table.

Operation 416 adds the group field value with the user's ID to the group table. For example, in the example of Joe joining a PTA group, the value of the PTA group field provided by Joe is used to create a new record for Joe in the PTA group table. Operation 418 adds the extensible group ID field to Joe's user profile record to link the PTA group field values for Joe from the PTA group table to other field values of Joe's user profile record.

FIG. 5 illustrates alternative exemplary operations 500 of a system for displaying an extensible user profile. Operation 502 receives a request to view a profile of a group member. For example, the request may originate from another user's search, or simply be the user clicking on an icon of a group member. Operation 504 determines whether the request is from a group member or another user. For example, in the case where Joe is a member of a PTA group, if Rachel requests to view Joe's profile, operation 504 determines whether Rachel is part of the PTA group. It should be noted that if Joe is part of more than one group, then operation 504 determines whether Rachel is part of any such group to which Joe belongs.

If operation 504 determines that Rachel is not a member of any group to which Joe belongs, operation 506 will display Joe's generic user profile. However, if Rachel is a member of a group in which Joe is also a member (e.g., a PTA group), then operation 508 retrieves Joe's user record from the PTA group table. For example, a Joe record in the PTA group table may include the values of the following fields: child name, child school year, and child sports item.

Operation 508 determines whether Joe has specified any field replacements. For example, Joe may have specified that the values of the child names provided in the PTA group table be displayed to the members of the PTA group, rather than displaying the values of the child names given in Joe's general profile. If such an override exists, operation 512 replaces the value of the override field with the value from the PTA group table. Operation 514 merges the group field values with the profile field values and operation 516 displays such merged field values as part of the profile presented to Rachel.

FIG. 6 illustrates an example system 600 that may be used when implementing the image rendering system disclosed herein. The exemplary hardware and operating environment of fig. 6 for implementing the described techniques includes a computing device, such as a general purpose computing device in the form of a computer 20, a mobile telephone, a Personal Data Assistant (PDA), a tablet device, a smart watch, a game remote, or other type of computing device. In the implementation of FIG. 6, for example, the computer 20 includes a processing unit 21, a system memory 22, and a system bus 23 that operatively couples various system components including the system memory to the processing unit 21. There may be only one processing unit 21, or there may be more than one processing unit 21, such that the processor of computer 20 includes a single Central Processing Unit (CPU) or multiple processing units (which are often referred to as a parallel processing environment). The computer 20 may be a conventional computer, a distributed computer, or any other type of computer; the implementation is not so limited.

In an exemplary implementation of the computing system 600, the computer 20 also includes an EUP module 650 that provides one or more of the functions of the EUP system disclosed herein. The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, a switch fabric, point-to-point connections, and a local bus using any of a variety of bus architectures. The system memory, which may also be referred to as simply the memory, includes Read Only Memory (ROM)24 and Random Access Memory (RAM) 25. A basic input/output system (BIOS)26, containing the basic routines that help to transfer information between elements within the computer 20, such as during start-up, is stored in ROM 24. The computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable magnetic disk 31 such as a CD ROM, DVD, or other optical media. The computer 20 may be used to implement an EUP module, such as the EUP module 112 of fig. 1.

Further, the EUP system may use instructions stored in the memory of the computer 20. Similarly, instructions stored in the memory of the computer 20 may also be used to implement one or more operations of the EUP system disclosed herein.

The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical drive interface 34, respectively. The drives and their associated tangible computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computer 20. It should be appreciated by those of ordinary skill in the art that any type of tangible computer-readable media may be used in the example operating environment.

A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37 and program data 38. The user may generate reminders on the personal computer 20 through input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone (e.g., for voice input), a camera (e.g., for a Natural User Interface (NUI)), a joystick, a game pad, a satellite dish, a scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a Universal Serial Bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, computers typically include other peripheral output devices (not shown), such as speakers and printers.

The computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 49. These logical connections are made through a communication device coupled to computer 20 or a communication device that is part of computer 20; the embodiments are not limited to a particular type of communication device. The remote computer 49 may be another computer, a server, a router, a network PC, a client, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 20. The logical connections depicted in FIG. 6 include a Local Area Network (LAN)51 and a Wide Area Network (WAN) 52. Such networking environments are commonplace in office networks, enterprise-wide computer networks, intranets and the Internet, which are all types of networks.

When used in a LAN networking environment, the computer 20 is connected to the local network 51 through a network interface or adapter 53, which is one type of communications device. When used in a WAN networking environment, the computer 20 typically includes a modem 54, a network adapter, a type of communications device, or any other type of communications device for establishing communications over the wide area network 52. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program engines depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

In an exemplary implementation, software or firmware instructions for the EUP system disclosed herein may be stored in system memory 22 and/or storage devices 29 or 31 and processed by processing unit 21. The user profile data may be stored in system memory 22 and/or storage devices 29 or 31 as permanent data storage. EUP module 650, communicatively coupled to processing unit 21 and memory 22, may enable one or more functions of the EUP system disclosed herein.

In contrast to tangible computer-readable storage media, intangible computer-readable communication signals may contain computer-readable instructions, data structures, program modules, or other data that reside in a modulated data signal, such as a carrier wave or other signal transmission mechanism. The term "modulated data signal" is 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, intangible communication signals include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.

Fig. 7 illustrates another exemplary system (labeled as mobile device 700) that may be used in implementing the described techniques. The mobile device 700 includes a processor 702, memory 704, a display 706 (e.g., a touch screen display), and other interfaces 708 (e.g., a keyboard). The memory 704 typically includes volatile memory (e.g., RAM) and non-volatile memory (e.g., flash memory). Such as Microsoft Windows

Figure BDA0002341134370000111

An operating system 710, such as the Phone operating system, resides in memory 704 and is executed by processor 702, although it is understood that other operating systems may be used.

One or more application programs 712 are loaded into memory 704 and executed by processor 702 on operating system 710. Examples of application programs 712 include, but are not limited to: e-mail programs, scheduling programs, personal information managers, internet browsing programs, multimedia player applications, and the like. A notification manager 714 is also loaded in memory 704 and executed by processor 702 to present notifications to a user. For example, when a promotion is triggered and presented to the shopper, the notification manager 714 can cause the mobile device 700 to beep or vibrate (via the vibration device 718) and display the promotion on the display 706.

Mobile device 700 includes a power supply 716, which power supply 716 is powered by one or more batteries or other power sources, and supplies power to other components of mobile device 700. The power source 716 may also be connected to an external power source that overlays or charges an internal battery or other power source.

The mobile device 700 includes one or more communication transceivers 730 to provide network connectivity (e.g., a mobile telephone network, a wired network, a wireless network, a,

Figure BDA0002341134370000112

Bluetooth, etc.). The mobile device 700 also includes various other components, such as a positioning system 720 (e.g., a global positioning satellite transceiver), one or more accelerometers 722, one or more cameras 724, an audio interface 726 (e.g., a microphone, an audio amplifier and speaker, and/or an audio jack), and other storage devices 728. Other configurations may also be employed.

In an exemplary embodiment, the mobile operating system, various applications, and other modules and services may be embodied by instructions stored in memory 704 and/or storage 728 and processed by processing unit 702. User preferences, service options, and other data may be stored in memory 704 and/or storage device 728 as a persistent data store. EUP module 750, communicatively coupled to processor 702 and memory 704, may enable one or more capabilities of the personalized user experience delivery system disclosed herein.

The EUP system disclosed herein provides a solution to the technical problem necessary for a user to desire to participate in a large number of groups and to select and customize profiles for different groups. Specifically, the EUP system disclosed herein provides an unconventional technical solution to this technical problem by: the group administrator is allowed to create group-specific fields for users participating in the group, and the user wishes to overlay the display of certain fields in his profile with other fields as appropriate for the particular group.

A method for providing an extensible user profile comprising: receiving a request from a group administrator to create a new group for a group of users of an application; providing a group formation user interface to the group administrator, wherein the group formation user interface allows the group administrator to add group-specific fields; creating a group table including the group-specific field; linking the group table to a user profile table for the group of users. In one implementation, the method further comprises: presenting a group join user interface to a user joining the group, wherein the group join user interface presents the group-specific field. In an alternative implementation, the method further comprises: receiving values for one or more of the group-specific fields from the users joining the group, and displaying the values for the group-specific fields to other members of the group.

In one implementation of the method, at least one of the group-specific fields overrides a field in the user profile. Alternatively, the user profile comprises one or more group join fields for one or more groups joined by the user, the method further comprising: adding the group to the group join field. Alternatively, the method further comprises: linking the group table to the user profile table based on the group join field. In one implementation, the group-specific field is shared between at least two or more groups. In another implementation, one or more of the group-specific fields are exposed to one or more other groups specified by the user. Alternatively, one or more of the group-specific fields are exposed to one or more other groups specified by the group administrator.

A physical article comprising one or more tangible computer-readable storage media encoding computer-executable instructions for executing a computer process on a computer system, the computer process comprising: receiving a request from a group administrator to create a new group for a group of users of a social networking application; providing a group formation user interface to the group administrator, wherein the group formation user interface allows the group administrator to add group-specific fields; creating a group table including the group-specific field; linking the group table to a user profile table for the group of users; presenting a group join user interface to a user joining the group, wherein the group join user interface presents the group-specific field.

In one implementation, the computer-executable instructions further comprise: receiving values for one or more of the group-specific fields from the users joining the group. In another implementation, the computer-executable instructions further comprise: displaying the value of the group-specific field to other members of the group. In another implementation, at least one of the set of specific fields overrides a field in the user profile table. Alternatively, the user profile comprises a group join field comprising a list of one or more groups joined by the user, the method further comprising: adding the group to the group join field. Alternatively, the computer-executable instructions further comprise: linking the group table to the user profile table based on the group join field. Alternatively, one or more of the group-specific fields are exposed to one or more other groups specified by at least one of the user and the group administrator.

A system for providing an extensible user profile, comprising: a memory; one or more processor units; an Extensible User Profile (EUP) module stored in the memory and executable by the one or more processor units, the EUP module configured to: providing a group formation user interface to the group administrator, wherein the group formation user interface allows the group administrator to add group-specific fields for a group of users of a social networking application and receive a plurality of group-specific fields from the group administrator; a user profile manager application stored in the memory and executable by the one or more processor units, the user profile manager application configured to: creating a group table comprising the group-specific fields, and linking the group table to a user profile table.

In one implementation, the EUP module is further configured to present a group join user interface to users joining the group, wherein the group join user interface presents the group-specific fields. Alternatively, the user profile manager application is further configured to add one or more groups to a group join field of the user profile table. Alternatively, at least one of the set of specific fields overrides a field in the user profile.

The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended. Furthermore, structural features of different embodiments may be combined in another implementation without departing from the claims as recited.

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:顺序管理系统、顺序管理装置及程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!