Improving the Speed and Accuracy of the Item Page with Light Service
The item page is one of the most critical pages in the eBay buyer experience. It's where a buyer make their purchase decisions. It's also one of the pages in eBay that gets the most user traffic. The speed of this page and showing accurate information to the user is of great importance. Item fast light service was developed to get critical item information as quickly as possible from the primary source tables. This service is currently used in a number of applications to achieve functionalities that needs 100% accuracy with lightning speed and performance of less than 10ms for an item.
Item fast light service also supports functionality scalable to pull information for multiple items with the high consistency and performance. Based on the necessary information needed to support a required functionality, item light service is using a highly tuned SQL to retrieve only the needed information.
Dynamic item page updates with bidding details
Buyers tend to bid more during the last few minutes before an item listing ends. This makes the current price/next bid price of the item to go up quickly, and also makes the buyer's status on the item, such as high bidder/outbidder, change based on other user bids.
To handle this functionality across multiple pages (item/product) and platforms (web/native), the item light service polls auction details every few seconds, based on the time left before the listing ends. The item light service obtains up-to-date item and buyer status information directly from the ITEM DB and, therefore, it is highly consistent.
This enables buyers to see the updated information on the page quickly without refreshing the entire page, giving a better user experience.
Item page speed improvements
One of the top engineering efforts in eBay is to improve the site speed of critical page flows to provide a better user experience. The item page is one of the critical pages in the buyer experience. We explored multiple ways of improving site speed for the item page using this light service.
Item image prefetch from search results page
The majority of the traffic to item pages comes from the search results page. One strategy is to find ways to improve the item page’s speed during or after the search page load, without degrading search performance.
Using item light service, selected top item images to be shown on item pages (after a user clicks) are prefetched and cached in the browser cache after the search page is loaded.
This helped us to show item images instantly when the item page is loaded, which helped to improve conversion and speed by 200ms above the fold, as shown in the following graph.
Main item image rendered on the item page
The item image prefetch in the search page only covered a set of top hit items. The same item light service is used in the item page to get the image faster, before the main domain service returns to render the whole page. This quickly fetched image from the light service is downloaded before the item page is fully rendered, saving 100ms above the fold time on the item page.
Rendering above the fold for mWeb item pages
The item page for the mobile web (mWeb) platform uses the item light service to quickly render the above-the-fold information like images and item title. This gives the ability to render the item page much faster progressively, without waiting for the entire domain service completion to render the entire item page. Since the item light service gets the item information directly from the primary data source, the data is consistent and reliable.
Using the item light service to render above-the-fold information on the item page gave incredible speed gains of ~1.5 seconds, as shown in the following graph.
There are a lot of similar functionalities that needs quick and accurate information to give a better user experience. A few more capabilities will be added to the item light service to get the user status of the item, such as high bidder, outbidder, or buyer, which will be used to show relevant merchandising modules on item pages.