CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation application of U.S. patent application Ser. No. 14/049,204, filed Oct. 8, 2013 and entitled, “Aggregate Electronic Mail Message Handling,” which is a continuation-in-part application of U.S. patent application Ser. No. 13/191,412, filed Jul. 26, 2011 and entitled, “Electronic Mail Processing and Publication for Shared Environments,” all of which is herein incorporated by reference in their entirety for all purposes.
FIELDThe present application relates generally to computer software, computer program architecture, data and database management, professional media, social media, web based applications, and mobile applications. More specifically, techniques for electronic mail processing and publication for a visual display oriented email system are described.
BACKGROUNDElectronic messaging is an important function for garnering data for personal consumption and for sharing data with other individuals, organizations, or entities. Conventional electronic messaging solutions such as electronic mail (hereafter “email”) applications, servers, and platforms allow users to receive email, compose email, forward email, send email, carbon copy (cc) email, blind cc email and reply to email. Moreover, reviewing content included in an email often requires several “click troughs” of a mouse or other user interface device to access the content. For example, one click through may be necessary to open an email in a user's inbox or other email folder, another click through may be necessary to access a web page/site in a hyperlink or image included in a body of the email message. It is estimated that one-third of users are lost for each click through required to access email content. From a user point of view, an inbox or other email folder may contain an overwhelming amount of visual information created by a large number of email messages from a large number of different email sources, such as advertisers, businesses, financial institutions, invoices for bills, newsletters, social networks, professional networks, special interests groups, friends, colleagues and family, just to name a few.
In some instances there may be redundant emails from the same source and/or there may be emails from sources the user is subscribed to but is no longer interested in receiving. In any case, visually parsing through the disparate assembly of email messages and the concomitant click troughs that may be required to access the content of each email may result in the user unsubscribing from an email source or ignoring email from an email source due to the number of required to access content. The unsubscribe requests from users may be regarded as a “churn rate” that is undesirable for a publisher or other source of the email.
On a weekly basis, if a publisher has a 0.3% churn rate, then that publisher may lose 5% of its subscribers on an annual basis with a concomitant loss of revenue to the publisher from advertising, etc. In many cases, the unsubscribing user may actually like the content being provided by the publisher, but is compelled to downsize the amount of emails that he/she is receiving due to an overwhelming amount of emails being received from many disparate sources and the burden of having to visually sort through and decide which emails to react to or to ignore or delete. For example, faced with a large number of emails in an inbox, a user may permanently delete emails they regard as less important. As another example, a user has subscribed to a source of emails (e.g., a newsletter, etc.) and those emails are received in the user's inbox. The user may actually want to receive the subscribed to emails, but doesn't want them in their regular inbox. Due to email overload, the user may elect to unsubscribe from the emails even though they initially subscribed to the emails and may actually still want to receive them.
Conventional presentation of email messages using a subject line format may not convey enough useful information to allow a user to decide whether or not to open the email to divine its content. For example, an email may include text and images; however, the user may not see the image portion until at least one or more click troughs, and the image portion of the content if known without having to click through may be more informative to the user in making a decision to dive further into the content of an email message or to ignore or delete the email message, as opposed to just the text presented in the subject line. In other cases, the visual parsing of a folder or inbox may be fatiguing to a user and result in the user overlooking an email of interest because it is not visually prominent and/or noticeable when presented among other emails in that folder or inbox.
Thus, what is needed is a solution for electronic mail processing and visual presentation to a user that addresses limitations of conventional techniques and/or reduce churn rate.
BRIEF DESCRIPTION OF THE DRAWINGSVarious embodiments or examples (“examples”) are disclosed in the following detailed description and the accompanying drawings:
FIG. 1 illustrates an exemplary system for electronic mail processing and publication for shared environments;
FIG. 2 an exemplary application architecture for electronic mail processing and publication for shared environments;
FIG. 3 illustrates an exemplary shared environment for publication of processed electronic mail messages;
FIG. 4A illustrates a further exemplary shared environment for publication of processed electronic mail messages;
FIG. 4B illustrates an alternative exemplary shared environment for publication of processed electronic mail messages;
FIG. 5 illustrates another exemplary shared environment for publication of processed electronic mail messages;
FIG. 6A illustrates an exemplary process for electronic mail processing and publication for shared environments;
FIG. 6B illustrates an alternative exemplary process for electronic mail processing and publication for shared environments;
FIG. 7 illustrates a further exemplary process for electronic mail processing and publication for shared environments;
FIG. 8 illustrates an exemplary process for transforming email addresses for electronic mail processing and publication for shared environments;
FIG. 9 illustrates an exemplary computer system suitable for electronic mail processing and publication for shared environments;
FIG. 10 illustrates an exemplary process for aggregating and cleaning electronic mail for publication on shared environments;
FIG. 11 illustrates an exemplary shared environment for publication of aggregated and cleaned electronic mail messages;
FIG. 12A depicts one example of a flow diagram for generating a grid view including one or more tiles;
FIG. 12B depicts one example of an electronic email message having different content types;
FIG. 12C depicts one example of a grid view including a plurality of tiles displayed on a display system;
FIG. 12D depicts one example of different configurations for tiles in a grid view and flying or hovering over a tile to initiate content rotation of content in the tile;
FIG. 12E depicts one example of a selected tile made visually more prominent than un-selected tiles in a grid view;
FIG. 12F depicts a grid view of plurality of tiles and their respective content types with one of the tiles being selected and having content rotation of its content;
FIG. 13A depicts one example of a flow diagram for generating a carousel view including one or more tiles;
FIG. 13B depicts one example of a carousel view including a plurality of tiles displayed on a display system;
FIG. 13C depicts one example of different configurations for tiles in a carousel view and flying or hovering over a selected tile to make the selected tile visually prominent and to position un-selected tiles around a perimeter of the selected tile;
FIG. 13D depicts a carousel view of plurality of tiles and their respective content types and a selected tile being visually prominent and having content rotation of its content;
FIG. 14A depicts one example of a flow diagram for reducing unsubscribe requests;
FIG. 14B depicts one example of a scenario for handling an unsubscribe request that may result in registration with an aggregating domain;
FIG. 15A depicts another example of a flow diagram for reducing unsubscribe requests; and
FIG. 15B depicts another example of a scenario for handling an unsubscribe request that may result in registration with an aggregating domain.
It is to be understood that, in the drawings, like reference numerals designate like structural elements. Also, it is understood that the drawings are not necessarily to scale.
DETAILED DESCRIPTIONVarious embodiments or examples may be implemented in numerous ways, including as a system, a process, an apparatus, a user interface, or a series of program instructions on a non-transitory computer readable medium such as a computer readable storage medium or a computer network where the program instructions are sent over optical, electronic, or wireless communication links. In general, operations of disclosed processes may be performed in an arbitrary order, unless otherwise provided in the claims.
A detailed description of one or more examples is provided below along with accompanying figures. The detailed description is provided in connection with such examples, but is not limited to any particular example. The scope is limited only by the claims and numerous alternatives, modifications, and equivalents are encompassed. Numerous specific details are set forth in the following description in order to provide a thorough understanding. These details are provided for the purpose of example and the described techniques may be practiced according to the claims without some or all of these specific details. For clarity, technical material that is known in the technical fields related to the examples has not been described in detail to avoid unnecessarily obscuring the description.
In some examples, the described techniques may be implemented as a computer program or application (“application”) or as a plug-in, module, or sub-component of another application. The described techniques may be implemented as software, hardware, firmware, circuitry, or a combination thereof. If implemented as software, the described techniques may be implemented using various types of programming, development, scripting, or formatting languages, frameworks, syntax, applications, protocols, objects, or techniques, including ASP, ASP.net, .Net framework, Ruby, Ruby on Rails, C, Objective C, C++, C#, Adobe® Integrated Runtime™ (Adobe® AIR™), ActionScript™, Flex™, Lingo™, Java™, Javascript™, Ajax, Perl, COBOL, Fortran, ADA, XML, MXML, HTML, DHTML, XHTML, HTTP, XMPP, PHP, and others. Design, publishing, and other types of applications such as Dreamweaver@, Shockwave®, Flash®, Drupal and Fireworks® may also be used to implement the described techniques. Database management systems (i.e., “DBMS”), search facilities and platforms, web crawlers (i.e., computer programs that automatically or semi-automatically visit, index, archive or copy content from, various websites (hereafter referred to as “crawlers”)), and other features may be implemented using various types of proprietary or open source technologies, including MySQL, Oracle (from Oracle of Redwood Shores, Calif.), SoIr and Nutch from The Apache Software Foundation of Forest Hill, Md., among others and without limitation. The described techniques may be varied and are not limited to the examples or descriptions provided.
FIG. 1 illustrates an exemplary system for electronic mail processing and publication for shared environments. Here,system100 includesnetwork102, clients104-110, server112, databases114-116, andwebsite118. “Elements” may refer to one or more ofnetwork102, clients104-110, server112, databases114-116, andwebsite118 shown in association withsystem100. As shown, the type, quantity, configuration, topology, and other characteristics are provided for purposes of illustration only and may be varied beyond the examples shown and provided. In some examples,network102 may be any type of data network including, without limitation, a local area network (LAN), wide area network (WAN), municipal area network (MAN), wireless local area network (WLAN), computing cloud, or any other type of aggregation of computing, networking, storage, or processing resources. As shown, clients104-110 may be implemented as a desktop computer (e.g., client104), mobile communication (i.e., voice and data) device (e.g., client106), mobile computing device (e.g., client108), or notebook or laptop (i.e., portable) computing device (client110). Each of clients104-110 may be in data communication with server112 usingnetwork102. In some examples, server112 may be a web, application, email, or other type of server, without limitation.
Databases114-116, in some examples, may be directly or indirectly in data communication with server112, which may be implemented as described above to perform one or more applications, deliver services or resources to clients104-110, execute or compile applications, or otherwise provide any type of processing capability or facility, without limitation. Data associated with the techniques described herein may be stored in one or both of databases114-116. In other examples, data may also be stored in embedded memory, of any type, with server112 or any of clients104-110. Still further, data may be stored and retrieved by server112 or any of clients104-110 from any of databases114-116 without limitation as to any given database schema or structure. For example, an email may be transmitted to a “shared destination,” which may be an email server (e.g., server112), email account, or other resource that is configured to accept email messages sent using messaging protocols such as Simple Mail Transfer Protocol (hereafter “SMTP”) and received using other protocols such as Internet Message Access Protocol (hereafter “IMAP”) or Post Office Protocol (hereafter “POP”), among others. In some examples, email receipt may be indicated automatically or semi-automatically to server112. In other examples, received emails sent to an email account or client may be retrieved periodically based on a set or irregular schedule. For example, an application hosted and running on server112 may be configured to retrieve emails for further processing, as described below, on a set schedule (e.g., every 1, 5, 30, 60 minutes, or the like). Using various types of email receipt protocols (e.g., IMAP, POP, or others), emails may be retrieved from an email account or shared destination. Once retrieved by server112, emails may be stored indatabase114 and/or116 and processed further to generated processed messages for posting to a shared environment (e.g., website118). As used herein, an email account to which emails are sent for posting in a shared environment may be referred to as a “shared destination.”
A shared destination may be, in some examples, an email account hosted on server112 that is configured to receive emails sent from various sources and intended for posting to a given website (e.g., website118). Data associated with emails sent to a shared destination may be stored indatabase114 or, in other examples, remotely stored indatabase116.
As shown here,website118 may be described as a “shared environment” or facility to which data, information, or other content may be posted or published. As used herein, “posting” or “publication” may be used interchangeably and are intended to refer to the format, transmission, upload, design, layout, and other parameters of content manipulated relative to a given environment (e.g.,website118, among others). In some examples,website118 may be a website at which emails, attachments, data, information, or other types of content may be viewed, retrieved, posted, or deleted, without limitation. In other examples,system100 and the above-described elements may be varied in function, structure, configuration, topology, quantity, type, or other aspects and are not limited to the examples shown.
FIG. 2 an exemplary application architecture for electronic mail processing and publication for shared environments. Here,application200 includesbus202,logic module204,database206,retrieval module208,XML engine210,email processing engine212,security module214, andposting module216. In some examples,bus202 may be implemented as any type of data communication bus for transferring data between any oflogic module204,database206,retrieval module208,XML engine210,email processing engine212,security module214, andposting module216, without limitation to any given type, configuration, capacity, rating, or other characteristic. As shown,application200 and the elements described herein (i.e.,logic module204,database206,retrieval module208,XML engine210,email processing engine212,security module214, and posting module216) may be implemented as hardware, software, firmware, circuitry, or a combination thereof and are not limited to any specific application structure or formatting, scripting, or programming language.
In some examples,logic module204 may be configured to provide command and/or control signals, instructions, and functions to direct one or more ofdatabase206,retrieval module208,XML engine210,email processing engine212,security module214, andposting module216.Logic module204, for example, may directretrieval module208 to identify, locate, and retrieve emails sent to a shared destination (e.g., IMAP or POP email account).Logic module204 may also be configured to process retrieved emails to generate processed messages (i.e., retrieved emails that have been processed by email processing engine212) for posting or publication in a shared environment (e.g., website118 (FIG. 1)) prior to being directed to postingmodule216 for posting to the shared environment (e.g., website118). Further,logic module204 may be configured to evaluate retrieved emails to determine whether a security threat (e.g., malicious software (hereafter “malware”), spyware (i.e., malware intended to passively gather data and information from a host operating system, computer, or application), cross site scripting, and others.Security module214 may be implemented using various types of security software, firmware, or hardware, such as intrusion detection and prevention systems, anti-virus, or others, without limitation, that are intended to detect whether an email to be processed byemail processing engine212 is a security threat that, once posted to a shared environment (e.g., website118) may be accessible and pose a security risk to other clients.
As shown, data may be stored indatabase206 using any type of database, database schema, or storage mechanism, without limitation, including storage area networks (hereafter “SAN”), network attached storage (hereafter “NAS”), cloud storage, or the like. Further, retrieved emails may be stored using various types of markup and formatting languages such as XML and others.XML engine210 is an example of a type of facility or resource that may be used to evaluate, format, and generate XML-formatted data to be stored, for example, indatabase206 or, as another example, to be processed for posting to a shared environment (e.g., website118) byemail processing engine212 andposting module216. In other examples,application200 may be implemented in any type of application environment, distributed or otherwise, using one or more application servers, computers, or computing platforms from which to host. Apart from the examples shown and described,application200 and the above-described elements may be varied in function, structure, format, language, configuration, or other aspects and are not limited to any specific implementation.
FIG. 3 illustrates an exemplary shared environment for publication of processed electronic mail messages. Here,window300 includes sharedenvironment302,title tag304,process messages306, sitemap link308,sort window310,pulldown menu312, andsearch field314. In some examples,window300 may be representative of a graphical user interface display that is presented by website118 (FIG. 1). As shown, sharedenvironment302 may be a graphical display environment in which processed messages may be displayed and reviewed. Based ontitle tag304, emails may be listed and displayed based on, for example, popularity (e.g., the number of comments posted in response to a given email posting, most popular today, most popular in past week, most popular in past month, and the like), age (i.e., newest-to-oldest, oldest-to-newest, and the like), trends of immediate interest (i.e., emails that are of immediate interest to the overall user or viewer population), or other factors apart from those described. As used herein,title tag304 may be a descriptive title or categorical reference associated with a given email and other emails that are contextually or thematically related. In some examples, title tag305 may use a format such as “<subject line of email>|SocialMail” in order to aid in search engine optimization (hereafter “SEO”). By using the subject line of an email as part of a header tag (e.g., H1 tag), the content, data, or information contained may be used to enhance search engine optimization to allow other users to find and retrieve processedmessages306. By using modifying the header tags of retrieved emails, processedmessages306 can be improved for SEO, facilitating searches performed for various topics, themes, keywords, or emails.
In some examples, the quantity of processed messages may be set to a discrete number per page (e.g., 10 per page, 100, 1000, customizable, user-specified, system-specified, rules-based, and others). Further, when a user navigates to a given page using, for example, a web (i.e., the World Wide Web (hereafter “web”)) browsing application processedmessages306 may be sorted based on criteria specified insort window310 by usingpulldown menu312. In this example, criteria such as “Newest,” “Trending Now,” “Most Popular Today,” “Most Popular Past Week,” and “Most Popular Past Month” may be chosen in order to sort processedmessages306. When selected, a criterion may cause processed sharedenvironment302 to be rendered such that the order is determined based on the selected criteria. In other examples, posted emails may be ranked using various techniques and, as an example, identified using the “Trending Now” feature. For example, posted emails may be ranked based on determining the number of users to which the posted email has been forwarded (e.g., if a posted email has been forwarded previously multiple times to an aggregate pool of 20 recipients, a quantitative rank may be assigned using various techniques, including assigning a weighted or unweighted ranking value based on the number of recipients (e.g., in the example above, 20)). In other examples, rankings may be performed differently using various techniques or algorithms, without limitation. As an indicator of activity within aservice providing window300, an “activity stream” or other type of feed or data stream may be created in which one or more posted emails, replies, comments, votes, rankings, or other activities occurring may be posted generally for users to view (in some contexts such as within corporate enterprises, this and other features may be suppressed in order to confine the applicability of the described techniques to prescribed enterprise purposes). In some examples, users may opt-in and subscribe to an activity stream in order to ensure that those users who do not elect to receive updates as to activity are not receiving unwanted notifications. In other examples, processedmessages306 may be sorted or displayed differently and are not limited to those shown and described.
Here, processedmessages306 may also be searched using a facility that has an interface such assearch field314 to permit the entry of keywords or other items that may be used to select the appearance of processedmessages306. A search of processedmessages306 may be used to find email content (i.e., content, data, information, media, rich media, text, or the like) from a given pool of emails posted to sharedenvironment302. When posted, emails may be made “anonymous” (i.e., remove identifying information such as email addresses) in order to protect user privacy, as described in greater detail below in connection withFIG. 5. In some examples, each of processedmessages306 may be treated like an individual post that, when selected, is hyperlinked to another page where related emails of the same topic may be listed, as described below in connection withFIGS. 4A-4B.
Referring back toFIG. 3, sharedenvironment302 can be provided as a destination website (e.g., website118) that enables the entry or submission of email content for various types of purposes (e.g., interest, humor, amusement, fun, business, enterprise/corporate, collaborative work sharing, and others, without limitation). Email content may be submitted using sharedenvironment302 to permit other users to enter comments or submit other emails related to a given topic or original email (i.e., threading), as indicated bytitle topic304. Each email submitted may be processed by email processing engine212 (FIG. 2) to be generated into a processed message and posted as part of a thread.
In other examples, users can view emails associated with topics of various types of interests. Within a corporate organization or enterprise (including for-profit, non-profit, governmental organizations), emails may be submitted for collective sharing and collaborative input by other members of the same organization. Likewise, security module214 (FIG. 2) may be configured to provide additional security to permit authenticated use by members of a given organization as opposed to enabling sharedenvironment302 to be publicly accessible. Generally, sharedenvironment302 may be used as a forum for the sharing of email content that does not require the manual formatting of email content for posting. In other words, a user having an account recorded in one or both of databases114-116 may forward or send emails to a service hosted by server112, which may be processed by email processing engine212 (as described in greater detail below in connection withFIG. 5) and posted to sharedenvironment302. Once made available to a community (e.g., public, closed, non-public, corporate, enterprise, and the like) of users, other emails may be posted directly to sharedenvironment302.
Additionally, sitemap link308 may be used to hyperlink (i.e., linking (i.e., pointing a web browsing application to another address and retrieving and displaying content from that location) to another page of website118) to another page ofwebsite118 to retrieve and view information associated with posts (i.e., publications) of processed messages to sharedenvironment302. In some examples, by interacting with sitemap link308, another web page is rendered that displays a list of processed messages classified by the month and year (i.e., posting date). Each entry of the list of processed messages (not shown) may be hyperlinked to another page that, when invoked, displays another page listing subject lines of individual posted processed messages and an excerpt of the related email. In some examples, the subject lines may also be hyperlinked to the complete post, which is displayed when the links are invoked. In other examples, the above-described examples may be varied in function, structure, format, language, configuration, or other aspects and are not limited to any specific implementation.
FIG. 4A illustrates a further exemplary shared environment for publication of processed electronic mail messages. Here,window400 includes sharedenvironment402,title tag404, processedmessages406,attachment icon408, and threadedmessages410. As shown, if a hyperlink associated with one of processed messages306 (FIG. 3) is invoked another web page may be rendered similarly to that presented inwindow400. In some examples, a processed message and related processed messages may be presented in sharedenvironment402. A selected processed message may be indicated bytitle tag404 and subsequent processed messages submitted in response or in relation totitle tag404 may be presented as a thread, as shown by processedmessages406. Further, one or more of processedmessages406 may have an attachment (i.e., an attached file, document, image, or other data or information), which may be indicated using, for example,attachment icon408. In other examples, different types of icons, indicators, or indicia may be used to indicate visually or graphically whether an attachment is present. Further,attachment icon408 may be hyperlinked to enable downloading, opening, viewing, or otherwise interacting with an attachment when a mouse pointer of other human computing interface (i.e., “HCl”) or input or input-output device is used to select (i.e., invoke)attachment icon408. Still further, other emails may be submitted for generation of additional processed messages as extended threads, as shown by threadedmessages410.
As shown, each of processedmessages406 may be hyperlinked and, when invoked, may initiate the instantiation and rendering of another window that displays data, information, or other content associated with the selected processed message. As described in greater detail below in connection withFIG. 5, a selected processed message may be configured to direct a web browsing application (not shown) to an address that is associated with another web page that presents content such as the original email of the processed message selected. Some data, information, or content may also be modified in the new window (not shown) in order to provide data security, prevent unauthorized access, or perform other functions that would be beneficial to a collaborative data sharing environment such as sharedenvironment402. In still other examples, window and sharedenvironment402 may be implemented differently in layout, design, function, structure, features, or other aspects and are not limited to those shown and provided.
FIG. 4B illustrates an alternative exemplary shared environment for publication of processed electronic mail messages. Here,window400 includes sharedenvironment402, sections420-430, data432-434, andbutton436. In some examples,window400 may be implemented as a graphical user interface such as that associated with a web browser or other web browsing application. As shownwindow400 may be configured to present a page that displays several different functions or structures. For example,section420 may be implemented to present the number of votes associated with a given email that is submitted and posted, as indicated by data432 (e.g., “Subject of email,” which may be identified from a processed email), data434 (e.g., “time of post,” which may also be posted from a processed email), section422 (e.g., the body of the email, section426 (e.g., identification of a posting user based on an “anonymized” email address or other user name (e.g., “user xyz,” which may be hyperlinked to another page that provides one or more details associated with a given user. Alternatively, when an email is posted, a user may “claim” ownership of a given email by creating a user account, such as that described herein, associated with the sending email address of the posted email.
Further, any email that is posted inwindow400 may also include information associated with the number of votes received by other users (e.g., section420), comments from one or more other users, which may also include replies to comments from the posting email sender (e.g., section424), people indicating their “like” (or in some examples, dislike (not shown)) of the posted email (e.g., section428), or related information or data (e.g., other posts that may be related contextually, thematically, by sender, by topic, and others, without limitation) associated with the given posted email (e.g., section430). In some examples, users may vote for various purposes, including expressing their like, dislike, favor, disfavor, or other action or expression associated with a given posted email. Still further, if a given reader (i.e., user) likes the posted email, she may elect to share the post with another user by using an interactive feature or function such asbutton436 that may open another window (not shown), field (not shown), interface (not shown), or the like that permits entry of another user's identifying information (e.g., email address, user name, or the like) in order to share the posted content. As an example, third party applications such as Facebook, Inc. of Menlo Park, Calif., may be coupled to an application implementing the described techniques (including, but not limited to window400) enabling users (e.g., user xyz) to share the posted content with other users using the third party application (e.g., Facebook, Twitter (as developed by Twitter, Inc. of San Francisco, Calif.), blogs, and other online applications, social media, media, or the like, without limitation). In some examples, users may not have an account with other social media business, websites, or the like. However, the described techniques enable users to post content (e.g., emails) and share them with other users through, for example, an application programming interface (API) to these other websites using posting module216 (FIG. 2). Referring back toFIG. 4B, users may also have accounts with third party websites and features may be included to enable these users to share content using the described techniques. In other words, the described techniques may be implemented as a service apart from various types of content or social media or entertainment websites, but enable users to share, send, forward, reply to, retrieve, or perform other functions associated with posted emails without requiring the creation of user accounts. As another example, the techniques described herein may be used by individual or organizations such as corporate enterprises.
For example, a corporate enterprise may use the described techniques in order to provide a closed or private (e.g., corporate or in-enterprise) forum or enterprise for its employees to share email content in a collaborative manner. In some examples, corporate employees may post emails using their corporate email addresses. In other examples, corporate employees may post emails using assigned or self-identified user names that mask an individual email address in order to prevent unwanted responsive email or comments to the posted content. In still other examples, by posting emails using the described techniques, various individuals or stakeholders within a corporate organization may be placed on a notice of a given user's posted email without requiring the user to individually and specifically identify various addressees. The described techniques aid in eliminating time and labor-intensive email creation efforts that corporate users often must undergo in order to notify supervisors, managers, executives, co-workers, project team members, and the like.
As shown, various types of purposes may motivate the described techniques for use within a corporate enterprise. In some examples, when a user is included as an addressee on a posted email, she may elect to stop or continue receiving notification of the posted emails, comments, votes, and other actions associated with these. In other examples, posted email subject lines may be used to initiate a discussion forum associated with the given subject. For example, if a subject line states “Sales Contract,” the subject line may render the posted email and associated content (e.g.,FIG. 4B) available to a user when constructing an email, regardless of whether the user is the original author of the email. In other words, a user can use the described techniques to send an “inline” or in-thread reply or forward the email to another user who is separate and apart from the population having access to the posted email (in some examples, the user may be outside of the corporate enterprise or organization). In still other examples, window and sharedenvironment402 may be implemented differently in layout, design, function, structure, features, or other aspects and are not limited to those shown and provided.
FIG. 5 illustrates another exemplary shared environment for publication of processed electronic mail messages. Here,window500 includes sharedenvironment502,title tag504, processedmessage content506,comment function508,share function510,flag function512, likefunction514, do not likefunction516, and plug-infunction518. In some examples, the quantity, type, function, structure, or other aspects ofwindow500 and the elements shown may be varied and are not limited to those presented, which are provided for purposes of exemplary explanation. As shown, when one of processedmessages406 is selected, a web browsing application or other type of client interface may be opened inwindow500, displaying processedmessage content506 and indicating it is related to the selected processed message bytitle tag504
Further, sharedenvironment502 may be designed and implemented to provide one or more functions that may be used in connection with processedmessage content506. For example, a comment may be entered in association with processedmessage content506 by interacting withcomment function508, which may be implemented as a button or link. When selected,comment function508 may be configured to open a field, form, or altogether new web page in which a user may enter a subsequent comment using a variety of formats. Likewise, if selected,share function510 may be used to share processedmessage content506 with another user by, for example, emailing or using text-based messages via simple messaging service (i.e., “SMS”) or another format or protocol. Further, processedmessage content506 may also be “flagged” or indicated as being inappropriate, undesirable, copied, or otherwise by invokingflag function512. Other functions that may be invoked include likefunction514 and do not likefunction516.
In some examples, if a user “likes” or wishes to publicly indicate her favor for processedmessage content506, she may place a tag or mark to indicate such by invoking likefunction514. Likewise, she may also invoke do not likefunction516 to indicate that processedmessage content506 is undesirable to her. By invoking popularity-related functions such as these, ranking of publishedmessage content506 may be performed. As yet another function, plug-infunction518 may be invoked to connect, couple, distribute, publish, send, re-send, or perform other functions associated with a third-party website or service. For example, social media websites that permit user posting of data may provide an application programming interface (“API”) that may be used to feed content in a given format for posting or publication. By invoking plug-infunction518, processedmessage content506 may be posted to other shared environments such as Facebook (as developed by Facebook, Inc. of Palo Alto, Calif.), LinkedIn (as developed by LinkedIn, Inc. of Mountain View, Calif.), and many other social media-related services, sites, and destinations. In other examples,window500 and the above-described elements may be implemented differently in layout, design, function, structure, features, or other aspects and are not limited to those shown and provided.
FIG. 6A illustrates an exemplary process for electronic mail processing and publication for shared environments. Here,process600 starts by evaluating one or more data packets associated with an email that is received at a shared destination such as an email account or server (602). Upon detecting, based upon the evaluation of data packets to determine whether mail has been received (using either an IMAP or POP-based protocol), the received email is retrieved (604). Once retrieved, the email is processed to generate a processed message, such as that described above in connection withFIGS. 3-5 (606). Once processed, a processed message is posted to a shared environment such as website118 (FIG. 1) (608).
As shown, data may be analyzed using various techniques. For example, data packets may be evaluated by analyzing a given domain associated with the sending email address. A corporate enterprise, as an example, may have a given domain (e.g., company.com) that is evaluated in order to provide message visibility to other users having the same domain. This may be implemented in order to provide a service to users and/or accounts within the given domain in order to prevent access to information or data. In other examples, the above-described process may be varied in the implementation, order, function, or structure of each or all steps and is not limited to those provided.
FIG. 6B illustrates an alternative exemplary process for electronic mail processing and publication for shared environments. Here,process610 begins by processing an email submitted using the described techniques by removing email headers, which may include one or more email addresses (e.g., sender, destination, intermediate (i.e., email addresses found within a thread of emails such as a forward or chain of multiple replies, and the like) (612). For privacy, security, and other similar reasons, source-identifying information such as email addresses may be removed. In some examples, a received email may be processed for privacy reasons by parsing data associated with the posted email. The email address may be stored along with any non-message data, which may include attachments or embedded images of any kind or format (614). Non-message data, in some examples, may also be identified as any type of information or data that is not related to the message body. In other examples, non-message data may be any data that is not found within the payload of a message body. In still other examples, data to be stored in a database (e.g., database206 (FIG. 2)) may be determined differently. The email address is then processed to identify any email addresses within the header or the body, which may be stored as fields or records associated with the sending email address in a database (616). A determination is made as to whether the email being processed is in HTML (i.e., Hyper Text Markup Language) or an HTML-based format (618). If the email being processed is in HTML or an HTML-based format (e.g., XHTML, DHTML, XML, and others, without limitation), then the email is processed for security threats (e.g., virus, malware, spyware, cross-site scripting, and others, without limitation) (620). If the email is not in HTML or an HTML-related format, then process610 does not perform a security check.
In some examples, a check may be performed to determine whether the email being processed was previously processed (622). If the email was not previously processed, a new post with the email should be created (624). If the email was previously processed, in some examples, a vote count associated with the email may be incremented or increased. In other examples, the above-described process may be performed or implemented differently in steps, order, function, or other aspects, without limitation to those provided.
FIG. 7 illustrates a further exemplary process for electronic mail processing and publication for shared environments. As an exemplary illustration of generating processed messages,process700 may be implemented. Here,process700 starts by storing a copy of a retrieved email and recording the email address of the sending account or client (702). After storing indatabase114 and/or116 (FIG. 1) a copy of the retrieved email and email address of the sending account or client, the retrieved email is evaluated to identify whether there are email addresses within the header or body (i.e., payload) data of the email (704). A determination is made as to whether any email addresses are identified (706). If an email address is identified in either the header or body of the retrieved email, then the identified email addresses are transformed, which is described in greater detail below in connection withFIG. 8 (708).
Referring back toFIG. 7, if no email address is identified, then the retrieved email is further processed by evaluating the format of the email to determine whether it is in an HTML-based format (710). A determination is made as to whether the retrieved email is in an HTML-based format (712). If the email is in an HTML-based format, then it is further evaluated for security threats such as cross site scripting and others as described above (714). A determination is made as to whether a security threat is present (716). If a security threat is identified, then the retrieved email is purged and not stored indatabase114 and/or116 (718). In other examples, an alert message or other warning may be sent to the user of system100 (FIG. 1) to indicate that a security threat was found. If no security threat is found, then a processed message is generated using the transformed email addresses (720). After generating a processed message, it may be posted to a shared environment (e.g.,website118 or shared environments302 (FIG. 3),402 (FIG. 4), or502 (FIG. 5)) (722). In other examples, the above-described process may be varied in the implementation, order, function, or structure of each or all steps and is not limited to those provided.
FIG. 8 illustrates an exemplary process for transforming email addresses for electronic mail processing and publication for shared environments. Here,process800 beings by marking or otherwise indicating a top-level domain (hereafter “TLD”) associated with the email in order to prevent modification (i.e., transformation) as described herein (802). After marking or indicating the TLD associated with the email, all other characters associated with the domain name are replaced with unidentifiable characters or numbers (804).
For example, an email address “joe@smith.com” may be transformed by marking the “.com” for non-modification and replacing “joe@smith” with unidentifiable characters such as “xxx@xxxxx.” Thus, the email address in the example above may be transformed from “joe@smith.com” to “xxx@xxxxx.com.” After transforming identified email addresses in the header or body (i.e., payload data) of a retrieved email message, the process then returns to step710 (FIG. 7) to continue processing for generating a processed message (806). In other examples, the above-described process may be varied in the implementation, order, function, or structure of each or all steps and is not limited to those provided.
FIG. 9 illustrates an exemplary computer system suitable for electronic mail processing and publication for shared environments. In some examples,computer system900 may be used to implement computer programs, applications, methods, processes, or other software to perform the above-described techniques.Computer system900 includes abus902 or other communication mechanism for communicating information, which interconnects subsystems and devices, such asprocessor904, system memory906 (e.g., RAM), storage device908 (e.g., ROM), disk drive910 (e.g., magnetic or optical), communication interface912 (e.g., modem or Ethernet card), display914 (e.g., CRT or LCD), input device916 (e.g., keyboard), and cursor control918 (e.g., mouse or trackball).
According to some examples,computer system900 performs specific operations byprocessor904 executing one or more sequences of one or more instructions stored insystem memory906. Such instructions may be read intosystem memory906 from another computer readable medium, such asstatic storage device908 ordisk drive910. In some examples, hard-wired circuitry may be used in place of or in combination with software instructions for implementation.
The term “computer readable medium” refers to any tangible medium that participates in providing instructions toprocessor904 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such asdisk drive910. Volatile media includes dynamic memory, such assystem memory906.
Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
Instructions may further be transmitted or received using a transmission medium. The term “transmission medium” may include any tangible or intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such instructions. Transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprisebus902 for transmitting a computer data signal.
In some examples, execution of the sequences of instructions may be performed by asingle computer system900. According to some examples, two ormore computer systems900 coupled by communication link920 (e.g., LAN, PSTN, or wireless network) may perform the sequence of instructions in coordination with one another.Computer system900 may transmit and receive messages, data, and instructions, including program, i.e., application code, throughcommunication link920 andcommunication interface912. Received program code may be executed byprocessor904 as it is received, and/or stored indisk drive910, or other non-volatile storage for later execution.
FIG. 10 illustrates an exemplary process for aggregating and cleaning electronic mail for publication on shared environments. Here,process1000 begins with registering one or more accounts (1002). As used herein, an account may be an email account providing an address (i.e., email address) to which email messages (i.e., “messages” or “email”) may be sent. For example, the account may be a shared destination, as described herein. In some examples, an account may be associated with a system for electronic mail processing and publication, as described herein. In some examples, an account may be registered for an address to which certain types or categories of email may be sent. For example, a user may register for an account devoted to receiving social emails, email newsletters, marketing or promotional emails, other subscription or opt-in emails, or other types of emails. In some examples, an account may be associated with a user through access information provided by the user during registration of the account. The access information may include one or more of a username, password, pin number, identification image or graphic, passcode, customer number, security questions, and other manners of identification. In some examples, the access information may include a user's access information (e.g., email account information, username, password, or the like) for accessing a previously registered social network account (e.g., an account with Facebook, Twitter, Google+, or other social network service). Data associated with the one or more accounts (e.g., access information, email address, and other information associated with the accounts) may be stored (e.g., in a database, repository, hard disk, or other storage) (1004). In other examples, an account may be registered using new access information created particularly for an electronic mail processing and publication account (i.e., not shared with a social network account). In still other examples, an electronic mail and publication account may be created using an option provided in connection with a sign-up email or webpage for subscription or opt-in email (e.g., newsletters, marketing or promotional emails, or the like). For example, an email or webpage used for signing up for, or opting into, a newsletter or marketing email, may provide a user with an option to create and use an electronic mail and publication account to view and manage those opt-in emails. In some examples, such an option may be provided as a link to an account setup page configured to create an electronic mail and publication account. In yet other examples, an electronic mail processing and publication account may be created through a link from an email sent to a different email account. For example, a content provider (i.e., merchant, marketing firm, or the like), as described below, may provide an option in an unsubscribe (i.e., opt-out or email preferences) window, email or webpage to set up an account with an electronic mail processing and publication account for managing subscription emails (e.g., newsletters, marketing or promotional emails, or other opt-in emails). Using this option, a user may register, or set up, an account with an electronic mail processing and publication account for better management of subscription or opt-in emails, as described herein. Providing this option may decrease the number of users that unsubscribe from receiving content from a content provider. In still other examples, an account may be registered differently and are not limited to those shown and described.
Once the account is registered, electronic mail associated with a domain may be received, the electronic mail comprising a plurality of messages, each message indicating an address being associated with an account (1006). In some examples, the domain may be a single domain, or a set of domains, associated with a system for electronic mail processing and publication. In some examples, a domain may be associated with a plurality of accounts, each account having an address associated with the domain. For example, multiple addresses may have the same domain (i.e., “@socialmail.com”), and a plurality of email messages addressed to one or more addresses associated with a domain, or a set of related domains, may be received by a system for electronic mail processing and publication. In some examples, the electronic mail associated with a domain, or set of domains, may be received, or aggregated, into a “catch all” or general mailbox configured to receive mail sent to multiple email addresses (e.g., a set of email addresses provided by an electronic mail processing system or service, a set of email addresses associated with the same domain, or the like). As used herein, “catch all mailbox” refers to a general mailbox configured to receive and aggregate email from a group, set, or other multiple of, email addresses (e.g., a group of related email addresses, a group of email addresses that share a domain, email addresses associated with a group of related domains, email addresses for a company or other entity, or other groups of email addresses). For example, a catch all mailbox may be configured to receive email sent to all or substantially all email addresses having the same domain, and a Javascript program may be employed to process the contents of the catch all mailbox (i.e., to parse the emails as described below). In other examples, email messages associated with each address may be received into an individual mailbox for the address. In still other examples, different types and numbers of mailboxes may be implemented for receiving email.
In some examples, email messages may be received directly from a content provider (e.g., Responsys®, Constant Contact®, Vertical Response®, or the like) through, for example, an API. As used herein, a content provider may be a merchant, an organization, a collective, a firm, or any other type of entity, engaged in providing information (e.g., advertisements, newsletters, updates, or other marketing materials) to subscribers, or other groups of opt-in recipients, using email. In some examples, an API may be configured to receive messages from content providers and deliver those messages to a user by way of a suitable environment (e.g., sharedenvironment1102 inFIG. 11, which may avoid incorrectly, improperly, or unnecessarily flagging or filtering a message). In some examples, an API implemented by an application for email processing and publication on shared environments (e.g.,application200 inFIG. 2) may be configured to receive or obtain email, or email content, from a content provider for subscribers having an account associated with the application without using third party email networks or servers, and to bypass one or more filters (i.e., spam filters) implemented by third party email networks or providers. In some examples, such an API may be configured to process data associated with dynamic content (e.g., video, audio, animation, links, interactive content, or the like) for presentation on a shared environment in an intended format, such that a user may view video or animation content, listen to audio, or the like, in a shared environment. For example, such an API may be configured to receive and process data associated with a video to generate output associated with presentation of the video on a tile in a shared environment. In another example, such an API may be configured to receive and process data associated with an image to generate output associated with presentation of the image on a tile in a shared environment. In some examples, some (i.e., multiple) or all messages in a shared environment (e.g., sharedenvironment1102 inFIG. 11, or the like) may be presented in an “open” format, where some or all contents (i.e., core, essential or cleaned contents (e.g., subject, title, or body of a message, or the like) of a message, including graphics, images, video and other content, may be readily viewed without clicking on a link, list, item, or other feature associated with each message, on a page. In other examples, email may be received through SMTP or other protocols, as described herein.
In some examples, an account may be configured to store (i.e., indatabase206 inFIG. 2) and manage a user's email subscriptions. In some examples, the account associated with an application for email processing and publication on a shared environment (e.g.,application200 inFIG. 2) may be configured to retrieve or receive (i.e., using an API, as described herein) subscription emails directly and/or securely from content providers to which the account is subscribed, and to filter and not publish to a shared environment em ails from content providers to which the account does not subscribe. For example, emails received for an address may be checked against a stored list of subscriptions for an account associated with the address before publication on a shared environment. In an example, if an email message is received from a content provider to which the account associated with a recipient address is not subscribed, the email message may not be published. In another example, if an email message is received from a content provider to which the account associated with a recipient address is subscribed, the email message will be given a high priority position in a shared environment (e.g., sharedenvironment1102 inFIG. 11), and if the email message is received from a content provider to which the account is not subscribed, given a low priority position in a shared environment (e.g., sharedenvironment1102 inFIG. 11).
Once the electronic mail is received, the account with which the address for each message may be identified (1008). In some examples, this may include reading the “To” line, or other recipient information, from a header section to determine the address to which the message is being sent, and matching the address to an account, for example, using a lookup or otherwise searching a database for an account associated with the address (i.e., using Javascript). In other examples, an account with which an address for a message may be identified differently and are not limited to those shown and described.
Once an account is identified, a clean version of each of the messages may be generated, the clean version including a title and a body of the message (1010). As used herein, a “clean version” of a message is one in which a parsing algorithm has cleaned, or removed (i.e., extracted and separately stored), personally identifiable information in the message. As used herein, “personally identifiable information” refers to information that may be used to uniquely identify, contact, or locate a user (e.g., a name, an e-mail address, a phone number, a social security number, driver's license number, other identification number, a biometric signature, or other form of identification). In other examples, sensitive information other than personally identifiable information also may be cleaned from a message. In some examples, personally identifiable or other sensitive information may be identified and cleaned from a message header (e.g., sender, recipient, route, or other header data). In other examples, personally identifiable or other sensitive information may be identified and cleaned from other portions of the message (e.g., body, other content, metadata, or the like). In still other examples, a clean version of a message may be generated differently and is not limited to those shown and described.
In some examples, a vote count associated with the message may be determined and stored (1012). For example, a comparison against previously received email messages may be conducted to determine, or update or increment, a vote count based upon the number of times an identical or substantially identical email message has been sent to other users (i.e., other accounts). In another example, a vote count for a message may be determined, or updated or incremented, based upon a number of times the message has been forwarded from one user to another user. In still another example, a vote count for a message may be determined, or updated or incremented, based upon a number of times the message has been posted, recommended, liked, shared or otherwise acted upon by a user to indicate a preference, or positive impression of, the message (e.g., by clicking a hyperlink to recommend, share or like a message on Facebook, by clicking a hyperlink to share a message on Twitter, by clicking a hyperlink to recommend (i.e., plus one) on Google+, or the like). In some examples, such vote counts may be determined using comparisons of a clean version of a message with data previously stored and associated with identical or substantially identical messages. In some examples, a vote count may be displayed on a shared environment (e.g., sharedenvironment1102 inFIG. 11), for example, in a tile for a corresponding message. In other examples, a vote count for a message may be determined, updated or incremented, differently and are not limited to those shown and described.
In some examples, the clean version may be stored in a database, or other storage as described herein, in association with the account to which it was sent (1014). In some examples, a clean version also may be published in a shared environment (i.e., sharedenvironment1102 inFIG. 11, or the like), including displaying at least a portion of the clean version in the shared environment, the shared environment accessible using access information associated with the account (1016). A shared environment may be a website (e.g.,website118 or the like), or other facility, to which data, information, or other content may be posted or published, as described herein. In some examples, the access information may be the access information used in registering the account. In some examples, publication of a clean version may include publishing data from the clean version on a tile on a shared environment (i.e.,FIG. 11). For example, a tile on a shared environment might include, or show, a timestamp (i.e., indicating a day, date and/or time that the message was sent), an age (i.e., indicating how long ago the message was sent), a subject (i.e., the subject line of the message), a body (i.e., some or all of a body of the message), a graphic (i.e., some or all of the graphics from the message), an unsubscribe button, other buttons for executing an action associated with the message (e.g., comment, like, share, or otherwise provide feedback), or other aspects of the message. Displaying one or more messages in a prioritized (e.g., left to right, top to bottom, and the like, according to one or more criteria) and tiled format, or other web browsing interface, on a shared environment may promote readability (i.e., messages may be easier to see, read, review, skim, or otherwise be visually consumed by a user), as described below (FIG. 11). In some examples, a shared environment may include other items (e.g., hyperlinks, buttons, icons, widgets, or the like) for sorting, prioritizing, sharing, searching, or performing other acts associated with a published clean version of a message (see, e.g.,FIG. 11). In some examples, a message may be tagged (i.e., in a database) as published after a clean version of the message is posted on a shared environment, such that a shared environment may be updated with new messages without re-publishing previously published messages. In other examples, the above-described process may be performed or implemented differently in steps, order, function, or other aspects, without limitation to those shown and described.
FIG. 11 illustrates an exemplary shared environment for publication of aggregated and cleaned electronic mail messages. Here,window1100 includes sharedenvironment1102,share button1106, filters1108-1120, search field1122, tiles1124-1138, timestamps1140-1150, subjects1152-1162, message bodies1164-1178, comment icons1180-1186, vote icons1188-1194, and unsubscribe buttons1196-1202. In some examples, sharedenvironment1102 may be a website (e.g.,website118 or the like), including various pages associated with an account in a system for electronic mail processing and publication. In some examples, sharedenvironment1102 may be provide or display email data for, or associated be associated with, an account. In some examples, each account may be associated with, and accessed using, a website having a uniform resource locator (URL). For example, account information and emails received using an account associated with a domain name and a username may be accessed using a website having an URL in the format of “http://<domain name>/<username>.” For example, an account for Joe Smith may be associated with a website at “http://socialmail.com/JoeSmith.” In this example, Joe Smith's account may be configured to receive, process, and publish at “http://socialmail.com/JoeSmith,” email messages sent to the address JoeSmith@socialmail.com. In some examples, access to a website may be secured using a password, passcode, security question, or the like. In other examples, a shared environment may be provided and accessed differently and is not limited to those shown and described.
As shown, sharedenvironment1102 may display, show, or otherwise publish, cleaned versions of email messages in an open tiled format, where the contents of a cleaned version of a message is displayed in a tile, for example, including image, video, or other content. For example, each of tiles1124-1138 may represent (i.e., show, display, be associated with, or the like) a cleaned version of a message. Each tile may display a timestamp or age of a message (e.g., timestamp1140-1150), a subject of a message (e.g., subjects1152-1162), and a part or all of a body of a message (e.g., message bodies1164-1178). For example,timestamp1140 may indicate a day, date and/or time in which a message (i.e., having subject1152 and body1164) was sent. In another example,timestamp1140 may indicate an age of a message (i.e., number of hours, days, months, or the like, since the message was sent). Timestamps1142-1150 may be implemented in a similar manner as described above with respect totimestamp1140. In some examples, subjects1152-1162 each may display a subject line from each of the messages represented in tiles1124-1126,1130-1134 and1138, respectively. In some examples, subjects1152-1162 may display text. In other examples, subjects1152-1162 may display a graphic (i.e., logo, image, or other graphic). In some examples, message bodies1164-1178 may include text, one or more graphics, hyperlinks (e.g., to or provided by a content provider, as part of an advertisement by a content provider, or the like), or other material from a body of a message. For example,message body1164 may display a body of a message associated with subject1152 andtimestamp1140, which has been cleaned of any personally identifiable and sensitive information. In some examples,message body1164 may display an entire body of a clean version of the message. In other examples,message body1164 may display a part or portion of a body of a clean version of the message. In some examples, tiles1124-1138 may be laid out on sharedenvironment1102 as shown, with all or substantially all email messages on sharedenvironment1102 displayed in an open format, showing at least a part (i.e., a key or essential part (e.g., an image, a video, a significant portion of text, or the like)) or all of the clean content of the message. In other examples, tiles may be laid out differently on a website and are not limited to those shown and described.
In some examples, each of tiles1124-1138 also may display an unsubscribe buttons (e.g., unsubscribe buttons1196-1202), which may link (i.e., hyperlink) to another page (e.g., in a pop-up window, in a new tab inwindow1100, in the same window (i.e., window1100), in a separate window, or the like) configured to unsubscribe from a message. As used herein, “linking,” “link to,” and “hyperlink” refers to pointing a web browsing application to another address (i.e., URL) and retrieving and displaying content from that location. In an example,unsubscribe button1196 may link to a page associated with a sender or source (i.e., content provider) of a message (i.e., a clean version, in whole or in part) displayed intile1124 for unsubscribing to emails from that sender. In another example, an invocation (e.g., by clicking, placing a cursor over, or otherwise selecting) ofunsubscribe button1196 may automatically unsubscribe a user (i.e., an account) from receiving email messages from a sender (i.e., of the message shown intile1124. Unsubscribe buttons1198-1202 each may function similarly for the respective email messages shown intiles1128,1132 and1136. In still other examples, an unsubscribe button may be implemented differently and is not limited to those shown and described.
In some examples, each of tiles1124-1138 also may display a comment icon (e.g., comment icons1180-1186). In some examples, a comment icon may link to another page or website (e.g., in a pop-up window, in a new tab inwindow1100, in the same window (i.e., window1100), in a separate window, or the like) displaying comments associated with a message. For example,comment icon1180 may link to another page or another website displaying comments associated with a message (i.e., a clean version, in whole or in part) displayed intile1124. Likewise, comment icons1182-1186 may, respectively, link to pages or websites displaying comments associated with messages displayed intiles1128,1132 and1136. In other examples, a comment icon may link to another page or website providing a user interface for entering comments associated with a message. In yet other examples, a comment icon may be implemented differently and is not limited to those shown and described.
In some examples, each of tiles1124-1138 also may display other icons for providing feedback (e.g., vote icons1188-1194). As shown, vote icons1188-1194 may be displayed as a graphic or image (i.e., Facebook's thumb-up graphic, Twitter's bird graphic, Google's Google+logo, or other image) with a number next to it, the number indicating a vote count associated with a message shown in the respective tile (e.g.,vote icon1188 indicates the vote count for a message shown in tile1124 (i.e., associated with subject1152 and body1164),vote icon1190 indicates a vote count for a message shown in tile1128 (i.e., associated with body1168), and so on). A vote count may be a number of votes representing various types of feedback (e.g., “likes” on Facebook, pluses on Google+, number of times a message (i.e., a message displayed in the same tile as the graphic or image) is forwarded, or other feedback). In some examples, a vote count may indicate or represent the number of times a message was sent to other users (i.e., other accounts). In other examples, a vote count may indicate or represent a number of times the message has been forwarded from one user to another user. In still other examples, a vote count may indicate or represent a number of times the message has been posted, recommended, liked, shared or otherwise acted upon by a user to indicate a preference, or impression of, the message. In some examples, vote icons1188-1194 may be implemented as icons or buttons that may be selected to automatically update or increment a vote count. In other examples, vote icons1188-1194 may be implemented as hyperlinks that may be selected to link to another page, window or website configured to provide a user interface for indicating a vote. In still other examples, a vote icon may be implemented differently and is not limited to those shown and described.
In other examples, tiles1124-1138 may include other features and display other information associated with a message. For example, other information may be shown or displayed in each tile (e.g., a sender, a link to a related message, or the like) (not shown). In another example, graphics, buttons or icons (not shown) may be included in tiles1124-1138 (e.g., to delete a message, to indicate a user of a social network (e.g., Facebook, Google+, Twitter, or the like) that has recommended, commented, or otherwise provided feedback regarding a message, to prioritize or re-arrange (i.e., change the order of) the message or similar messages, or the like). In still another example, graphics, buttons or icons (not shown) may be included in tiles1124-1138, for example, to link to a website or page associated with a social network account (e.g., for a user, a user's friend, a celebrity that a user is following, or the like).
In some examples, sharedenvironment1102 may includeshare button1106, which may be invoked (e.g., by clicking, placing a cursor over, or otherwise selected) to render and present a page configured for sharing one or more messages presented in tiles1124-1136, or in other tiles published above or below tiles1124-1136 (not shown). In some examples, sharing may include forwarding to another user, another email address, publishing (e.g., recommending, liking, posting, linking, or otherwise publishing) on a social network (e.g., Facebook, Twitter, Google+, or the like), for example, using access information associated with both an email account (i.e., provided by a system for electronic mail processing and publication) and a social network account. In other examples, a message published on sharedenvironment1102 may be shared using another hyperlink, icon or button (e.g., comment icons1180-1186, vote icons1188-1194, or the like) provided on the website, for example, on a tile posting a message. In still other examples, messages may be shared differently than described and shown herein.
In some examples, sharedenvironment1102 may display, or otherwise provide, other links, icons, and/or buttons associated with various functions, for example, linking to other pages associated with sharedenvironment1102. For example, shared environment may include filters1108-1120 for filtering email messages published on sharedenvironment1102, for example, by subject matter. In some examples, each of filters1108-1120 may be implemented as an icon, button, or other hyperlink, which may be invoked (e.g., by clicking, placing a cursor over, or otherwise selected) to show a subset of the messages published on sharedenvironment1102. For example,filter1108 may be invoked to show only a subset of messages being associated with (e.g., categorized under, tagged as having subject matter regarding, or otherwise associated with) lifestyle in sharedenvironment1102. Similarly, filter1110 may be invoked to show only a subset of messages being associated with humor in sharedenvironment1102. Also similarly, filters1112-1120 may be invoked to show only a subset of messages being associated, respectively, with sports, technology, science, miscellaneous and favorites. In some examples, sharedenvironment1102 also may include search field1122, which may provide a field for entering a query or term for searching, for example, data associated with messages being published on sharedenvironment1102. In some examples, search field1122 may enable searching of other data associated with other messages. In still other examples, search field1122 may be implemented differently (e.g., enable searching of a different data set, be a widget provided by a third party, or the like), and is not limited to those shown and described.
In some examples, tiles1124-1138 may be sorted or prioritized according to various criteria. In some examples, a default criterion for prioritizing tiles1124-1138 may be the ages of their respective messages. For example, tiles1124-1138 may be prioritized from newest message to oldest message (i.e.,timestamp1140 indicates a more recent date and time, or a younger or lesser age (i.e., less time has passed since the message having subject1152 andbody1164 was sent), thantimestamp1142, and so on). In other examples, tiles1124-1138 may be prioritized according to recommendations from other users (e.g., the number of times a message is recommended or “liked” by a Facebook friend, the number of times a message has been posted or re-posted on Twitter, the number of times a message has been shared on Google+, or the like). In still other examples, tiles1124-1138 may be prioritized according to other criteria specified by a user having access to shared environment1102 (i.e., a user may customize the presentation or view of messages on their shared environment according to his or her preferences). For example, a page, widget or other user interface (i.e., as part of website118) may be provided for a user to input or select preferences, including identifying or selecting one or more criteria for prioritizing email messages on their shared environment (e.g., shared environment1102) or identifying interests (i.e., topics, subjects, hobbies, or the like) in order to receive targeted advertising or recommendations on content providers to which the user may want to subscribe. In some examples, a button or feature (not shown) may be provided on each tile for prioritizing an email or a group of emails (e.g., from a favored content provider, a school newsletter, or the like), for example to cause presentation of the email or group of emails in a high priority position (e.g., at the top of the page, in a designated or set-off section of the page, or the like) in the shared environment. In other examples, an email or message may be demoted, or otherwise designated as having lower priority, using the techniques described herein (e.g., a button, link, feature, preferences selection, or the like), for example to cause presentation of the email or message in a low priority position (e.g., lower in, or at the bottom of, the page, or the like). In still other examples,window1100 and the above-described elements may be implemented differently in layout, design, function, structure, features, or other aspects and are not limited to the examples shown and described.
As described herein, sharedenvironment1102 may be configured to present information from marketing or other opt-in emails in an open format (i.e., without a need for clicking on an item or link from an email list to open a message), including graphics, images, videos, audio content, other dynamic content, or the like. As described herein, sharedenvironment1102 may be configured with buttons, links and other features for ease of managing email content, including a prominent unsubscribe button (e.g., unsubscribe buttons1196-1202) and prioritization and demotion of messages for customizing presentation of message in sharedenvironment1102. In other examples, sharedenvironment1102 may include other features for managing email content. For example, sharedenvironment1102 may include a related content or “show me more” button (not shown) on each tile configured to provide (i.e., present) a user with similar content (e.g., advertisements, newsletters, or other content, associated with a brand, a product, a collection, a subject matter, or other category of items associated with a message presented in the tile). In another example, sharedenvironment1102 may include a link on a tile for purchasing an item offered by, or related to, an email message. In still other examples, the above-described elements may be implemented differently in layout, design, function, structure, features, or other aspects and are not limited to the examples shown and described.
In some examples, an application for email processing and publication on shared environment1102 (e.g.,application200 inFIG. 2) may be configured to gather, organize, process and/or store data (i.e., “track” data) associated with user preferences and activity (i.e., actions on, or interactions with, shared environment1102), as described above. For example, a variety of types of data associated with messages displayed on sharedenvironment1102, including a user's activity, may be tracked for use in targeting advertisements and other subscription emails that may be of interest to a user. Activity data may include types of (i.e., subjects, products, brands, interests, or other aspects of content in) emails subscribed to, unsubscribed from, prioritized, demoted, liked by friends, linked to, viewed many times, viewed for long periods of time, trends indicated by such activity, or other metrics. Such activity data may be processed to determine trends, patterns, or other useful information about a user (e.g., buying patterns, media (e.g., books, video, music, and the like) preferences, interests, hobbies, and the like). In some examples, targeted advertisements or subscription email suggestions (e.g., newsletters, marketing emails, or other opt-in emails that may be of interest to a user) may be determined and provided to a user based upon activity data associated with the user's account. In other examples, targeted advertisements or subscription email suggestions may be determined and provided to a user based upon activity data associated with one or more groups or a plurality of users. In some examples, activity data may be used by an application for email processing and publication on shared environment1102 (e.g.,application200 inFIG. 2) to provide targeted advertisements or subscription email suggestions to a user. In other examples, such activity data may be shared with, or provided to, content providers for their use in targeting advertisements, marketing emails, newsletters and the like. For example, activity data indicating a user subscribes to, prioritizes, and/or has friends that like, a string instrument newsletter may cause an application for email processing and publication on shared environment1102 (e.g.,application200 inFIG. 2) ora content provider to target an advertisement for a hand cream to the user. In still other examples, data associated with an application for email processing and publication on sharedenvironment1102 may be used differently and are not limited to the examples shown and described.
In some examples, sharedenvironment1102 may be configured for display or presentation on a mobile client or device. For example, sharedenvironment1102 may be displayed using a mobile application or mobile web browser installed on a mobile computing or communications device. In some examples, an application for email processing and publication on shared environments (e.g.,application200 inFIG. 2) may be configured to process content (e.g., video, audio, text, image, or other data) in a subscription email from a content provider for presentation in a shared environment on a mobile application or mobile web browser. In some examples, an application for email processing and publication on shared environments (e.g.,application200 inFIG. 2) may be configured (i.e., using HTML5 or other language or program for structuring and presenting content on a web application or browser) to detect a type of mobile computing or communications device, and to render content based on the type of mobile computing or communications device. In other examples, the above-described elements may be implemented differently in layout, design, function, structure, features, or other aspects and are not limited to the examples shown and described.
Grid View of Tiles and Content Rotation
Attention is now directed toFIG. 12A where one example of a flow diagram1200afor generating a grid view including one or more tiles is depicted. At astage1201, an electronic email message (EMM) (e.g., an email, a message, a newsletter, an advertisement, an invoice, etc.) is received at a first domain. The first domain may be any unique address that may be electronically accessed, such as by way of an email address, a uniform resource identifier (URI), a uniform resource locator (URL), a uniform resource name (URN), or the like that defines an entity and/or resource by name, for example. A syntax, character string or other used for accessing the first domain may include but is not limited to HyperText Transfer Protocol (e.g., http://), HyperText Markup Language (HTML), or other formats. The EMM may itself be in a format such as HTML for example, and may include tags or other identifiers that may be used to divine the content of the EMM.
At astage1203 the EMM is parsed to identify content in the EMM for subsequent tiling as will be described below. Content in the EMM may include but is not limited to text, images, media, metadata, objects, links, lists, and hyperlinks to other content, for example. Media may include but is not limited to audio, video, audio/video, animation, and other media formats. The EMM may include tags that are associated with and may define or describe the content the tag is associated with. The tags may be associated with and/or recognized those typically used by browsers (e.g., Firefox™, Chrome™, IE™, Bing™ or others) that operate on HTML data. Parsing at thestage1203 may be accomplished using a variety of software, algorithms, program code, and the like, including but not limited to Java™, parsers that are Java™ based, a custom parser, or others.
At astage1205 content identified by the parsing at thestage1203 is extracted into one or more content types. The one or more content types may be those described above, but are not limited to content types described herein. For purposes of explanation, the following may be some of the content types that are extracted: text (T), image (I), media (M), and link (L). In that an image or text may also be a moving image or text, as in a movie or video, moving images and text may fall with the media content designation. Text T and image I, unless otherwise stated, may refer to still images and still text. Media M may comprise all other types of content that may be extracted, regardless of the actual type of media. For example, media M may include audio, video, animation, etc. Link L content may refer to any type of link (e.g., a hypertext link or other) regardless of form or syntax that may be recognized, acted upon, and used to designate a location or address of some item or object, such as link to a web page, web site, ftp site, etc.
At astage1207, some or all of the content types extracted at thestage1205 are deconstructed into a tile format that is configured for content rotation of the one or more content types. Therefore, text T content types may be broken down into a tile format that allows for content rotation of the text (e.g., ASCII character strings from the ASCII character set or equivalents) contained in the T content type. Similarly, image I content may be broken down into a tile format that allows for content rotation of the image or images contained in the I content type. In some applications, some content types such as media M or link L may not be configured for content rotation. Furthermore, in some applications, text T and/or image I content may not be configured for content rotation. Whether or not content may be configured for content rotation may be determined, at least in part, by a tag or tags associated with the content, for example.
At a stage1209 a tile is generated using the file format generated by the deconstructing as thestage1203. As will be described below, a tile may be a discrete entity such as a file or other object that may be operated on and manipulated by a browser or other software program or algorithm. For example, the tile format may include syntax for HTML and the tile may be generated from the HTML in the tile format. Moreover, the tile that is generated may include HTML in its syntax and/or use HTML to describe at least some of its data. Generating the tile using the tile format may further include formatting the data in the tile for display system the tile may be viewed on (e.g., a display of a smartphone, tablet, pad, laptop/notebook computer, computer monitor, HDTV, etc).
At astage1211, the tile is associated with an account of a subscriber to the first domain. As one example, of the EMM was communicated (e.g., sent via email) to “Jane_Doe@first.domain.com”, then the generated tile would be associated with the account of “Jane_Doe” in a manner similar to that of an email account being associated with an account name and a domain the account is registered to, such as jane.doe@yahoo.com or jane_doe@gmail.com.
At astage1213, a grid view is generated and the tile, and optionally any other tiles that are associated with the account at thestage1211 may be included in the grid view. As will be described below, the grid view may include a single tile or a plurality of tiles; however, the grid view may display only a portion of the plurality of tiles. For example, if there are 57 tiles in the grid view and a display system the grid view is displayed on may only display no more than 20 tiles at a time, then other tiles in the grid view may not be displayed until some action such as scrolling the display is taken to bring the unseen tiles into view.
At astage1215, if additional EMM's are received at the first domain, then theflow1200amay resume at some prior stage, such as thestage1203, for example. A plurality of other domains may be transmitting a plurality of EMM's addressed to the first domain. To that end,flow1200amay execute as needed to process each EMM to generate tiles for grid views and content rotation for each subscriber registered or otherwise associated with the first domain. In some applications, the first domain may be regarded as an aggregating domain where EMM's from a plurality of different domains are aggregated and processed into tiles for grid viewing and content rotation for a plurality of subscriber to the aggregating domain.
Moving on toFIG. 12B, one example of anelectronic email message1200bhaving different content types is depicted. Here,electronic email message1200bmay be in a variety of forms and/or file formats, such as a page or the like, for example. In the example depicted,EMM1200bincludes a plurality of different content types which are presented for the purposes of explanation only are not to be construed as limiting examples. Other content types not depicted inFIG. 12B may be included, without limitation, intoEMM1200b. Moreover,EMM1200bmay include more or fewer content and/or content types than depicted inFIG. 12B. Content types inEMM1200bmay include but is not limited to: one or more text types denoted as T1-T6; one or more image types denoted as I1-I3; one or more media types denoted as M1-M2; and one or more link types denoted as L1-L2.EMM1200bmay derive from a variety of sources and/or domains including but not limited to those denoted as1222a-1222g. There may be more or few sources forEMM1200bas denoted by1224.
As one example, a subscriber may subscribe to an email newsletter about the Hubble Space Telescope and denoted asnewsletter1222d. Each issue of the newsletter is emailed asEMM1200bto the address of the subscriber at the first domain (e.g., the aggregating domain). Theflow1200amay be applied to the EMM1220bto generate at least one tile. As one example, tags in EMM1220bmay identify the various content types as described above and may also be used to define associations or linkages between the same or different content types withinEMM1200b. Therefore, image I1 may be associated with text T1 and T2 and with link L2. T1 may be one or more paragraphs, sentences, or the like that are germane to the image I1 of the Hubble Space Telescope (e.g., describing the capabilities of the telescope), and T2 may be one or more paragraphs, sentences, or the like that describe where more information may be found by clicking or otherwise activating link L1 (e.g., a one or more hypertext links). Image I1 may be a single image that may be static, or I1 may be a series of images (e.g., as in an image gallery). The one or more paragraphs, sentences, or the like for T1 and T2 may be too long to view in the space allocated to them during the tiling process or to fit on the screen allocated in the grid view as will be described above. To that end, the tiling process at thestages1207 and/or1209 may configure T1, T2, and I1 for content rotation such that positioning a cursor (e.g., hovering or flying over) or other user interface (UI) construct over a selected tile and/or over text or image in the selected tile cause the content comprising the text or image to rotate. Content rotation may comprise scrolling or rolling the text of T1 and/or T2 (e.g., as is done with movie credits) or stepping through, playing back, or cycling through the images in I1 in some order or sequence, for example. Image I1 may include ten images of the telescope and content rotation may comprise displaying each of the ten images in a sequence that is timed (e.g., 2 seconds per image) or stepping through each of the ten images by some action of the UI (e.g., moving a cursor up or down while it is positioned over the image). Similarly, the text in T1 may be ten paragraphs long and content rotation may comprise displaying at least a portion of each paragraph in some sequence, timed or otherwise. If text T1 and image I1 are linked, that is they are somehow related by content, editorial, etc., then during content rotation, then paragraph 1-of-10 of I1 that is associated with image 1-of-10 of T1 will rotate whilst that image is being displayed in the selected tile, followed by subsequent paragraphs undergoing content rotation when their associated image is rotated into view within the selected tile.
Content types, without limitation, may be associated with one or more other content types and content rotation among associated content types may be application specific and/or determined by tags or other data included in the EMM from which they were derived. Media content types may vary as widely as numerous varieties of media that may be included in an EMM. Media M1 may be a movie that when activated (e.g., by hovering) may intimate content rotation and/or some other action. Content rotation of M1 may merely comprise commencing playback of the underlying movie content within the selected tile. text T5 may be subtitles that are associated with M1 and content rotation may comprise a synchronized scrolling of text T5 as M1 is played back. In that M1 may comprise a movie, TV show, video, or the like, during content rotation any sound, audio, or sound track for M1 may also be played back (e.g., over a speaker system or headphones, etc.). Media M2 may comprise music and T6 may comprise lyrics or a score of the music and may content rotate in association with content rotation of M2. Link L2 may comprise one or more links (e.g., hyperlinks) associated with image I2 and may content rotate through the one or more links while is I2 active. The foregoing are non-limiting examples of what may be done with content types in a tile and actual implementations will be application specific and may be programmed or otherwise coded to control behavior of content types in a tile.
Referring now toFIG. 12C where one example1200cof agrid view1250 including a plurality oftiles1251 displayed on adisplay system1290 are depicted. Here, dashed horizontal1223 and vertical1221 grid lines are depicted to illustrate that thegrid view1250 may include an orderly arrangement oftiles1251 that may have the same size; however, thegrid view1250 may include an arrangement oftiles1251 that is not orderly and thetiles1251 need not be the same size or shape and may have other than rectangular or square shapes.Grid view1250 may include more or fewer tiles as denoted by1223 and1225. If the grid view containsmore tiles1251 than may be displayed bydisplay system1290, then horizontal and/or vertical scroll bars or the like may be used to bring other tiles into view on thedisplay system1290 as will be described below. Typically, eachtile1251 may comprise content from different EMM's that have been processed, such as byflow1200aofFIG. 12A.
Turning now toFIG. 12D where one example of different configurations fortiles1251 in thegrid view1250 and flying or hovering over atile1251 to initiate content rotation CR of content in thetile1251 are depicted. InFIG. 12D, tiles1251-1251hingrid view1250 may have different shapes and sizes and need not be arranged in an orderly manner as compared to thetiles1251 depicted inFIG. 12C. A cursor1230 is depicted as being a non-limiting example of a user interface (UI) that may be used to select or activate atile1251 in thegrid view1250. When cursor1230 is not touching and/or positioned over atile1251 the cursor is denoted as1230u; conversely, when the cursor1230 is and/or positioned over atile1251 the cursor is denoted as1230s. A device such a mouse, track pad, or other at behest of a user may causecursor1230uto move1231afrom its present location and fly or hover overcircular tile1251hthereby causing that tile to be selected or activated for content rotation CR where the cursor activating a tile is denoted as1230sbecause it is present selectingtile1251h. Content rotation CR or one or more content types displayed withintile1251his now enabled and may continue so long ascursor1230sremains in a position to select that tile (e.g., continues to hover overtile1251h). Subsequently, thecursor1230smoves1231bfromcircular tile1251htorectangular tile1251c. Content rotation CR is halted incircular tile1251hbecause that tile is no longer selected or activated, and content rotation CR is initiated inrectangular tile1251cbecause that tile is currently selected bycursor1230s. Moving the cursor1230 away from any selected tile may cause content rotation CR to terminate in that tile. When the cursor1230 is not positioned and/or touching any of the tiles in grid view1250 (e.g., as incursor1230u) then all tiles in thegrid view1250 may be disabled for content rotation CR.
Description now turns toFIG. 12E where one example of a selectedtile1251h′ is made visually more prominent than un-selected tiles ingrid view1250. Here, selectedtile1251htransitions1271 (e.g., zooms) from its initial size to a larger size denoted astile1251′ in thegrid view1250 and remains at the larger size so long as it is selected bycursor1230s. Relative to the other un-selected tiles ingrid view1250, selectedtile1251′ is more visually prominent in the grid view and dominates a larger portion of the viewing area ofdisplay system1290 than the un-selected tiles.
While thecursor1230scontinues to hover or otherwiseselect tile1251′, content such as image I1, text T1 or both may have content rotation CR initiated in any temporal sequence, such as at the same time or a different times, for example. A rate at which content is rotated may be the same or deferment for content types in a selected tile.Tile1251h′ may transition1271 back to its un-selected size in thegrid view1250 when thecursor1230sis removed and/or ceases to hover over the tile such thattile1251h′ morphs from its selected an prominent display in thegrid1250 back to its un-selected view in the grid astile1251h. A similar to-from transition may occur for the other tiles ingrid view1250, with each tile transitioning to a prominent view when selected and morphing back to its normal non-prominent view upon becoming un-selected. Un-selected tiles may be configured to have a muted or visually diminished appearance relative to a selected tile or selected tiles in thesame grid view1250 which may be configured to have a more striking or visually dominant appearance. Although a single selected tile has been descried with regard to thegrid view1250, the present application is not limited to only one tile being active at the same time, and in some applications, actions by the UI (e.g., a CTRL sequence on a keyboard or the like) may cause a plurality oftiles1251 to be selected or otherwise activated at the same time in thesame grid view1250 and content type in each of the plurality of selectedtiles1251 may have content rotation CR.
Turning now toFIG. 12F where agrid view1250 of plurality oftiles1251 and their respective content types with one of thetiles1251′ being selected and having content rotation CR of its content. Here,grid view1250 may appear as atab1283 or the like in a web browser (e.g., Chrome, Fire Fox, BING, IE, or other) presented on display system1290 (e.g., a touch screen, laptop display, desktop PC display, smartphone display, tablet/pad display, LCD, OLED, HDTV, projection display, virtual image display, HUD, Plasma Display, 3D Display, or other). Other grid views1250 (not shown) may be presented in other tabs such astab1283c, for example. Intab1283, some of thetiles1251 ingrid view1250 may be on screen (as shown) and other tiles in the grid view may be off screen (not shown) but may be brought into view or out of view by moving (1285,1287) ascroll bar1284, viacursor1230uor other UI methods, for example. In some examples, a finger or stylus on a touch screen device may comprise the UI. In other example, a keyboard, track pad, arrow keys, mouse or similar tracking device may comprise the UI. In yet other examples, a gesture recognition system that tracks a user's body movements and/or gestures (e.g., the eyes, facial features, hands, etc.) may comprise the UI. The actual UI that interacts with thegrid view1250 and ittiles1251 will be application dependent and is not limited by the examples described herein.
InFIG. 12F, a subscriber to the aggregating domain upon logging in (e.g., user name & password) into the domain may enter an address (e.g., URL1280) wheretiles1251 associated with the subscribers subscribed to EMM's are populated with the various content types as described above. The processed EMM's presented in thetile1251 format may reflect the subscribers interest in food, fashion, automobiles, bicycling, fitness, bargain hunting, and a variety of other interests. As one example, a received EMM relating to a bespoke bicycle shop in another state is subscribed to by the subscriber, is processed after being received, and generated intotile1251, which becomes selectedtile1251 when activated bycursor1230s. Content rotation CR of text T1 textually describes in several paragraphs, custom bicycle features being visually displayed in regard to content rotation CR of image I1 which comprises several images for each of the custom features. Paragraph one may describe features in image one, and so forth. In some examples, the subscriber may have other persons or entities that he/she may wish to share some or all of the content in atile1251. To that end, atile1251 may include an icon or other field or image that when activated (e.g., via thecursor1230sor other) may allow the tile's content to be shared (e.g., as another EMM to another domain). For example, activating a “Share”icon1289 in selectedtile1251′ may cause content in that tile to be emailed or otherwise transmitted to an address such as an email address, URI, URN, URL, or other. In some examples, activating the “Share”icon1289 results in content in the selectedtile1251′ being shared only with another subscriber to the aggregatingdomain1280. That is Jane_Doe@aggregating.domain.com may sharetile1251′ with one or more subscribers such as subscriber John.Doe@aggregating.domain.com, for example. Although not depicted inFIG. 12F, selectedtile1251′ or any other selected tile(s) ingrid view1250 may be displayed with prominent view as described in regards to tile1251h′ inFIG. 12E. Ingrid view1250, moving thecursor1230uto neutral region of thedisplay system1290 as denoted by dashedlines1293 may operate to deactivate (e.g., render as un-selected) alltiles1251 and prevent content rotation CR in theun-selected tiles1251. A logo1281 or other identifier of the goods and/or services of the aggregating domain may be displayed in thegrid view1250.Tiles1251 in thegrid view1250 may be searched using asearch tool1282 or the like, by entering a search string in thesearch tool1282, for example.
Carousel View of Tiles and Content Rotation
Attention is now directed toFIG. 13A where one example of a flow diagram1300afor generating a carousel view including one or more tiles is depicted. To simplify explanation, stages1301-1311 and1315 may be identical or similar to the stages1201-1211 and1215 as described above in reference to flow1200ainFIG. 12A; therefore, astage1313 where acarousel view1350 that is different than thegrid view1250 will be discussed in conjunction withFIGS. 13B-13C. At thestage1313 thecarousel view1350 is generated for atile1251 for display on thedisplay system1290. Here, thetiles1251 that are generated for thecarousel view1350 may be identical to those generated for thegrid view1250; however, the manner in which thetiles1251 are visually presented in thecarousel view1350 differs from that of thegrid view1250.
Moving now toFIGS. 13B-13C, whereFIG. 13B depicts one example of acarousel view1350 including a plurality oftiles1251 displayed on adisplay system1290. Here, moving1231acursor1230ufrom an un-selecting position ondisplay system1290 to a selectedposition1230sontile1251 is operative to activate/select tile1251 for content rotation CR in the carousel view depicted inFIG. 13C, where one example of different configurations fortiles1251 in thecarousel view1350 and flying or hovering over selectedtile1251eto make selectedtile1251evisually prominent and to positionun-selected tiles1251daround aperimeter1251pof the selectedtile1251eis depicted. As selected in thecarousel view1350,tile1251emay be moved to a centralized location ondisplay system1290 and may have its dimensions and/or shaped change to make it visually more dominant (e.g., takes up more of the display) thanun-selected tiles1251dwhich may not change in size or shape and/or may be made smaller in dimension to emphasize their diminished visual importance relative to selectedtile1251e, for example. A portion of someun-selected tiles1251dmay be partially on screen and off-screen as denoted by1351 and as before may be moved into and out of view using scroll bars or the like.Selected tile1251eneed not be centrally positioned ondisplay system1290 as depicted inFIG. 13C and may be positioned anywhere on thedisplay system1290.
Reference is now made toFIG. 13D wherecarousel view1350 of plurality of tiles (1251dand1251e) and their respective content types and selectedtile1251ebeing visually prominent and having content rotation CR of its content are depicted. Here,un-selected tiles1251dmay be visually less distinct in size, color, brightness, clarity of text and/or imagery, which for purposes of description will be generally denoted as “Muted” in appearance relative to visually more striking and prominent selectedtile1251e.Un-selected tiles1251dpositioned aboutperimeter1251pare “Muted” and the selectedtile1251eis visually “Striking” and its content may undergo content rotation CR. A logo1281 or other identifier of the goods and/or services of the aggregating domain may be displayed in thecarousel view1350.Tiles1251 in thegrid view1350 may be searched using asearch tool1282 or the like, by entering a search string in thesearch tool1282, for example.
Reducing Unsubscribed Requests at Subscribed to Domains
Attention is now directed toFIG. 14A where one example of a flow diagram1400afor reducing unsubscribe requests includes at astage1401, receiving a request from a requester (e.g., a user and/or subscriber) to “Unsubscribe” from a subscribed to domain. An example of a subscribed to domain may include but is not limited to an email subscription to a newsletter, an email relationship with online retailer, an email relationship with a business, an email relationship with a social network, an email relationship with a professional network, just to name a few. In many instances, a subscriber may have at some point solicited the emails by agreeing to receive them at a domain provided by the subscriber, such as Jane.Doe@mymail.com or some other email address, for example. As one example, emails from the subscribed to domain may include a statement such as: “You are receiving this e-mail because our records indicate you requested that we send information Jane.Doe@mymail.com regarding special offers, newsletters, product information and updates from Socks&Shoes.com.” However, due to receiving too many emails in general from a variety of sources and/or too many emails from the subscribed to domain, the subscriber makes a decision to unsubscribe and requests to unsubscribed by taking an action such as clicking on: “This e-mail is a Socks&Shoes.com advertisement. If you no longer wish to receive our marketing e-mails, unsubscribe here. If you have difficulty with the unsubscribe link, you may also send an e-mail to PrivacyManager@socks&shoes.com. For more information, read our Privacy Policy or call 1-888-777-7777.” At thestage1401 the requester (e.g., the subscriber) may have clicked on the “unsubscribe here” hyperlink to effectuate the unsubscribe request. At astage1403, the requester may be redirected to an unsubscribe domain that may not necessarily be associated with the subscribed to domain. In some applications, the unsubscribe domain may be a third party domain acting as an agent for the subscribed to domain and operative to carry out the unsubscribe request, or offer additional options to the requester. At a stage1405 a plurality of options (e.g., in addition to an unsubscribe option) are presented to the requester.
At a stage1407 a first option to unsubscribe may be presented for selection by the requester. If a YES branch is taken, then the requester has made the decision to unsubscribe from the subscribed to domain and flow1400atransitions to astage1409 where the requesters desire to unsubscribe from the subscribed to domain is executed, thereby removing the requesters email address or the like from future emails or EMM's from the subscribed to domain.Flow1400amay terminate after execution of thestage1409.
If a NO branch is taken from thestage1407, then a second option to learn more may be presented for selection by the requester at astage1411. If a YES branch is taken from thestage1411, then the requester has selected to learn more about an aggregating domain and flow1400atransitions to astage1413. At thestage1413 the requester is presented with information regarding an aggregating domain where instead of terminating the receiving emails from the subscribed to domain, those emails, and optionally other EMM's from other domains that are received by the requester, may be sent to an address (e.g., a unique address such as Jane.Doe@agreegating.domain.com) for the requester at the aggregating domain. At astage1415 the requester may decide whether or not to “Opt In” to the aggregating domain. If a YES branch is taken at thestage1415, then theflow1400acontinues to astage1417 where a subscription to the aggregating domain is registered for the requester. Theflow1400amay terminate after execution of thestage1417. If the NO branch is taken from thestage1411, then theflow1400amay return to a prior stage in the flow, such as thestage1405, for example.
Returning to thestage1411, if the NO branch is taken from thestage1411, theflow1400amay transition to astage1419 where a third option to register a subscription with the aggregating domain may be presented for selection by the requester. If the YES branch is taken from thestage1419, then theflow1400amay transition to thestage1417 as described above. If the NO branch is taken from thestage1419, then theflow1400amay transition to astage1421. At the stage1421 a fourth option to reduce a frequency at which content (e.g., EMM's) is delivered from the subscribed to domain may be presented to the requester. If a YES branch is selected at thestage1421, then flow1400amay transition to astage1423 where frequency of content delivery to a specified address (e.g., an address on the aggregating domain) is reduced. If a NO branch is take fromstage1421, then flow1400amay return to a prior stage in the flow, such as thestage1405, for example.
Turning now toFIG. 14B where one example of a scenario for handling an unsubscribe request that may result in registration with an aggregating domain is depicted. Here, a requester may request (e.g., at the stage1401) to unsubscribe from a subscribed todomain1440 by using acursor1430 or other UI to click on or otherwise activate an unsubscribe request contained in an EMM (e.g., an email from the subscribed to domain) or on a web site/page for the subscribed to domain. Therequest1401 triggers a redirection (e.g., at the stage1403) to anunsubscribe domain1450 which may be a domain including but not limited to the same domain as the subscribed to domain, a third-party domain, or the aggregating domain, for example. Theunsubscribe domain1450 offers the requester a plurality of options as described above in regard to flow1400a, including but not limited to unsubscribing from any future EMM's from the subscribed todomain1440 by selecting1421 usingcursor1430, learning more about the aggregatingdomain1490 by selecting1411 usingcursor1430, registering with the aggregatingdomain1490 by selecting1419 usingcursor1430, and reducing email frequency by selecting1421 usingcursor1430.
The learning more at thestage1411 and/or the registering at thestage1419 may result in anactual registration1417 of the requester with the aggregatingdomain1490.Registration1417 may include but is not limited to information such as the requester filling out information necessary to establish an account with the aggregatingdomain1490, such as first name, last name, user name, password, an email address at the aggregatingdomain1490, a frequency of email delivery if theoption1421 was also selected, and a security question such as a challenge question (e.g., What city were you born in?), for example. For example, Jan Doe may select jane_doe@aggregating.domain.com as her email address for future emails from the subscribed todomain1440 to be sent to, and ifoption1421 was selected, then the subscribed todomain1440 would send emails to the aggregatingdomain1490 address jane_doe@aggregating.domain.com at a frequency of once a week, for example.
Turning now toFIG. 15A where another example of a flow diagram1500afor reducing unsubscribes is depicted. In contrast to flow1400aofFIG. 14A,flow1500aincludes at astage1501, receiving arequest1501 form a requester to unsubscribe from a subscribed to domain. At astage1503 the requester is redirected to an unsubscribe domain. At astage1505, the requester address (e.g., email address, EMM address) is unsubscribed from the subscribed to domain, and the requester may receive a message such as “You Have Been Unsubscribed” (e.g., see1525 inFIG. 15B). At astage1507, after the requester's address has already been unsubscribed from the subscribed to domain, a plurality of options may be presented to the requester.
At a stage1509 a 1stoption to learn more is presented to the requester. If a YES branch is taken, then the requester has selected to learn more about an aggregating domain and flow1500atransitions to astage1511. At thestage1511 the requester is presented with information regarding an aggregating domain where instead of terminating the receiving of emails from the subscribed to domain, those emails, and optionally other EMM's from other domains that are received by the requester, may be sent to an address (e.g., a unique address such as John_Doe@agreegating.domain.com) for the requester at the aggregating domain.
At astage1513 the requester may decide whether or not to “Opt In” to the aggregating domain. If a YES branch is taken at thestage1513, then theflow1500acontinues to astage1515 where a subscription to the aggregating domain is registered for the requester. Theflow1500amay terminate after execution of thestage1515. If the NO branch is taken from thestage1513, then theflow1500amay return to another stage in theflow1500a, such as astage1519 where no further action may be taken in regard to unsubscribing the requester's address at thestage1501, that is, the requesters address remains unsubscribed from the subscribed to domain.
If the NO branch is taken from thestage1509, then flow1500atransitions to astage1517 where a second option to register a subscription is selected by the requester and theflow1500acontinues to thestage1515 where the subscription is registered on the aggregating domain as was described above. Theflow1500amay terminate after execution of thestage1515. If the NO branch is taken from thestage1517, then theflow1500amay transition to thestage1519 as described above.
Referring now toFIG. 15B, where another example of ascenario1500bfor handling an unsubscribe request that may result in registration with an aggregating domain is depicted. Here, the requester clicking on or otherwise activating an unsubscribed icon or the like, results in thetransition1503 to theunsubscribe domain1550 where an actual unsubscribing1535 of the requesters address from the subscribed to domain occurs, as described above in reference tostage1505. In that the requester's unsubscribe request is fulfilled (e.g., at the stage1505), the plurality of options (e.g., 1stand 2ndOptions1509 and/or1517) are presented to the requester as described above, at thestage1507. The “Learn More” at thestage1509 may include a discussion of the benefits of registering with the aggregating domain as described above and the requester may decide to “Opt In” followed by registering a subscription as describe above for thestages1513 and1515. Similarly, the requester selecting the 2ndOption to “Register” (e.g., at the stage1517) results in registering a subscription with the aggregatingdomain1490 at thestage1515. The information to be provided by the requester to register the subscription with the aggregating domain may be as described above in reference toFIG. 14B.
EMM's received at address jane_doe@aggregating.domain.com at aggregatingdomain1490 as well as any other EMM's received at the same address (e.g., EMM's not resulting fromflows1400aand/or1500a) may be processed in totiles1251 with content rotation CR for display ingrid view1250 and/orcarousel view1350 as was described above in reference toFIG. 12A-13D. In some examples,pre-processed tiles1251 may be received at the aggregatingdomain1490 and may not require some or all of the stages described above in reference toflows1400aand/or1500a. Apre-processed tile1251 may be processed using one or more of the stages described above in reference toflows1400aand/or1500a. Processing of tiles and/orpre-processed tiles1251 may be by hardware, software, or both. Apre-processed tile1251 may be atile1251 ingrid view1250 orcarousel view1350 that is communicated to another address by activating the “Share”1289 option described above in reference toFIGS. 12F and 13D, for example. In some applications, the aggregating domain may be socialmail.com as described above, and the address may be john_doe@socialmail.com, for example. In some examples, the domains such as the subscribed to domain, the unsubscribe domain, and the aggregating domain need not be a “.com” and may be a “.org”, “.gov”, “.biz”, “.edu”, or other domains without limitation.
Handling of Tiles
Tiles1251 as described herein may be configured to simplify an amount of interaction required by a user to divine the content type(s) presented in thetile1251. For example, unlike emails or other EMM's in an inbox or folder of a conventional email system/engine, a user may not want to take actions such as Reply, Forward, Cc, Bcc, or other actions with respect to thetile1251 and may merely wish to view the content of the tile and then move on to anothertile1251 of interest. Therefore, the ability to Reply, Forward, Cc, Bcc, or take other actions relating totiles1251 and their content may be unavailable to the user either by user election (e.g., user configurable settings and/or preferences) or by algorithms operating on the aggregatingdomain1490, for example. In some examples,tiles1251 may persist after being selected for viewing/content rotation CR by a user. In other examples,tiles1251 may be relegated to a trash can/bin/folder, deleted items, a recycle bin, or the like after being selected for viewing/content rotation CR by a user. In yet other examples,tiles1251 after being selected for viewing/content rotation CR by a user may be moved out of view on thegrid1250 orcarousel1350 andunviewed tiles1251 that were not previously in view on thegrid1250 orcarousel1350 may be moved into view to replace already viewedtiles1251 that were moved out of view. After atile1251 is viewed, thattile1251 may remain in thegrid1250 orcarousel1350 but with an altered or muted appearance that indicates to the user that the user has already viewed thattile1251.
Although the foregoing examples have been described in some detail for purposes of clarity of understanding, the above-described inventive techniques are not limited to the details provided. There are many alternative ways of implementing the above-described techniques for the present application. The disclosed examples are illustrative and not restrictive.