PATENT DOCUMENT

Publication Number: US-8650507-B2
Application Number: US-4231308-A
Country: US
Kind Code: B2

Title: Selecting of text using gestures

Abstract:
In accordance with some embodiments, a computer-implemented text selection method is performed using an electronic device having a touch-sensitive display. The method can include displaying text on the touch screen display; detecting a text selection initiation gesture with the touch screen display; and in response to the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location. First and second endpoints can be moved by performing further gestures on the touch-sensitive display. Furthermore, word processing functions can be performed on the on the text located in the text selection area.

Claims:
What is claimed is: 
     
       1. A method using an electronic device having a touch-sensitive display, comprising:
 displaying text on the touch-sensitive display; 
 detecting a text selection initiation gesture 
 in response to the detecting of the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location:
 when the first endpoint and the second endpoint are located within currently displayed text, displaying a first handle proximate to the first endpoint and a second handle proximate to the second endpoint; and 
 when the first endpoint is located outside currently displayed text, displaying a ghost handle associated with the first endpoint, wherein the ghost handle is displayed in place of the first handle. 
 
 
     
     
       2. The method of  claim 1 , further comprising performing a word processing function on text located between the first endpoint and the second endpoint. 
     
     
       3. The method of  claim 2 , wherein the word processing function comprises one of copying or cutting the selected text. 
     
     
       4. The method of  claim 1 , further comprising simultaneously moving the first endpoint to a third location in the text and the second endpoint to a fourth location in the text. 
     
     
       5. The method of  claim 4 , wherein the simultaneously moving step comprises:
 associating the first endpoint with a first finger detected on the touch-sensitive display; 
 associating the second endpoint with a second finger detected on the touch-sensitive display; and 
 detecting the first and second fingers simultaneously slide to the third and the fourth locations, respectively, on the touch-sensitive display. 
 
     
     
       6. A method using an electronic device having a touch-sensitive display, comprising:
 displaying text on the touch-sensitive display; 
 detecting a text selection initiation gesture, the text selection initiation gesture including a first contact and a second contact detected on the touch-sensitive display; 
 determining whether the text selection initiation gesture includes concurrently detecting the first contact and the second contact on the touch-sensitive display at respective locations that correspond to a first paragraph or the text selection initiation gesture includes concurrently detecting the first contact at a location on the touch-sensitive display that corresponds to the first paragraph and the second contact at a location on the touch-sensitive display that corresponds to a second paragraph distinct from the first paragraph; and, 
 in response to the detecting of the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location, wherein:
 in response to a determination that the text selection initiation gesture includes concurrently detecting the first contact and the second contact on the touch-sensitive display at respective locations that correspond to the first paragraph, the device automatically assigns the first location to the beginning of the first paragraph and the second location to the end of the first paragraph; and 
 in response to a determination that the text selection initiation gesture includes concurrently detecting the first contact at a location on the touch-sensitive display that corresponds to the first paragraph and the second contact at a location on the touch-sensitive display that corresponds to the second paragraph distinct from the first paragraph, the device automatically assigns the first location to a location in the first paragraph and the second location to a location in the second paragraph. 
 
 
     
     
       7. The method of  claim 1 , further comprising moving the second endpoint from the second location to a third location in the text by associating a detected finger with the second endpoint and detecting the finger slide across the touch-sensitive display proximate to the third location. 
     
     
       8. The method of  claim 1 , further comprising:
 selecting the second endpoint; 
 while the second endpoint is selected, detecting a finger slide across the touch sensitive display; and 
 moving the second endpoint in accordance with the detected finger slide to a third location in the text. 
 
     
     
       9. The method of  claim 8 , wherein the finger slide is detected starting on a portion of the touch-sensitive display that is remote from the second location. 
     
     
       10. A method using an electronic device having a touch-sensitive display, comprising:
 displaying text on the touch-sensitive display; 
 detecting a text selection initiation gesture; 
 in response to the detecting of the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location; 
 selecting the first endpoint; 
 while the first endpoint is selected, detecting a finger slide across the touch sensitive display, wherein the finger slide is detected starting on a portion of the touch-sensitive display that is remote from the first location; 
 moving the first endpoint in accordance with the detected finger slide to a third location in the text; and 
 displaying a ghost handle associated with the first endpoint, wherein the ghost handle is displayed in place of the first endpoint when the first endpoint is located outside currently displayed text. 
 
     
     
       11. An electronic device, comprising:
 a touch-sensitive display; 
 one or more processors; 
 memory; and 
 one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
 displaying text on the touch-sensitive display; 
 detecting a text selection initiation gesture; 
 in response to the detecting of the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location:
 when the first endpoint and the second endpoint are located within currently displayed text, displaying a first handle proximate to the first endpoint and a second handle proximate to the second endpoint; and 
 when the first endpoint is located outside currently displayed text, displaying a ghost handle associated with the first endpoint, wherein the ghost handle is displayed in place of the first handle. 
 
 
 
     
     
       12. The device of  claim 11 , further comprising instructions for:
 selecting the second endpoint; 
 while the second endpoint is selected, detecting a finger slide across the touch sensitive display; and 
 moving the second endpoint in accordance with the detected finger slide to a third location in the text. 
 
     
     
       13. The device of  claim 12 , wherein the finger slide is detected starting on a portion of the touch-sensitive display that is remote from the second location. 
     
     
       14. The device of  claim 11 , further comprising instructions for simultaneously moving the first endpoint to a third location in the text and the second endpoint to a fourth location in the text. 
     
     
       15. The device of  claim 14 , wherein the instructions for simultaneously moving comprise instructions for:
 associating the first endpoint with a first finger detected on the touch-sensitive display; 
 associating the second endpoint with a second finger detected on the touch-sensitive display; and 
 detecting the first and second fingers simultaneously slide to the third and the fourth locations, respectively, on the touch-sensitive display. 
 
     
     
       16. The device of  claim 11 , including instructions for performing a word processing function on text located between the first endpoint and the second endpoint. 
     
     
       17. The device of  claim 16 , wherein the word processing function comprises one of copying or cutting the selected text. 
     
     
       18. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with a touch-sensitive display, cause the device to:
 display text on the touch-sensitive display; 
 detect a text selection initiation gesture; 
 in response to the detecting of the text selection initiation gesture, insert a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location:
 when the first endpoint and the second endpoint are located within currently displayed text, display a first handle proximate to the first endpoint and a second handle proximate to the second endpoint; and 
 when the first endpoint is located outside currently displayed text, display a ghost handle associated with the first endpoint, wherein the ghost handle is displayed in place of the first handle. 
 
 
     
     
       19. The computer readable storage medium of  claim 18 , including instructions that cause the device to:
 select the second endpoint; 
 while the second endpoint is selected, detect a finger slide across the touch sensitive display; and 
 move the second endpoint in accordance with the detected finger slide to a third location in the text. 
 
     
     
       20. The computer readable storage medium of  claim 19 , wherein the finger slide is detected starting on a portion of the touch-sensitive display that is remote from the second location. 
     
     
       21. The computer readable storage medium of  claim 18 , including instructions that cause the device to simultaneously move the first endpoint to a third location in the text and the second endpoint to a fourth location in the text. 
     
     
       22. The computer readable storage medium of  claim 21 , wherein the instructions for simultaneously moving comprise instructions that cause the device to:
 associate the first endpoint with a first finger detected on the touch-sensitive display; 
 associate the second endpoint with a second finger detected on the touch-sensitive display; and 
 detect the first and second fingers simultaneously slide to the third and the fourth locations, respectively, on the touch-sensitive display. 
 
     
     
       23. The computer readable storage medium of  claim 18 , including instructions that cause the device to perform a word processing function on text located between the first endpoint and the second endpoint. 
     
     
       24. The computer readable storage medium of  claim 23 , wherein the word processing function comprises one of copying or cutting the selected text. 
     
     
       25. An electronic device, comprising:
 a touch-sensitive display; 
 one or more processors; 
 memory; and 
 one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
 displaying text on the touch-sensitive display; 
 detecting a text selection initiation gesture, the text selection initiation gesture including a first contact and a second contact detected on the touch-sensitive display; 
 determining whether the text selection initiation gesture includes concurrently detecting the first contact and the second contact on the touch-sensitive display at respective locations that correspond to a first paragraph or the text selection initiation gesture includes concurrently detecting the first contact at a location on the touch-sensitive display that corresponds to the first paragraph and the second contact at a location on the touch-sensitive display that corresponds to a second paragraph distinct from the first paragraph; and, 
 in response to the detecting of the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location, wherein:
 in response to a determination that the text selection initiation gesture includes concurrently detecting the first contact and the second contact on the touch-sensitive display at respective locations that correspond to the first paragraph, the device automatically assigns the first location to the beginning of the first paragraph and the second location to the end of the first paragraph; and 
 in response to a determination that the text selection initiation gesture includes concurrently detecting the first contact at a location on the touch-sensitive display that corresponds to the first paragraph and the second contact at a location on the touch-sensitive display that corresponds to the second paragraph distinct from the first paragraph, the device automatically assigns the first location to a location in the first paragraph and the second location to a location in the second paragraph. 
 
 
 
     
     
       26. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with a touch-sensitive display, cause the device to:
 display text on the touch-sensitive display; 
 detect a text selection initiation gesture, the text selection initiation gesture including a first contact and a second contact detected on the touch-sensitive display; 
 determine whether the text selection initiation gesture includes concurrently detecting the first contact and the second contact on the touch-sensitive display at respective locations that correspond to a first paragraph or the text selection initiation gesture includes concurrently detecting the first contact at a location on the touch-sensitive display that corresponds to the first paragraph and the second contact at a location on the touch-sensitive display that corresponds to a second paragraph distinct from the first paragraph; and, 
 in response to the detecting of the text selection initiation gesture, insert a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location, wherein:
 in response to a determination that the text selection initiation gesture includes concurrently detecting the first contact and the second contact on the touch-sensitive display at respective locations that correspond to the first paragraph, the device automatically assigns the first location to the beginning of the first paragraph and the second location to the end of the first paragraph; and 
 in response to a determination that the text selection initiation gesture includes concurrently detecting the first contact at a location on the touch-sensitive display that corresponds to the first paragraph and the second contact at a location on the touch-sensitive display that corresponds to the second paragraph distinct from the first paragraph, the device automatically assigns the first location to a location in the first paragraph and the second location to a location in the second paragraph. 
 
 
     
     
       27. An electronic device, comprising:
 a touch-sensitive display; 
 one or more processors; 
 memory; and 
 one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
 displaying text on the touch-sensitive display; 
 detecting a text selection initiation gesture; 
 in response to the detecting of the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location; 
 selecting the first endpoint; 
 while the first endpoint is selected, detecting a finger slide across the touch sensitive display, wherein the finger slide is detected starting on a portion of the touch-sensitive display that is remote from the first location; 
 moving the first endpoint in accordance with the detected finger slide to a third location in the text; and 
 displaying a ghost handle associated with the first endpoint, wherein the ghost handle is displayed in place of the first endpoint when the first endpoint is located outside currently displayed text. 
 
 
     
     
       28. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with a touch-sensitive display, cause the device to:
 display text on the touch-sensitive display; 
 detect a text selection initiation gesture; 
 in response to the detecting of the text selection initiation gesture, insert a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location; 
 select the first endpoint; 
 while the first endpoint is selected, detect a finger slide across the touch sensitive display, wherein the finger slide is detected starting on a portion of the touch-sensitive display that is remote from the first location; 
 move the first endpoint in accordance with the detected finger slide to a third location in the text; and 
 display a ghost handle associated with the first endpoint, wherein the ghost handle is displayed in place of the first endpoint when the first endpoint is located outside currently displayed text.

