A method and apparatus for providing a network based operating system for
mobile clients is disclosed. Services may be developed that can be used
to support different client devices with different capabilities. The
services provide output with multiple variations based on different
devices, and an intermediary selects the variation best suited for the
requesting device. An online software development system is provided to
allow services to create, edit, test, and deploy applications at an
intermediary using only a browser at the client end. Services may also be
provided that can be accessed and referred to by other services, thereby
facilitating the combining of different services. Services may also store
and access data at an intermediary using variables and a mapping of the
stored data to the variables. Data stored at the intermediary may be used
to allow an end user to return to a previously accessed service.