Method for presenting an attachment within an email message

A method for presenting an attachment within an email message on a display of a portable electronic device includes displaying the email message using a messaging application, sending a conversion request to an attachment server in order to view the attachment in an attachment viewer of the portable electronic device, receiving a converted attachment from the attachment server; and upon receiving the converted attachment from the attachment server, inserting a thumbnail image in a message body of the email message.

FIELD

The present embodiment relates to email messages and in particular, a method for presenting an attachment in an email message of a portable electronic device.

BACKGROUND

It is becoming increasingly popular to send photographs, scanned documents, slide shows, PDF documents and other types of attachments in email messages. Each attachment is provided with a filename and is linked to an email message in a manner that is well known in the art. Often, a single email message may contain multiple attachments.

Attachments are generally opened when an email message first arrives and subsequently stored along with the message in a recipient's inbox. At a later time or date, the email message is typically re-opened by the recipient so that attachments may be filed, forwarded and/or deleted, for example. It is unlikely that the recipient will recall the contents of every attachment and since the character length of attachment filenames is limited, it is not always easy to determine the contents of an attachment from its filename. Therefore, it is often necessary for the recipient to re-open every attachment in order to determine its contents. This process can be very time consuming, particularly in the case where an email recipient is searching for a specific attachment.

DETAILED DESCRIPTION

Referring toFIG. 1, a communication system10for a portable electronic device12is generally shown. The portable electronic device12is operable to effect communications over a radio communications channel and communicates with a base station (not shown) while located within a coverage area that is defined by the base station. The base station is part of a wireless network that is in communication with the Internet14. Data is delivered to the portable electronic device12via wireless transmission from the base station. Similarly, data is sent from the portable electronic device12via wireless transmission to the base station.

It will be appreciated that the portable electronic device12is movable within the coverage area and can be moved to coverage areas defined by other base stations. Further, as will be understood by one of ordinary skill in the art, wireless networks include GSM/GPRS, CDPD, TDMA, iDEN Mobitex, DataTAC networks, EDGE or UMTS and broadband networks such as Bluetooth and variants of 802.11.

A server18handles wireless client requests from the portable electronic device12. A firewall, or proxy server,16, is provided between the server18and the Internet14. The server18further operates as an attachment server. The attachment server communicates with an email client and an attachment viewer to allow a user to view files that are received in email messages. The attachment server may alternatively be a separate server.

Referring now toFIG. 2, a block diagram of certain components within the portable electronic device12is shown. In the present embodiment, the portable electronic device12is based on the computing environment and functionality of a wireless personal digital assistant (PDA). It will be understood, however, that the portable electronic device12is not limited to wireless personal digital assistants. Other portable electronic devices are possible, such as smart telephones and laptop computers.

The portable electronic device12is based on a microcomputer including a processor20connected to a read-only-memory (ROM)22that contains a plurality of applications executable by the processor20that enables each portable electronic device12to perform certain functions including, for example, PIN message functions, SMS message functions and cellular telephone functions. The processor20is also connected to a random access memory unit (RAM)24and a persistent storage device26which are responsible for various non-volatile storage functions of the portable electronic device12. The processor20receives input from various input devices including a keypad28. The processor20outputs to various output devices including an LCD display30. A microphone32and phone speaker34are connected to the processor20for cellular telephone functions. The processor20is also connected to a modem and radio device36. The modem and radio device36is used to connect to wireless networks and transmit and receive voice and data communications through an antenna38. A content store40, which is generally a file storage system for the portable electronic device12, is also provided. The content store40stores email message attachments locally on the portable electronic device12after the attachments have been viewed using the attachment viewer.

Referring now toFIGS. 3aand3b, screen shots of display30of portable electronic device12according to an embodiment is shown. As shown, an email message includes a message header42and a message body44. The message header42typically includes several fields. In the example ofFIGS. 3aand3b, only a “from” field, which identifies the sender of the email message, and a “subject” field, which generally describes the contents of the email message, are provided, however, it will be appreciated by a person skilled in the art that the email message may also include a “to” field and a “cc” field, for example. The message body44is divided into two parts, a message text portion43and an attachment portion45. Message text (not shown) appears in the message text portion43below the attachment number text46, which is generated automatically and indicates the number of attachments that are provided in the email message. Attachment filenames47of attachments to the email message are provided in the attachment portion45of the message body44and, inFIG. 3b, corresponding thumbnail images48of the attachments are provided so that the user may easily identify the contents of the respective attachments.