Description:
FIELD OF THE INVENTION 
     The disclosed embodiments relate generally to selecting text displayed on a display screen, and more particularly, to selecting text using gestures on a multi-touch sensitive display screen. 
     BACKGROUND OF THE INVENTION 
     As portable electronic devices become more compact, and the number of functions performed by a given device increase, it has become a significant challenge to design a user interface that allows users to easily interact with a multifunction device. This challenge is particular significant for handheld portable devices, which have much smaller screens than desktop or laptop computers. This situation is unfortunate because the user interface is the gateway through which users receive not only content but also responses to user actions or behaviors, including user attempts to access a device&#39;s features, tools, and functions. Some portable communication devices (e.g., mobile telephones, sometimes called mobile phones, cell phones, cellular telephones, and the like) have resorted to adding more pushbuttons, increasing the density of push buttons, overloading the functions of pushbuttons, or using complex menu systems to allow a user to access, store and manipulate data. These conventional user interfaces often result in complicated key sequences and menu hierarchies that must be memorized by the user. 
     Many conventional user interfaces, such as those that include physical pushbuttons, are also inflexible. This is unfortunate because it can prevent a user interface from being configured and/or adapted by either an application running on the portable device or by users. When coupled with the time consuming requirement to memorize multiple key sequences and menu hierarchies, and the difficulty in activating a desired pushbutton, such inflexibility is frustrating to most users. 
     Most portable electronic devices include applications that use text entry. Such applications can include instant messaging applications, email applications, and word processing applications, as well as other applications with text input. Because the screens on portable electronic devices are relatively small, the text and corresponding text entry tools are relatively small as well. Typically, selecting text displayed in on the device has not been available or has been very cumbersome. To date, portable electronic devices have not provided an easy, efficient way to position a text selection area in text displayed on a portable electronic device. 
     Accordingly, there is a need for portable multifunction devices with more intuitive user interfaces for positioning a text selection area in text and modifying endpoints of the text selection area that are easy to use, configure, and/or adapt. Such interfaces increase the effectiveness, efficiency and user satisfaction with portable multifunction devices. 
     SUMMARY OF THE INVENTION 
     The above deficiencies and other problems associated with user interfaces for portable devices can be reduced or eliminated by the disclosed portable multifunction device. In some embodiments, the device can have a touch-sensitive display (also known as a “touch screen”) with a graphical user interface (GUI), one or more processors, memory and one or more modules, programs or sets of instructions stored in the memory for performing multiple functions. In some embodiments, the user can interact with the GUI primarily through finger contacts and gestures on the touch-sensitive display. In some embodiments, the functions can include telephoning, video conferencing, e-mailing, instant messaging, blogging, digital photographing, digital videoing, web browsing, digital music playing, and/or digital video playing. Instructions for performing these functions can be included in a computer program product configured for execution by one or more processors. 
     In accordance with some embodiments, a computer-implemented text selection method is performed using an electronic device having a touch-sensitive display. The method can include displaying text on the touch screen display; detecting a text selection initiation gesture with the touch screen display; and in response to the text selection initiation gesture, inserting a text selection area bounded by a first endpoint located in the text at a first location and a second endpoint in the text at a second location. Word processing function can be performed on the on the text located in the text selection area. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a better understanding of the aforementioned embodiments of the invention as well as additional embodiments thereof, reference should be made to the Detailed Description of the Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures. 
         FIG. 1  is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments. 
         FIG. 2  illustrates a portable multifunction device having a touch screen in accordance with some embodiments. 
         FIG. 3  illustrates an exemplary user interface for inserting a text selection area in accordance with some embodiments. 
         FIG. 4  illustrates an exemplary user interface the device of  FIG. 3  having a ghost handle in accordance with some embodiments. 
         FIG. 5  is a flow diagram illustrating an exemplary process for selecting text using gestures in accordance with some embodiments. 
         FIGS. 6   a  and  6   b  illustrate an exemplary text selection initiation gesture in accordance with some embodiments. 
         FIGS. 7   a  and  7   b  illustrate another exemplary text selection initiation gesture in accordance with some embodiments. 
         FIGS. 8   a  and  8   b  illustrate a further exemplary text selection initiation gesture in accordance with some embodiments. 
         FIGS. 9   a  and  9   b  illustrate yet another exemplary text selection initiation gesture in accordance with some embodiments. 
         FIGS. 10   a  and  10   b  illustrate an exemplary initiation of text selection using a text selection icon in accordance with some embodiments. 
         FIGS. 11   a  and  11   b  illustrate an exemplary procedure for changing the location of endpoints of a text selection area in accordance with some embodiments. 
         FIGS. 12   a  and  12   b  illustrate another exemplary procedure for changing the location of endpoints of a text selection area in accordance with some embodiments. 
         FIGS. 13   a  and  13   b  illustrate a further exemplary procedure for changing the location of endpoints of a text selection area in accordance with some embodiments. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention can be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. 
     It will also be understood that, although the terms first, second, etc. can be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first gesture could be termed a second gesture, and, similarly, a second gesture could be termed a first gesture, without departing from the scope of the present invention. 
     The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. 
     Embodiments of a portable multifunction device, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communications device such as a mobile telephone that also contains other functions, such as PDA and/or music player functions. 
     For simplicity, in the discussion that follows, a portable multifunction device that includes a touch screen is used as an exemplary embodiment. It should be understood, however, that some of the user interfaces and associated processes can be applied to other devices, such as personal computers and laptop computers, which can include one or more other physical user-interface devices, such as a physical click wheel, a physical keyboard, a mouse and/or a joystick. 
     The device can support a variety of applications, such as a telephone application, a video conferencing application, an e-mail application, an instant messaging application, a blogging application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and/or a digital video player application. 
     The various applications that can be executed on the device can use at least one common physical user-interface device, such as a touch screen. One or more functions of the touch screen, as well as corresponding information displayed on the device, can be adjusted and/or varied from one application to the next and/or within a respective application. In this way, a common physical architecture (such as the touch screen) of the device can support a variety of applications with user interfaces that can be intuitive and transparent. 
     The user interfaces can include one or more soft keyboard embodiments. The soft keyboard embodiments can include standard (QWERTY) and/or non-standard configurations of symbols on the displayed icons of the keyboard, such as those described in U.S. patent application Ser. Nos. 11/459,606, “Keyboards For Portable Electronic Devices,” filed Jul. 24, 2006, and Ser. No. 11/459,615, “Touch Screen Keyboards For Portable Electronic Devices,” filed Jul. 24, 2006, the contents of which are hereby incorporated by reference. The keyboard embodiments can include a reduced number of icons (or soft keys) relative to the number of keys in existing physical keyboards, such as that for a typewriter. This can make it easier for users to select one or more icons in the keyboard, and thus, one or more corresponding symbols. The keyboard embodiments can be adaptive. For example, displayed icons can be modified in accordance with user actions, such as selecting one or more icons and/or one or more corresponding symbols. One or more applications on the portable device can utilize common and/or different keyboard embodiments. Thus, the keyboard embodiment used can be tailored to at least some of the applications. In some embodiments, one or more keyboard embodiments can be tailored to a respective user. For example, one or more keyboard embodiments can be tailored to a respective user based on a word usage history (lexicography, slang, individual usage) of the respective user. Some of the keyboard embodiments can be adjusted to reduce a probability of a user error when selecting one or more icons, and thus one or more symbols, when using the soft keyboard embodiments. 
     Attention is now directed towards embodiments of the device.  FIG. 1  is a block diagram illustrating portable multifunction device  100  with touch-sensitive display  112  in accordance with some embodiments. Touch-sensitive display  112  is sometimes referred to as a “touch screen” for convenience, and can also be known or referred to as a touch-sensitive display system. Device  100  can include memory  102  (which can include one or more computer readable storage mediums), memory controller  122 , one or more processing units (CPU&#39;s)  120 , peripherals interface  118 , RF circuitry  108 , audio circuitry  110 , speaker  111 , microphone  113 , input/output (I/O) subsystem  106 , other input or control devices  116 , and external port  124 . Device  100  can include one or more optical sensors  164 . These components can communicate over one or more communication buses or signal lines  103 . 
     It should be appreciated that device  100  is only one example of a portable multifunction device  100 , and that device  100  can have more or fewer components than shown, can combine two or more components, or a can have a different configuration or arrangement of the components. The various components shown in  FIG. 1  can be implemented in hardware, software or a combination of both hardware and software, including one or more signal processing and/or application specific integrated circuits. 
     Memory  102  can include high-speed random access memory and can also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory  102  by other components of device  100 , such as CPU  120  and the peripherals interface  118 , can be controlled by memory controller  122 . 
     Peripherals interface  118  can couple input and output peripherals of device  100  to CPU  120  and memory  102 . One or more processors  120  can run or execute various software programs and/or sets of instructions stored in memory  102  to perform various functions for device  100  and to process data. 
     In some embodiments, peripherals interface  118 , the CPU  120 , and the memory controller  122  can be implemented on a single chip, such as a chip  104 . In some other embodiments, they can be implemented on separate chips. 
     RF (radio frequency) circuitry  108  can receive and send RF signals, also called electromagnetic signals. RF circuitry  108  can convert electrical signals to/from electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. RF circuitry  108  can include well-known circuitry for performing these functions, including but not limited to an antenna system, a RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. RF circuitry  108  can communicate with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication. The wireless communication can use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for email (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), and/or Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS)), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document. 
     Audio circuitry  110 , speaker  111 , the microphone  113  can provide an audio interface between a user and device  100 . Audio circuitry  110  can receive audio data from peripherals interface  118 , convert the audio data to an electrical signal, and transmit the electrical signal to speaker  111 . Speaker  111  can convert the electrical signal to human-audible sound waves. Audio circuitry  110  can also receive electrical signals converted by microphone  113  from sound waves. Audio circuitry  110  can convert the electrical signal to audio data and transmit the audio data to the peripherals interface  118  for processing. Audio data can be retrieved from and/or transmitted to memory  102  and/or RF circuitry  108  by peripherals interface  118 . In some embodiments, audio circuitry  110  can also include a headset jack (e.g.  212 ,  FIG. 2 ). The headset jack can provide an interface between audio circuitry  110  and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone). 
     I/O subsystem  106  can couple input/output peripherals on device  100 , such as touch screen  112  and other input/control devices  116 , to the peripherals interface  118 . The I/O subsystem  106  can include a display controller  156  and one or more input controllers  160  for other input or control devices. One or more input controllers  160  can receive/send electrical signals from/to other input or control devices  116 . Other input/control devices  116  can include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth. In some alternate embodiments, input controller(s)  160  can be coupled to any (or none) of the following: a keyboard, infrared port, USB port, and a pointer device such as a mouse. One or more buttons (e.g.,  208 ,  FIG. 2 ) can include an up/down button for volume control of speaker  111  and/or microphone  113 . One or more buttons can include push button (e.g.,  206 ,  FIG. 2 ). A quick press of the push button can disengage a lock of touch screen  112  or begin a process that uses gestures on the touch screen to unlock the device, as described in U.S. patent application Ser. No. 11/322,549, “Unlocking a Device by Performing Gestures on an Unlock Image,” filed Dec. 23, 2005, which is hereby incorporated by reference. A longer press of the push button (e.g.,  206 ) can turn power to the device  100  on or off. The user can be able to customize a functionality of one or more of the buttons. The touch screen  112  is used to implement virtual or soft buttons and one or more soft keyboards. 
     Touch-sensitive touch screen  112  can provide an input interface and an output interface between the device and a user. Display controller  156  can receive and/or send electrical signals from/to touch screen  112 . Touch screen  112  can display visual output to the user. The visual output can include graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some embodiments, some or all of the visual output can correspond to user-interface objects, further details of which are described below. 
     Touch screen  112  can have a touch-sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact. Touch screen  112  and display controller  156  (along with any associated modules and/or sets of instructions in memory  102 ) can detect contact (and any movement or breaking of the contact) on touch screen  112  and can convert the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on touch screen  112 . In an exemplary embodiment, a point of contact between touch screen  112  and the user corresponds to a finger of the user. 
     Touch screen  112  can use LCD (liquid crystal display) technology, or LPD (light emitting polymer display) technology, although other display technologies can be used in other embodiments. Touch screen  112  and display controller  156  can detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch screen  112 . 
     A touch-sensitive display in some embodiments of touch screen  112  can be analogous to the multi-touch sensitive tablets described in the following U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat. No. 6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932 (Westerman), and/or U.S. Patent Publication 2002/0015024A1, each of which is hereby incorporated by reference. However, touch screen  112  can display visual output from the portable device  100 , whereas touch sensitive tablets do not provide visual output. 
     A touch-sensitive display in some embodiments of touch screen  112  can be as described in the following applications: (1) U.S. patent application Ser. No. 11/381,313, “Multipoint Touch Surface Controller,” filed May 2, 2006; (2) U.S. patent application Ser. No. 10/840,862, “Multipoint Touchscreen,” filed May 6, 2004; (3) U.S. patent application Ser. No. 10/903,964, “Gestures For Touch Sensitive Input Devices,” filed Jul. 30, 2004; (4) U.S. patent application Ser. No. 11/048,264, “Gestures For Touch Sensitive Input Devices,” filed Jan. 31, 2005; (5) U.S. patent application Ser. No. 11/038,590, “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6) U.S. patent application Ser. No. 11/228,758, “Virtual Input Device Placement On A Touch Screen User Interface,” filed Sep. 16, 2005; (7) U.S. patent application Ser. No. 11/228,700, “Operation Of A Computer With A Touch Screen Interface,” filed Sep. 16, 2005; (8) U.S. patent application Ser. No. 11/228,737, “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard,” filed Sep. 16, 2005; and (9) U.S. patent application Ser. No. 11/367,749, “Multi-Functional Hand-Held Device,” filed Mar. 3, 2006. All of these applications are incorporated by reference herein. 
     Touch screen  112  can have a resolution in excess of 100 dpi. In an exemplary embodiment, touch screen  112  can have a resolution of approximately 160 dpi. The user can make contact with touch screen  112  using any suitable object or appendage, such as a stylus, a finger, and so forth. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which can be much less precise than stylus-based input due to, typically, the larger area of contact of a finger on touch screen  112 . In some embodiments, device  100  can translate the rough finger-based input into a precise pointer/cursor position or command for performing the actions desired by the user. 
     In some embodiments, in addition to the touch screen  112 , device  100  can include a touchpad (not shown) for activating or deactivating particular functions. In some embodiments, the touchpad can be a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad can be a touch-sensitive surface that is separate from touch screen  112  or an extension of the touch-sensitive surface formed by touch screen  112 . 
     In some embodiments, device  100  can include a physical or virtual click wheel as an input control device  116 . A user can navigate among and interact with one or more graphical objects (henceforth referred to as icons) displayed in touch screen  112  by rotating the click wheel or by moving a point of contact with the click wheel (e.g., where the amount of movement of the point of contact is measured by its angular displacement with respect to a center point of the click wheel). The click wheel can also be used to select one or more of the displayed icons. For example, the user can press down on at least a portion of the click wheel or an associated button. User commands and navigation commands provided by the user via the click wheel can be processed by input controller  160  as well as one or more of the modules and/or sets of instructions in memory  102 . For a virtual click wheel, the click wheel and click wheel controller can be part of touch screen  112  and display controller  156 , respectively. For a virtual click wheel, the click wheel can be either an opaque or semitransparent object that appears and disappears on the touch screen display in response to user interaction with the device. In some embodiments, a virtual click wheel is displayed on the touch screen of a portable multifunction device and operated by user contact with the touch screen. 
     Device  100  can also include power system  162  for powering the various components. Power system  162  can include a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power in portable devices. 
     Device  100  can also include one or more optical sensors  164 .  FIG. 1  shows optical sensor(s)  164  coupled to optical sensor controller  158  in I/O subsystem  106 . Optical sensor(s)  164  can include charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistors. Optical sensor(s)  164  can receive light from the environment, projected through one or more lens, and convert the light to data representing an image. In conjunction with imaging module  143  (also called a camera module), optical sensor  164  can capture still images or video. In some embodiments, optical sensor can be located on the back of device  100 , opposite touch screen display  112  on the front of the device, so that touch screen display  112  can be used as a viewfinder for either still and/or video image acquisition. In some embodiments, an optical sensor  164  can be located on the front of the device so that the user&#39;s image can be obtained for videoconferencing while the user views the other video conference participants on the touch screen display. In some embodiments, the position of the optical sensor  164  can be changed by the user (e.g., by rotating the lens and the sensor in the device housing) so that a single optical sensor  164  can be used along with touch screen display  112  for both video conferencing and still and/or video image acquisition. 
     Device  100  can also include one or more proximity sensors  166 .  FIG. 1  shows proximity sensor  166  coupled to peripherals interface  118 . Alternately, proximity sensor  166  can be coupled to input controller  160  in I/O subsystem  106 . In some embodiments, proximity sensor  166  turns off and disables touch screen  112  when the multifunction device is placed near the user&#39;s ear (e.g., when the user is making a phone call). In some embodiments, proximity sensor  166  keeps touch screen  112  off when device  100  is in the user&#39;s pocket, purse, or other dark area to prevent unnecessary battery drainage when device  100  is a locked state. 
     Device  100  can also include one or more accelerometers  168 .  FIG. 1  shows accelerometer  168  coupled to peripherals interface  118 . Alternately, accelerometer  168  can be coupled to input controller  160  in I/O subsystem  106 . The accelerometer  168  can perform as described in U.S. Patent Publication No. 20050190059, “Acceleration-based Theft Detection System for Portable Electronic Devices,” and U.S. Patent Publication No. 20060017692, “Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer,” both of which are which are incorporated herein by reference. In some embodiments, information can be displayed on touch screen display  112  in a portrait view or a landscape view based on an analysis of data received from the one or more accelerometers. 
     In some embodiments, software components stored in memory  102  can include operating system  126 , communication module (or set of instructions)  128 , contact/motion module (or set of instructions)  130 , graphics module (or set of instructions)  132 , text input module (or set of instructions)  134 , Global Positioning System (GPS) module (or set of instructions)  135 , and applications (or set of instructions)  136 . 
     Operating system  126  (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) can include various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and can facilitate communication between various hardware and software components. 
     Communication module  128  can facilitate communication with other devices over one or more external ports  124  and can also include various software components for handling data received by RF circuitry  108  and/or external port  124 . External port  124  (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) can be adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, external port can be a multi-pin (e.g., 30-pin) connector that is the same as, or similar to and/or compatible with the 30-pin connector used on iPod (trademark of Apple Computer, Inc.) devices. 
     Contact/motion module  130  can detect contact with touch screen  112  (in conjunction with display controller  156 ) and other touch sensitive devices (e.g., a touchpad or physical click wheel). Contact/motion module  130  can include various software components for performing various operations related to detection of contact, such as determining if contact has occurred, determining if there is movement of the contact and tracking the movement across touch screen  112 , and determining if the contact has been broken (i.e., if the contact has ceased). Determining movement of the point of contact can include determining speed (magnitude), velocity (magnitude and direction), and/or an acceleration (a change in magnitude and/or direction) of the point of contact. These operations can be applied to single contacts (e.g., one finger contacts) or to multiple simultaneous contacts (e.g., “multi-touch”/multiple finger contacts). In some embodiments, contact/motion module  130  and display controller  156  can also detect contact on a touchpad. In some embodiments, contact/motion module  130  and controller  160  can detect contact on a click wheel. 
     Graphics module  132  can include various known software components for rendering and displaying graphics on touch screen  112 , including components for changing the intensity of graphics that are displayed. As used herein, the term “graphics” includes any object that can be displayed to a user, including without limitation text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like. An animation in this context is a display of a sequence of images that gives the appearance of movement, and informs the user of an action that has been performed (such as moving an email message to a folder). In this context, a respective animation that confirms an action by the user of the device typically takes a predefined, finite amount of time, such as an amount of time between 0.2 and 1.0 seconds, or between 0.5 and 2.0 seconds, depending on the context. 
     Text input module  134 , which can be a component of graphics module  132 , can provide soft keyboards for entering text in various applications (e.g., contacts  137 , e-mail  140 , IM  141 , blogging  142 , browser  147 , and any other application that needs text input). 
     GPS module  135  can determine the location of device  100  and can provide this information for use in various applications (e.g., to telephone  138  for use in location-based dialing, to camera  143  and/or blogger  142  as picture/video metadata, and to applications that provide location-based services such as weather widgets, local yellow page widgets, and map/navigation widgets). 
     Applications  136  can include the following modules (or sets of instructions), or a subset or superset thereof:
         contacts module  137  (sometimes called an address book or contact list);   telephone module  138 ;   video conferencing module  139 ;   e-mail client module  140 ;   instant messaging (IM) module  141 ;   blogging module  142 ;   camera module  143  for still and/or video images;   image management module  144 ;   video player module  145 ;   music player module  146 ;   browser module  147 ;   calendar module  148 ;   widget modules  149 , which can include weather widget  149 - 1 , stocks widget  149 - 2 , calculator widget  149 - 3 , alarm clock widget  149 - 4 , dictionary widget  149 - 5 , and other widgets obtained by the user, as well as user-created widgets  149 - 6 ;   widget creator module  150  for making user-created widgets  149 - 6 ;   search module  151 ;   video and music player module  152 , which merges video player module  145  and music player module  146 ;   notes module  153 ; and/or   map module  154 .       

     Examples of other applications  136  that can be stored in memory  102  include other word processing applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication. 
     Each of the above identified modules and applications can correspond to a set of instructions for performing one or more functions described above. These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules can be combined or otherwise re-arranged in various embodiments. For example, video player module  145  can be combined with music player module  146  into a single module (e.g., video and music player module  152 ,  FIG. 1B ). In some embodiments, memory  102  can store a subset of the modules and data structures identified above. Furthermore, memory  102  can store additional modules and data structures not described above. 
     In some embodiments, device  100  can be a device where operation of a predefined set of functions on the device can be performed exclusively through touch screen  112  and/or touchpad. By using touch screen and/or a touchpad as the primary input/control device for operation of device  100 , the number of physical input/control devices (such as push buttons, dials, and the like) on device  100  can be reduced. 
     The predefined set of functions that can be performed exclusively through a touch screen and/or a touchpad include navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, can navigate device  100  to a main, home, or root menu from any user interface that can be displayed on device  100 . In such embodiments, the touchpad can be referred to as a “menu button.” In some other embodiments, the menu button can be a physical push button or other physical input/control device instead of a touchpad. 
       FIG. 2  illustrates a portable multifunction device  100  having touch screen  112  in accordance with some embodiments. Touch screen  112  can display one or more graphics within user interface (UI)  200 . In this embodiment, as well as others described below, a user can select one or more of the graphics by making contact or touching the graphics, for example, with one or more fingers  202  (not drawn to scale in the figure). In some embodiments, selection of one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the contact can include a gesture, such as one or more taps, one or more swipes (from left to right, right to left, upward and/or downward) and/or a rolling of a finger (from right to left, left to right, upward and/or downward) that has made contact with device  100 . In some embodiments, inadvertent contact with a graphic can not select the graphic. For example, a swipe gesture that sweeps over an application icon can not select the corresponding application when the gesture corresponding to selection is a tap. 
     Device  100  can also include one or more physical buttons, such as “home” or menu button  204 . As described previously, menu button  204  can be used to navigate to any application  136  in a set of applications that can be executed on device  100 . Alternatively, in some embodiments, menu button  204  can be implemented as a soft key in a GUI in touch screen  112 . 
     In one embodiment, device  100  can include a touch screen  112 , a menu button  204 , a push button  206  for powering the device on/off and locking device, volume adjustment button(s)  208 , a Subscriber Identity Module (SIM) card slot  210 , head set jack  212 , and docking/charging external port  124 . Push button  206  can be used to turn the power on/off on device  100  by depressing the button and holding the button in the depressed state for a predefined time interval; to lock the device by depressing the button and releasing the button before the predefined time interval has elapsed; and/or to unlock the device or initiate an unlock process. In an alternative embodiment, device  100  can also accept verbal input for activation or deactivation of some functions through microphone  113 . 
     Attention is now directed towards methods and systems for selecting text using a multi-touch sensitive device, such as device  100 . In general, device  100  can provide a user interface (“UI”) that permits easy and quick selection of text displayed on the UI. From time-to-time, description of devices and methods implementing text selection embodiments may be described in terms of being used in a text editing environment, such as when device  100  is running a word processing, email, note pad, instant message, or blogging application, for example. Additionally, features of the embodiments described herein can also be applied in a web browser environment. Description in terms of these exemplary environments is provided to allow the various features and embodiments to be portrayed in the context of exemplary applications. However, this disclosure should not be limited to these specific implementations, but can also be applied in other ways as would be understood by one of skill in the art after reading this disclosure. 
       FIG. 3  illustrates device  100  implementing text selection features in accordance with various embodiments. Here, device  100  is shown with UI in a text editing environment or mode. In such a mode, display screen  200  can display graphics  300  in the form of lines of text and soft keyboard  302  for entering text. Soft keyboard embodiments can include standard (QWERTY) and/or non-standard configurations of symbols on the displayed icons of the keyboard, such as those described in U.S. patent application Ser. No. 11/459,606, “Keyboards For Portable Electronic Devices,” filed Jul. 24, 2006, and Ser. No. 11/459,615, “Touch Screen Keyboards For Portable Electronic Devices,” filed Jul. 24, 2006, the contents of which are hereby incorporated by reference. 
     With further reference to  FIG. 3 , selected text area  305  can be indicated on display  200  as highlighted text bounded by first endpoint  304   a  and second endpoint  304   b . It is understood that selected text area  305  can encompass any portion of the text illustrated in  FIG. 3 , and the text selected in  FIG. 3  is merely one example. Additionally, first endpoint  304   a  can have an associated first handle  306   a  and second endpoint can have an associated second handle  306   b . As is described in further detail below, handles  306   a  and  306   b  can be useful in that they can indicate the location of endpoints  304   a  and  304   b . Handles  306   a  and  306   b  can also be used as easily selectable target areas for a user to select in the event a user desires to move one or both of endpoints  304   a  or  304   b . For example, in accordance with various embodiments, a user can move endpoint  304   a  from its initial location to a second location in text by selecting corresponding handle  306   a  (e.g., by placing a finger on touch screen display  200  in proximity to handle  304   a ) and dragging handle  306   a  (e.g., by moving finger across touch screen display  200 ) to the second location. In this manner, selected text area  305  can be modified. In some embodiments, handles  306   a  and  306   b  can be in the shape of triangles and can be translucent, but, in other embodiments, handles  306   a  and  306   b  can be other shapes and sizes, and can be opaque. 
     In some embodiments, a selectable area for each handle  306   a  and  306   b  can be a different size than the visible handle itself. A selectable area for a handle  306  can be referred to herein as a “virtual handle.”  FIG. 3  shows virtual handles  307   a  and  307   b  associated with handles  306   a  and  306   b , respectively. Thus, for example, a user can select handle  306   a  even if the centroid of a touch does not fall within the visible area of handle  306   a , but instead falls within the area of virtual handle  307   a . Accordingly, virtual handles  307   a  and  307   b  can be larger than or, at least, extend past portions of handles  306   a  and  306   b , respectively, so that the associated handle  306   a  or  306   b  is easier for a user to select by providing additional targeting area. The shape of virtual handles  307  can have any shape, such as a circular, an oval, a triangular or a rectangular shape, for example. In some embodiments, the size of virtual handle  307  can be approximately finger-tip sized; whereas, the associated handle  306  can be smaller than the size of a finger tip. 
     With reference to  FIG. 4 , ghost handles  406  can be displayed on corners or edges of UI. Ghost handle  406  can correspond to endpoint  304  located off of a viewing area of UI. To illustrate, text can be scrolled downward so that first endpoint  304   a  is located outside of the display area, for example. Thus, first endpoint  304   a  is not shown in  FIG. 4 . Scroll bar  310  can indicate the text is scrolled down. Because first endpoint  304   a  is off of touch screen  200 , ghost handle  406   a  can be positioned on upper edge of text entry area of device  100  to indicate that first endpoint  304   a  is located outside of the currently displayed text. In some embodiments, horizontal positioning of ghost handle  406   a  along the edge of the text viewing area can correspond to the horizontal position of endpoint  304   a  in the non-displayed text. Accordingly, ghost handle  406   a  can provide a reference as to the location of first endpoint  304   a . Furthermore, in some embodiments, selecting ghost handle  406  can trigger device  100  to display the corresponding endpoint  304  and surrounding text. In other embodiments, a user can grab ghost marker  406  and drag ghost marker  406  to a desired location. A user can cause associated endpoint  304  to be inserted in the location to which the user dragged ghost handle  406 . 
     Further to  FIG. 3 , text selection icon  308  can also be provided in UI in accordance with various embodiments. Text selection icon  308  can be used to initiate a text selection mode and can be displayed in the form of a clipboard. For example, in accordance with an embodiment, a user can tap text selection icon  308  to initiate a text selection mode. Thereafter, the user can tap touch screen display  200  at a desired location to insert first endpoint  304   a  in text and then tap touch screen display  200  at a second location to insert second endpoint  304   b  in text. Any text located between endpoints  304   a  and  304   b  can then be highlighted to indicate the currently selected text area  305 . This is discussed in more detail below with reference to  FIGS. 10   a  and  10   b . In addition, once text is selected, the user can drag and drop the selected text into text selection icon  308 . That text can be later accessed by the user and copied or pasted into a different location in a document or different document entirely, for example. 
       FIG. 5  is a flow diagram illustrating an exemplary process  500  for selecting text in accordance with some embodiments. As mentioned above, process  500  can be used while device  100  is in a text editing mode, but need not be. For example, process  500  can be used while in a web browser mode. 
     In step  502 , process  500  can begin when a text selection initiation gesture is detected by device  100 . In accordance with various embodiments, a text selection initiation gesture need not be limited to a particular gesture, as various types of gestures can be used. The following is a non-limiting list of exemplary gestures that can be used to initiate text selection in accordance with various embodiments:
         (1) Touching and holding two fingers on touch screen  200  for a predetermined amount of time (e.g., 2 seconds). The fingers can be spread apart, or the fingers can be together.   (2) Placing two fingers on touch screen display and then spreading the fingers apart.   (3) A double finger tap on touch screen  200 .   (4) Selecting text selection icon  308  (shown in  FIG. 4 ).   (5) A horizontal slide of two fingers across a portion of display panel  200 .   (6) A text selection mode can be initiated by first initiating a text marker insertion mode and than performing a further gesture. As an example, a text selection initiation gesture can be a horizontal slide of one finger, which can enter insertion marker placement mode. Insertion marker placement mode is discussed in more detail in U.S. patent application Ser. No. 11/965,570, “Insertion Marker Placement On Touch Sensitive Display,” filed Dec. 27, 2007, the contents of which are hereby incorporated by reference in its entirety. Device  100  can then enter text selection mode by a touch of a second finger on the touch panel  200  once device  100  is in insertion marker placement mode.
 
