A user of an application can view information associated with a network service by interacting with the application on the user's computing device. In some instances, the network service can transmit data to the computing device to cause the application to display certain content to the user.
Examples described herein provide a system that generates and presents an interactive in-application notification or message as part of a user interface of an application. As compared to a standard notification that may be presented in an application, the interactive in-application notification described herein includes an interactive feature that can be manipulated by a user via user input, such as a gesture input. As referred to herein, a gesture input can correspond to a user contact and movement on a touch-sensitive display using a finger or pointing device (e.g., a tap and drag movement). When the user interacts with the interactive feature, the interactive in-application notification can dynamically change its content. For example, the interactive in-application notification can dynamically change its content to better educate the user about the application or associated network service (e.g., inform the user about a particular feature, about a new offer, about how something works, etc.). In this manner, the user can view the information in greater detail (and thus, understand what the notification is informing the user of) as he or she interacts with the interactive feature, as opposed to the user simply ignoring and dismissing the notification from the application.
According to some examples, the system can be implemented on a mobile computing device through use of at least an application that can communicate with a remote system over one or more networks. In other examples, such a remote system can correspond to a service arrangement system that communicates with a service application running on a user's computing device. As referred to herein, a service arrangement system can provide a network service in which requesters can make requests for services and services providers can be selected or assigned to provide those services. The service application can receive data in connection with a location-based service from the service arrangement system. Additionally, the service arrangement system can display information about the service on the service application. In some examples, the service application can receive data and/or be triggered to display an interactive in-application notification as part of the user interface of the service application.
In some examples, the service application can run on a computing device of a user and present, on a touch-sensitive display of the computing device, a user interface (UI). The UI can present information associated with the service arrangement system. According to variations, the UI can include a set of selectable features that each corresponds to a service option or type that can be requested by the user and/or other content associated with the service arrangement system. The service application can be triggered to present an in-application notification as part of the UI. Additionally the in-application notification can include graphic content and/or textual content. Furthermore the in-application notification can include an interactive sliding feature that is responsive to user input. The service application can receive, via the touch-sensitive display, a user input corresponding to a gesture in which the interactive sliding feature of the in-application notification is moved from a first position to a second position. As the interactive sliding feature moves, the graphic content of the in-application notification can be dynamically adjusted accordingly.
Depending on implementation, the system can display different in-application notifications based on prior historical data. The service application can store information locally about prior historical data or can receive data from the remote system that causes the in-application notification to be displayed based on prior historical data. According to some examples, prior historical data can indicate whether the user has interacted with a previous in-application notification, what the in-application notification was pertaining to (e.g., what was the content or subject matter of the in-application notification), and/or whether the user has provided input to request a service relating to the in-application notification or to specify a parameter for the service, etc. In other examples, when the system determines that an in-application notification (corresponding to a particular content) is to be displayed, the system can determine whether the user has previously interacted with the in-application notification. If the user has previously viewed and/or interacted with the in-application notification, the system can cause a different notification, as opposed to the in-application notification, to be displayed. On the other hand, if the user has not previously viewed and/or interacted with the in-application notification, the system can cause the in-application notification to be displayed.
Still further, the in-application notification can pertain to or be associated with a service or a feature, or a promotion or update to a service or a feature, that is provided by the service arrangement system. Based on the subject matter of the in-application notification, the content (e.g., graphical and/or textual content) of the in-application notification can be dynamically adjusted so as to provide informative context for the user as the user interacts with the interactive sliding feature.
In some examples, the interactive sliding feature can be provided on a track and move along the track between a first position and a second position (e.g., start point and end point). In other examples, the interactive sliding feature can correspond to a feature that is a part of the graphical content that can move along a graphic path between a first position and a second position.
Among other benefits and technical effect, examples described herein improve mobile messaging or in-application notification technology. The examples contemplate that many users of client applications ignore or do not give full attention to messages or notifications that are sent to their devices. Typically, a user can quickly dismiss a notification by providing input on a selectable button (e.g., selecting “Close” or “X”) or by providing input on a portion of the screen away from the notification. Additionally, because the amount of real estate of a display screen of a device is limited in size, typical notifications can contain only a very limited amount of content. The content may not necessarily be helpful or effective in informing a user of the information the notification is meant to portray. As compared to a typical notification, the in-application notification as described herein can educate the user more efficiently by dynamically changing the content in an informative way so that a user can understand the operation of a service or what the notification is about as the user interacts with an interactive feature of the notification. Furthermore, the user's interaction with the interactive feature can dismiss the notification, thereby requiring the user to have to interact with the notification to dismiss the notification.
As used herein, a client device, a computing device, and/or a mobile computing device refer to devices corresponding to desktop computers, cellular devices or smartphones, personal digital assistants (PDAs), laptop computers, tablet devices, etc., that can provide network connectivity and processing resources for communicating with the service arrangement system over one or more networks. In another example, a computing device can correspond to an in-vehicle computing device, such as an on-board computer. Also, as described herein, a user, can correspond to a requester of a network service or a service provider (e.g., a driver of a vehicle) that provides location-based services for requesters.
Still further, examples described herein relate to a variety of location-based (and/or on-demand) services, such as a transport service, a food truck service, a delivery service, an entertainment service, etc., to be arranged between requesters and service providers. In other examples, the system can be implemented by any entity that provides goods or services for purchase through the use of computing devices and network(s). For purpose of simplicity, in examples described herein, the service arrangement system can correspond to a transport arrangement system that arranges transport and/or delivery services to be provided for requesters by drivers of vehicles who operate service applications on respective computing devices.
One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically, as used herein, means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device. A programmatically performed step may or may not be automatic.
One or more examples described herein can be implemented using programmatic modules, engines, or components. A programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
Some examples described herein can generally require the use of computing devices, including processing and memory resources. For instance, one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers, desktop computers, cellular or smartphones, personal digital assistants (e.g., PDAs), laptop computers, printers, digital picture frames, network equipment (e.g., routers) and tablet devices. Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).
Furthermore, one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples described herein can be carried and/or executed. In particular, the numerous machines shown with examples described herein include processor(s) and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smartphones, multifunctional devices or tablets), and magnetic memory. Computers, terminals, network enabled devices (e.g., mobile devices, such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, examples may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
System Description
As referred to herein, the service application 110 can correspond to a program (e.g., a set of instructions or code) that is downloaded and stored on the computing device. When running on the computing device, the service application 110 can communicate with the service arrangement system 170 over one or more networks (e.g., cellular network, wireless local area network), and/or other network services. The service arrangement system 170 can be implemented on network side resources, such as on one or more computing systems, servers, or data centers, and/or implemented through other computer systems in alternative architectures (e.g., peer-to-peer networks, etc.). In some examples, the service application 110 can correspond to a requester client application to enable a requester user to view information about a network service and to make a request for a location-based service, or can correspond to a provider client application to enable a service provider to receive invitations for providing services from the service arrangement system. For illustrative purposes, the service application 110 is described in
In some examples, the service application 110 can include an application manager 120, a presentation component 130, a set of databases 140, and a service interface 150. The service application 110 can also include other data, such as content to be displayed as UI features for the service application 110, and other dynamic or static data associated with the user or the service application 110. For purpose of simplicity, other information and components of the service application 110 are not illustrated in
A user of the system 100 can launch and operate the service application 110 to view information about one or more service options available to the user. According to some examples, the service application 110 can provide user information (e.g., a user identifier and/or state information) and/or user credentials to the service arrangement system 170 when the service application 110 is launched. The application manager 120 can also communicate with the location determination component 160, which can communicate with a Global Positioning System (GPS) receiver or component of the computing device or other wireless communication sub-systems, to receive or retrieve the location or GPS data 161 (a location data point, such as a latitude and longitude coordinate) corresponding to the current location of the computing device. The service application 110 can provide the current location information 151 of the user/computing device (e.g., the GPS data 161 or based on the GPS data 161) to the service arrangement system 170, e.g., periodically and/or in response to certain user input on the service application 110.
Based on the location information 151, the service arrangement system 170 can provide a set of service information 171 to the service application 110. Depending on implementation, a variety of service options or types may be available to a user depending on where the user is. For example, in San Francisco, Calif., five service options or vehicle types may be available for requesting by a user, whereas in Austin, Tex., three service options or five different service options, as compared to service options in San Francisco, may be available for requesting by the user. The application manager 120 can cause the presentation component 130 to display information about the service options for the user at the user's location, including graphics showing locations of service options (e.g., vehicle images) on map tiles, using the set of service information 171. In some examples, the application manager 120 can also cause the presentation component 130 to display a selection feature UI in which the user can select from the different service options to view information about the selected service option (e.g., estimated time of arrival to the user's current location or specified pickup location, pricing information for the selected service option, size of the vehicle of the service option, etc.).
In some instances, the service arrangement system 170 can transmit a message 173 to the service application 110 to cause the service application 110 to display a notification for the user. For example, an entity that operates or controls the service arrangement system 170 may offer new features or services that were previously unavailable at a geographic region or may offer new promotions, deals, advertisements, etc., or updates/changes to current services or features of services. According to some examples, the service arrangement system 170 can transmit a message 173, which can trigger the service application 110 to display an in-application notification to educate or provide information about a service, feature, changes, etc., to the user. Depending on implementation, the service arrangement system 170 can transmit the message 173 based on one or more factors. Example factors can include: (i) the user identifier, (ii) the location information 151, (iii) the services available for the user at the location information 151, (iv) information about new notifications that are generated at the service arrangement system 170, (v) prior historical data associated with the service application 110 and/or the user, and/or (vi) specified user input received via the service application 110.
In some examples, the application manager 120 can receive the message 173 and cause the presentation component 130 to present an in-application notification 133, as part of the user interface 131 (U1131) of the service application 110, on a display of the device. Depending on the implementation, in some examples, the message 173 can include data about the in-application notification 133, such as the type of notification, the graphic details of the notification (e.g., pixel dimensions, color scheme), graphic content and/or textual content, and/or selectable features of the notification. Furthermore, the presentation component 130 can use the data from the message 173 to generate and present the in-application notification 133. In other examples, the application manager 120 and/or the presentation component 130 can use the data in the message 173 to select the appropriate notification type and/or template from a notifications database of the set of databases 140. The presentation component 130 can use the data in the message 173 and other stored information about the notification to generate and present the in-application notification 133. In some examples, depending on the data of the message 173 (e.g., depending on what the notification is for or associated with, or depending on the type of notification) and/or depending on stored user data (e.g., prior historical data associated with the user), the presentation component 130 can present an interactive in-application notification 133 or a static, non-interactive in-application notification 133.
In a use case example, a user can select or specify a particular service option (e.g., a vehicle type) on the UI 131 of the service application 110 via a user input 132. The service application 110 can be instructed to display an in-application notification 133 regarding the selected service option. In some examples, the service application 110 can receive a message 173 to display a notification when the set of service information 171 is received, and in response to the user input 132, can present the in-application notification 133. In other examples, the service application 110 can provide data about the user input 132 to the service arrangement system 170, which can then transmit the message 173 to the service application 110. Still further, in other examples, the user can provide input 132 to specify a parameter for a pickup location (and/or a parameter for a destination location) for the service option by selecting a “set pickup location” feature or “make a request” feature on the UI of the service application 110. This can trigger the service application 110 to present the in-application notification 133 associated with the service option.
If the service application 110 displays an interactive in-application notification 133, as part of the UI 131, the in-application notification 133 can include graphic content (and/or textual content) and an interactive sliding feature that is responsive to user input. The graphic content and/or textual content can correspond to the subject of the notification 133, such as to inform the user about a promotion or price deal, a new feature or change to a service option, or a new service option, etc. The interactive sliding feature can be positioned, in the in-application notification 133, at a first position on a track or path (e.g., at default when the in-application notification 133 is displayed), and can be moved along the track or path from the first position to a second or end position.
The user can interact with the interactive slide feature, and as a result of the interaction, the presentation component 130 can dynamically adjust the graphic content within the in-application notification 133. For example, in some examples a user provides gesture input 134 on the display screen to select and move the interactive sliding feature from the first position to the second position. The change in positioning of the interactive sliding feature can cause the presentation component 130 to dynamically adjust the graphic content within the in-application notification 133. By dynamically adjusting the graphic content within the in-application notification 133, the user can visually and efficiently learn about the subject of the notification through illustrations or movement of the graphic content. The dynamic adjustment can further be based on the rate or speed at which the user controls or moves the interactive sliding feature. In other examples, the graphic content can be dynamically adjusted in reverse if the user provides gesture input 134 on the display screen to select and move the interactive sliding feature from the second position, back towards the first position.
In some examples, moving the interactive sliding feature to the second position (e.g., and stops the gesture input 134) can cause the presentation component 130 to further modify the in-application notification 133. For example, the presentation component 130 can further modify the in-application notification 133 by: (i) removing the interactive sliding feature from the in-application notification 133, (ii) changing a size and/or color schemes of the in-application notification 133, (iii) adding, removing, and/or changing the graphic and/or textual content of the in-application notification 133, (iv) providing a selectable feature to dismiss the in-application notification 133, and/or (v) changing the in-application notification 133 from an interactive notification to a static notification. In other examples, when the user moves the interactive sliding feature to the second position, the presentation component 130 can dismiss or remove the in-application notification 133 or dismiss the in-application notification 133 after a specified duration of time (e.g., five seconds). In some examples, the in-application notification 133 can be prevented from being dismissed from the UI 131 of the service application 110 unless the interactive sliding feature is moved from the first position to the second position.
Although the example of
Methodology
Method 200, begins at step 210, with a client or service application presenting a UI of a client application on a computing device. For example, as illustrated in
Furthermore, the computing device can be operated by a requester user of a network service or a service provider of the network service. The UI can include information associated with the network service that is available to a user, such as based on the user's current location or other user parameter or characteristic. In some examples, in connection with a delivery or transport service, the UI can include one or more selectable features each corresponding to a service option available for the user, a map of a geographic region of the current location of the computing device, selectable features for specifying one or more user-specified parameters, and/or graphic icons representing locations of service providers of a specified service option on the map.
At step 220, the client application can determine that an in-application notification is to be displayed. In some examples, depending on implementation, the client application can be instructed to present an in-application notification by instructions from a remote system. For example, as illustrated in
In other examples, the client application can determine that an in-application notification is to be presented based on user input. For example, as illustrated in
In some examples, the client application can determine an in application notification is to be presented based on user input and/or the historical data associated with the user or just based on the user's historical data. Historical data can include data related to whether the particular in-application notification has been presented before for the user, whether the user has provided previous user input in connection with the in-application notification, or whether the user has provided previous user input on the UI to specify a parameter of a service option associated with the in-application notification or made a request for the service option. Furthermore, as illustrated in
In some examples, the client application can be instructed to display an interactive in-application notification or display a static in-application notification. For instance, the client application can determine which type of in-application notification to present based on the data from the notification message and/or historical data associated with the user. In some examples, as illustrated in
In other examples a remote system instructs client application to present an interactive in-application notification or a static in-application notification. For example, as illustrated in
In step 230, the client application can present the interactive in-application notification, as part of the UI, that includes graphic content (and/or textual content) and an interactive sliding feature. For example, as illustrated in
Referring back to method 200, at step 240, the client application (e.g., service application 110) can receive user input corresponding to a gesture (e.g., gesture input 134) to move the interactive sliding feature on a UI (e.g., UI 131). For example, as illustrated in
In step 260, the client application can determine whether the interactive sliding feature has been moved to a specified position, such as the second position. According to examples, if the user has not moved the interactive sliding feature to the specified position, the client application can continue to dynamically adjust the graphic content of the in-application notification. For instance, as illustrated in
In step 270, if the user has moved the interactive sliding feature to the specified position, in response, the client application can make one or more changes to the in-application notification and/or dismiss the in-application notification. In some examples, depending on implementation, the client application (e.g., the service application 110) can change the visual characteristics of the in-application notification by (i) removing the interactive sliding feature (and/or the track), (ii) changing textual and/or graphic content and/or providing new textual and/or graphic content, (iii) providing one or more selectable features that were previously not in the in-application notification (e.g., such as a feature to enable the user to dismiss or remove the in-application notification from the UI), (iv) changing the size of the in-application notification, and/or (iv) removing the in-application notification from the UI.
Use Case Examples
For purpose of simplicity, the examples of
When the user selects the interactive sliding feature 524 and begins to drag the interactive sliding feature 524 from the first position to the second position, the graphic content 522 can begin to dynamically adjust accordingly. According to examples, the graphic content 522 can dynamically adjust at a same speed or rate or at a different speed or rate as the movement of the interactive sliding feature 524. In
Referring to
As illustrated in
Hardware Diagram
The processor 610 can provide a variety of content to the display 630 by executing instructions stored in the memory resources 620. The memory resources 620 can store instructions for the service application 625. For example, the processor 610 is configured with software and/or other logic to perform one or more processes, steps, and other functions described with implementations, such as described by
In some examples, the computing device 600 can determine a location data point 665 of the current location of the computing device 600 from the GPS component 660. Based on the location data point 665, information about one or more services available at the location can be displayed on a UI 615. For example, the communications sub-systems 640 can provide the location data point 665 to a remote system and can receive data about the available service(s) for the user. In other examples, the service application 625 can display an in-application notification associated with a service option available to the user at the user's location. The user can interact with the in-application notification using gesture input 655 via one or more input mechanisms 650, such as a touch-sensitive display (e.g., in combination with the display 630), such as described in
It is contemplated for examples described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or system, as well as for examples to include combinations of elements recited anywhere in this application. Although examples are described in detail herein with reference to the accompanying drawings, it is to be understood that the concepts are not limited to those precise examples. Accordingly, it is intended that the scope of the concepts be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an example can be combined with other individually described features, or parts of other examples, even if the other features and examples make no mentioned of the particular feature. Thus, the absence of describing combinations should not preclude having rights to such combinations.
This application claims benefit of Provisional U.S. Patent Application No. 62/288,344, filed on Jan. 28, 2016; the aforementioned priority application being hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62288344 | Jan 2016 | US |