As shown inFIGS. 3aand3b, when an email message is opened for the first time, no thumbnail images48are provided in the message body44, however, once the attachments of the email message have been viewed, the attachment data is stored locally on the portable electronic device12so that each subsequent time the email message is opened, a thumbnail image48that corresponds to the attachment is provided in the message body44.

Request/view functionality for an attachment is provided by the attachment viewer and the attachment server. The attachment viewer, which is an application that is run by the processor20of the portable electronic device12, displays images that correspond to attachments. Referring toFIG. 4, the user selects a “full content” option from a pull down menu, as indicated at step50, in order to request that an attachment be viewed. In the case of an attachment that is being opened for the first time, the attachment viewer sends a request for attachment conversion to the attachment server, as indicated at step52. Success or failure of the attachment conversion is determined at step54. If the conversion request is successful, the attachment viewer saves Universal Content Stream (UCS) data that is returned from the attachment server in the content store40and displays the attachment content, as indicated at step56. If the conversion is unsuccessful, a corresponding error message is displayed, as indicated at step58.

Referring also toFIG. 5, the attachment server receives an attachment conversion request from the attachment viewer of the portable electronic device12, as indicated at step60. Then, at step62, the attachment server determines if the attachment is valid and of a supported format. If the attachment is valid and supported, the attachment is converted into UCS data, as indicated at step64. Once converted, the attachment server determines whether or not the conversion was successful at step66. If successful, the UCS data is returned to the requesting portable electronic device12, as indicated at step68. If the attachment is either not valid or of an unsupported format, or both, an error message is returned to the portable electronic device12, as indicated at step70. Similarly, if the conversion step64of the attachment is unsuccessful, an error message is returned to the portable electronic device12, as indicated at step72.

The attachment server supports both image and non-image formats. Images, which have file formats such as JPEG, GIF, BMP, PNG and TIFF, for example, are converted directly to JPEG files at the attachment server, encapsulated in UCS data and returned to the attachment viewer, where the images are displayed in JPEG format.

Non-image file formats, such as Microsoft PowerPoint™ PPT, for example, are rendered in order to produce a bitmap file at the attachment server. In the case of a PPT file, for example, an empty bitmap is created in memory and then an image representation of a first slide, or cover page, as it would appear on a normal desktop computer, is stored therein. The off screen bitmap is also referred to as a memory bitmap since the image is not actually viewed by a user but produced at the attachment server. Once produced, the bitmaps are converted to JPEG format, encapsulated in UCS data and returned to the attachment viewer, where the images are displayed in JPEG format. Any non-image file format may be rendered. Types of renderable formats include: Microsoft Office™ formats including PowerPoint™, Word™ and Excel™, as well as other formats, such as WordPerfect™, Adobe Acrobat™ and Corel™, for example. The rendering process is disclosed in co-pending U.S. patent application Ser. No. 11/395,798 filed on even date herewith entitled “Method for viewing non-image attachments on a portable electronic device”, which is herein incorporated by reference.

The attachment server further resizes the images before the JPEG images are encapsulated into UCS data and sent to the attachment viewer. By performing the re-size operation on the attachment server, bandwidth and portable electronic device12memory usage are minimized. The attachments are re-sized from their original width and height to fit the display30of the portable electronic device12. During the re-size operation, the aspect ratio is maintained as follows. If the width and height of the original image exceeds the width and height of the display30of the portable electronic device12, the image is re-sized to match the display30. For example, a scanned TIFF attachment having a resolution of approximately 1700×2100 pixels is re-sized to fit on the display30, which has approximately 240×160 pixels. In this example, the image height is greater than the image width, therefore, the height is selected as the base dimension for scaling and the aspect ratio of the original image is maintained so that the content of the resulting image is smaller than the display30.

