Computer systems are currently in wide use. Some such computer systems include electronic mail systems. Electronic mail systems allow users to compose, send and receive electronic mail messages and perform other electronic mail system functionality.
Other computing systems include drawing systems. Such systems expose user input mechanisms that allow a user to draw using the user input mechanisms. The systems may allow the users to perform other functionality as well, such as collaboration among different, even remotely located, users.
For instance, on a desktop computer, when a drawing application is launched, it may expose functionality that allows the user to perform drawing operations using a point and click device (such as a mouse). The user may actuate one of the buttons on the mouse and move the mouse in order to draw lines.
Some computing platforms (such as a tablet computer or a smartphone or others) may also have touch sensitive displays. On such platforms (or even on a desktop computer that has a touch sensitive display device), the drawing application exposes functionality that allows the user to draw an image using his or her finger, or a stylus, or another touch device, simply by touching and dragging the device along the touch sensitive display screen.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
An electronic mail (email) system detects initiation of drawing functionality. A drawing file is then generated on a separate, selected device and uploaded to the e-mail system. The drawing file represents a drawing that is integrated into an electronic mail message, in-line with other message content, in the e-mail system.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
Before describing the operation of architecture 100 in more detail, an overview of some of the items in architecture 100, and their operation, will first be provided. Computing system 102 illustratively includes processors or servers 118, communication system 120, e-mail system 122, drawing system 124, user interface logic 126, data store 128, and it can include a wide variety of other computing system functionality or components 130. E-mail system 122, itself, illustratively includes drawing integration logic 132, and it can include a wide variety of other e-mail logic 134. Drawing system 124, itself, illustratively includes authoring/editing logic 136, interface logic 138, and it can include other items 140. Communication system 120 can be used by computing system 102 to communicate over network 106. It can be a variety of different communication systems, and may depend on the type of network it is interacting with.
E-mail system 122 can be an e-mail service or a client component of an e-mail service, or a combination. It illustratively generates user interface displays with user input mechanisms that allow user 112 to perform electronic mail operations, such as compose messages, send and receive messages, reply to messages, attach items, arrange mailbox folders, etc.
Drawing integration logic 132 illustratively allows the user to integrate a drawing into an electronic mail message. As is discussed in greater detail below, the drawing can be generated on computing system 102, using drawing system 124, or it can be generated on an external device, such as mobile device 104, on which a user may feel more comfortable drawing. Authoring/editing logic 136 in drawing system 124 illustratively exposes user interfaces with user input mechanisms that allow user 112 to provide drawing inputs using those mechanisms. The drawing inputs illustratively generate a drawing on a display device of computing system 102 and also generate a corresponding drawing file representing that drawing.
Interface logic 138 illustratively interfaces with drawing integration logic 132 in e-mail system 122, so that the drawing can be generated from within e-mail system 122 and so that the drawing can be integrated into an e-mail message in system 122, in-line with other message content. For instance, when a user wishes to use drawing system 124 to generate a drawing that is to be integrated into an e-mail message, drawing integration logic 132 may open a window in an e-mail user interface and launch drawing system 124 in that window, allowing the user to generate a drawing in the window, on the e-mail user interface. When the user actuates a suitable user input mechanism, drawing integration logic 132 may integrate the drawing into the message body of the e-mail message, in-line with other message content. It may also save the drawing file for later reference.
User interface logic 126 can illustratively generate user interface displays and detect user inputs from the various user input mechanisms 110 and notify other components of computing system 102 of those detected inputs. Data store 128 illustratively stores applications and a wide variety of other items that can be used by computing system 102.
In the example shown in
Communication system 154 can be any of a wide variety of different communication systems that allow mobile device 104 to communicate with computing system 102. It can do so over network 106 or over another network.
User interface logic 156 illustratively generates user interfaces 114 and detects user inputs through user input mechanisms 116. It can notify other items on mobile device 104 about those inputs so that user 112 can control and manipulate mobile device 104.
Drawing activation detection logic 166 detects when the functionality of drawing integration logic 132 is activated. This can be done by the user actuating a user input mechanism, or in other ways, some of which are described below. External device connection logic 168 includes external device selector 178 that generates a user input mechanism that allows the user to select an external device for generating a drawing. It can also include synchronization logic 180 that synchronizes with the external device (such as by providing the external device with the login session ID or other identifier that can be used for synchronizing or uploading a drawing into an e-mail message). It can include other items 182 as well.
Drawing system interaction logic 170 illustratively includes user interaction detector 184, drawing system communication logic 186, and it can include other items 188. Drawing system interaction logic 170 can be used when the user elects to generate the drawing using the local drawing system 124, instead of an external device. It can open a pane on an e-mail display and launch drawing system 124 in that pane so the user can use the native functionality of the drawing system within that pane. In another example, drawing system interaction logic 170 can, itself, detect user interactions using user interaction detector 184 and communicate those user interactions to authoring/editing logic 136 in drawing system 124. Drawing system 124 can then generate the drawing file based on the user interactions and provide a representation of the drawing file back to drawing system interaction logic 170 through drawing system communication logic 186 so that it can be rendered on the e-mail display. Whether the drawing system 124 is directly interacted with and renders the drawing in a pane within the e-mail display or whether it goes through drawing system interaction logic 170, the user illustratively sees the drawing on the e-mail user interface display, while it is being created.
Format/sizing logic 172 illustratively formats and sizes a drawing that is to be integrated into an e-mail message, based upon the form factor of the device being used, based upon the display device being used, based upon the layout of the e-mail user interface, and/or based upon a wide variety of other criteria. Message integration logic 174 then integrates the drawing into the e-mail message, in-line with other content in the e-mail message. In doing so, it can integrate the logic in a wide variety of different ways. It can integrate it as a preview that can be actuated by a viewer of the e-mail message. When the user actuates the preview, then the functionality of the drawing system can be activated so that the viewer can now interact with the drawing to modify it or interact in other ways.
Message integration logic 174 can also integrate the drawing in a wide variety of different forms. For instance, it can be integrated as a vector drawing with editing capabilities provided in e-mail system 122. It can be integrated as an image with different layers that can be manipulated, such as modified, annotated, etc. The drawing can also be of different content types or media types aside from a line drawing. The particular form of the content that is integrated into the e-mail message will vary based upon the device the user is using to create it or modify it, and based upon the particular drawing system the user is using. Also, the drawing can be modified by opening an image editor that is natively supported within e-mail system 122 or that is external to e-mail system 122. For instance, the drawing can be opened in an image editor that is accessible over network 106, or otherwise.
It is first assumed that e-mail system 122 is running on computing system 102. This is indicated by block 200 in the flow diagram of
At some point, drawing activation detection logic 166 (shown in
In response, external device selector 178 illustratively generates a device selection user interface that allows the user to indicate that he or she is going to generate the drawing using drawing system 124 on computing system 102, or using a selected external device. Generating the device selection user interface is indicated by block 212. Generating the display with user input mechanisms allowing the user to select the current device (or current computing system) 102 is indicated by block 214. Generating user input mechanisms that allow the user to select an external device is indicated by block 216 in
External device selector 178 detects a user actuation of the input mechanism to select a drawing input device that the user will use in order to generate the drawing that will subsequently be integrated into the e-mail message. Detecting selection of the input device is indicated by block 218 in
In one example, external device selector 178 generates a user input mechanism that allows the user to select either the current device that the user is working on (e.g., computing system 102) or an external device that may be easier to draw on. Examples of this are described below with respect to
If the user selects the current device, then drawing system interaction logic 170 can operate in a number of different ways, in order to allow the user to generate a drawing on the current device and to integrate that drawing into the e-mail message. In one example, it opens a drawing pane on the e-mail display, with user input mechanisms provided by authoring/editing logic 136 of drawing system 124. This can be done by launching drawing system 124 into the drawing pane, or by hosting rendering of that pane and the drawing functionality within e-mail system 122, itself. Opening the drawing pane allowing the user to author or edit a drawing is indicated by block 222.
The communications between drawing integration logic 132 and drawing system 124 can be performed by drawing system communication logic 186. In one example, drawing system 124 exposes an interface that can be called to perform operations using drawing system 124. Drawing system communication logic 186 can be used to call or invoke that interface in different ways based on the detected user interactions. This is just one example.
User interaction detector 184 then detects the user interaction with the user input mechanisms to author or edit the drawing. Detecting such inputs is indicated by block 224 in
When user 112 has finished generating the drawings, or otherwise wishes to integrate it into the e-mail message, the user illustratively provides a user input indicating that. Message integration logic 174 detects that input and uses format/sizing logic 172 to format and size the drawing so that it can be integrated into the message pane of the e-mail message generated by user 112, in-line with other message content. Detecting the input to integrate the drawing into the e-mail message is indicated by block 228.
Referring again to block 220 in
Synchronization logic 180 then establishes a connection with the selected device. This is indicated by block 236. In one example, it sends an appropriate message or a notification to e-mail connection logic 160 in drawing system 152 on the selected device. The message or notification may include the login session ID that the user is currently working in, in e-mail system 122 on computing system 102. Establishing the connection can be done in other ways as well.
Synchronization logic 180 then holds e-mail system 122 in a state in which it is waiting for a drawing to be input by the external device. This is indicated by block 238 in
In one example, synchronization logic 180 can also provide an indication that it is waiting for a drawing to the selected device. This is indicated by block 240. It can wait for the drawing to be input in other ways as well, and this is indicated by block 242.
As is described in greater detail below with respect to
Once the drawing file has been received (whether it is received by local drawing system 104 or by a drawing system on an external device such as mobile device 104), message integration logic 174 in e-mail system 122 saves the drawing file so that it can be accessed later (such as if the user wishes to modify it at a later time, etc.). In one example, it can be saved locally to data store 128, but it can be saved remotely as well. Saving the drawing file is indicated by block 246 in the flow diagram of
Message integration logic 174 then integrates the drawing into the e-mail message, in-line with other message content. This is indicated by block 248. In one example, the drawing is integrated as a selectable preview so that it can be selected and modified by a recipient or by the user at a later time. In one example, when it is selected, it becomes active, with authoring and editing user input mechanisms exposed so that the user can perform editing or authoring operations on the drawing. Integrating the drawing as a selectable preview is indicated by block 250 in the flow diagram of
Format/sizing logic 172 illustratively performs formatting and sizing of the integrated drawing so that it fits within the e-mail message being generated, in-line with the other content. This is indicated by block 252. Logic 172 also illustratively identifies where, in the message content, the image is to be integrated. This can be done by the user placing his or her cursor at a certain location in the message, or it can be automatically integrated at the bottom or top of the message or at another predefined location. Positioning the drawing in-line with the other message content is indicated by block 254. Integration of the drawing can involve other steps (such as converting the form of the drawing file, etc.) or it can be done in other ways as well, and this is indicated by block 256.
At some point, it may be that user 112 wishes to send the e-mail, with the integrated drawing, to the recipients of the e-mail message. The user may thus actuate a send actuator to send the e-mail to the recipients. Detecting actuation of the send actuator and sending the e-mail message, with the drawing integrated in-line with the other message content, to the recipients, is indicated by blocks 258 and 260 in the flow diagram of
It is first assumed that the e-mail system 150 is opened on the mobile device 104. This is indicated by block 280 in
Mobile device 104 then identifies that the e-mail system 122 is also opened on the other computing system 102 for the present user 112, and that it is waiting for a drawing file from mobile device 104. This is indicated by block 288 in
E-mail system 150 can then automatically launch a drawing application (or drawing system) 152 on mobile device 104 or in a location accessible by mobile device 104. In another example, the user launches the drawing system 152 by using a suitable user input mechanism. Launching the drawing application or drawing system 152 on mobile device 104 is indicated by block 294 in
The authoring/editing logic 162 of drawing system 152 then exposes user input mechanisms that allow the user to author or edit a drawing. Logic 162 detects the user inputs and, in response, it can open or create a file based on the detected inputs, and begin generating the drawing file based on the detected inputs. Detecting the user authoring/editing inputs is indicated by block 296 and opening or creating a file based on those detected inputs is indicated by block 298. The inputs can be detected in other ways, and other operations can be performed in response to that detection as well, and this is indicated by block 300.
At some point, drawing system 152 will detect that the user has finished generating the drawing file. This is indicated by block 302. This can be done based on user actuation of a “save” or “upload” user input mechanism, or another user input mechanism. This is indicated by block 304. Detecting that the user is finished with the drawing file can be done in other ways as well, and this is indicated by block 306.
In response to detecting that the user has finished authoring or editing the drawing file, e-mail connection logic 160 uploads the drawing file (e.g., through e-mail system 150) into the session on e-mail system 122 that the user 112 is currently in. Uploading the drawing file is indicated by block 308 in
User interface logic 156 on mobile device 104 then generates a display showing the status of the upload (e.g., that the upload is in progress, that it has been completed, etc.). This is indicated by block 314 in
In one example, compose pane 322 includes a set of actuators 326 that can, include a drawing actuator 328. If the user actuates drawing actuator 328, this activates the functionality of drawing integration logic 132, as discussed above. In another example, and as also discussed above, that functionality can be activated automatically based on the content of the message being authored or in other ways. For instance, the message content can be subjected to natural language understanding or natural language processing to obtain an indication of the semantic content or linguistic content of the message. If that content indicates that the drawing integration logic should be activated, then that can automatically be detected.
In one example, when the drawing integration logic is activated (such as when the user actuates drawing actuator 328), external device selector 178 (shown in
At some point, synchronization logic 180 then generates another display, such as that shown in
When the user actuates the upload actuator 354, then e-mail connection logic 160 (either by itself or through e-mail system 150 on mobile device 104) uploads the drawing file representing drawing 350 to message integration logic 164, in drawing integration logic 132, for integration into the e-mail message being composed. Format/sizing logic 172 then receives the drawing file and formats the drawing, and sizes it appropriately, so that it can be displayed, in-line with the other message content 324 on the user interface display.
It can thus be seen that the present system greatly enhances the operation of the computing system. In prior systems, a user would need to generate a drawing by separately navigating to drawing system 124, generating the drawing, then attaching it to an electronic mail message. The attachment can often get detached from the electronic mail message (such as when a user replies to the message or in other ways). However, by automatically integrating the drawing into the message body, in-line with other message content, the drawing will follow the message, whether it is forwarded, responded to by a recipient, etc. This not only ensures that the drawing does not get separated from the electronic mail message, and thus keeps the drawing within the context of the email conversation that spawned it, but it also saves processing and memory overhead in rendering user interface displays. Instead of navigating the user to a completely separate user interface display that is used for drawing, it can open a drawing pane within in the e-mail user interface display.
Similarly, it can automatically synchronize with an external device, when the user selects an external device to perform the drawing operation. Because some devices are easier to draw on, and some are easier to type or create linguistic content on, the user may wish to use two devices to author an e-mail message. The present system automatically allows the user to select an external device for generating a drawing and then automatically integrates that drawing into the body of the e-mail message, in-line with other message content. This is advantageous in that the user need not create the drawing on the external device, then somehow send it to the first device and save it, then somehow open it on the first device and attach it to the email. The present system saves time, computing and memory overhead as well as interactions with a hosted email system. Thus, it also reduces network traffic.
The present discussion has used the term “automatically”. By “automatically”, it is meant that the operation being referred to is performed without further user involvement, except perhaps to initiate or authorize the operation. This is one example.
The present discussion has mentioned processors and servers. In one embodiment, the processors and servers include computer processors with associated memory and timing circuitry, not separately shown. They are functional parts of the systems or devices to which they belong and are activated by, and facilitate the functionality of the other components or items in those systems.
Also, a number of user interface displays have been discussed. They can take a wide variety of different forms and can have a wide variety of different user actuatable input mechanisms disposed thereon. For instance, the user actuatable input mechanisms can be text boxes, check boxes, icons, links, drop-down menus, search boxes, etc. They can also be actuated in a wide variety of different ways. For instance, they can be actuated using a point and click device (such as a track ball or mouse). They can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. They can also be actuated using a virtual keyboard or other virtual actuators. In addition, where the screen on which they are displayed is a touch sensitive screen, they can be actuated using touch gestures. Also, where the device that displays them has speech recognition components, they can be actuated using speech commands
A number of data stores have also been discussed. It will be noted they can each be broken into multiple data stores. All can be local to the systems accessing them, all can be remote, or some can be local while others are remote. All of these configurations are contemplated herein.
Also, the figures show a number of blocks with functionality ascribed to each block. It will be noted that fewer blocks can be used so the functionality is performed by fewer components. Also, more blocks can be used with the functionality distributed among more components.
The description is intended to include both public cloud computing and private cloud computing. Cloud computing (both public and private) provides substantially seamless pooling of resources, as well as a reduced need to manage and configure underlying hardware infrastructure.
A public cloud is managed by a vendor and typically supports multiple consumers using the same infrastructure. Also, a public cloud, as opposed to a private cloud, can free up the end users from managing the hardware. A private cloud may be managed by the organization itself and the infrastructure is typically not shared with other organizations. The organization still maintains the hardware to some extent, such as installations and repairs, etc.
In the example shown in
It will also be noted that architecture 100, or portions of it, can be disposed on a wide variety of different devices. Some of those devices include servers, desktop computers, laptop computers, tablet computers, or other mobile devices, such as palm top computers, cell phones, smart phones, multimedia players, personal digital assistants, etc.
In other examples, applications or systems are received on a removable Secure Digital (SD) card that is connected to a SD card interface 15. SD card interface 15 and communication links 13 communicate with a processor 17 (which can also embody processors or servers from previous Figures) along a bus 19 that is also connected to memory 21 and input/output (I/O) components 23, as well as clock 25 and location system 27.
I/O components 23, in one embodiment, are provided to facilitate input and output operations. I/O components 23 for various embodiments of the device 16 can include input components such as buttons, touch sensors, multi-touch sensors, optical or video sensors, voice sensors, touch screens, proximity sensors, microphones, tilt sensors, and gravity switches and output components such as a display device, a speaker, and or a printer port. Other I/O components 23 can be used as well.
Clock 25 illustratively comprises a real time clock component that outputs a time and date. It can also, illustratively, provide timing functions for processor 17.
Location system 27 illustratively includes a component that outputs a current geographical location of device 16. This can include, for instance, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system. It can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.
Memory 21 stores operating system 29, network settings 31, applications 33, application configuration settings 35, data store 37, communication drivers 39, and communication configuration settings 41. Memory 21 can include all types of tangible volatile and non-volatile computer-readable memory devices. It can also include computer storage media (described below). Memory 21 stores computer readable instructions that, when executed by processor 17, cause the processor to perform computer-implemented steps or functions according to the instructions. Similarly, device 16 can have a client system 24 which can run various business applications or embody parts or all of the items on devices 104 and 504. Processor 17 can be activated by other components to facilitate their functionality as well.
Examples of the network settings 31 include things such as proxy information, Internet connection information, and mappings. Application configuration settings 35 include settings that tailor the application for a specific enterprise or user. Communication configuration settings 41 provide parameters for communicating with other computers and include items such as GPRS parameters, SMS parameters, connection user names and passwords.
Applications 33 can be applications that have previously been stored on the device 16 or applications that are installed during use, although these can be part of operating system 29, or hosted external to device 16, as well.
Note that other forms of the devices 16 are possible.
Computer 810 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 810 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media is different from, and does not include, a modulated data signal or carrier wave. It includes hardware storage media including both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 810. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 830 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 831 and random access memory (RAM) 832. A basic input/output system 833 (BIOS), containing the basic routines that help to transfer information between elements within computer 810, such as during start-up, is typically stored in ROM 831. RAM 832 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820. By way of example, and not limitation,
The computer 810 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,
Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 810 through input devices such as a keyboard 862, a microphone 863, and a pointing device 861, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 820 through a user input interface 860 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A visual display 891 or other type of display device is also connected to the system bus 821 via an interface, such as a video interface 890. In addition to the monitor, computers may also include other peripheral output devices such as speakers 897 and printer 896, which may be connected through an output peripheral interface 895.
The computer 810 is operated in a networked environment using logical connections to one or more remote computers, such as a remote computer 880. The remote computer 880 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 810. The logical connections depicted in
When used in a LAN networking environment, the computer 810 is connected to the LAN 871 through a network interface or adapter 870. When used in a WAN networking environment, the computer 810 typically includes a modem 872 or other means for establishing communications over the WAN 873, such as the Internet. The modem 872, which may be internal or external, may be connected to the system bus 821 via the user input interface 860, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 810, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
It should also be noted that the different embodiments described herein can be combined in different ways. That is, parts of one or more embodiments can be combined with parts of one or more other embodiments. All of this is contemplated herein.
Example 1 is a computing system, comprising:
an electronic mail (email) system that generates a user interface display with a compose pane for entering message content in an email message;
drawing integration logic that that communicates with a drawing system and receives a user-generated drawing file from the drawing system; and
message integration logic that integrates an interactive drawing display, based on the drawing file, into the email message on the compose pane, in-line with the message content.
Example 2 is the computing system of any or all previous examples wherein the drawing integration logic comprises:
an external device selector that generates a user input mechanism that is actuated by the user to select an external device on which the user will generate the drawing file.
Example 3 is the computing system of any or all previous examples wherein the drawing integration logic comprises:
synchronization logic that communicates with the external device to receive the drawing file from the external device.
Example 4 is the computing system of any or all previous examples wherein the drawing integration logic comprises:
format/sizing logic that formats and sizes the interactive drawing display for integration into the email message on the compose pane.
Example 5 is the computing system of any or all previous examples wherein the message integration logic integrates the interactive drawing display into the email message as a selectable preview display that is selectable to expose editing mechanisms that are actuated to edit the drawing file through the interactive drawing display.
Example 6 is the computing system of any or all previous examples wherein the drawing integration logic comprises:
drawing activation detection logic that detects an activation input to activate the drawing integration logic.
Example 7 is the computing system of any or all previous examples wherein the synchronization logic generates a user interface display indicating that an email system on the external device is to be launched.
Example 8 is the computing system of any or all previous examples wherein the synchronization logic communicates with the external device to automatically open an email system on the external device.
Example 9 is the computing system of any or all previous examples wherein the drawing integration logic comprises:
drawing system interaction logic that detects user interaction with a drawing user input mechanism and communicates the detected user interaction to the drawing system.
Example 10 is a computer implemented method, comprising:
generating a user interface display, in an electronic mail system, with a compose pane for entering message content in an email message;
receiving a user-generated drawing file from a drawing system; and
integrating an interactive drawing display, based on the drawing file, into the email message on the compose pane, in-line with the message content.
Example 11 is the computer implemented method of any or all previous examples and further comprising:
generating a device selection user input mechanism that is actuated by the user to select an external device on which the user will generate the drawing file; and
detecting actuation of the device selection user input mechanism, identifying the external device.
Example 12 is the computer implemented method of any or all previous examples wherein receiving the user-generated drawing file comprises:
communicating with the external device to receive the drawing file from the external device.
Example 13 is the computer implemented method of any or all previous examples integrating the interactive drawing display comprises:
formatting and sizing the interactive drawing display for integration into the email message on the compose pane.
Example 14 is the computer implemented method of any or all previous examples wherein integrating the interactive drawing display includes integrating the interactive drawing display into the email message as a selectable preview display and further comprising:
detecting selection of the selectable preview display;
in response, exposing an editing mechanism;
detecting user actuation of the editing mechanism; and
editing the drawing file through the interactive drawing display based on the detected user actuation of the editing mechanism.
Example 15 is the computer implemented method of any or all previous examples wherein and further comprising:
detecting an activation input to activate the drawing integration logic.
Example 16 is the computer implemented method of any or all previous examples and further comprising:
after identifying the external device, generating a user interface display indicating that an email system on the external device is to be launched.
Example 17 is the computer implemented method of any or all previous examples wherein communicating with the external device comprises:
after identifying the external device, automatically opening an email system on the external device.
Example 18 is the computer implemented method of any or all previous examples wherein receiving a user generated drawing file comprises:
detecting user interaction with drawing user input mechanisms; and
communicating the detected user interactions to the drawing system.
Example 19 is a computing system, comprising:
an electronic mail (email) system that generates a user interface display with a compose pane for entering message content in an email message;
an external device selector that generates a user input mechanism that is actuated by the user to select an external device on which the user will generate a drawing file;
synchronization logic that communicates with the external device to receive the drawing file from the external device; and
message integration logic that integrates an interactive drawing display, based on the drawing file, into the email message on the compose pane, in-line with the message content.
Example 20 is the computing system of any or all previous examples wherein the drawing integration logic comprises:
format/sizing logic that formats and sizes the interactive drawing display for integration into the email message on the compose pane as a selectable preview display that is selectable to expose editing mechanisms that are actuated to edit the drawing file through the interactive drawing display.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.