Of course, text selection initiation gestures need not be limited those described herein, as others can be used. Furthermore, various embodiments can use one or more different text selection initiation gestures, and need not be limited to a single gesture.
       

     Next, in step  504 , endpoints  304   a  and  304   b  can be inserted in text. In some embodiments, endpoints  304  can be inserted into text in accordance with the particular gesture used to initiate text selection. Various gestures used to initiate text selection and resulting endpoint insertion locations are discussed below with reference to  FIGS. 6-10 . 
     As an example, a text selection initiation gesture can include spreading apart a first finger and a second finger on touch screen  200 . To illustrate,  FIG. 6   a  shows an exemplary detected finger spreading-apart gesture. Detected beginning and ending finger contact areas of a first finger are illustrated as areas A 1  and A 2 , respectively. Detected beginning and ending finger contact areas of a second finger are illustrated as areas B 1  and B 2 , respectively. Dashed arrows indicate the direction of the detected finger movement across touch screen  200 . Thus,  FIG. 6   a  shows initial detection of the first finger at area A 1  and subsequent detection of the first finger moving to area A 2 , and initial detection of second finger at area B 1  and subsequent detection of the second finger moving to area B 2 . Resulting ending locations of the fingers A 2  and B 2  can then designate locations where endpoints  304   a  and  304   b , respectively, of text selection area  305  are inserted in text  300 . For example,  FIG. 6   b  illustrates the placement of first endpoint  304   a  at or near area A 2  and the placement of second endpoint  304   b  at or near area B 2 . 
     As another example,  FIG. 7   a  illustrates a text selection initiation gesture that can include detecting two fingers placed and held at locations A 1  and B 1  on the touch screen  200  for a predetermined amount of time without moving the fingers.  FIG. 7   b  illustrates resulting insertion locations of endpoints  304   a  and  304   b  as the beginning and end of a word located proximate a centroid  700  (represented as a dot between detected finger contact areas A 1  and B 1  in  FIG. 7 ) of the detected the finger touch locations A 1  and B 1 . 
     Alternatively, when using two fingers, first endpoint  304   a  can be placed on an end of or inside a word located proximate the two finger contact, and subsequent sliding of the two fingers across touch screen  200  to a second location can determine the position of second endpoint  304   b . Exemplary detection of such a gesture is illustrated in  FIG. 8   a  and the resulting text selection area  305  and endpoints  304   a  and  304   b  are illustrated in  FIG. 8   b . In accordance with various embodiments, insertion and movement of text endpoints can be performed in a similar manner to that of movement of insertion markers, which is described in previously referenced in U.S. patent application Ser. No. 11/965,570, “Insertion Marker Placement On Touch Sensitive Display,” filed Dec. 27, 2007, the contents of which are hereby incorporated by reference again in their entirety. 
     As yet another example, a further text selection initiation gesture comprising placing and holding three fingers on touch screen  200  is illustrated in  FIGS. 9   a  and  9   b . As shown in  FIG. 9   a , device  100  can detect finger contacts areas A 1 , B 1  and C 1  of respective first, second and third fingers on touch screen  200 . In response, text selection area  305  can be a paragraph or sentence located under centroid  900  of finger contact areas A 1 , B 1  and C 1 .  FIG. 9   b  illustrates the resulting selection area  305  as including the entire paragraph located under centroid  900 ; although, as mentioned above, the selection area  305  could encompass a single sentence falling under or proximate to centroid  900  in other embodiments. 
     An exemplary text selection initiation gesture using text selection icon  308  is described with reference to  FIGS. 10   a  and  10   b . First, a user can select text selection initiation icon  308  by, for example, tapping the text selection icon  308  with a finger. Next, as shown in  FIG. 10   a , the user can tap over a first location of text  300 , which can be detected as finger contact A 1 , to insert first endpoint  304   a  and tap over a second location of text  300 , detected as finger contact B 1 , to insert second endpoint  304   b . As illustrated in  FIG. 10   b , endpoints  304   a  and  304   b  can then be inserted proximate to respective locations of detected first and second taps A 1  and B 1 . 
     After initial placement of endpoints  304   a  and  304   b , endpoints  304   a  and  304   b  can be moved to new locations in step  506 . In accordance with some embodiments, a user can move endpoint  304   a  or  304   b  by first selecting its corresponding handle  306   a  or  306   b  and then dragging handle  306   a  or  306   b  over touch screen  200  to a new, desired location. An example of a user selecting handle  304   b  and dragging handle  304   b  to a new location is described with reference to  FIG. 11 . As illustrated, a user can tap handle  304   b  to select handle  304   b . The detected finger tap is represented finger contact area A 1 . The user can then slide a finger across touch screen  200  (indicated as a dashed arrow) to a second location, illustrated as detected finger contact area A 2 .  FIG. 11   b  illustrates endpoint  304   a  moved to its second location in text  305 . 
     In some embodiments, both endpoints  304   a  and  304   b  can be selected at the same time and moved simultaneously or concurrently. For example, with reference to  FIG. 12   a , a user can associate first endpoint  304   a  with a first finger by placing the first finger over handle  306   a  (represented as finger contact A 1 ), and associate second endpoint  304   b  with a second finger by placing the second finger over handle  306   b  (represented as finger contact area B 1 ).  FIG. 12   a  also illustrates the user sliding first and second fingers across touch screen  200 , in accordance with the respective directions of dashed arrows, to new locations in text  300  corresponding to respective detected finger areas A 2  and B 2 . The user can slide each finger at the same time, if desired.  FIG. 12   b  illustrates selected text area  305  after endpoints  304   a  and  304   b  have been moved to their new locations in text  300 . 
     The finger movement detected in step  506  can also be performed on a portion of touch screen  200  that is located remote from handle  306  or endpoint  304  being moved. In other words, using a finger associated with one of endpoints  304   a  or  304   b , a user can move the endpoint  304   a  or  304   b  by swiping touch screen  200  sideways (e.g., horizontally) on a portion of touch screen  200  located remote from associated endpoint  304   a  or  304   b  or handle  306   a  or  306   b . The swipe can cause associated endpoint  304   a  or  304   b  to move in accordance with the direction and magnitude of the detected swipe. Permitting finger movement in step  508  remote from associated endpoint  304   a  or  306   b  and handle  306   a  or  306   b  can allow a user to move endpoint  304   a  or  304   b  without obstructing the view of associated endpoint  304   a  or  304   b  and can require less precise finger targeting.  FIGS. 13   a  and  13   b  illustrate an exemplary process of moving first endpoint  304   a  in such a manner. As an initial step, endpoint  304   a  can be selected by tapping its associated handle  306   a  (represented as detected contact area A 1 ). Next, a user can swipe a finger across touch screen  200  remote from endpoint  304   a  and  306   a , which, in the example shown in  FIG. 13   a , can start at detected contact point A 2  and end at detected contact point A 3 .  FIG. 13   b  illustrates endpoint  304   a  moving from its initial location to a second location in text  300  in response to the swipe. In some embodiments, movement of endpoint  304   a  can be in accordance (e.g., proportion) with the direction and magnitude of the detected finger swipe. Furthermore, endpoint  304   a  or  304   b  can scroll along a line of text and continue scrolling along a following line of text. Also, after the first swipe, a user can perform additional swipes to move endpoint  304   a  or  304   b  further along the lines of text. 
     Various ways can be used to associate a finger with an endpoint  304 . For example, association may have already occurred during insertion step  504 , where each endpoint  304   a  and  304   b  can be associated with respective finger that determined initial placement of that endpoint  304   a  or  304   b . In other embodiments, association can be performed by tapping a finger on an associated handle  306 , as described above. Of course, other ways to associate a finger with endpoint  304  can also be used. 
     In some embodiments, movement of endpoints  304   a  and  304   b  to new locations can be performed simultaneously by moving fingers associated with endpoints  304   a  and  304   b  at the same time, for example. In other embodiments, a first finger can be used to anchor (i.e., hold) a location of an endpoint  304  and a second finger can be used to scroll text (e.g., by flicking the second finger on the touch screen  200  or dragging scroll bar  310  illustrated in  FIG. 4 ). The first finger can then be moved to a second location in the scrolled-to text, thereby moving endpoint  304  to the second location. 
     The above described features can provide various ways for quick and easy selection of text using a touch-sensitive display. 
     Referring back to  FIG. 5 , various editing functions can also be performed on the selected text in step  508 . Such editing functions can include any conventional word processing, email, note pad, instant message, blogging or web browser editing functions, for example. Such functions can include copying and pasting the selected text, cutting and pasting the selected text, underlining the selected text, bolding the selected text, changing the font of the selected text, and the like. 
     Note that computer readable instructions implementing process  500 , for example, can be stored and transported on any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM) (magnetic), an optical fiber (optical), portable optical disc such a CD, CD-R, CD-RW, DVD, DVD-R, or DVD-RW, or flash memory such as compact flash cards, secured digital cards, USB memory devices, memory stick, etc. Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program text can be electronically captured via optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory. 
     As used in this disclosure, the phrase moving “in accordance with” can refer to moving an object relative to another object or moving an object in proportion with another object, for example. 
     The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. For example, the features described herein need not be limited to placement and selection of text, as the teachings herein can also be used for placement and selection of other types of graphics, such as pictures, symbols, icons or the like. Moreover, the various implementations disclosed herein are not limited to use of touch-sensitive display, as a touch-sensitive panel that does not display output can also be used. Such a non-display touch-sensitive panel can extend from or be separately connected to a display and can be in the form of a touchpad or trackpad, for example. A display connected to such a non-display touch-sensitive panel can also be touch-sensitive, but need not be touch-sensitive. A touch-sensitive panel in some embodiments can be analogous to the multi-touch sensitive tablets described in the following U.S. Pat. Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and/or 6,677,932 (Westerman), and/or U.S. Patent Publication 2002/0015024A1, each of which is hereby incorporated by reference in its entirety. 
     The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.

Metadata:
Filing Date: 20080304
Publication Date: 20140211
Grant Date: 20140211
Priority Date: 20080304
Inventors: WESTERMAN WAYNE CARL
ORDING BAS
VICTOR B. MICHAEL
LEMAY STEPHEN O.
Assignee: APPLE INC
CPC Classifications: [{"code": "G06V30/1456", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/04883", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F40/166", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F40/166", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F2203/04808", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F2203/04808", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/04883", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06V30/1456", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06V30/10", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06V30/10", "inventive": false, "first": false, "tree": "[]"}]
Family ID: 40602627