1. A method for pre-launching applications within a computer system the computer system comprising a controller, a memory and an operating system, the method comprising: seeding the computer system with initial pre-launch prediction data for one or more applications, each application of the one or more applications configured to be activated by a user of the computer system, the initial pre-launch prediction data including data about the one or more applications and is derived from a source other than the user of the computer system; creating a prediction model by combining at least some of the initial pre-launch prediction data with observation-based predictions of when at least one application of the one or more applications may be activated by the user in the future, the observation-based predictions including observing user utilization of system resources of the computer system over time; monitoring system resources of the user computer system and applying one or more pre-launch rules to the one or more applications, the pre-launch rules considering at least one of the availability of system resources on the user computer system and the observation-based prediction model; and pre-launching at least one application of the one or more applications based upon the satisfaction of one or more pre-launch rules.