A method, performed by an activity feed server computer configured to communicate with one or more client devices over a network, comprising: receiving a first activity stream associated with a particular user, the first activity stream indicating engagement of the user with at least one first application executing on a first platform; receiving a second activity stream associated with the particular user, the second activity stream indicating engagement of the user with a plurality of different second applications concurrently executing on a second platform; merging the first activity stream and the second activity stream to generate a merged activity stream associated with the particular user by identifying a common activity in the first activity stream and the second activity stream; determining an applicability of activities of the second activity stream with regards to the first platform; removing activities from the second activity stream that are not applicable to the first platform and combining a first record from the first activity stream corresponding to the common activity and a second record from the second activity stream corresponding to the common activity into a third record of the merged activity stream; wherein an activity stream comprises records representing a history of user engagement with the software applications and for restoring an activity on the first platform, and transmitting the merged activity stream associated with the particular user to the first platform, wherein one of the plurality of different second applications comprises a background application which is executing and performing a function concurrently with another one of said second applications. receiving a first activity stream associated with a particular user, the first activity stream indicating engagement of the user with at least one first application executing on a first platform; receiving a second activity stream associated with the particular user, the second activity stream indicating engagement of the user with a plurality of different second applications concurrently executing on a second platform; merging the first activity stream and the second activity stream to generate a merged activity stream associated with the particular user by identifying a common activity in the first activity stream and the second activity stream; determining an applicability of activities of the second activity stream with regards to the first platform; removing activities from the second activity stream that are not applicable to the first platform and combining a first record from the first activity stream corresponding to the common activity and a second record from the second activity stream corresponding to the common activity into a third record of the merged activity stream; identifying a common activity in the first activity stream and the second activity stream; determining an applicability of activities of the second activity stream with regards to the first platform; removing activities from the second activity stream that are not applicable to the first platform and combining a first record from the first activity stream corresponding to the common activity and a second record from the second activity stream corresponding to the common activity into a third record of the merged activity stream; wherein an activity stream comprises records representing a history of user engagement with the software applications and for restoring an activity on the first platform, and transmitting the merged activity stream associated with the particular user to the first platform, wherein one of the plurality of different second applications comprises a background application which is executing and performing a function concurrently with another one of said second applications.