Yusi, we can stream more ticks, but if the end user doesn't really have good bandwidth, the number of ticks he can accept will be significantly lesser. The live charts will be still plotted based on the ticks the end user has received. If the internet is really good, the live charts will be a lot more accurate.
But like tracerbullet has rightly put,the other option is to backfill server data every once in a while, end of every candle or end of every few candles. We could do this either automatically or given an option to fetch the latest few candles from our server. No one does this presently other than esignal (esignal actually continuously backfills server data). On our list of things to do.
But if someone is using 1mbps + kind of connection, the quality of data is as good or better than most platforms out there.
At the outset, it is nice that we are on the same page as far as the problem statement is concerned. The updation of the running chart is the larger issue, and it is not that the data at your server that is inaccurate. It would be natural for a user to open the same symbol chart at different times, see differing values, cross-check with another platform, and become unsure what to rely on.
As you have mentioned, streaming more ticks to solve the issue has its attendant drawbacks. And, it would help minimize but not solve it. You want to work smarter, not harder. In any case, you are not offering tick charts.
I recall reading a forum post where a user was complaining that his 1 minute bars sometimes changed after they had formed. GFDL had responded that, yes, they did stream a corrective OHLC at the end of every minute. If that is correct, then tracerbullet's suggestion has a precedent. Whether you do this once per N bars or N times per bar is an optimization.
However, there is more than meets the eye. If Pi was holding its chart data as tick or M1 series (irrespective of whether it is a M5 or M15 chart), then changing chart interval on-the-fly would not be an issue; but that does not seem possible. Also, I have never understood why you designed for a Number of Bars input when opening a chart. So, in some way, the data structure is constraining available options. You would be the best judge for the right solution.