1. A method of providing technical support to an end user of an end user system, the method comprising: inferring a skill level of said end user based on usage patterns of said end user; and selecting a problem resolution to resolve an identified technical problem exhibited by said end user system, wherein selecting a problem resolution is based at least in part on said skill level of said end user.