1. A method for providing a network service in a distributed fashion to a mobile device in a mobile network, the method, comprising: providing the network service to the mobile device via the mobile network; wherein, the network service is provided by an entity other than an operator of the mobile network; further wherein, the network service is provided by functionality distributed between client software on the mobile device and software at a server associated with the entity other than the operator, the server being communicatively coupled to the mobile device over the mobile network.