Wednesday, 11 September 2013

REST API and clients - removing previously seen items - client-side or server-side?

REST API and clients - removing previously seen items - client-side or
server-side?

We have a web-app that uses Mahout and CF filtering to generate product
recommendations, based on users assigning ratings to items.
There is a iOS application that communicates with the webapp through a
REST API, and let's users scroll through items, and assign them ratings.
The iOS application will pull a list of ranked products from the webapp -
this is the list that is displayed to the user. As the user scrolls
through to the end, we request further down the list.
There is also a requirement that the iOS application not show a user
products that they've seen before.
My question is - how should we be handling this last requirement?
Should each iOS client be maintaining a list of what they've seen before,
and simply remove these from the list that it pulls from the server?
Or should the server maintain a state for each client, and remove them
from the list before it sends it?
What pros and cons can you see for either approach?
Cheers, Victor

No comments:

Post a Comment