A service distribution system configured to provide initial and follow-up services to a local device over a distributed data connection (step 305). Initial services include downloading software packages and installing them on the device that is remote with respect to the service distribution system (steps 310-330). Follow-up services include subscribing to receive updates or notifications about a particular product when they become available (step 340). The system analyzes the hardware resources available on the remote device in order to only offer services that are compatible with the remote device's resources (step 310-320). In addition, the system has the ability to analyze the software and hardware resources available on the remote device and suggest available services that would enhance the already existing resources on the remote device. The system is configured to receive new software from an outlet that would enable it to offer new services (step 340).