title: REST API and clients - removing previously seen items - client-side or server-side?
body: <p>We have a web-app that uses  Mahout and CF filtering to generate product recommendations, based on users assigning ratings to items.</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p>There is also a requirement that the iOS application not show a user products that they've seen before on that specific device.</p>
  
  <p>My question is - how should we be handling this last requirement?</p>
  
  <p>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?</p>
  
  <p>Or should the server maintain a state for each client, and remove them from the list before it sends it?</p>
  
  <p>What pros and cons can you see for either approach?</p>
  
  <p>Cheers,
  Victor</p>