An apparatus for communicating, comprising: one or more processors to execute an application; an avatar animation engine; and a keyboard module coupled with the one or more processors to provide a plurality of keyboards in a corresponding plurality of keyboard modes for inputting to the application, including provision of: a software alphanumeric keyboard, in an alphanumeric keyboard mode, having a plurality of alphanumeric keys to facilitate selective input of alphanumeric characters corresponding to alphanumeric keys, to the application; a software emoticon keyboard, in an emoticon keyboard mode, having a plurality of emoticon keys to facilitate selective input of emoticons that are static images, corresponding to the emoticon keys, to the application; and a software avatar keyboard, in an avatar keyboard mode, having a plurality of software avatar keys to facilitate selective input of dynamic animations of a plurality of avatars corresponding to the software avatar keys, to the application, wherein: the keyboard module is further to enter a customize/animate mode within the avatar keyboard mode, and open a camera to capture one or more images of a user of the apparatus; and the keyboard module is to further provide, or cause to be provided, the one or more images to the avatar animation engine to analyze the one or more images for facial expression or head pose of the user, and dynamically animate a selected one of the plurality of software avatar keys based at least in part on a result of the analysis for facial expression or head pose of the user. one or more processors to execute an application; an avatar animation engine; and a keyboard module coupled with the one or more processors to provide a plurality of keyboards in a corresponding plurality of keyboard modes for inputting to the application, including provision of: a software alphanumeric keyboard, in an alphanumeric keyboard mode, having a plurality of alphanumeric keys to facilitate selective input of alphanumeric characters corresponding to alphanumeric keys, to the application; a software emoticon keyboard, in an emoticon keyboard mode, having a plurality of emoticon keys to facilitate selective input of emoticons that are static images, corresponding to the emoticon keys, to the application; and a software avatar keyboard, in an avatar keyboard mode, having a plurality of software avatar keys to facilitate selective input of dynamic animations of a plurality of avatars corresponding to the software avatar keys, to the application, wherein: the keyboard module is further to enter a customize/animate mode within the avatar keyboard mode, and open a camera to capture one or more images of a user of the apparatus; and the keyboard module is to further provide, or cause to be provided, the one or more images to the avatar animation engine to analyze the one or more images for facial expression or head pose of the user, and dynamically animate a selected one of the plurality of software avatar keys based at least in part on a result of the analysis for facial expression or head pose of the user. a software alphanumeric keyboard, in an alphanumeric keyboard mode, having a plurality of alphanumeric keys to facilitate selective input of alphanumeric characters corresponding to alphanumeric keys, to the application; a software emoticon keyboard, in an emoticon keyboard mode, having a plurality of emoticon keys to facilitate selective input of emoticons that are static images, corresponding to the emoticon keys, to the application; and a software avatar keyboard, in an avatar keyboard mode, having a plurality of software avatar keys to facilitate selective input of dynamic animations of a plurality of avatars corresponding to the software avatar keys, to the application, wherein: the keyboard module is further to enter a customize/animate mode within the avatar keyboard mode, and open a camera to capture one or more images of a user of the apparatus; and the keyboard module is to further provide, or cause to be provided, the one or more images to the avatar animation engine to analyze the one or more images for facial expression or head pose of the user, and dynamically animate a selected one of the plurality of software avatar keys based at least in part on a result of the analysis for facial expression or head pose of the user. the keyboard module is further to enter a customize/animate mode within the avatar keyboard mode, and open a camera to capture one or more images of a user of the apparatus; and the keyboard module is to further provide, or cause to be provided, the one or more images to the avatar animation engine to analyze the one or more images for facial expression or head pose of the user, and dynamically animate a selected one of the plurality of software avatar keys based at least in part on a result of the analysis for facial expression or head pose of the user.