I am trying to research error handling paradigms in web service client apps. I haven't found any good results on Google - perhaps I'm not searching using the right terminology. I will describe my imagined approach to error handling below. Can you name it?
Lets say our application is like iTunes but online. The user runs a JavaScript based client which interacts with a web service through AJAX. One of the things the user can do is to create 'albums' and then place 'songs' in them. At the API level this is represented by one API call to create a new album, and then one or more calls to associate an existing song with the new album.
Now a traditional client might pause the whole application until it has confirmed the album has been created. To make a snappier client we could optimistically assume the album creation API call will succeed, and immediately display the new album in the user's list. The user could start dragging songs into the new album even that the API call to create it is still pending behind the scenes. The API will catch up when it gets there.
In the unlikely case of an error (internet connection went down maybe) the app informs the user, pauses and retries the operation until it succeeds or the user quits. If the user quits, the application just forgets all uncommitted operations and the user loses a couple of actions.
What's the name for this kind of strategy? What's some good literature on the subject? Internet links?