Quote Originally Posted by CitiMan
But can you offer a step-by-step explanation of why the same page in two separate windows on the same client will differ?
1) Let's suppose that there are two Lightstreamer clients (e.g. two browsers connected to the same web application), both of which have subscribed to the MSFT symbol in order to receive real-time prices. They subscribed to that item requesting a maximum update frequency of 1 update/s.

2) Let's suppose that the data feed during some intense market activity generates 30 prices in a second for symbol MSFT.

3) The data needs to be resampled. Lightstreamer Server contains two stages of data filtering, that are fully customizable. The first stage is a pre-filter, that can be configured to lower the update frequency of the updates for all the push sessions. The second stage is a filter that works on a per-user basis. This second filter can resample the data based on many variables (maximum frequency, maximum bandwidth, network congestions, etc.). In the StockList Demo the pre-filter is not used and the second filter is configured with the same frequency for all the users. Why two different clients will see different samples? Because the histories of data sampling for the sessions are independent one another.

Example. I'll show only one of the several reasons for which the data will be different for each client.

The data series is the following:
- time 0.10 -> 7.25
- time 0.78 -> 7.60
- time 1.23 -> 8.45
- time 1.47 -> 9.25

Client A subscribes to that item with a max frequency of 1 update/sec. It subscribes at time 0.08 so it will receive: 7.25, 8.45.

Client B subscribes to that item with a max frequency of 1 update/sec. It subscribes at time 0.5 so it will receive: 7.60, 9.25.

Quote Originally Posted by CitiMan
Also how difficult is it to implement an application that keeps data in sync, ie what does the workaround involve?
As I mentioned, data filtering in Lightstreamer is complex feature that can be fully configured, in order to obtain any kind of behavior. You should decide exactly what behavior you expect. For example: you want that different clients see the exact same data at any time? To do this you can: pre-filter the data; or increase the buffer-size of the per-user filters. If you want that the same client displays the same item in different tables (or windows of the same application) keeping the dtaa in sync, then the client should subscribe to that item once and use the received updates to populate more cells in the screen.