If the width and height of the original image is less than or equal to the width and height of the portable electronic device display30, no re-size operation is performed. If the width of the original image exceeds the width of display30and the height of the original image is less than or equal to the height of the display30, then the original image is re-sized to the width of the display30and the height of the original image is adjusted according to the image aspect ratio. Finally, if the height of the original image exceeds the height of display30and the width of the original image is less than or equal to the width of the display30, then the original image is re-sized to the height of the display30and the width of the original image is adjusted according to the image aspect ratio.

Referring toFIG. 6, a method for presenting an attachment within an email message according to an embodiment is generally shown. The method includes operations that occur in an email client of the portable electronic device12and operations that occur in an attachment viewer client. The email client is a messaging application that is stored in non-volatile RAM24along with other applications running on the portable electronic device12. The email client is capable of sending and receiving electronic messages.

As shown, at step74, the user opens an email message having at least one attachment. For each attachment, the messaging application notifies the attachment viewer client, as indicated at step76. The attachment viewer receives the notification to update an attachment portion45, or display field, of the message body44in which each attachment is presented, as indicated at step80. At step82, the attachment viewer determines if the attachment has been previously viewed. If the attachment has not been previously viewed, no image is returned to the messaging application and the messaging application displays the email message on the display30of the portable electronic device12, as indicated at step78.

If the attachment has been previously viewed, the attachment viewer then determines whether the attachment is an image and, if not, the attachment viewer determines whether the attachment is renderable, as indicated at step84. The attachment viewer determines if an attachment is an image by checking the attachment type. If the attachment type is not an image, the attachment viewer then determines if the previously viewed attachment is renderable. The attachment viewer checks for renderable Document Object Model (DOM) identifiers inside a server descriptor, which is returned to the attachment viewer when the attachment is first opened and a DOM corresponding to the attachment is created. Graph based DOM structure is disclosed in U.S. Patent Application No. 2006/0055693, which is herein incorporated by reference. If no renderable DOM identifiers are found, the attachment viewer determines that the previously viewed attachment is not renderable and is therefore unable to return an image to the messaging application. The messaging application then displays the email message, as indicated at step78.

If the attachment has been previously viewed and is an image or is renderable, the attachment viewer retrieves the image from the content store40of the portable electronic device12at step86. At step88, the image is resized to 25% of its size and then the image is added to the display field below the attachment filename46, as indicated at step90. The email message is then displayed to the user of the portable electronic device12, as indicated at step78.

The size of the thumbnail48varies for different attachments since the size of each image that is returned from the attachment server and saved in the content store40varies based on the aspect ratio of the original image. It will therefore be appreciated by a person skilled in the art that the thumbnail48is not limited to being resized to 25%. The thumbnail48may be resized to occupy between 15% and 40% of the display30or alternatively may be of any size that allows the user to quickly determine the contents of the attachment.

In operation, the user receives an email message through the messaging application of the portable electronic device12and opens the email message, which has a similar format to the email message that is shown inFIG. 3a. The user then selects and views an attachment of the email message using the attachment viewer. If there is more than one attachment, the user views the additional attachments consecutively using the attachment viewer. As each attachment is opened, the attachment server returns the image and a thumbnail image48of the respective attachment appears in the attachment portion45of the messaging body44, as shown inFIG. 3b. The thumbnail images48are retrieved from the content store40of the portable electronic device12so that following the initial attachment opening, no further communication with the attachment server is necessary. In order to view the attachment again in full size, the user selects the thumbnail and the image is displayed by the attachment viewer. Again, no communication with the attachment server is necessary because the attachment image data is retrieved locally from the portable electronic device content store40.

A specific embodiment of the present embodiment has been shown and described herein. However, modifications and variations may occur to those skilled in the art. For example, although the portable electronic device12has been described having cellular telephone capabilities, the described embodiment is not limited to portable electronic devices having both cellular telephone and email capabilities. A portable electronic device having email capabilities but not cellular telephone capabilities may also be used. All such modifications and variations are believed to be within the sphere and scope of the present embodiment.