I have a tab based interface, each tab has a form with fields, the user is supposed to make changes on each of the fields in the tabs and then click on a "save all" button to save all changes, I have placed the "save all" button on the upper right corner, inside the tabs' bar, but I'm unsure if this would be a good place, is there a better place to put the "save all "button?
My instinct would be to put the save button at the bottom-right, but not within the tabs themselves - but in window space below those tabs. This communicates that the user is not saving the content of an individual tab (which a save button in each tab would suggest), but saving the state in the entire application.
The other familiar pattern, in desktop applications at least, is to put save functions in the 'File' section of an upper menu bar. But I would not create a menu bar just for the sake of introducing a 'Save' control.
I would suggest to repeat it at the bottom again. Or what you also could do is to fix the tab bar like in the Google Plus or Gmail Interface: http://www.youtube.com/watch?v=AviQ05CwXZA#t=43s
You might want to consider no save button. Tabbed interfaces are not like dialog forms, where they are waiting for the user to complete or cancel the action. In a tabbed interface, the user can just move from tab to tab, so the "saving" part needs to happen at a later moment, such as when they switch tabs or close the form entirely, etc.
It should be at the bottom right, because this gives a visual indication to have gone through everything above it first. Upper right might suggest that this is just for one tab, because it is a utility-type button. Both upper and lower would be OK, because there is that indicator at the bottom right.
My bigger problem is a tabbed input form where all tabs have to be filled out. Hmmm.