4. A computer implemented method for communicating with contacts, comprising: receiving a telephone call from a first contact; in response to receiving the telephone call, starting a telephone answering subroutine; receiving a first contact identifier identifying the first contact; waiting to receive an audio segment; receiving an audio segment beginning when the first contact starts talking and ending when the first contact stops talking for a predetermined length of time; while the audio segment is being received, determining if a question is being asked and determining a response to each question asked during the audio segment; following an end of the audio segment, generating and transmitting a response segment including a response to each question asked in the audio segment; determining whether the telephone call has ended; and in response to determining that the telephone call has not ended, returning to receive an audio segment; in response to determining that the telephone call has ended, ending the telephone answering subroutine; receiving text data from a written text document transmitted by a second contact; storing the text data in a work-in-process file; determining that the text data is stored in the work-in-process file; in response to determining that the text data is stored in the work-in-process file, starting a text data answering subroutine; while the text data answering subroutine is running, determining whether a question is asked within the written text document and determining that an end of the written text document has been reached; preparing an answer for each question asked within the written text document; and in response to determining that an end of the written text document has been reached, preparing a written text response including answers to all questions in the written text document and transmitting data from the written text response to the second contact.
4. A computer implemented method for communicating with contacts, comprising: receiving a telephone call from a first contact; in response to receiving the telephone call, starting a telephone answering subroutine; receiving a first contact identifier identifying the first contact; waiting to receive an audio segment; receiving an audio segment beginning when the first contact starts talking and ending when the first contact stops talking for a predetermined length of time; while the audio segment is being received, determining if a question is being asked and determining a response to each question asked during the audio segment; following an end of the audio segment, generating and transmitting a response segment including a response to each question asked in the audio segment; determining whether the telephone call has ended; and in response to determining that the telephone call has not ended, returning to receive an audio segment; in response to determining that the telephone call has ended, ending the telephone answering subroutine; receiving text data from a written text document transmitted by a second contact; storing the text data in a work-in-process file; determining that the text data is stored in the work-in-process file; in response to determining that the text data is stored in the work-in-process file, starting a text data answering subroutine; while the text data answering subroutine is running, determining whether a question is asked within the written text document and determining that an end of the written text document has been reached; preparing an answer for each question asked within the written text document; and in response to determining that an end of the written text document has been reached, preparing a written text response including answers to all questions in the written text document and transmitting data from the written text response to the second contact. 19. The computer implemented method of claim 4 , additionally comprising: after preparing an answer for each question asked within the written text document, determining a level of certainty regarding the probable correctness of the answer; in response to determining that an end of the written text document has been reached, combining levels of certainty determined while preparing an answer to each question within the written text document to form a combined level of certainty, and sending information from the text document and the written text response to an in inbox file of the user in response to determining that combined level of certainty is below a predetermined level, wherein data from the written text response is sent to the second contact only following a determination that the combined level of certainty is not below the predetermined level.