A method for predicting to whom a phone call is being made, comprising: identifying, by a mobile phone, at least one state parameter for the mobile phone, and at least one weighting factor corresponding to the at least one state parameter; for each identified state parameter, predicting, by the mobile phone, one or more likely contacts that a user of the mobile phone is calling, given that the user is making a phone call, based on the identified state parameter; for each likely contact, assigning, by the mobile phone, a combined weight to the likely contact based on the at least one weighting factor; ranking, by the mobile phone, the likely contacts according to the combined weights; and facilitating, by the mobile phone, making a phone call to one or more of the likely contacts with the highest rankings; wherein the at least one state parameter comprises at least one of (i) a current date and time, (ii) a current location of the mobile phone, (iii) a user schedule, (iv) one or more data files being viewed by the user, (v) one or more previous actions performed by the mobile phone upon instruction from the user, (vi) a network to which the mobile phone is connected, (vii) a type of jacket cover that houses the mobile phone, and (viii) a current profile setting of the mobile phone; and wherein said facilitating comprises: presenting, by the mobile phone, a list of key codes assigned to each of the likely contacts; and dialing, by the mobile phone, a contact's phone number in response to user pressing of the contact's assigned key code, or in response to user speaking of the contact's assigned key code. identifying, by a mobile phone, at least one state parameter for the mobile phone, and at least one weighting factor corresponding to the at least one state parameter; for each identified state parameter, predicting, by the mobile phone, one or more likely contacts that a user of the mobile phone is calling, given that the user is making a phone call, based on the identified state parameter; for each likely contact, assigning, by the mobile phone, a combined weight to the likely contact based on the at least one weighting factor; ranking, by the mobile phone, the likely contacts according to the combined weights; and facilitating, by the mobile phone, making a phone call to one or more of the likely contacts with the highest rankings; wherein the at least one state parameter comprises at least one of (i) a current date and time, (ii) a current location of the mobile phone, (iii) a user schedule, (iv) one or more data files being viewed by the user, (v) one or more previous actions performed by the mobile phone upon instruction from the user, (vi) a network to which the mobile phone is connected, (vii) a type of jacket cover that houses the mobile phone, and (viii) a current profile setting of the mobile phone; and wherein said facilitating comprises: presenting, by the mobile phone, a list of key codes assigned to each of the likely contacts; and dialing, by the mobile phone, a contact's phone number in response to user pressing of the contact's assigned key code, or in response to user speaking of the contact's assigned key code. presenting, by the mobile phone, a list of key codes assigned to each of the likely contacts; and dialing, by the mobile phone, a contact's phone number in response to user pressing of the contact's assigned key code, or in response to user speaking of the contact's assigned key code.