The present disclosure relates generally to electronic devices and, more particularly, to methods and apparatus to copy and insert information.
Documents, reports, other types of electronic documents, and/or other types of electronic media are sometimes authored using information from other sources. Such electronic documents or media can be for any type of information including text, graphics, pictures, animations, video, audio, etc. When authoring such electronic documents or media, users can switch between different sources (e.g., documents or media having information to be copied) and destinations (e.g., documents or media in which information is to be inserted). In this manner, users can copy information from different sources and insert the copied information at specified locations of other electronic documents or media.
Although the following discloses example methods, apparatus, and articles of manufacture including, among other components, software executed on hardware, it should be noted that such methods, apparatus, and articles of manufacture are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, software, and/or firmware. Accordingly, while the following describes example methods, apparatus, and articles of manufacture, persons having ordinary skill in the art will readily appreciate that the examples provided are not the only way to implement such methods, apparatus, and articles of manufacture.
It will be appreciated that, for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of example embodiments disclosed herein. However, it will be understood by those of ordinary skill in the art that example embodiments disclosed herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure example embodiments disclosed herein. Also, the description is not to be considered as limiting the scope of example embodiments disclosed herein.
Example methods, apparatus, and articles of manufacture are disclosed herein in connection with electronic devices, which may be any stationary electronic device or mobile electronic device. Stationary devices may be, for examples, desktop computers, client terminals, etc. Mobile devices, also referred to as terminals, wireless terminals, mobile stations, communication stations, or user equipment (UE), may include mobile smart phones (e.g., BlackBerry® smart phones), wireless personal digital assistants (PDA), tablets (e.g., the BlackBerry® PlayBook® tablet device), laptop/notebook/netbook computers with or without wireless adapters, etc.
Example methods, apparatus, and articles of manufacture disclosed herein may be used to copy information from information sources (e.g., source documents or other media sources) and insert the copied information into information destination (e.g., destination documents or other media destinations) on electronic devices. When copying and inserting/pasting information (e.g., items, objects, data, content, or any other media), such information is copied and subsequently inserted/pasted into a new location (e.g., a destination location). In some instances, known copying and inserting/pasting techniques create unfavorable user experiences. Such unfavorable user experiences may occur, for example, when a destination location is not ready to receive copied information (e.g., inserting copied information at the end of an unfinished document), or when a user needs to switch contexts by opening one or more other applications or documents containing information to be copied and switching back to a destination document or media to insert/paste the copied information, thereby interrupting the user's flow of creativity. Also, the content to be pasted from another source may not yet be available from that other source. For example, information sources may not be available when they are on removable drives (e.g., removable universal serial bus (USB) drives), or are stored on a remote server that is only accessible at particular times or from particular network locations. When information to be copied is in another document or media source, sequential copy-and-paste operations using known techniques require at least two context switches (e.g., a first one to open the source document/media and a second one to switch back to the destination/target document at which the information is to be inserted). When information is to be copied from multiple sources and inserted/pasted into multiple destinations, the number of context switches can become relatively large (e.g., m*n context switches, where (m) represents the destination documents/media and (n) represents the source documents/media).
Examples disclosed herein are useful in improving the user experience when copying and inserting/pasting information. For example, disclosed techniques enable users to mark destination locations at which subsequently copied information is to be inserted/pasted, thus, substantially eliminating or reducing dependence on whether the subsequently copied information is available at the time when a user marks the destination location. Disclosed examples also reduce the amount of application or document context switching that a user must perform when copying information from numerous different data sources for copying to a target or destination document or media. In this manner, when content from multiple sources is destined for multiple destinations, the context switches are relatively fewer (e.g., m+n context switches). That is, examples disclosed herein enable users to: create placeholders for multiple destination locations where information is to be inserted, keep the placeholders accessible while closing corresponding destination documents or media, open source documents or media and copy information therefrom for the placeholders, and cause automatic insertion of the copied information into the destination locations of the corresponding destination documents.
In some examples, a placeholder or destination marker may be optionally deleted after its use to copy and insert/paste information, or it may optionally be preserved. When a placeholder or destination marker is preserved, the user can return to its corresponding destination location to modify the inserted/copied information (e.g., modify the font or other attributes for the text, rename a source file containing the inserted information, etc.).
When teachings disclosed herein are used in connection with mobile devices having relatively smaller screens than available on larger desktop or laptop computers, the user experience is not burdened by requiring users to keep multiple applications, documents, or media open or running in the background (e.g., in a multi-tasking environment) while navigating through different source documents or media to copy information.
In the illustrated example, to enable the user to subsequently insert (e.g., paste) information in the destination document 104a at the user-specified destination locations 108, the placeholder data structure 102 of the illustrated example stores placeholder identifiers 110 corresponding to respective placeholders at the user-specified destination locations 108. The placeholder data structure 102 of the illustrated example also stores source information 112 in association with respective ones of the placeholder identifiers 110 to associate respective source information 112 to be inserted at corresponding user-specified destination locations 108 identified by the placeholder identifiers 110. In this manner, the user can select the source information 112 of the illustrated example from one or more of the source documents 104a-b to be subsequently inserted (e.g., pasted) into one or more of the user-specified destination locations 108. In examples disclosed herein, source information 112 from one or more of the source documents 104a-b may be selected and stored in the placeholder data structure 102 in association with respective placeholder identifiers 110 of the destination document 106a regardless of whether the destination document 106a is open at the time of selecting the source information 112.
To copy and insert information in the illustrated example, an association is created between a placeholder identifier 110 and a corresponding user-specified destination location 108 of the destination document 106a at which subsequently selected source information 112 is to be inserted. In the illustrated example, the placeholder identifier 110 is then stored in the data structure 102 along with one or more other placeholder identifiers 110 associated with one or more other user-specified destination locations 108 of one or more of the destination documents 106a-b. In some examples, the destination document 106 is then closed before selecting corresponding source information 112. In response to a user request and without accessing the destination document 106a, a second association is made between the placeholder identifier 110 and user-selected source information 112 from a source document 104a or 104b, which is separate from the destination document 106a in the illustrated example. The user-selected source information 112 is inserted at the user-specified destination location 108 in the destination document 106a based on the second association between the placeholder identifier 110 (corresponding to the user-specified destination location 108) and the user-selected source information 112. In some examples, the user-selected source information 112 is inserted at the user-specified destination location 108 in the destination document 106a when the destination document 106a is re-opened. For example, a file open event for the destination document 106a can create a message, interrupt, or trigger to cause the user-selected source information 112 to be inserted at the user-specified destination location 108 in the destination document 106a.
In the illustrated example, the placeholder identifier 110 was not previously associated with any other user-selected source information to be inserted at the first user-specified destination location 108. That is, after the initial creation of the placeholder identifier 110, the placeholder data structure 102 is used to obtain source information 112 for inserting at a user-specified destination location 108 corresponding to the placeholder identifier 110 without needing any prior association between the source information 112 and the placeholder identifier 110. In some examples, the placeholder identifier 110 may be optionally deleted after its use to copy and insert/paste source information 112, or it may optionally be preserved. When a placeholder identifier 110 is preserved, the user can return to its corresponding user-specified destination location 108 to modify the inserted/copied information (e.g., modify the font or other attributes for the text, rename a source file containing the source information, etc.).
In the illustrated example, the placeholder data structure 102 shows only placeholders for the destination document 106a. However, the placeholder data structure 102 may additionally or alternatively store placeholders for one or more other destination documents (e.g., the destination document 106b and/or one or more other destination documents). In the illustrated example, the placeholder identifiers 110 are denoted in the format Dxxxxx_yyy, in which the portion “Dxxxxx” identifies a particular destination document (e.g., D01432 specifies the document 106a) and the portion “yyy” specifies a particular one of the user-specified destination locations 108. In some examples, the portion “Dxxxxx” may be a file path and filename. In some examples, the portion “yyy” of the placeholder identifiers 110 is encoded in corresponding ones of the user-specified destination locations 108 in the destination document 106a so that respective source information 112 from the placeholder data structure 102 can be inserted at corresponding ones of the user-specified destination locations 108 based on matching ones of the “yyy” portion. In other examples, other formats for the placeholder identifiers 110 may be used instead.
Although the source information 112 is shown in the illustrated example as stored in the placeholder data structure 102, in other examples, the placeholder data structure 102 does not store the source information 112 and instead stores source information identifiers. In such examples, the source information identifiers specify locations of source information in one or more of the destination documents 104a-b that is to be copied from the destination document(s) 104a-b and inserted at respective ones of the user-specified destination locations 108 corresponding to the placeholder identifiers 110 with which the source information identifiers are associated in the placeholder data structure 102. In some examples, storing source information identifiers pointing to source information in one or more of the source documents 104a-b is useful to reduce the amount of runtime memory or system memory used by the placeholder data structure 102. For example, when source information is large (e.g., a high-resolution image), storing the source information in the placeholder data structure 102 may use up a large quantity of memory. However, by instead storing a source information identifier pointing to a location of a source document at which the large source information (e.g., the high-resolution image) is located, the source information identifier can be used to retrieve the source information from the source document when it is time to be inserted in a destination document.
In the illustrated example, the placeholder data structure 102 also includes example user-specified descriptions 114, example data types 116, and example attributes 118. The user-specified descriptions 114 of the illustrated example enable a user to assign each of the user-specified destination locations 108 a memorable or meaningful description or label useable to remind the user of what information the user intended to insert at each of the user-specified destination locations. In the illustrated example, the user-specified descriptions 114 correspond to the labels “<street address>,” “<city>,” “<state>,” and “<FiveBizInc concept drawing>” shown in the destination document 106a at the user-specified destination locations 108.
The data types 116 of the illustrated example specify what type of information is to be inserted at each of the user-specified destination locations 108. In some examples, the data types 116 are specified by users, while in other examples, the data types 116 are specified based on the type of data (e.g., text data, graphic data, etc.), type of document (e.g., a text document, a media file, etc.), and/or the type of application associated with the destination document 104a. In the illustrated example, the data types 116 include a text type and a graphic type. However, any other data type may be specified such as a video type, an audio type, an animation type, a table type, an application-specific type (e.g., an Excel® spreadsheet), a file extension type, etc.
The attributes 118 specify any special attributes that are to be applied to the source information 112 when inserted into the destination document 104a. Such special attributes can be associated with fonts, image attributes, functional attributes (e.g., hyperlinking), or any other types of attributes. In the illustrated example, the attributes 118 specify bold font for text data types so that source information appears in bold-face type when inserted into the destination document 106a. The attributes 118 also specify a frame (or border) for the graphic data type so that a source image or graphic appears with a surrounding frame or border when inserted into the destination document 106a.
In some examples, the attributes 118 may additionally or alternatively specify conversion processes to be applied to source information 112 when inserted at the destination document(s) 106a-b to, for example, convert the source information 112 between different data types. For example, an optical character recognition (OCR) process can be performed on a selected image portraying text information so that the recognized text can be inserted at a user-specified destination location 108. Such conversions can be triggered in different manners. For example, when a user selects an image portraying text (e.g., from a portable document format (PDF) document or an image file) as source information 112 from one of the source documents 104a-b, a preliminary OCR test process can be performed to determine whether text can be recognized in the selected image. If successful, a user-interface menu (e.g., the copy menu 202 of
In the illustrated example, the source documents 104a-b and the destination documents 106a-b may contain the same or different types of information including one or more of text, graphics, pictures, animations, video, audio, etc. Although only documents 104a-b and 106a-b are shown, examples disclosed herein may additionally or alternatively be used in connection with different types of information sources including word processor documents/files, text documents/files, picture files, graphics files, video files, audio files, media streams, websites, hypertext markup language documents/files, spreadsheet files, database files, email messages, a short message service (SMS) message, an instant message, etc. In addition, the terms source and destination as used herein are relative identifiers, and may both be used to refer to the same document (or location) at different times depending on whether that document (or location) is serving as a source of information (e.g., an information source) or a destination (e.g., an information destination) in which information is to be inserted. That is, although the documents 104a-b are referred to as source documents 104a-b from which information is to be copied, and the documents 106a-b are referred to as destination documents 106a-b in which information is to be inserted, the source documents 104a-b may at some times be destination documents and the destination documents 106a-b may at some times be source documents.
In the illustrated example, the documents 104a-b and 106a-b are associated with one or more applications 120 that, for example, render, allow access to, open, save, etc. the documents 104a-b and 106a-b. Example types of the applications 120 include word processors, spreadsheet programs, database programs, email programs, image programs, media player/editor programs, web browser programs, etc. The placeholder data structure 102 of the illustrated example is generated, managed (e.g., updated), and/or persisted independent of the applications 120 of the illustrated example. In some examples, techniques disclosed herein for copying and inserting/pasting information using the placeholder data structure 102 are implemented in one or more operating system (OS) functions, processes, and/or routines that run independent of the applications 120 and that can access the documents 104a-b and 106a-b via, for example, one or more application programming interfaces (APIs). In this manner, techniques or features disclosed herein to copy and insert/paste information can be application-independent such that they can be used across the documents 104a-b and 106a-b associated with different ones of the applications 120. In other examples, the techniques disclosed herein may be implemented in an application or a program module that is separate from the applications 120 and/or that is a plug-in to, or can otherwise access, the applications 120 and access the placeholder data structure 102. In yet other examples, the techniques disclosed herein may be implemented in the applications 120, and each of the applications 120 can access the placeholder data structure 102 to create the placeholder identifiers 110, store the source information 112 from one or more of the source documents 104a-b, and/or retrieve the source information 112 from the placeholder data structure 102 to insert it in one or more of the destination documents 106a-b.
Although the illustrated examples of
Turning to
Turning to
Turning to
In some examples, the inserting or pasting of the source information 112 into the destination document 106a is done automatically upon detecting a file open event corresponding to the destination document 106a being re-opened. In other examples, the source information 112 is inserted at designated destinations at any other suitable times (e.g., not only when a user opens a destination document 106a-b). In some examples, when the destination document 106a is re-opened (or at any other suitable time), a user-interface message or menu is presented to allow a user to confirm whether the source information 112 should be inserted in the destination document 106a. In some examples, a user may pre-set a configuration setting to specify whether source information 112 should be automatically inserted into destination documents 106a-b or whether the user should be prompted each time to confirm when the source information 112 should be inserted at designated destinations.
Turning in detail to
In the illustrated example, the apparatus 400 is provided with the application interface 404 to access the electronic documents 104a-b and 106a-b, the image file 206 (
In the illustrated example, the apparatus 400 is provided with the one or more input device(s) 406 to receive inputs that are input by a user using one or more input devices (e.g., one or more of a touch screen, a mouse pointer, a touch pad, buttons, a keyboard, a microphone, etc.). In the illustrated example, the input device(s) 406 may be implemented using any suitable types of input device interfaces (e.g., one or more of a mouse interface, a touch pad interface, a button interface, a keyboard interface, a voice interface, etc.).
In the illustrated example, the apparatus 400 is provided with the display 408 (e.g., a display of the mobile device 500 of
In the illustrated example, the apparatus 400 is provided with the placeholder manager 410 to manage (e.g., generate and update) the placeholder data structure 102 and manage the copying of information (e.g., the source information 112 of
In the illustrated example, to store data and/or machine-readable or computer-readable instructions, the apparatus 400 is provided with the memory 412. The memory 412 may be a mass storage memory magnetic or optical memory, a non-volatile integrated circuit memory, or a volatile memory. That is, the memory 412 may be any tangible medium such as a solid state memory, a magnetic memory, a DVD, a CD, a BluRay disk, etc.
Referring to
Although the wireless network 505 associated with the mobile device 500 is a GSM/GPRS wireless network in one exemplary implementation, other wireless networks may also be associated with the mobile device 500 in variant implementations. The different types of wireless networks that may be employed include, for example, data-centric wireless networks, voice-centric wireless networks, and dual-mode networks that can support both voice and data communications over the same physical base stations. Combined dual-mode networks include, but are not limited to, Code Division Multiple Access (CDMA) or CDMA2000 networks, GSM/GPRS networks (as mentioned above), and future third-generation (3G) networks like EDGE and UMTS. Some other examples of data-centric networks include WiFi 802.11, MOBITEX® and DATATAC® network communication systems. Examples of other voice-centric data networks include Personal Communication Systems (PCS) networks like GSM and Time Division Multiple Access (TDMA) systems.
The main processor 502 also interacts with additional subsystems such as a Random Access Memory (RAM) 1206, a persistent memory 508 (e.g., a non-volatile memory), a display 510, an auxiliary input/output (I/O) subsystem 512, a data port 514, a keyboard 516, a speaker 518, a microphone 520, short-range communications 522, and other device subsystems 524.
Some of the subsystems of the mobile device 500 perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions. By way of example, the display 510 and the keyboard 516 may be used for both communication-related functions, such as entering a text message for transmission over the network 505, and device-resident functions such as a calculator or task list. In the illustrated example, the display 510 is used to implement the display 408 of
The mobile device 500 can send and receive communication signals over the wireless network 505 after required network registration or activation procedures have been completed. Network access is associated with a subscriber or user of the mobile device 500. To identify a subscriber, the mobile device 500 requires a SIM/RUIM card 526 (i.e. Subscriber Identity Module or a Removable User Identity Module) to be inserted into a SIM/RUIM interface 528 in order to communicate with a network. The SIM card or RUIM 526 is one type of a conventional “smart card” that can be used to identify a subscriber of the mobile device 500 and to personalize the mobile device 500, among other things. Without the SIM card 526, the mobile device 500 is not fully operational for communication with the wireless network 505. By inserting the SIM card/RUIM 526 into the SIM/RUIM interface 528, a subscriber can access all subscribed services. Services may include: web browsing and messaging such as e-mail, voice mail, Short Message Service (SMS), and Multimedia Messaging Services (MMS). More advanced services may include: point of sale, field service and sales force automation. The SIM card/RUIM 526 includes a processor and memory for storing information. Once the SIM card/RUIM 526 is inserted into the SIM/RUIM interface 528, it is coupled to the main processor 502. In order to identify the subscriber, the SIM card/RUIM 526 can include some user parameters such as an International Mobile Subscriber Identity (IMSI). An advantage of using the SIM card/RUIM 526 is that a subscriber is not necessarily bound by any single physical mobile device. The SIM card/RUIM 526 may store additional subscriber information for a mobile device as well, including datebook (or calendar) information and recent call information. Alternatively, user identification information can also be programmed into the persistent memory 508.
The mobile device 500 is a battery-powered device and includes a battery interface 532 for receiving one or more rechargeable batteries 530. In at least some embodiments, the battery 530 can be a smart battery with an embedded microprocessor. The battery interface 532 is coupled to a regulator (not shown), which assists the battery 530 in providing power V+ to the mobile device 500. Although current technology makes use of a battery, future technologies such as micro fuel cells may provide the power to the mobile device 500.
The mobile device 500 also includes an operating system 534 and software components 536 to 546 (e.g., some of which are one or more of the applications 120 of
The subset of software applications 536 that control basic device operations, including data and voice communication applications, will normally be installed on the mobile device 500 during its manufacture. Other software applications include a message application 538 that can be any suitable software program that allows a user of the mobile device 500 to send and receive electronic messages. Various alternatives exist for the message application 538 as is well known to those skilled in the art. Messages that have been sent or received by the user are typically stored in the persistent memory 508 of the mobile device 500 or some other suitable storage element in the mobile device 500. In at least some embodiments, some of the sent and received messages may be stored remotely from the mobile device 500 such as in a data store of an associated host system that the mobile device 500 communicates with.
The software applications can further include a device state module 540, a Personal Information Manager (PIM) 542, and other suitable modules (not shown). The device state module 540 provides persistence (i.e., the device state module 540 ensures that important device data is stored in persistent memory, such as the persistent memory 508, so that the data is not lost when the mobile device 500 is turned off or loses power).
The PIM 542 includes functionality for organizing and managing data items of interest to the user, such as, but not limited to, e-mail, contacts, calendar events, voice mails, appointments, and task items. A PIM application has the ability to send and receive data items via the wireless network 505. PIM data items may be seamlessly integrated, synchronized, and updated via the wireless network 505 with the mobile device subscriber's corresponding data items stored and/or associated with a host computer system. This functionality creates a mirrored host computer on the mobile device 500 with respect to such items. This can be particularly advantageous when the host computer system is the mobile device subscriber's office computer system.
The mobile device 500 also includes a connect module 544, and an IT policy module 546. The connect module 544 implements the communication protocols that are required for the mobile device 500 to communicate with the wireless infrastructure and any host system, such as an enterprise system, with which the mobile device 500 is authorized to interface.
Other types of software applications can also be installed on the mobile device 500. These software applications can be third party applications, which are added after the manufacture of the mobile device 500. Examples of third party applications include games, calculators, utilities, productivity applications, etc.
The additional applications can be loaded onto the mobile device 500 through at least one of the wireless network 505, the auxiliary I/O subsystem 512, the data port 514, the short-range communications subsystem 522, or any other suitable device subsystem 524. This flexibility in application installation increases the functionality of the mobile device 500 and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the mobile device 500.
The data port 514 enables a subscriber to set preferences through an external device or software application and extends the capabilities of the mobile device 500 by providing for information or software downloads to the mobile device 500 other than through a wireless communication network. The alternate download path may, for example, be used to load an encryption key onto the mobile device 500 through a direct and thus reliable and trusted connection to provide secure device communication.
The data port 514 can be any suitable port that enables data communication between the mobile device 500 and another computing device. The data port 514 can be a serial or a parallel port. In some instances, the data port 514 can be a USB port that includes data lines for data transfer and a supply line that can provide a charging current to charge the battery 530 of the mobile device 500.
The short-range communications subsystem 522 provides for communication between the mobile device 500 and different systems or devices, without the use of the wireless network 505. For example, the subsystem 522 may include an infrared device and associated circuits and components for short-range communication. Examples of short-range communication standards include standards developed by the Infrared Data Association (IrDA), a Bluetooth® communication standard, and the 802.11 family of standards developed by IEEE.
In use, a received signal such as a text message, an e-mail message, web page download, media content, etc. will be processed by the communication subsystem 504 and input to the main processor 502. The main processor 502 will then process the received signal for output to the display 510 or alternatively to the auxiliary I/O subsystem 512. A subscriber may also compose data items, such as e-mail messages or the destination documents 106a-b of
For voice communications, the overall operation of the mobile device 500 is substantially similar, except that the received signals are output to the speaker 518, and signals for transmission are generated by the microphone 520. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, can also be implemented on the mobile device 500. Although voice or audio signal output is accomplished primarily through the speaker 518, the display 510 can also be used to provide additional information such as the identity of a calling party, duration of a voice call, or other voice call related information.
Additionally or alternatively, the example method of
Alternatively, some or all of the example method of
In some examples, instructions to perform the example method of
Now turning in detail to
In the illustrated example, the processor 402 determines whether a user-specified description 114 (
In the illustrated example, the processor 402 determines whether any special attribute(s) 118 (
In the illustrated example, the processor 402 determines whether a user has selected to close the destination document 106a (block 618). As discussed above, a user may select source information 112 (
Turning to
The processor 402 determines whether the user-selected source information 112 should be inserted at the placeholder at the user-specified destination location 108 (block 626). In some examples, the processor 402 determines that the source information 112 should be inserted at the user-specified destination location 108 in response to detecting a re-opening of the destination document 106a. In such examples, the application interface 404 generates a file open event or notification when the destination document 106a is opening, which causes the processor 402 to determine that the source information 112 should be inserted at the user-specified destination location 108. In other examples, the processor 402 causes a message prompt to be displayed requiring user confirmation before proceeding with inserting the source information 112 at the user-specified destination location 108. In some examples, such user confirmation message prompt can be displayed in response to detecting that the destination document 106a is being opened, or at any other suitable time.
If the processor 402 determines at block 626 that the user-selected source information 112 should not be inserted at the placeholder at the user-specified destination location 108, control advances to block 638. Otherwise, the processor 402 determines whether the source information 112 should be converted when inserted in the user-specified destination location 108 (block 628). For example, if the source information 112 is in a graphic format and the destination data type 116 is text (or an attribute 118 specifies a conversion to text), the processor 402 determines that it should convert the graphic into text (e.g., via an OCR process). Alternatively or additionally, other suitable types of conversions may also be applied (e.g., from text to an image representing the text, language translations, bit-depth or color-depth conversions for images, etc.).
If the processor 402 determines that the source information 112 should not be converted, control advances to block 632. Otherwise, the processor 402 and/or the placeholder manager 410 convert(s) the source information 112 (block 630) as specified in the placeholder data structure 102. The processor 402 then determines whether there are any attributes 118 noted in the placeholder data structure 102 that should be applied to the source information 112 (block 632). If the processor 402 determines that there are not any attributes 118 noted in the placeholder data structure 102 to apply to the source information 112, control advances to block 636. Otherwise, the processor 402 and/or the placeholder manager 410 applies one or more noted attribute(s) 118 to the source information 112 (block 634).
The processor 402, the application interface 404, and/or the placeholder manager 410 insert(s) the user-selected source information 112 at the placeholder at the user-specified destination location 108 (block 636). For example, the user-selected source information 112 may be inserted at the user-specified destination location 108 as described above in connection with
Although certain methods, apparatus, and articles of manufacture have been described herein, the scope of coverage of this disclosure is not limited thereto. To the contrary, this disclosure covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the claims either literally or under the doctrine of equivalents.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CA12/50226 | 4/10/2012 | WO | 00 | 9/13/2012 |