Writing End-User Applications to Access Shared Data