Why does the Tracker not autonomously fill in "_idvc" (visit count), "_viewts" (previous visit) and "_idts" (first visit)?
The Tracker should have everything necessary to set these values as long as he can uniquely identify the user.
Was this a performance/scalability decision? Or was the idea to allow tracking of these values if the Tracker could not uniquely identify the user?
Also see https://github.com/piwik/piwik-sdk-android/issues/18
Piwik has the data internally to process the values for those attributes, but technically Piwik cannot process those values in a performance efficient manner (You guessed right that it was performance/scalability reason). To process the values Piwik would need to look back in time for the visits by this visitor and look when was the first visit, how many visits there were, etc. this would be too slow and not scale. for performance reasons we expect the parameters to be set by Tracking API clients (when they can do so)
Hope it helps
If anyone stumbles across this issue, #4750 is interesting too.