1. A computerized learning method comprising: at a learning service program, receiving a write request from a first learning application program to write a learning level and/or other learning data for a skill in a user profile, the user profile including a plurality of skills and learning levels for each skill that are defined according to a profile schema; writing the learning level and/or other learning data for the skill in the user profile; receiving a read request from a second learning application program to read the learning level and/or other learning data for the skill in the user profile; retrieving the learning level and/or other learning data from the user profile; and sending the learning level and/or other learning data to the second learning application program.