I have been thinking of a model for an application. Ideally I think applications should support the following features:
local (user, database, files) remote (user) remote (user, database, files)