Content presentation method, content presentation device, computing device, and storage medium
By reusing previously presented content during fast scrolling, the problem of UI scrolling lag is solved, the scrolling experience is improved without affecting the server or network burden, and users are ensured not to watch content repeatedly.
Patent Information
- Application Number
- CN202010795323.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-10
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2040-08-10
AI Technical Summary
When users quickly slide the user interface, content presentation is prone to lag. Existing technologies such as optimizing server response time, preloading data, or limiting the sliding rate cannot completely solve this problem.
A data reuse strategy is adopted. When a fast slide is detected and there is no content to be presented, the presented content is selectively reused to ensure the continuity of the slide. The slide rate is judged by the threshold rate to decide whether to reuse the content.
It avoids content sliding jams and improves the user's sliding experience. At the same time, it does not increase server pressure or network bandwidth requirements, ensuring that users do not watch content repeatedly.
Smart Images

Figure CN114116080B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a content presentation method, a content presentation apparatus, a computing device, and a computer-readable storage medium. Background Art
[0002] With the development of computer technology, people are increasingly accustomed to using terminal devices such as smart phones, tablets, laptops, and desktop computers to browse various media content such as text, pictures, and videos. At present, a content presentation method that is becoming increasingly popular is that the content presented in the user interface slides as the user slides, and new content is loaded at its end. Examples of this content presentation method include waterfall flow or feed flow. When the user slides in the user interface at a normal rate, the terminal device can, for example, receive data including new content from the server and present it. However, when the user slides in the user interface at a higher rate, the content sliding rate will increase accordingly. At this time, it may be limited by the response speed of the server, the network transmission speed, and the rendering speed of the terminal device, etc., and it may not be possible to receive and present new content in time. Therefore, during the fast sliding process, the content sliding is prone to jamming, and it is impossible to slide continuously and quickly as the user expects. Summary of the Invention
[0003] In view of this, it is necessary to provide a method, apparatus, computing device, and storage medium for presenting content that can alleviate, mitigate, or even eliminate the above-mentioned problems.
[0004] According to one aspect of the present invention, a content presentation method is provided, comprising: receiving a first sliding operation from a user, wherein the first sliding operation causes content presented in a user interface to slide in a first direction; when there is no content to be presented and the sliding rate of the content presented in the user interface is higher than a threshold rate, selectively presenting content that has been presented in the user interface before the current time, wherein the content to be presented includes received content that has not yet been presented in the user interface. In some embodiments, the latter step may include checking whether there is content to be presented; in response to the absence of the content to be presented, determining whether the sliding rate of the content presented in the user interface is higher than a threshold rate; and in response to the sliding rate of the content presented in the user interface being higher than the threshold rate, selectively presenting content that has been presented in the user interface before the current time.
[0005] In some embodiments, the content presentation method further includes: when the content to be presented exists, presenting at least a portion of the content to be presented.
[0006] In some embodiments, the content presentation method further includes: when there is no content to be presented and the sliding rate of the content presented in the user interface is not higher than the threshold rate, waiting to receive new content available for presentation.
[0007] In some embodiments, the content presentation method further includes: in response to receiving new content available for presentation, presenting at least a portion of the new content.
[0008] In some embodiments, receiving a first sliding operation from the user includes: obtaining a sliding signal, wherein the sliding signal represents the sliding caused by the first sliding operation, the sliding signal includes a sliding parameter, and the sliding parameter includes a sliding rate of content presented in the user interface.
[0009] In some embodiments, receiving a first sliding operation from a user includes: obtaining a sliding signal, the sliding signal characterizing the sliding caused by the first sliding operation, the sliding signal including sliding parameters, the sliding parameters including a sliding distance and a sliding duration of the content presented in the user interface, and wherein the sliding rate of the content presented in the user interface is a ratio of the sliding distance to the sliding duration.
[0010] In some embodiments, the content presentation method further includes: obtaining a real-time sliding rate of the content presented in the user interface; in response to the real-time sliding rate decreasing from higher than the threshold rate to lower than the threshold rate, traversing the content that has been presented in the user interface before the current time, and deleting the repeatedly presented content.
[0011] In some embodiments, the content presentation method also includes: receiving a second sliding operation from the user, the second sliding operation causing the content presented in the user interface to slide in a second direction; presenting in the user interface the content that has been presented in the user interface before the current time based on the reverse order of presentation time, wherein the repeatedly presented content has been deleted.
[0012] In some embodiments, the selectively presenting the content that has been presented in the user interface before the current time includes: presenting at least one content with the earliest presentation time among the content that has been presented in the user interface before the current time but has not been repeatedly presented.
[0013] In some embodiments, the selectively presenting the content that has been presented in the user interface before the current time includes: randomly presenting at least one content among the content that has been presented in the user interface before the current time.
[0014] In some embodiments, the content includes at least one of picture content and video content.
[0015] In some embodiments, the presenting includes presenting in the form of a waterfall.
[0016] According to another aspect of the present invention, a content presentation device is provided, comprising: a receiving module configured to receive a first sliding operation from a user, wherein the first sliding operation causes content presented in a user interface to slide in a first direction; and a presentation module configured to selectively present content that has been presented in the user interface before the current time when there is no content to be presented and a sliding rate of the content presented in the user interface is higher than a threshold rate, wherein the content to be presented includes received content that has not yet been presented in the user interface.
[0017] According to yet another aspect of the present invention, there is provided a computing device comprising a memory and a processor, wherein the memory is configured to store computer-executable instructions thereon, and the computer-executable instructions, when executed on the processor, perform the method described in the above aspect.
[0018] According to yet another aspect of the present invention, a computer-readable storage medium is provided, on which computer-executable instructions are stored. When the computer-executable instructions are executed on a processor, the method described in the above aspect is performed.
[0019] The content presentation method provided in accordance with an embodiment of the present invention adopts a data reuse strategy. When a fast slide is detected but there is no content to be presented, the previously presented content is reused, thereby avoiding the occurrence of jamming in the content sliding, which helps to improve the user's sliding experience. At the same time, this method does not need to change the existing data request logic between the terminal device and the server, and does not increase the server pressure or network bandwidth requirements, thereby being able to solve the above-mentioned sliding jamming problem with lower resource occupancy. In addition, through subsequent deduplication operations, this method can ensure that users will not actually watch repeatedly presented content while experiencing smooth and continuous sliding, thereby avoiding deterioration of user experience due to repeated presentation.
[0020] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Further details, features and advantages of the present invention are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:
[0022] Figure 1 The following schematically illustrates an example scenario in which the content presentation solution proposed in this application can be applied;
[0023] Figure 2 Schematically illustrates an exemplary user interface diagram according to some embodiments of the present invention;
[0024] Figure 3 Schematically illustrates an example flow chart of a content presentation method according to some embodiments of the present invention;
[0025] Figure 3a Schematically illustrating sub-steps of the content presentation method according to some embodiments of the present invention;
[0026] Figure 4 Another exemplary flow chart of a content presentation method according to some embodiments of the present invention is schematically shown;
[0027] Figure 5 Schematically shows an example block diagram of a content presentation device according to some embodiments of the present invention;
[0028] Figure 6 An example block diagram of a computing device according to some embodiments of the present invention is schematically shown. DETAILED DESCRIPTION
[0029] Before describing the embodiments of the present invention in detail, some related concepts are first explained:
[0030] 1. Waterfall flow: A currently popular layout method, commonly seen on websites or applications that provide browsing services for image and video content. In this layout method, content can be presented in the user interface in the form of cards. The user interface can present multiple columns of cards, which can be of equal width but not equal height; or, the user interface can present multiple rows of cards, which can be of equal height but not equal width. When the user slides the card in a specific direction, a card containing new content can be presented at the end of the slid card. In this way, the user can browse new content continuously by sliding, and can browse previously browsed content by sliding in the opposite direction.
[0031] 2. Feed: A continuously updated information stream that presents content to users, commonly found on various social and information websites or applications. It can combine multiple news sources that a user has actively subscribed to into a content aggregator, helping users continuously access the latest content from their subscriptions. In some implementations, the feed can be presented in a user interface as a waterfall or other format.
[0032] Figure 1 An example scenario 100 to which the content presentation solution proposed in this application can be applied is schematically shown. As shown in the figure, the scenario 100 may include a terminal device 120 and a server 130. The terminal device 120 and the server 130 may be communicatively coupled together via a network 140.
[0033] In some embodiments, user 110 can use terminal device 120 to browse various media content, such as text, images, and videos. It should be understood that the term "user" in this context refers to an object that provides operations such as sliding, and can be a person, animal, machine, or other tool, or even the terminal device itself. For example, the terminal device may include instructions that, at runtime, cause the content presented in the interface to slide. The present invention does not limit the specific type of user. Terminal device 120 may include a display device for displaying content and an input device for receiving user input. Examples of display devices include a touch screen, a non-touch screen, or a projector. Examples of input devices include a touch screen, a mouse, a touchpad, and a camera for capturing gestures. The architecture of terminal device 120 will be described in further detail below. For example, user 110 can use the input device of terminal device 120 to perform a sliding operation, such as sliding a finger on a touch screen or scrolling a mouse wheel, to cause the content in the user interface displayed on the display device of terminal device 120 to slide, thereby refreshing the content presented in the user interface so that new content appears at the end of the currently displayed content. Upon receiving a swipe action from user 110, terminal device 120 may check whether there is any local content to be presented, i.e., content received from server 130 but not yet presented. If so, at least one of the content to be presented is presented after the content currently presented in the user interface. If not, the terminal device 120 requests new content from server 130 via network 140. Alternatively, the terminal device may be configured to request new content from the server via network 140 when a preset number (e.g., 2, 3, 4, etc.) of content to be presented exists locally. The preset number may be related to the number of content that can be presented simultaneously in the user interface. Upon receiving a request from terminal device 120, server 130 may send data containing the new content to the terminal device 120 in response to the request. After receiving the data from server 130, terminal device 120 may read the new content and add it to a list of content to be presented for presentation, or directly add it to a presentation list for presentation. Presentation, as described herein, may optionally include directly presenting the content in the user interface, or may include presenting the content in the user interface after processing such as cropping or rendering.
[0034] The terminal device 120 can be any appropriate computing device, including but not limited to a smartphone, smartwatch, tablet computer, laptop computer, desktop computer, etc. A content presentation application 121 for providing content browsing functionality or an application interface for accessing the content presentation application 121 can be deployed on the terminal device 120. A user can use the content presentation application 121 to browse corresponding media content, and the content presentation application 121 can be configured to execute the content presentation method provided in accordance with an embodiment of the present invention. It should be understood that the content presentation application 121 can be, for example, a client program, a browser providing web browsing functionality, a web program accessible via a browser, a mini-program accessible via other applications, etc.
[0035] Server 130 can be a single server or a server group, or can also be other computing devices with certain computing and communication capabilities.In certain embodiments, terminal device 120 and server 130 can also be integrated.In this case, there can not be the network 140 in order to realize the communication between terminal device 120 and server 130, because both can realize information exchange by the inherent communication connection of equipment.Alternatively, can store the media content that can be presented for terminal device 120 on server 130, or can obtain this media content from independent database by network 140.
[0036] The network 140 may be a wired network connected via cables, optical fibers, or a wireless network such as 2G, 3G, 4G, 5G, Wi-Fi, Bluetooth, ZigBee, Li-Fi, or the like.
[0037] Figure 2 Schematically illustrates an exemplary user interface 200 according to some embodiments of the present invention. Figure 1 The display device of the terminal device 120 shown in the figure is used to display the user interface 200 to the user 110. As shown in the figure, the user interface 200 may include a content presentation area 210, which is used to present content to the user, such as the pictures AD shown in the figure, or other forms of content such as video, text, audio, or a combination of two or more of these different forms of content. In addition, although the content presentation area 210 shown in the figure shows four picture contents, it can also show any other number of contents. The present invention does not impose any restrictions on the type and quantity of content presented in the user interface.
[0038] When the user interface 200 is displayed on, for example, a touch screen, the user can refresh the presented content by sliding a finger on the touch screen, for example, Figure 2 As the user slides his finger, the currently displayed content (i.e., picture AD) will slide upwards and will be as shown in the following figure. Figure 1The new content is presented below the currently presented content as described. However, when the user slides his finger at a high rate, the sliding rate of the presented content will also increase accordingly. When the sliding rate of the presented content is too high, for example, greater than a certain threshold, due to limitations such as the access speed and processing power of the server, network bandwidth, etc., the terminal device may not be able to receive the new content requested from the server in a timely manner, or due to limitations such as the processing speed of the terminal device, it may not be able to process the received new content in a timely manner (such as cropping, rendering, etc.) to present it, so that the sliding of the content presented in the user interface will be stuck, and a waiting symbol such as that indicated by 220 will be presented. This will result in the inability to achieve the fast sliding effect that the user expects when performing a fast sliding operation, thereby affecting the user's sliding experience.
[0039] To address the above problems, there are several typical solutions in the related art.
[0040] The first solution is to address the aforementioned lag issue by optimizing the server-side data request response time. Specifically, the amount of new content included in each request can be increased, and the data return time can be reduced as the amount of new content returned increases. By reducing the server request time, it is possible to ensure that the data requested from the server is returned to the terminal device before the user has scrolled to the end of the currently displayed content. This can reduce the possibility of lag when the user scrolls quickly. However, no matter how the server is optimized, the server-side data request response time cannot be zero. Whenever data is requested from the server, there will inevitably be a certain response time, such as several hundred milliseconds. Alternatively, due to network transmission speed limitations, the actual request-response time may be even longer. Therefore, optimizing the server-side data request response time can only minimize the possibility of lag during scrolling. However, lag may still occur when the user's scrolling rate exceeds a certain threshold.
[0041] The second solution is to solve the above-mentioned jamming problem through a data preloading strategy. Specifically, for example, in the case of a waterfall flow, the content in the waterfall flow can be presented in the form of cards, and the content data received from the server will be preloaded as cards available for presentation. During the sliding process, when there are a predetermined number of cards that have been generated but not presented, a certain number of new cards can be preloaded, such as the maximum number of cards that can be accommodated in the user interface at the same time. In this way, the number of cards that have not yet been presented can be increased, thereby increasing the number of cards that the user can slide, avoiding the phenomenon of sliding jams. However, this solution can only provide users with more slidable cards, but the preloading of content data is still limited by the request data response time on the server side. Therefore, this solution cannot completely solve the jamming problem caused by users sliding too fast.
[0042] The third solution is to solve the aforementioned lag problem by controlling the sliding speed. Specifically, the rate at which content slides caused by the user's sliding operation can be reduced, or the maximum sliding speed of the content can be limited, so that the user cannot slide the content presented in the user interface too quickly, thereby providing more time for requesting data from the server. This solution can theoretically completely avoid the sliding lag problem, but it limits the user's sliding speed, which will have a negative impact on the user experience to a certain extent.
[0043] Based on the above analysis, the present invention provides a content presentation method, which can solve the above-mentioned lag problem during fast sliding, and is not limited by the request data response time on the server side, and will not affect the user's sliding experience. Figure 3 An exemplary flow chart of a content presentation method 300 according to some embodiments of the present invention is schematically shown.
[0044] In step 310, a first sliding operation is received from the user, and the first sliding operation causes the content presented in the user interface to slide in a first direction. In some embodiments, the content may include at least one of picture content and video content. In addition, the content may also include other forms of content such as text content, audio content, etc. In some embodiments, the presentation includes presentation in the form of a waterfall flow, but may also include presentation in other forms such as a feed flow. And, as mentioned above, the presentation may include direct presentation or presentation after certain processing.
[0045] For example, user 110 may perform a first sliding operation via an input device of terminal device 120 to cause content presented in a user interface displayed on a display device of terminal device 120 to slide in a first direction. A content presentation application 121 deployed on terminal device 120 may receive the first sliding operation. For example, the input device of terminal device 120 may receive the first sliding operation from the user and generate a signal representing the first sliding operation, such as an electrical signal generated by a touch screen. Content presentation application 121 may capture this signal, thereby receiving the first sliding operation. Alternatively, for example, terminal device 120 may include an operating system such as Android, iOS, Windows, or Linux, and content presentation application 121 may be installed on this operating system. The operating system may capture the signal representing the first sliding operation generated by the input device of terminal device 120, process the signal, and generate another signal, such as one representing the sliding operation in the current user interface caused by the first sliding operation. Content presentation application 121 may capture this other signal, thereby indirectly receiving the first sliding operation. Alternatively, content presentation application 121 may directly or indirectly receive the first sliding operation through other means. In addition, it should be understood that the first direction refers to a direction that causes the content presented in the user interface to be refreshed to present new content at the end thereof. Typically, the first direction may be an upward direction, for example Figure 2 The direction is shown by the arrow in the interface 200, but it can also be other directions according to the needs of actual applications.
[0046] In some embodiments, receiving a first sliding operation from a user may include obtaining a sliding signal, which may represent the sliding caused by the first sliding operation and may include sliding parameters, which may include the sliding rate of the content presented in the user interface. For example, upon receiving the first sliding operation from the user, the content presentation application 121 may generate the sliding signal based on characteristics of the first sliding operation (e.g., the distance or start and end coordinates of the user's finger sliding on the touch screen and the time, the angle and time of the user's mouse wheel scrolling, etc.). Alternatively, the sliding signal may be generated by, for example, an operating system based on the characteristics of the first sliding operation, so that upon receiving the first sliding operation from the user, the content presentation application 121 may obtain the sliding signal from the operating system. Alternatively, if the content presentation application 121 receives the first sliding operation by capturing another signal generated by the operating system as described above, the other signal may be directly used as the sliding signal, etc. Furthermore, for example, the sliding rate of the content presented in the user interface may be represented by the distance the content slides per unit time, where the distance may be measured, for example, in pixels of a display device.
[0047] In some embodiments, receiving a first sliding operation from a user may include: obtaining a sliding signal, which may characterize the sliding caused by the first sliding operation, and the sliding signal may include sliding parameters, which may include the sliding distance and sliding duration of the content presented in the user interface. In these embodiments, the process of obtaining the sliding signal may refer to the method described in the previous paragraph. Exemplarily, the sliding distance of the content presented in the user interface may also be measured in units such as pixels of a display device as described above. Thereafter, the sliding distance and sliding duration of the content presented in the user interface may be used to calculate the sliding rate.
[0048] In step 320, when there is no content to be presented and the sliding rate of the content presented in the user interface is higher than a threshold rate, content that has been presented in the user interface before the current time is selectively presented, where the content to be presented includes received content that has not yet been presented in the user interface. Unlike the situation in step 320, in some embodiments, when there is content to be presented, at least a portion of the content to be presented is presented. Also, in some embodiments, when there is no content to be presented and the sliding rate of the content presented in the user interface is not higher than a threshold rate, waiting is performed to receive new content available for presentation; when new content available for presentation is received, at least a portion of the new content is presented.
[0049] In some embodiments, step 320 may be performed by Figure 3a Steps 321 to 323 are implemented as shown.
[0050] In step 321, a check is performed to determine whether there is content to be presented, where the content to be presented includes content received before the check is performed and which has not yet been presented in the user interface. In some embodiments, upon receiving data containing new content from the server 130, the terminal device 120 may temporarily store the new content that does not need to be presented at the moment, for example, in a list of content to be presented. After receiving the above-mentioned first sliding operation, the content presentation application 121 may, for example, check whether there is content to be presented in the list of content to be presented. Alternatively or additionally, for example, when the list of content to be presented is empty, the content presentation application 121 may check whether the server has returned data containing new content.
[0051] In step 322, in response to the absence of content to be presented, it is determined whether the sliding rate of the content presented in the user interface is higher than a threshold rate. Optionally, the content presentation application 121 can obtain the sliding rate of the content presented in the user interface in different ways. For example, in some embodiments, the content presentation application 121 can directly receive a signal including the content sliding rate from, for example, an operating system, so that it can be directly compared with the threshold rate. In other embodiments, the content presentation application 121 can calculate the content sliding rate based on the characteristics of the captured first sliding operation itself. For example, in the case of a touch screen, the content presentation application 121 can obtain, for example, the sliding distance (or starting and ending points) and sliding time of the user's finger on the screen, and then calculate the ratio of the sliding distance (or the distance between the starting and ending points) to the time as the finger sliding rate, and then convert it into the sliding rate of the content presented in the user interface according to a predetermined rule, or convert the finger sliding distance and sliding time into the sliding distance and sliding time of the content presented in the user interface according to a predetermined rule, and then calculate the sliding rate of the content. In some other embodiments, the content presentation application 121 may receive a signal including the content sliding distance and sliding duration from, for example, an operating system, and may then calculate the ratio of the sliding distance to the sliding duration as the sliding rate of the content presented in the user interface, and so on.
[0052] Exemplarily, the threshold rate may be pre-set. Alternatively, the threshold rate may be automatically set by the content presentation application 121 according to predetermined rules. The threshold rate may be set based on whether a general user can clearly see the presented content, which may be related to factors such as the size of the display of the terminal device 120, the resolution, the operating system type, the type of content presented, and the like. In the present invention, the threshold rate may serve as a dividing rate between fast sliding and non-fast sliding. When the content presented in the user interface slides at a rate higher than the threshold rate, it is fast sliding, and the user will not be able to clearly see the content presented in the user interface; and when the content presented in the user interface slides at a rate lower than the threshold rate, it is non-fast sliding, and the user can clearly see the content presented in the user interface.
[0053] In contrast to step 322, in response to the existence of content to be presented, at least a portion of the content to be presented may be presented. Exemplarily, when the content presentation application 121 detects that, for example, there is content in the list of content to be presented that has not been presented, or the server has just returned new content, it may present one or more of the content at the end of the currently presented content. For example, the selection of which content or content to be presented may be based on the time when the content to be presented is received by the terminal device. Alternatively, the presentation order of the content to be presented may be determined in other ways, for example, the content to be presented may have different priorities, and content with a higher priority may be presented first, and so on.
[0054] In step 323, in response to the sliding rate of the content presented in the user interface being higher than the threshold rate, the content that has been presented in the user interface before the current time is selectively presented. Exemplarily, the content presentation application 121 can cache the content that has been presented in the user interface in the order of presentation time, for example, in a list of presented content, so that when the user intends to view the presented content, these contents can be presented in the user interface in reverse order of presentation time, for example. Generally speaking, reading data from the cached list of presented content is very fast, which is sufficient to meet the user's needs for fast sliding. Therefore, the problem of jamming during fast sliding can be solved by reusing these presented contents. When the user quickly slides (i.e., slides at a rate higher than the threshold rate) the content presented in the user interface, in fact, the user cannot see the specific content presented in the user interface. Therefore, this reuse strategy for presented content does not affect the user's browsing experience during fast sliding.
[0055] In some embodiments, selectively presenting content that has been presented in the user interface before the current time includes: presenting at least one content with the earliest presentation time among the content that has been presented in the user interface before the current time but has not been presented repeatedly. Exemplarily, as described above, content that has been presented in the user interface can be cached in a list of presented content based on the order of presentation time. Generally speaking, people may have less clear memories of content that was presented earlier. Therefore, the presented content can be reused in sequence based on the order of their presentation time, that is, the presented content can be repeatedly presented in the user interface, with priority given to repeatedly presenting content that was presented earlier.
[0056] In other embodiments, selectively presenting content that has been presented in the user interface before the current time includes randomly presenting at least one of the content that has been presented in the user interface before the current time. Generally speaking, people may be more impressed by a number of content arranged in a specific order than by a single content. In particular, when the presented content is a picture or video, a number of content arranged in a specific order may form a specific color combination or have other easily captured associations. When these contents are presented again in the same order, they may easily evoke a sense of familiarity in the user. Therefore, it is also possible to break the presentation time order and randomly present the cached content that has been presented in the user interface.
[0057] Furthermore, in other embodiments, other methods can be used to selectively present content that has been presented in the user interface before the current time. For example, for convenience, one or more content that has been presented in the user interface can be reused; or, the presented content can be filtered based on predetermined conditions, such as the amount of storage space occupied by the content, the content type (such as when presenting a mixture of text, images, videos, etc.). In short, the specific strategy for selective presentation can be determined as needed.
[0058] In contrast to step 323, in response to the sliding rate of the content presented in the user interface being no higher than the threshold rate, new content available for presentation is waited for. Subsequently, in response to receiving the new content available for presentation, at least a portion of the new content may be presented. In some embodiments, when the sliding rate of the content presented in the user interface is no higher than the threshold rate, that is, when the user performs a sliding operation at a normal rate, the content presentation application 121 may request data containing new content from the server 130 via the communication interface of the terminal device 120 in accordance with a conventional data request process, and wait for the server 130 to return the data, and then read the new content contained in the returned data, and present one or more of the content as needed. The new content that has not been presented may be temporarily stored in the list of content to be presented as described above.
[0059] Furthermore, in some embodiments, the content presentation method 300 may further include: obtaining a real-time scrolling rate of content presented in the user interface; and in response to the real-time scrolling rate decreasing from above a threshold rate to below a threshold rate, traversing content that has been presented in the user interface before the current time and deleting duplicate content. For example, the content presentation application 121 may obtain the scrolling rate of content presented in the user interface as described above, and may obtain the scrolling rate in real time. It should be understood that "real-time" here may include periodically obtaining the scrolling rate at relatively small time intervals. Based on the obtained real-time scrolling rate, a change in the scrolling rate of the content in the user interface may be determined. When the scrolling rate of the content presented in the user interface decreases from above a threshold rate (i.e., fast scrolling) to below a threshold rate (i.e., non-fast scrolling), the content cached in the presented content list may be traversed and duplicate content may be deleted. Optionally, the user interface may be refreshed based on the deduplicated presented content list. In this way, it can be ensured that when the content sliding rate is reduced to a level that the user can clearly see the presented content, or when the user pauses the current sliding through other operations, or when the user tries to view the presented content, etc., the user will not see the repeated presentation of content, so as to avoid affecting the browsing experience.
[0060] In some embodiments, the content presentation method 300 may further include: receiving a second sliding operation from the user, the second sliding operation causing the content presented in the user interface to slide in a second direction; and presenting in the user interface the content that has been presented in the user interface before the current time based on the reverse order of the presentation time, wherein the repeatedly presented content has been deleted. It should be understood that the various descriptions above about receiving the first sliding operation from the user also apply to receiving the second sliding operation from the user. For example, the second sliding operation may be received in the same manner as the first sliding operation. The second direction may be a direction different from the first direction, for example, it may be a direction opposite to the first direction. Exemplarily, upon receiving the second sliding operation from the user (for example, Figure 2 ), when a sliding operation in the opposite direction of the arrow in the interface shown is performed, the content presentation application 121 can present the content cached in the presented content list in the user interface in reverse order of presentation time, wherein the presented content list has undergone the deduplication process described above, thereby ensuring that the user does not view duplicated content.
[0061] pass Figure 3 The content presentation method 300 shown can achieve fast sliding without lags, independent of server response speed, network transmission speed, terminal device processing speed, etc., and will not affect the user's normal browsing experience. Figure 3 The operation steps in the case of fast sliding and no content to be presented are emphasized to more clearly illustrate the main concept of the present invention. Figure 4 The example flow chart of the content presentation method 400 according to some embodiments of the present invention is shown to describe a complete implementation process of the content presentation method provided by the present invention. It should be understood that more details of each step are already described in the relevant Figure 3 The details are described in detail in the description and will not be repeated here.
[0062] In step 401 , a sliding operation from a user is received. The sliding operation may cause content presented in a user interface to slide so as to present new content at the end thereof.
[0063] In step 402, it is checked whether there is content to be presented. If there is content to be presented, the method 400 proceeds to step 407. In step 407, one or more of the content to be presented is presented. If there is no content to be presented, the method proceeds to step 403.
[0064] In step 403 , it is determined whether the content sliding rate caused by the sliding operation from the user is greater than a threshold rate.
[0065] If the content sliding rate is not greater than the threshold rate, method 400 proceeds to steps 408 and 409. In step 408, the process waits for the server to return data containing new content, and in step 409, the data returned from the server is received. Subsequently, method 400 proceeds to step 407. In step 407, one or more of the new content contained in the received data is presented.
[0066] If the content sliding rate is greater than the threshold rate, method 400 proceeds to step 404. In step 404, content that has been presented in the user interface is selectively presented, for example, by repeatedly presenting the content in the order of presentation time of the presented content, thereby ensuring that there is no lag when the user quickly slides the content.
[0067] In step 405 , it is determined whether the sliding speed of the content presented in the user interface decreases below a threshold speed, that is, whether the user can clearly see the specific content presented.
[0068] If the rate has not dropped below the threshold rate, the process proceeds to step 407 to present the content normally, including the repeated presentation of the content.
[0069] If it has dropped below the threshold rate, the process proceeds to step 405. In step 405, the list of contents presented in the user interface is deduplicated, and then in step 407, the contents presented in the user interface are refreshed based on the deduplicated list.
[0070] It should be understood that after receiving a sliding operation, steps 402, 403, 404, 405, etc. may be repeated multiple times. In other words, during the fast sliding of content, it is possible to continuously check whether there is content to be presented and obtain the sliding rate of the content presented in the user interface. When there is content to be presented, one or more of the content to be presented is directly presented; when there is no content to be presented, in response to the sliding rate being higher than the threshold rate, the content is presented as described in the previous section. Figure 3 As described in detail, previously presented content is selectively presented. Furthermore, once the sliding rate drops below a threshold rate, a deduplication operation is immediately performed to ensure that the user does not see repeated presented content, thereby avoiding affecting the normal browsing experience.
[0071] In addition, if Figure 4 As shown by the dotted line in the figure, the part I on the left side of the dotted line mainly involves the operations in the case of fast sliding. These operations have been Figure 3 Part II on the right side of the dotted line mainly involves operations in non-fast sliding situations. These operations can be the same or similar to the content presentation process in the related art, which has also been briefly described above and will not be repeated here.
[0072] Figure 5The following schematically shows an example block diagram of a content presentation device 500 according to an embodiment of the present invention. As shown in the figure, the content presentation device 500 includes a receiving module 510 and a presentation module 520.
[0073] The receiving module 510 is configured to receive a first sliding operation from a user, wherein the first sliding operation causes content presented in the user interface to slide in a first direction. The presenting module 520 is configured to selectively present content that has been presented in the user interface before a current time when there is no content to be presented and a sliding rate of the content presented in the user interface is higher than a threshold rate, wherein the content to be presented includes received content that has not yet been presented in the user interface.
[0074] In some embodiments, the presentation module may include multiple submodules, such as a checking submodule, a judging submodule, and a presentation submodule. The checking submodule may be configured to check whether there is content to be presented, where the content to be presented includes content received before the check is performed and has not yet been presented in the user interface. The judging submodule may be configured to, in response to the absence of content to be presented, determine whether a sliding rate of the content presented in the user interface is higher than a threshold rate. The presentation submodule may be configured to, in response to the sliding rate of the content presented in the user interface being higher than the threshold rate, selectively present content that has been presented in the user interface before the current time.
[0075] The content presentation device 500 can be deployed in Figure 1 The content presentation device 500 is deployed on the terminal device 120 as a content presentation application 121. It should be understood that the content presentation device 500 can be implemented in software, hardware, or a combination of software and hardware. Multiple different modules can be implemented in the same software or hardware structure, or a module can be implemented by multiple different software or hardware structures.
[0076] In addition, the content presentation device 500 can be used to implement Figure 3 or Figure 4 The content presentation methods 300 and 400 have been described in detail above and will not be repeated here for the sake of brevity. The content presentation apparatus 500 may have the same features and advantages as those described with respect to the content presentation methods.
[0077] Figure 6An example block diagram of a computing device 600 is schematically shown, which may represent a device for implementing the various means or modules described herein and / or performing the various methods described herein. The computing device 600 may be, for example, a server, a desktop computer, a laptop computer, a tablet, a smart phone, a smart watch, a wearable device, or any other suitable computing device or computing system, which may include various levels of devices ranging from full-resource devices with large amounts of storage and processing resources to low-resource devices with limited storage and / or processing resources. In some embodiments, the above description of the computing device 600 may be a computer system or a computing system. Figure 1 The terminal device 120 and the server 130 described or Figure 5 The described content presentation apparatus 500 may be implemented in one or more computing devices 600 .
[0078] As shown, an example computing device 600 includes a processing system 601, one or more computer-readable media 602, and one or more I / O interfaces 603 that are communicatively coupled to one another. Although not shown, the computing device 600 may also include a system bus or other data and command transmission system that couples the various components to one another. The system bus may include any one or a combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of a variety of bus architectures, or may also include, for example, control and data lines.
[0079] Processing system 601 represents functionality that performs one or more operations using hardware. Thus, processing system 601 is illustrated as including hardware elements 604 that may be configured as processors, functional blocks, and the like. This may include implementing application-specific integrated circuits (ASICs) or other logic devices formed using one or more semiconductors in hardware. Hardware elements 604 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, a processor may be comprised of semiconductors and / or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically executable instructions.
[0080] The computer-readable medium 602 is illustrated as including a memory / storage device 605. The memory / storage device 605 represents a memory / storage device associated with one or more computer-readable media. The memory / storage device 605 may include volatile storage media (such as random access memory (RAM)) and / or non-volatile storage media (such as read-only memory (ROM), flash memory, optical disk, magnetic disk, etc.). The memory / storage device 605 may include fixed media (e.g., RAM, ROM, fixed hard drive, etc.) and removable media (e.g., flash memory, removable hard drive, optical disk, etc.). Exemplarily, the memory / storage device 605 can be used to store the list of content to be presented, the list of presented content, etc. mentioned in the above embodiments. The computer-readable medium 602 can be configured in various other ways as further described below.
[0081] One or more input / output interfaces 603 represent functionality that allows a user to type commands and information into the computing device 600 and also allows information to be presented to the user and / or sent to other components or devices using various input / output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone (e.g., for voice input), a scanner, a touch function (e.g., a capacitive or other sensor configured to detect physical touch), a camera (e.g., that can use visible or invisible wavelengths (such as infrared frequencies) to detect motion that does not involve touch as gestures), a network card, a receiver, and the like. Examples of output devices include a display device (e.g., a monitor or projector), a speaker, a printer, a tactile response device, a network card, a transmitter, and the like. Exemplarily, in the embodiments described above, a user can perform the first and / or second sliding operations through the input interface of the terminal device, and can view the presented content, etc. through the output interface.
[0082] The computing device 600 also includes a content presentation strategy 606. The content presentation strategy 606 may be stored as computer program instructions in the memory / storage device 605. The content presentation strategy 606 may be implemented in conjunction with the processing system 601 or the like regarding Figure 5 The entire functions of each module of the content presentation device 500 are described.
[0083] Various techniques may be described herein in the general context of software, hardware, elements, or program modules. Generally, these modules include routines, programs, objects, elements, components, data structures, etc. that perform specific tasks or implement specific abstract data types. As used herein, the terms "module," "function," etc. generally refer to software, firmware, hardware, or a combination thereof. A feature of the techniques described herein is that they are platform-independent, meaning that these techniques can be implemented on a variety of computing platforms with a variety of processors.
[0084] An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. Computer-readable media may include various media accessible by computing device 600. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.”
[0085] As opposed to a mere signal transmission, carrier wave, or signal itself, "computer-readable storage medium" refers to a medium and / or device, and / or tangible storage device, capable of persistently storing information. Thus, computer-readable storage media refers to non-signal-bearing media. Computer-readable storage media include hardware such as volatile and non-volatile, removable and non-removable media and / or storage devices implemented in a method or technology suitable for storing information (such as computer-readable instructions, data structures, program modules, logic elements / circuits, or other data). Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage devices, hard disks, cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or other storage devices, tangible media, or articles of manufacture suitable for storing desired information and accessible by a computer.
[0086] "Computer-readable signal media" refers to signal-bearing media configured to transmit instructions to the hardware of computing device 600, such as via a network. Signal media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, data signal, or other transport mechanism. Signal media also includes any information transmission media. By way of example, and not limitation, signal media include wired media such as a wired network or direct connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
[0087] As previously mentioned, hardware element 601 and computer-readable medium 602 represent instructions, modules, programmable device logic and / or fixed device logic implemented in hardware form, which can be used to implement at least some aspects of the technology described herein in some embodiments. Hardware elements can include other implementations in integrated circuits or systems on a chip, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs) and silicon or components of other hardware devices. In this context, hardware elements can be used as processing equipment for executing program tasks defined by the instructions, modules and / or logic embodied by the hardware elements, and hardware devices for storing instructions for execution, such as the computer-readable storage media previously described.
[0088] The aforementioned combinations may also be used to implement the various techniques and modules described herein. Thus, software, hardware, or program modules and other program modules may be implemented as one or more instructions and / or logic embodied on some form of computer-readable storage medium and / or by one or more hardware elements 601. The computing device 600 may be configured to implement specific instructions and / or functions corresponding to the software and / or hardware modules. Thus, for example, by using a computer-readable storage medium and / or hardware elements 601 of a processing system, a module may be implemented as a module executable by the computing device 600 as software, at least in part, in hardware. Instructions and / or functions may be executed / operable by, for example, one or more computing devices 600 and / or processing systems 601 to implement the techniques, modules, and examples described herein.
[0089] The techniques described herein may be supported by these various configurations of computing device 600 and are not limited to the specific examples of the techniques described herein.
[0090] It should be understood that, for the sake of clarity, embodiments of the present disclosure have been described with reference to different functional units. However, it will be apparent that, without departing from the present disclosure, the functionality of each functional unit can be implemented in a single unit, in multiple units, or as a part for other functional units. For example, the functionality described as being performed by a single unit can be performed by multiple different units. Therefore, reference to a specific functional unit is only considered as a reference to the appropriate unit for providing the described functionality, rather than indicating a strict logical or physical structure or organization. Therefore, the present disclosure can be implemented in a single unit, or can be physically and functionally distributed between different units and circuits.
[0091] It should also be understood that although the terms first, second, etc. may be used herein to describe various devices, elements, parts, or portions, these devices, elements, parts, or portions should not be limited by these terms. These terms are only used to distinguish one device, element, part, or portion from another device, element, part, or portion.
[0092] Variations on the disclosed embodiments will be understood and effected by those skilled in the art in practicing the claimed subject matter by studying the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Claims
1. A content presentation method, comprising: receiving a first sliding operation from a user, wherein the first sliding operation causes content presented in a user interface to slide in a first direction; When there is no content to be presented and a sliding speed of the content presented in the user interface is higher than a threshold speed, selectively presenting content that has been presented in the user interface before a current time, wherein the content to be presented includes received content that has not yet been presented in the user interface. The method further comprises: Obtaining a real-time sliding rate of content presented in the user interface; In response to the real-time sliding rate decreasing from being higher than the threshold rate to being lower than the threshold rate, the content that has been presented in the user interface before the current time is traversed and the repeatedly presented content is deleted.
2. The content presentation method according to claim 1, further comprising: When the content to be presented exists, at least a portion of the content to be presented is presented.
3. The content presentation method according to claim 1, further comprising: When the to-be-presented content does not exist and the sliding rate of the content presented in the user interface is not higher than the threshold rate, waiting to receive new content available for presentation; In response to receiving new content available for presentation, at least a portion of the new content is presented.
4. The content presentation method according to claim 1, wherein receiving a first sliding operation from a user comprises: Acquire a sliding signal, the sliding signal representing the sliding caused by the first sliding operation, the sliding signal including sliding parameters, the sliding parameters including the sliding distance and sliding duration of the content presented in the user interface, And the sliding rate of the content presented in the user interface is a ratio of the sliding distance to the sliding duration.
5. The content presentation method according to claim 1, further comprising: receiving a second sliding operation from the user, wherein the second sliding operation causes content presented in the user interface to slide in a second direction; Content that has been presented in the user interface before the current time is presented in the user interface in reverse order of presentation time, wherein repeatedly presented content has been deleted.
6. The content presentation method according to claim 1, wherein the selectively presenting content that has been presented in the user interface before the current time comprises: At least one content having the earliest presentation time among the content that has been presented in the user interface before the current time but has not been repeatedly presented is presented.
7. A content presentation device, comprising: a receiving module configured to receive a first sliding operation from a user, wherein the first sliding operation causes content presented in the user interface to slide in a first direction; a presenting module configured to, when there is no content to be presented and a sliding rate of the content presented in the user interface is higher than a threshold rate, selectively present content that has been presented in the user interface before a current time, wherein the content to be presented includes received content that has not yet been presented in the user interface; an acquisition module configured to acquire a real-time sliding rate of content presented in the user interface, The presentation module is further configured to: in response to the real-time sliding rate decreasing from higher than the threshold rate to lower than the threshold rate, traverse the content that has been presented in the user interface before the current time and delete the repeatedly presented content.
8. A computing device comprising a memory and a processor, the memory being configured to store thereon computer-executable instructions, the computer-executable instructions being operable to perform the method of any one of claims 1 to 6 when executed on the processor.
9. A computer-readable storage medium having computer-executable instructions stored thereon, which, when executed on a processor, perform the method of any one of claims 1 to 6.
Citation Information
Patent Citations
Picture loading method, terminal and computer readable storage medium
CN107480169A
Picture loading method, terminal device, and storage medium
CN109388317A