My team is building a solution where a mobile app communicates with a backend. I need to describe functionality where the communication between the app and the backend is optimized according to some rules that work for both the client (mobile app) and the server (backend). This optimization will be mostly developed on the client side as it's the one collecting data and then sending it to the server and thus responsible for optimizing the amount of data sent to the server.
Now the optimization is important for both the mobile app and the backend. The reason is performance and scalability, however there are different aspects for both.
For example, for the the users of the mobile app, the main need to reduce the sent data comes from the fact that it might be on a potentially slow network and cost. For the operators/owners of the backend, the main reason is scalability and economics; the amount of data sent by multiple clients that needs to be processed and also simply because in the end, it doesn't need all the raw data gathered by the client to do its job.
Thus, I wonder how best to express all this; should it be one story or two stories where each story has a different role and value?
I also wonder if this is a story at all; ultimately the need for the backend owner/operator is to run with as little hardware as possible, to have a low enough TCO. For the user of the mobile app, the main value is to reduce the bill and to have timely feedback from the server. However, I don't even have concrete customer requirements for the end-users, though I do know what rules the transmission should obey and I know that it could be optimized. From this point of view, this is more a design concern than a concrete story. I wonder if this should go as a task in the backlog and not as one or more stories