Plaque It!
Sponsored by: Flash of Genius |
[0001] A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent document or patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
[0002] The present invention relates generally to the field of electronic mail (“e-mail”) software and systems. More particularly, the present invention is related to advertiser-supported e-mail software for delivering advertisements to client computers having this advertiser-supported e-mail software installed thereon.
[0003] This application is based on Provisional Patent Application No. 60/169,622, which was filed on Dec. 8, 1999. This Provisional Patent Application is incorporated herein by reference in its entirety.
[0004] Electronic mail (“e-mail”) has become a ubiquitous form of communication in recent years. In general, e-mail works as follows. E-mail software is installed on a client device, e.g., a personal computer (PC), equipped or configured for communications with a multiplicity of other client devices via a communications network. Access to the communications network can be provided by a communications network service provider, e.g., an Internet Service Provider (ISP) and/or a proprietary network e-mail service provider, with whom the user establishes one or more e-mail accounts, each identified by a unique e-mail address, e.g., president@whitehouse.gov. The e-mail software, e.g., the e-mail client, enables a user of the client device to compose e-mail messages, to send e-mail messages to other client devices via the communications network, and to read e-mail messages received from other client devices via the communications network. A user can send e-mail messages to multiple recipients at a time, which capability is sometimes referred to using a mailing list or, in extreme cases, bulk mailing. The typical e-mail client supports Post Office Protocol Version 3 (POP3), Simple Mail Transfer Protocol (SMTP), Internet Mail Access Protocol, Version 4 (IMAP4), and/or Multipurpose Internet Mail Extensions (MIME).
[0005] Each ISP and each proprietary network e-mail service provider independently operates and controls an e-mail communication system (or, simply, “e-mail system”). These independently-operated e-mail systems are bi-directional store-and-forward communication systems that are interconnected to one another via the Internet. Each e-mail system generally includes a number of e-mail servers that store inbound and outbound e-mail messages and then forward them, route them, or simply make them available to the users/intended recipients. Different e-mail systems are operated and controlled by independent control entities. With the advent of the Internet, the user is not restricted to a single system providing both an incoming e-mail server (or server cluster) and an outgoing e-mail server (cluster), i.e., both the incoming and outgoing e-mail servers under the control of a single entity. Most e-mail clients, other than proprietary e-mail systems such as AOL and JUNO, can be configured to receive e-mail from an incoming e-mail server (cluster) controlled by a first entity and an outgoing email server (cluster) controlled by a second, totally independent entity. It will be appreciated that most casual email users download from and upload to respective servers operated by a single entity.
[0006] Generally, when a user desires to send e-mail messages, or to check for received messages (which operations can occur automatically according to a prescribed schedule), the e-mail software is activated. Upon being activated, the e-mail software:
[0007] effects a connection or communications session with the host ISP or e-mail service provider via a prescribed communication link by invoking a prescribed communications mechanism, e.g., a dial-up modem, an ISDN connection, a DSL or ADSL connection, etc.;
[0008] electronically transmits or transports any e-mail messages desired to be sent to the e-mail server system operated by the host ISP or e-mail service provider, e.g., via an SMTP server;
[0009] receives any inbound e-mail messages forwarded to the client device by the host ISP or e-mail service provider, e.g., via a POP3 or IMAP4 server; and
[0010] stores any received e-mail messages in a prescribed memory location within the client device, e.g., at either the default location established by the e-mail client or a user-selected location.
[0011] Exemplary e-mail software is the commercially available e-mail software marketed by the present assignee, QUALCOMM INCORPORATED, under the registered trademarks EUDORA PRO® and EUDORA LIGHT® (hereinafter sometimes referred to generically as “Eudora”). In general, the EUDORA PRO e-mail software provides the user with a “full feature set,” and the EUDORA LIGHT e-mail software provides the user with a “reduced feature set” that is a subset of the “full feature set” provided by the EUDORA PRO e-mail software. The EUDORA PRO e-mail software (the previous version of which is referred to as “EP4” in this document) must be paid for by the user (or by someone else on behalf of the user), and can thus be regarded as “Payware”, whereas the EUDORA LIGHT e-mail software is provided free of charge to registered users, and thus, can be regarded as “Freeware.” Each of the client devices that has any version of Eudora installed thereon can be regarded as a “Eudora client.” Presently, there is a very large installed base of Eudora clients.
[0012] The present assignee, QUALCOMM INCORPORATED, has recently released a new version of its popular EUDORA e-mail software that is popularly known as EUDORA Adware (hereinafter sometimes referred to simply as “Adware”). This new Adware version of Eudora is contained within, i.e., is an integral part of, a new Eudora software product that contains the previously-referenced Payware and Freeware versions of Eudora. In general, each version of Eudora contained within this Eudora product release constitutes a separate operating mode of a single software product. Advantageously, the Adware Version of Eudora Pro® can be activated or switched between modes either automatically, in accordance with prescribed criteria or conditions, or manually, in accordance with prescribed user actions, e.g., registration, payment, selection, etc. This new Adware version of Eudora and the multi-moded Eudora e-mail software product that contains the same were motivated by a desire on the part of the present assignee to provide users with the “full feature set” afforded by the Payware version of Eudora free of charge to the users, by means of distributing advertisements paid for by advertisers to Eudora clients, thereby effectively shifting the source of payment/revenue from the users to the advertisers. Thus, this new Eudora software product can be regarded as “advertiser-supported” or “advertiser-subsidized” or simply “sponsored” software.
[0013] Most Internet service providers (ISPs) and e-mail service providers charge users a flat monthly subscription fee, although some providers still charge users based on usage, e.g., additional charges for on-line time beyond a prescribed level. However, there exists a population of users who desire to have basic e-mail service, but who do not require or want to pay for Internet access. A few companies have addressed the needs of this market segment by providing free e-mail service to users/subscribers who agree to receive advertisements along with their received e-mail messages. In this way, the advertisers support or sponsor the free e-mail service.
[0014] Based upon the relevant literature, it appears that the first company to propose and offer such a free e-mail service was FreeMark Communications (a.k.a. “ProductView Interactive”). The FreeMark system and method for providing free e-mail service is disclosed in PCT published patent application International Publication Number WO 96/24213, having a priority date of Feb. 1, 1995, based on U.S. application Ser. No. 08/382,118, naming as inventors Marv Goldschmitt and Robert A. Young. The disclosure of this published PCT patent application is expressly incorporated herein by reference. In short, this free e-mail system was subsidized by advertisers that appended advertisements as attachments, e.g., graphical interchange format (GIF) image file attachments, to e-mail messages transmitted to subscribers. The advertisements were stored on the subscriber's computer for viewing while the subscriber was off-line reading the received e-mail messages. In some of their promotional literature, FreeMark referred to the appended advertisements as “postage stamps”. In FreeMark's literature, each message received by the subscriber was depicted as an envelope bearing a postage stamp; the postage stamp was the advertisement.
[0015] Subsequently, a company by the name of Juno Online Services, L.P. (hereinafter simply “JUNO”) introduced a free e-mail service. The JUNO system and method for providing free e-mail service is disclosed in U.S. Pat. No. 5,809,242, which issued to Marsh et al. on Dec. 8, 1998, the disclosure of which is also expressly incorporated herein by reference. With the proprietary JUNO e-mail system, a plurality of advertisements are downloaded to subscribers when they connect to the proprietary JUNO e-mail server system to send and/or receive e-mail messages, with the advertisements being stored locally on the subscriber's computer for display when the subscriber is off-line composing or reading e-mail messages, i.e., when the subscriber activates Juno e-mail software previously installed on the subscriber's computer. The locally stored advertisements are displayed under the control of a display scheduler resident on the subscriber's computer, to thereby enable the advertisements to be rotated or changed in a dynamic manner. This results in a continuously-changing display of advertisements being presented to the subscriber. Various other aspects and features of the proprietary JUNO e-mail system are disclosed in U.S. Pat. No. 5,838,790, which issued to McAuliffe et al on Nov. 17, 1998, and in U.S. Pat. No. 5,848,397, which issued to Marsh et al on Dec. 8, 1998; the disclosures of both of these patents are also expressly incorporated herein by reference.
[0016] With both the FreeMark and JUNO proprietary free e-mail systems, both the advertisements and the e-mail messages are stored on a single e-mail system (e.g., JUNO stores both on a single, unique server which is assigned (bound) to the user when he/she first signs up for service), and are distributed to subscribers under the direction of a common control entity that is controlling all part of the e-mail system. While this may be a desirable system architecture for providing free e-mail service, it is not a suitable system architecture for a system whose purpose is to distribute advertiser-supported e-mail software that is e-mail system-independent, i.e., which is not tied to a particular proprietary e-mail service provider but, rather, supports public standards, e.g., POP3, SMTP, IMAP4, etc. Moreover, the free e-mail system architecture is not suitable for the many people who maintain multiple e-mail accounts, e.g., business and personal e-mail accounts. As mentioned previously, the present inventors were motivated by a desire to provide a system and method for distributing advertisements to Eudora clients in order to generate advertising revenues that would allow a fully-featured version of the Eudora e-mail software to be widely distributed free of charge to end-users. Moreover, the present inventors were motivated by a desire to provide e-mail software that is both universal and e-mail system-independent, i.e., it is not tied to any particular proprietary e-mail service or service provider.
[0017] Accordingly, the present inventors have developed a novel multi-moded Eudora e-mail software product that contains the Payware, Freeware and Adware, and have also devised a novel system and method for distributing advertisements to clients equipped with this new software product. As will become fully apparent hereinafter, the purpose and architecture of this novel system are radically different than that of the proprietary FreeMark and JUNO e-mail systems. In this regard, the multi-moded Eudora e-mail software product, and the novel system and method for distributing advertisements to clients equipped with this new software product, embraces a number of different inventions that will become fully apparent from the following disclosure and the documents referenced therein.
[0018] Based on the above and foregoing, it can be appreciated that there presently exists a need in the art for a subsidized e-mail client which overcomes the above-described deficiencies. The present invention was motivated by a desire to overcome the drawbacks and shortcomings of the presently available technology, and thereby fulfill this need in the art.
[0019] In one of its aspects, the present invention encompasses e-mail software which incorporates an automatic advertisement download function for automatically downloading advertisements to be displayed when the e-mail software is activated, for the purpose of subsidizing the full e-mail software product (e.g., to provide a “Freeware” version of the e-mail software product to end-users), wherein the e-mail software is e-mail system-independent. Preferably, the e-mail software is a stand-alone product which is universal, i.e., works in conjunction with virtually any e-mail service provider or e-mail system, including those service which comply with open standards. The present invention also encompasses a system and method for automatically distributing advertisements to a multiplicity of client devices which have this e-mail software installed thereon.
[0020] According to one aspect, the present invention provides an e-mail client for receiving and sending e-mail messages to at least one of a plurality of e-mail servers operated by respective e-mail operators, wherein the e-mail client receives at least one ad from an ad server operated by a control entity different than the control entity operating the one or more e-mail systems.
[0021] According to another aspect, the present invention provides a recording medium storing e-mail client software for instantiating an e-mail client which receives e-mail messages from and sends e-mail messages to at least one of a plurality of e-mail servers operated by their respective e-mail operators, wherein the e-mail client automatically receives ads from an ad server which operates independent of the e-mail servers.
[0022] According to still another aspect, the present invention encompasses a method of operating an e-mail client, provided by an ad server operator, compatible with a plurality of independently operated e-mail servers, including ones based on open e-mail standards. Preferably, the method includes steps for periodically at least one of sending and receiving e-mail from selected ones of the e-mail servers, periodically receiving ads from the ad server operator, and displaying the received ads responsive to instructions provided by the ad server operator.
[0023] According to a still further aspect, the present invention provides an e-mail system including an incoming e-mail server storing incoming e-mail messages addressed to a plurality of users, an outgoing e-mail server for forwarding or routing outgoing e-mail messages generated by the users, and an ad server operating independently of the e-mail server, and a plurality of e-mail clients operated by respective users. Preferably, each of the e-mail clients checks for respective e-mail messages stored on the incoming e-mail server, transmits any outgoing e-mail messages stored on the e-mail client to the outgoing e-mail server, and downloads available ads from the ad server while the e-mail client is online.
[0024] In one aspect, the present invention provides an advertisement distribution system for distributing advertisements to a multiplicity of client devices via a communications network. Preferably, the system includes at least one ad server that stores the advertisements to be distributed to the client devices, each advertisement being stored in a storage location designated by a source address, and at least one playlist server that receives a playlist request from each of the client devices, and that transmits a playlist response in response to each received playlist request. Moreover, the playlist response transmitted to each client device includes at least one playlist that identifies advertisements to be downloaded by that client device.
[0025] Many other features, aspects, uses, applications, advantages, modifications, variations, and alternative embodiments of the foregoing inventive concepts will become apparent from the technical documentation that follows. This technical documentation constitutes an integral part of this application for all purposes. Moreover, additional inventive concepts that have not been discussed above are disclosed in this technical documentation, and it is intended that this application cover such additional inventive concepts.
[0026] Furthermore, certain terms that have been used in the foregoing and following descriptions of the present invention are defined as follows:
TERM DESCRIPTION Advertisement(s) This term is intended to broadly encompass any secondary content that is delivered or distributed to client devices in addition to the primary content, e.g., e-mail messages, which the software product instantiated by the client device is designed to receive, transmit, process, display, and/or utilize. For example, this term is intended to cover, without limitation, paid advertisements, community service messages, public service announcements, system information messages or announcements, cross- promo spots, artwork, and any other graphical, multimedia, audio, video, text, or other secondary digital content. Nevertheless, it will be recognized that the primary purpose of the presently contemplated commercial embodiment of the present invention is to distribute paid advertisements, and thus, in accordance with the preferred embodiment of the present invention, the advertisements will be exclusively, or at least primarily, paid advertisements. Client Device This term is intended to broadly encompass any device that has digital data processing and output, e.g., display, capabilities, including, but not limited to, desktop computers, laptop computers, hand-held computers, notebook computers, Personal Digital Assistants (PDAs), palm-top computing devices, intelligent devices, information appliances, video game consoles, information kiosks, wired and wireless Personal Communications Systems (PCS) devices, smart phones, intelligent cellular telephones with built-in web browsers, intelligent remote controllers for cable, satellite, and/or terrestrial broadcast television, and any other device that has the requisite capabilities. Information This term is intended to broadly encompass any intelligible form of information which can be presented by a client device, i.e., an information client device, including, without limitation, text, documents, files, graphical objects, data objects, multimedia content, audio/sound files, video files, MPEG files, JPEG files, GTE files, PNG files, HTML documents, applications, formatted documents (e.g., word processor and/or spreadsheet documents or files), MP3 files, animations, photographs, and any other document, file, digital, or multimedia content that can be transmitted over a communications network such as the Internet. E-mail Messages This term is intended to broadly encompass the e-mail message and any attachments thereto, including, without limitation, text, documents, files, graphical objects, data objects, multimedia content, audio/sound files, video files, MPEG files, JPEG files, GTE files, PNG files, HTML documents, applications, formatted documents (e.g., word processor and/or spreadsheet documents or files), MP3 files, animations, photographs, and any other document, file, digital, or multimedia content that can be transmitted over a communications network such as the Internet. Software This term is intended to broadly encompass the developer (or developers), Provider sellers, distributors, etc., of the multi-mode software products(s) installed on the client device. Memory This term is intended to broadly encompass any device capable of storing and/or incorporating computer readable code for instantiating the client device referred to immediately above. Thus, the term encompasses all types of recording medium, e.g., a CD-ROM, a disk drive (hard or soft), magnetic tape, and recording devices, e.g., memory devices including DRAM, SRAM, EEPROM, FRAM, and Flash memory. It should be noted that the term is intended to include any type of device which could be deemed persistent storage. To the extent that an Application Specific Integrated Circuit (ASIC) can be considered to incorporate instructions for instantiating a client device, an ASIC is also considered to be within the scope of the term “memory.”
[0027] These and various other features and aspects of the present invention will be readily understood with reference to the following detailed description taken in conjunction with the accompanying drawings, in which like or similar numbers are used throughout, and in which:
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043] FIGS.
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052] Illustrative embodiments and exemplary applications will now be described with reference to the accompanying drawings to disclose the advantageous teachings of the present invention.
[0053] While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those having ordinary skill in the art and access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the present invention would be of significant utility.
[0054] Referring now to specific drawings,
[0055] As shown in
[0056]
[0057] Referring again to
[0058] According to one aspect of the present invention, the “software” advantageously can be provided as a single binary (per client device) file containing the software, e.g., the Eudora software, which can be employed by all users. This binary file will operate in one of three major modes of operation: Payware; Freeware; and Adware. In the Payware mode of operation, the user must pay the software provider to use the software. Freeware is free for all to use, but has fewer features than either Payware or Adware. Preferably, Payware users will prove their payment by a registration code that the software provider will provide to them at time of payment. This code will be self-validating, and contain enough data to identify what version(s) the user is entitled to operate. It should be noted that users of the Payware version of Eudora will be entitled to all versions of Eudora that are produced during the calendar year following their payment. The software preferably polls a predetermined site, e.g., a site maintained by QUALCOMM INCORPORATED, on a periodic basis in order to determine if an update for the software is available; if an update is available, the software advantageously can present the user with a small web page of options for obtaining the software update, as discussed in greater detail below.
[0059] It will be noted that Adware has all the features of Payware, but does not require payment from the user. What Adware does require is that the user display and view ads, which the user will download from the software provider's site and/or one or more sites designated by the software provider. It will also be noted that the initial state of the software is Adware.
[0060] In an exemplary preferred embodiment, each client computer downloads ads from the ad server
[0061] Some of the terminology employed in describing the functions and novel features of exemplary embodiments of the present invention was presented above. Additional terminology which facilitates a full understanding of the present invention in terms of the Eudora software is presented immediately below.
QUALCOMM INCORPORATED has several versions of Applications the Eudora software, including: EP4 Eudora Pro 4.x, either Windows or Macintosh. Eudora The new three-modal version of Eudora, running in any of its modes. Payware Eudora running in full-feature mode, after the user has paid. Freeware Eudora running in reduced-feature mode. Adware Eudora running in full-feature mode with ads. Paid App Any version of Payware to which the user's registration entitles him/her. Unpaid App Any version of Payware newer than that to which the user is registered and entitled to. Old Eudora Eudora versions prior to Eudora Pro 4.x. User States A user state is the most basic concept to understanding how the various modes of the application are interrelated. The user state determines how the program treats the user. The states are defined as follows: EP4 User A user of EP4 who has not registered via the old (non- Adware) registration process. Registered A registered user of EP4. EP4 User New User A user using Eudora for the first time, but who has not obtained a boxed copy, e.g., bundled with a newly purchased computer system, etc. Payware A user who has paid for Eudora, User entered his/her registration code, and is using a version of Eudora to which he/she is entitled. Box User This is a user who has been given their RegCode by an installer, either from the box product or from an EP4 updater, and whose registration information is therefore unknown. Free User A user who has chosen to use Freeware but who has not entered a Freeware registration code. Adware A user who is using the Adware version User that displays ads. Registered A Freeware (“Free”) user who has Freeware entered a Freeware registration code. User Registered An Adware user who has entered an Ad registration code. Adware User Deadbeat A former Adware user who has been User shut off due to Eudora's failure to receive ads (or less than a prescribed minimum number of ads). Windows and Several windows and dialogs are used in the process. Dialogs A fuller description of these will be given later, but the major ones are briefly described immediately below: Intro Dialog A dialog presented to new users explaining the software options to new users. Registration A window presented to the user every Nag so often to suggest that the user register his/her software. Full- A window presented to Freeware users Feature Nag requesting them to try Eudora Pro again. Free A dialog that tells the user the features Downgrade that will no longer be available to him/her if they switch to Freeware, but allows them to do so if they really wish. Code Entry A dialog allowing the user to enter their registration code. Dialog Ad Window A window or portion of a screen displaying an ad. See FIGS. 3A and 3B. Link A window that will display links the History user has clicked on, i.e., ads the Window user has seen. Web Pages The software provider advantageously can elect to restrict interactions between the user and the software provider to the Internet to the maximum extent possible. This will allow the software provider the most flexibility in how the software provider deals with actual users. One potential list of the major pages is provided immediately below, although these “pages” advantageously may be groups of pages, or pages customized to match the demographics of a given user, e.g., a customized and/or branded version of Eudora provided by a major retailer, e.g., a private label version of Eudora provided to its users by an ISP. Freeware A page that allows the user to register Reg Page Freeware. Payware A page that accepts payment for Eudora Reg Page Pro and returns a registration code to the user. Adware Reg A page that allows users of Adware to Page submit their registration information to the software provider. Lost Code A page that helps users who have lost Page their registration codes. (May require human intervention) Update A page generated for a user that lists Page possible upgrades and the latest version for which he/she is registered. Archived A page from which users can download Versions all versions of Eudora. Page Profile Page A web page where users can enter their profile information. Nag Schedules A “Nag Schedule” is a bracketed set of numbers. The numbers signify # of days since the start of a trial period. Users will be nagged on the days indicated. The last number signifies what happens when the other numbers run out; the user will either not be nagged (0), or be nagged every so many days. For example, a schedule of [0,5,2] means the user will be nagged on the first day, the sixth day, and every other day thereafter.
[0062] As mentioned above, the “software” advantageously can be provided as a single binary file containing the software, e.g., the Eudora software, which can be installed (if required) and employed by all users. This binary file will operate in one of three major modes of operation: Payware; Freeware; and Adware. The installation and operation of various functions of the software program according to the present invention will now be described in greater detail while referring to several state flow diagrams, which state diagrams illustrate the major user states and the transitions among them. In the flow state diagrams, the following conventions will be observed:
[0063] Raised grey squares are conceptual names for buttons in dialogs.
[0064] A few paths are labeled with menu items. These items can be used to bring up the window in question directly, without waiting for nags.
[0065] In principle, any dialog or nag can be cancelled, leaving the user back in the initial state.
[0066] Web pages cannot change user state or generate more dialogs; hence, all web pages lead back to the user's initial state.
[0067] With the conventions noted above, the installation of the Eudora e-mail software will now be described while referring to
[0068] The path taken by EP4 users and box purchasers illustrated in
[0069]
[0070] As shown in
RegName The name the user wishes to register under. The software provider will imply but not require that this be the user's real name. The only thing this name will be used for is registration. Supplied by the user. When the software provider actually collects this name from the user, the software provider will ask for it in terms of first and last names, called RegFirstName and RegLastName, respectively. RegName is built by concatenating RegFirstName, a single space, and RegLastName. Each of the first and last names is limited to 20 significant characters; beyond that, characters will be ignored. RegMonth The date of the registration, expressed as the number of months since Jan 1, 1999, e.g., 8 bits (20 years). All 1's is reserved are for “never expires” situations. Product A numeric code indicating what product the registration is for. The user will choose the product; the software provider will translate that choice into an 8-bit code.
[0071] It will be appreciated that a plurality of Regcode algorithms advantageously can be employed in generating a self-validating registration code. In brief, the software provider takes the inputs listed above, checksums them, mixes the inputs (including the RegName) and the checksum together in according to any one of a variety of algorithms, and encodes the result as a 16-bit number string. It will also be appreciated that the encoding and bit-mixing can be reversed and then, together with the RegName, the checksum can be used to verify the validity of the registration code.
[0072] It should be noted that the software provider will store registration codes separately for Freeware (Eudora Light), Adware (Sponsored) and Payware (Eudora Pro) software modes. Acceptance of a registrations code for one mode of operation does not imply that the registration codes for the other modes should be destroyed.
[0073] Once the registration code has been generated, the user must somehow enter the valid RegCode into the Eudora e-mail client. This can be accomplished in one of three ways:
[0074] Manually. Users can type or paste values into the Enter Code dialog box. See
[0075] Windows Registry. At Eudora startup, the software will look for the RegCode in the Windows registry (e.g., Software\Qualcomm\Eudora\Check, FName, LName, RCode). The values should be copied into the preferences register or associated lookup table of the e-mail client, if these preferences are found and valid.
[0076] RegCode File. At Eudora startup, the software will look for a file in the application software folder named “RegCode.dat,” in an exemplary case. The values should be copied into the preferences register or associated lookup table of the e-mail client, if these preferences are found and valid.
[0077] It should also be mentioned that the software provider will allow a special-case MIME part to be mailed to the Eudora e-mail client. The user receiving this part will automatically be asked to verify and enter the information. He/she can also execute the attachment again later. However, he/she cannot forward the attachment to anyone else using the Eudora e-mail client, because a special Content-Type attribute (“regCode”) is required to activate the part, and the Eudora e-mail client can't send those.
[0078] The format of the MIME part (and the RegCode file) is that of a text file containing RFC822-header-style fields. It has a registered MIME type of application/vnd.eudora.data. The fields included in the part are:
Eudora-File-Type This is always the first field, and describes what sort of information the rest of the file contains. Its value will be either “regFile” or “Profile.” Eudora-First-Name The first (given) name of the registrant, in US-ASCII. Eudora-Last-Name The last (family) name of the registrant, in US-ASCII. Eudora-Reg-Code The registration code as produced by the registration system Profile Profile information. This takes the form of a relatively short, e.g., 127 bytes, ASCII string. A profile is generated for each user during the registration process. Eudora-Needs- If this field contains “YES”, then the user should be nagged to register Registration: their copy of Eudora. This is used by installers that generate RegCodes that the software provider otherwise would not have in its database. Mailed-To This is the address the information was mailed to. If this field is present and does not match any of the user's personalities or “me” nickname, the information should not be acted on.
[0079] It should be noted that the Eudora-File-Type field must be present. The other fields listed above may or may not be present.
[0080] It will be appreciated from the discussion above that RegCodes mailed to the user should be validated prior to use. In order to be used, a RegCode should meet the following tests:
[0081] Validity—An invalid RegCode should be ignored.
[0082] Directness—The mailed-to field of the RegCode should contain an address for one of the user's personalities or be in the user's “me” nickname.
[0083] Applicability—A new RegCode should not automatically override an existing valid RegCode. The only exceptions to this policy are that a Payware mode RegCode should override a Freeware or Adware RegCode, and a Payware mode RegCode that is the same as the user's existing Payware mode RegCode can be used to disable the “Eudora-Needs-Registration” Nag.
[0084] Once the RegCode has been determined to meet the above tests, the user should be asked to accept the code. An exemplary acceptance dialog box is illustrated in
[0085] As mentioned above, the registration code is self-validating, since one part is a function of the other. However, there is another sense of “validation” to be considered, i.e., whether or not the registration code is “valid” for use with a particular version of Eudora. This is accomplished by comparing the ExpMonth in the registration code with a BuildMonth field the software provider will put into the application (in a place that cannot be overwritten by plug-ins, settings, etc.). If the ExpMonth and the BuildMonth correspond, the registration is deemed valid by the e-mail client.
[0086]
[0087] It should also be mentioned at this point that all users will receive an Update Nag dialog box (not shown) at a predetermined interval. Eudora checks the Update Page once per week during an e-mail session. If the Update page has changed, the user is nagged to update the Eudora e-mail software. Even if the page hasn't changed, the user is nagged on a 30-day schedule to check for updates, to ensure that he/she has the latest software version. See the state flow diagram of
[0088]
[0089] Having introduced the concept of nagging, this would be a convenient point to discuss various features of nagging implemented in the software according to the present invention. Two major issue are (1) how the software provider nags the user, and (2) when the software provider nags the user.
[0090] Ideally, Nag Windows are modeless windows. The user can close them using close boxes, or dismiss them by taking one of their action items, or simply leave them open and let them drift wherever they will in the window list. Due to implementation constraints, Windows Nag Windows will be slightly different in behavior than MacOS Nag Windows, which are discussed below. The Nag Windows are floating windows; the software provider expects that the user will probably dismiss the Nag Window in fairly short order. It will be appreciated that the Nag Windows will not, however, stop background tasks from executing.
[0091] It should be mentioned that there is at most one Nag Window of each variety open at a time; old windows of the same variety advantageously will be recycled. That is, if a given Nag Window is still open the next time the user is due to be nagged, that window will be reused and brought back to the top of the window stack. It should also be mentioned that all Nags applicable to the user should be available to the user by selection from the Help menu, so that the user who dismisses one of the Nag Windows inadvertently can deliberately nag him/her-self if he/she wishes, although such manual Nag invocations do not reset the Nag's timer.
[0092] Preferably, Nag Windows will be opened on top of all other windows, and no automatically opened windows, including, for example “Tip of the Day” and other dialog boxes and excluding other Nag Windows, will ever be placed above them until the user has manually brought another, non-Nag Window above them. Due to the implementation constraints in the Windows version of the Eudora e-mail software, the only windows that can obscure Nags would be other floating windows. It will be appreciated that this is chiefly due to the requirement that Multiple Document Interface (MDI) child windows be maximizable. It should be mentioned that is a standard Windows interface used by many popular Windows applications and utilities, such as the Windows Program Manager, and the Windows File Manager; the MDI interface is also part of the Common User Access (CUA) standard set by IBM. Each MDI-compliant application enables you to open child windows for file-specific tasks such as editing text, managing a database, or working with a spreadsheet, to name but a few of the possible tasks.
[0093]
[0094] The placement of Nag Windows in any of the Windows environments is, in general, considerably simpler. Nag Windows simply float outside the MDI box, above other floating windows, until the user closes them. The exception to this rule is the Update Nag, which acts like a MacOS Nag Window, if the user assumes that the entire Macintosh diagram takes place inside an MDI box. Note particularly that this indicates that the Update Nag may be maximized in the Windows environment.
[0095] Although the basic concept of Nag Schedules was introduced above, a more detailed discussion of Nag Schedules at this point would facilitate the understanding of certain aspects and features of the software according to an exemplary preferred embodiment of the present invention. In the Eudora e-mail software, each schedule is a set of numbers representing (save for the last) the number of days since a given date (the Nag base). The software provider further must keep track of the last time the user was nagged (the last lag). Note that both the Nag base and last Nag should be tracked separately for each type of Nag; the software provider must not mix values for Registration Nags and Update Nags, for example. The last number of the Nag Schedule is a repeat interval. Once the other Nags are all exhausted, the user is nagged each time this last number of days passes.
[0096] The best way to understand a Nag Schedule is to view the schedule as a timeline, as illustrated in