US20120151381A1 - Defining actions for data streams via icons - Google Patents
Defining actions for data streams via icons Download PDFInfo
- Publication number
- US20120151381A1 US20120151381A1 US12/967,078 US96707810A US2012151381A1 US 20120151381 A1 US20120151381 A1 US 20120151381A1 US 96707810 A US96707810 A US 96707810A US 2012151381 A1 US2012151381 A1 US 2012151381A1
- Authority
- US
- United States
- Prior art keywords
- user
- incoming data
- data stream
- computing device
- actions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000009471 action Effects 0.000 title claims abstract description 51
- 230000000007 visual effect Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000000875 corresponding effect Effects 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 8
- 230000003750 conditioning effect Effects 0.000 claims 1
- 230000002452 interceptive effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
- H04M1/72436—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. SMS or e-mail
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
Definitions
- Visual programming languages enable users without sophisticated programming knowledge to develop programs.
- Existing systems provide the visual programming languages primarily for developing basic games and operate based on physical input from the user (e.g., moving a gaming entity around a screen).
- Some existing systems enable the user to organize incoming email based on keywords in the messages (e.g., words in the subject line). However, these existing systems are typically not icon-based and are limited to organizing and storing the email messages.
- Embodiments of the disclosure enable conditional formatting of an incoming data stream on a user computing device.
- a plurality of icons is provided to a user of the user computing device.
- Each of the icons corresponds to one or more visual programming constructs that include conditions and actions.
- a selection of the provided icons is received from the user computing device. The selection corresponds to at least one of the conditions and to at least one of the actions.
- the condition relates to at least one element in the incoming data stream. Without compilation of the received selection, at least one incoming data stream is analyzed based on the condition to detect a presence of the element within the incoming data stream. The action is performed based on the analysis.
- FIG. 1 is an exemplary block diagram illustrating a content reader processing one or more incoming data streams based on rules.
- FIG. 2 is an exemplary block diagram illustrating a user computing device storing rules, icons corresponding to visual programming constructs, and computer-executable components for applying the rules to incoming data streams.
- FIG. 3 is an exemplary flow chart illustrating operation of a computing device to define rules based on selected conditions and actions.
- FIG. 4 is an exemplary flow chart illustrating operation of a computing device to apply rules to an incoming data stream.
- FIG. 5A is an exemplary user interface illustrating a set of rules for processing a social network feed.
- FIG. 5B is an exemplary user interface illustrating application of the rules from FIG. 5A to a social network feed.
- FIG. 6A is an exemplary user interface illustrating a set of rules for processing a social network feed.
- FIG. 6B is an exemplary user interface illustrating application of the rules from FIG. 6A to a social network feed.
- embodiments of the disclosure enable conditional performance of actions 210 in incoming data streams 102 .
- a visual format of the social network feeds is altered per rules 106 defined by a user 108 .
- aspects of the disclosure enable the user 108 to create a personalized view of content such as in microblog postings. For example, items (e.g., messages) from a selected person in the incoming data streams 102 may be displayed differently from the items from someone else.
- an exemplary block diagram illustrates a content reader 104 processing one or more incoming data streams 102 based on rules 106 .
- the content reader 104 receives the incoming data streams 102 via any network or combination of networks.
- the incoming data streams 102 include one or more of the following: social network feeds, text messages (e.g., short message service), instant messages, and electronic mail messages.
- the rules 106 represent a selection of visual programming constructs 214 .
- the content reader 104 presents the processed, incoming data streams 102 to the user 108 .
- applying the rules 106 alters the incoming data streams 102 .
- applying the rules 106 signals actions 210 to occur (e.g. play audio, video, etc.).
- an exemplary block diagram illustrates the user computing device 202 storing rules 106 , icons 212 corresponding to visual programming constructs 214 , and computer-executable components for applying the rules 106 to incoming data streams 102 .
- the computing device associated with the user 108 represents a system for conditional formatting of at least one of the incoming data streams 102 on the user computing device 202 .
- the user computing device 202 represents any device executing instructions (e.g., as application programs, operating system functionality, or both) to implement the operations and functionality associated with the user computing device 202 .
- the user computing device 202 may include a mobile computing device or any other portable device.
- the mobile computing device includes a mobile telephone, laptop, netbook, gaming device, and/or portable media player.
- the user computing device 202 may also include less portable devices such as desktop personal computers, kiosks, and tabletop devices. Additionally, the user computing device 202 may represent a group of processing units or other computing devices.
- the user computing device 202 has at least one processor 204 and a memory area 206 .
- the processor 204 includes any quantity of processing units, and is programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by the processor 204 or by multiple processors executing within the user computing device 202 , or performed by a processor external to the user computing device 202 . In some embodiments, the processor 204 is programmed to execute instructions such as those illustrated in the figures (e.g., FIG. 3 and FIG. 4 ).
- the user computing device 202 further has one or more computer-readable media such as the memory area 206 .
- the memory area 206 includes any quantity of media associated with or accessible by the user computing device 202 .
- the memory area 206 may be internal to the computing device (as shown in FIG. 2 ), external to the user computing device 202 (not shown), or both (not shown).
- the memory area 206 further stores one or more of the rules 106 , such as rule # 1 through rule #N.
- the rule 106 may be user-defined and/or defined by another entity.
- Each of the rules 106 includes one or more conditions 208 and one or more corresponding actions 210 .
- the conditions 208 may be nested or connected such as by a Boolean operator.
- Each of the conditions 208 relates to at least one element possibly present in the incoming data stream 102 .
- the conditions 208 also include one or more of the following: a timer, a variable, and a counter.
- Exemplary elements include, but are not limited to, words, phrases, keywords, objects, images, or other patterns within the incoming data stream 102 .
- Exemplary elements may also include properties describing the incoming data streams 102 , or user-initiated actions (e.g., a click or hover) during display of the incoming data streams 102 .
- the memory area 206 further stores one or more icons 212 each representing one or more visual programming constructs 214 combined to form the conditions 208 and actions 210 .
- Exemplary icons 212 are illustrated in FIG. 5 and FIG. 6 .
- the visual programming constructs 214 comprise “if,” “then,” “else,” and other constructs including “not” and user-initiated actions (e.g., clicks).
- the memory area 206 further stores one or more computer-executable components.
- Exemplary components include a user interface component 216 , a communications interface component 218 , a content reader component 220 , and a memory component 222 .
- the user interface component 216 when executed by the processor 204 , causes the processor 204 to display a plurality of the icons 212 to the user 108 .
- Each of the icons 212 corresponds to one or more of the visual programming constructs 214 .
- the user interface component 216 receives from the user 108 a selection of the displayed icons 212 .
- the selection represents at least one of the conditions 208 and at least one of the actions 210 . In some embodiments, at least one of the conditions 208 relates to at least one element possibly present in the incoming data stream 102 .
- the user interface component 216 includes a graphics card for displaying data to the user 108 and receiving data from the user 108 .
- the user interface component 216 may also include computer-executable instructions (e.g., a driver) for operating the graphics card.
- the user interface component 216 may include a display (e.g., a touch screen display) and/or computer-executable instructions (e.g., a driver) for operating the display.
- the user interface component 216 may also include one or more of the following to provide data to the user 108 or receive data from the user 108 : speakers, a sound card, a camera, a microphone, a vibration motor, and one or more accelerometers.
- the user 108 may input commands or manipulate data by moving the user computing device 202 in a particular way.
- the memory component 222 when executed by the processor 204 , causes the processor 204 to store the condition 208 and the action 210 from the selection received by the user interface component 216 as one of the rules 106 in the memory area 206 .
- the communications interface component 218 when executed by the processor 204 , causes the processor 204 to receive one of the incoming data streams 102 .
- the communications interface component 218 includes a network interface card and/or computer-executable instructions (e.g., a driver) for operating the network interface card.
- the content reader component 220 When executed by the processor 204 , the content reader component 220 causes the processor 204 to analyze the incoming data stream 102 based on the selected condition 208 to detect the presence of the element corresponding to the condition 208 . For example, the content reader component 220 scans the incoming data stream 102 for a particular word, keyword, phrase, or the like. The content reader component 220 analyzes the incoming data stream 102 without compilation of the selected condition 208 and/or the selected action 210 received by the user interface component 216 . That is, aspects of the disclosure do not separately compile the selected condition 208 and/or selection action 210 into executable code. Rather, aspects of the disclosure operate on the selected condition 208 and the selected action 210 as parameters, operands, arguments, or other input to perform the analysis.
- the content reader component 220 performs the corresponding action 210 .
- the content reader component 220 alters a visual format of the element in accordance with the action 210 .
- the user interface component 216 displays to the user 108 the altered visual format of the element in the incoming data stream 102 .
- the content reader component 220 may take no action and leave the incoming data stream 102 intact. Alternatively or in addition, the content reader component 220 may perform an alternative action 210 specified by the rules 106 .
- the user 108 may decide to share one or more of the rules 106 with another user 108 .
- the communications interface component 218 transmits the stored rule 106 to another user 108 , such as by transmitting a file such as in an extensible markup language (XML) format or other format.
- XML extensible markup language
- the receiving user is able to apply the shared rules to see the same formatting and action 210 as the sending user, to further share the rules 106 with others, or use or modify the rules.
- the user interface component 216 , communications interface component 218 , and content reader component 220 are packaged as a downloadable application.
- the user 108 navigates to a marketplace or a web site, downloads the package application, installs the application, and executes the installed application to perform the functionality described herein.
- the content reader component 220 may execute as a client-side application communicating with a server-side counterpart application.
- at least a portion of the functionality of the content reader is performed by the server-side counterpart application (e.g., in a cloud computing environment).
- the server-side counterpart application operates as a network-accessible application that scans the incoming data stream 102 and provided output and determinations from the scanning operations to the client-side application.
- an exemplary flow chart illustrates operation of the computing device to define the rules 106 based on selected conditions 208 and actions 210 .
- one or more of the visual programming constructs 214 are provided to the user 108 as icons 212 .
- the icons 212 may be presented in a library, menu, list, popup or hover window, or the like.
- each of the available visual programming constructs 214 is provided to the user 108 .
- a subset of the available visual programming constructs 214 is provided to the user 108 .
- some of the visual programming constructs 214 may apply only to particular types of computing devices or operating systems.
- the user 108 selects one or more of the incoming data streams 102 to which the rule 106 will apply. The selection is received at 304 .
- the user 108 selects the icons 212 corresponding to the visual programming constructs 214 to define at least one condition 208 , and the computing device receives the selection of the condition 208 at 306 .
- the defined condition 208 relates to at least one element that may be present in the incoming data stream 102 .
- Exemplary conditions 208 relate to one or more of the following: the presence of a word in the incoming data stream 102 , a user associated with the incoming data stream 102 , a property of the user associated with the incoming data stream 102 , a time associated with the incoming data stream 102 , a type of operating system executing on the mobile computing device, and a model/type of the mobile computing device.
- the user 108 selects the icons 212 corresponding to the visual programming constructs 214 to define at least one action 210 , and the computing device receives the selection of the action 210 at 308 . Based on the received selections, the rule 106 is created at 310 and stored, for example, in the memory area 206 .
- an exemplary flow chart illustrates operation of the computing device to apply rules 106 to at least one of the incoming data streams 102 .
- the operations illustrated in FIG. 4 are performed in real-time as the rules 106 are created, without any compilation of the created rules 106 .
- the incoming data stream 102 is analyzed to determine whether any of the conditions 208 in the rules 106 are satisfied. For example, the incoming data stream 102 is scanned or otherwise searched for the presence of the element(s) identified by the conditions 208 . If the element is detected in the incoming data stream 102 at 404 , the corresponding action 210 is performed at 406 . In some embodiments, the incoming data stream 102 is altered due to performance of the corresponding action 210 in response to detection of the element. For example, a visual format of the detected element may be altered (e.g., font change, color change, background image displayed, etc.). In such embodiments, the altered incoming data stream 102 is presented to the user 108 at 408 . For example, the incoming data stream 102 is displayed to the user 108 with the altered format of the detected element therein.
- a visual format of the detected element may be altered (e.g., font change, color change, background image displayed, etc.).
- the altered incoming data stream 102 is presented to
- the action 210 performed at 406 includes replacing text in the incoming data stream 102 with other text or an image.
- the action 210 is to hide at least a portion of the incoming data stream 102 .
- a parent user may wish to block or filter messages from a particular sender or pertaining, a particular topic, or a conversation thread.
- performing the action 210 includes one or more of the following: displaying an animation, playing a sound, changing a font color of text in the incoming data stream 102 , and changing a background color of a user interface of the user computing device 202 .
- customizations from one computing device may not carry over to another computing device.
- embodiments of the disclosure enable the user 108 to define one of the selected conditions 208 to check a type (e.g., hardware and/or software) of the user computing device 202 before applying other rules 106 .
- the same set of rules 106 may be used on a plurality of the user computing devices 202 .
- the rules 106 specific to a particular type of user computing device 202 are applied only when the user computing device 202 is of the particular type.
- Exemplary types of the user computing devices 202 include one or more of the following: a laptop, a mobile computing device, a gaming console, and a television.
- an exemplary user interface 502 illustrates a set of rules for processing a social network feed.
- the set of rules is associated with an application entitled “My own social feed.”
- Three rules are shown in the user interface 502 in FIG. 5A .
- the condition is represented by an eye icon followed by the word “boyfriend.”
- the corresponding action is represented by the word “show” followed by an italicized letter “I.”
- the first rule 504 corresponds to the following statement: “if see the word ‘boyfriend’ then show the word ‘boyfriend’ in italics.”
- the condition of the second rule 506 is identical to the condition in the first rule.
- the action for the second rule 506 is represented by the word “show” followed by an image of a heart.
- the second rule 506 corresponds to the following statement: “if see the word ‘boyfriend’ then show an image of a heart.”
- the condition is represented by an eye icon followed by “@jennyp”.
- the corresponding action is represented by the word “replace” as an icon and then the word “JennyPenny.”
- the third rule 508 corresponds to the following statement: “if see a message from jennyp, then replace with JennyPenny.”
- the user 108 may also identify an action to be performed if the element is not found. For example, if the word “boyfriend” does not appear in one of the comments, then the user 108 may specify that another image be displayed.
- the user 108 has created these three rules by selecting and arranging the icons in the user interface. For example, a drop-down menu of the icons may be available, or within a hover window (e.g., accessed via a single- or double-tap of a screen of the computing device).
- a drop-down menu of the icons may be available, or within a hover window (e.g., accessed via a single- or double-tap of a screen of the computing device).
- an exemplary user interface illustrates application of the rules from FIG. 5A to a social network feed.
- two comments 510 , 516 from jennyp are indicated as being from JennyPenny per the third rule 508 .
- Two comments 512 , 514 with the word “boyfriend” have been altered to show the word “boyfriend” in italics followed by a heart image per the first rule 504 and the second rule 506 .
- an exemplary user interface 602 illustrates another set of rules for processing a social network feed.
- Three rules are shown in the user interface of FIG. 6A .
- the condition is represented by an eye icon followed by the “#worldcup” hash tag.
- the corresponding action is represented by the word “show” followed by an image of a soccer ball.
- the first rule 604 corresponds to the following statement: “if see the ‘#worldcup’ hash tag then show an image of a soccer ball.”
- the condition is represented by an eye icon followed by the “#USA” hash tag.
- the corresponding action is represented by the word “show” following by a bolded letter “B”.
- the second rule 606 corresponds to the following statement: “if see the “#USA” hash tag then show the word “#USA” bolded.”
- the condition of the third rule 608 is identical to the condition in the second rule.
- the action for the third rule 608 is represented by the word “show” following by the word “red”.
- the third rule 608 corresponds to the following statement: “if see the “#USA” hash tag then show the “#USA” hash tag in red color.”
- an exemplary user interface illustrates application of the rules from FIG. 6A to a social network feed.
- a comment 612 from Victor has been altered based on the second rule 606 and the third rule 608 from FIG. 6A to show “#USA” in bold and in red.
- a comment 614 from Carlos including the “#worldcup” hash tag has resulted in the display of an image of a soccer ball per the first rule 604 from FIG. 6A .
- Comment 610 from Scott is displayed without alteration because none of the conditions were satisfied by this comment.
- While the icons 212 and lack of compilation described herein enable the user 108 to quickly and easily define the conditions 208 and actions 210 , aspects of the disclosure are operable with compiled rules.
- embodiments of the disclosure may have built-in rules defined by a developer or other entity responsible for such embodiments.
- the performance of the actions 210 alters the look of the content reader.
- portions of the functionality or settings of the content reader may be enabled or disabled.
- a reply button may be disabled or removed in a message from a particular sender.
- functionality on the user computing device 202 such as location services, contact lists, and searching may be invoked.
- An additional example of a statement made from the visual programming constructs 214 includes “if I don't see the word ‘awesome’ for time 1 hour then show message “1 boring hour.”
- the actions 210 may also include computations such as in the following example: “when I see the word ‘love’ add 1 to counter, when counter equals 10 then play audio.”
- FIG. 1 or FIG. 2 At least a portion of the functionality of the various elements in FIG. 1 or FIG. 2 may be performed by other elements in FIG. 1 and/or FIG. 2 , or an entity (e.g., processor, web service, server, application program, computing device, etc.) not shown in FIG. 1 or FIG. 2 .
- entity e.g., processor, web service, server, application program, computing device, etc.
- the operations illustrated in FIG. 3 and FIG. 4 may be implemented as software instructions encoded on a computer-readable medium, in hardware programmed or designed to perform the operations, or both.
- aspects of the disclosure may be implemented as a system on a chip.
- notice is provided to the users of the collection of the data (e.g., via a dialog box or preference setting) and users are given the opportunity to give or deny consent for the monitoring and/or collection.
- the consent may take the form of opt-in consent or opt-out consent.
- Exemplary computer readable media include flash memory drives, digital versatile discs (DVDs), compact discs (CDs), floppy disks, and tape cassettes.
- computer readable media comprise computer storage media and communication media.
- Computer storage media store information such as computer readable instructions, data structures, program modules or other data.
- Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Combinations of any of the above are also included within the scope of computer readable media.
- embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations.
- Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
- inventions illustrated and described herein as well as embodiments not specifically described herein but within the scope of aspects of the invention constitute exemplary means for providing a visual programming language enabling the user 108 to define conditions 208 and corresponding actions 210 for processing incoming data streams 102 , and exemplary means for processing incoming data streams 102 to perform actions 210 based on conditions 208 detected in incoming data streams 102 .
Abstract
Description
- Visual programming languages enable users without sophisticated programming knowledge to develop programs. Existing systems provide the visual programming languages primarily for developing basic games and operate based on physical input from the user (e.g., moving a gaming entity around a screen).
- Some existing systems enable the user to organize incoming email based on keywords in the messages (e.g., words in the subject line). However, these existing systems are typically not icon-based and are limited to organizing and storing the email messages.
- Embodiments of the disclosure enable conditional formatting of an incoming data stream on a user computing device. A plurality of icons is provided to a user of the user computing device. Each of the icons corresponds to one or more visual programming constructs that include conditions and actions. A selection of the provided icons is received from the user computing device. The selection corresponds to at least one of the conditions and to at least one of the actions. The condition relates to at least one element in the incoming data stream. Without compilation of the received selection, at least one incoming data stream is analyzed based on the condition to detect a presence of the element within the incoming data stream. The action is performed based on the analysis.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
-
FIG. 1 is an exemplary block diagram illustrating a content reader processing one or more incoming data streams based on rules. -
FIG. 2 is an exemplary block diagram illustrating a user computing device storing rules, icons corresponding to visual programming constructs, and computer-executable components for applying the rules to incoming data streams. -
FIG. 3 is an exemplary flow chart illustrating operation of a computing device to define rules based on selected conditions and actions. -
FIG. 4 is an exemplary flow chart illustrating operation of a computing device to apply rules to an incoming data stream. -
FIG. 5A is an exemplary user interface illustrating a set of rules for processing a social network feed. -
FIG. 5B is an exemplary user interface illustrating application of the rules fromFIG. 5A to a social network feed. -
FIG. 6A is an exemplary user interface illustrating a set of rules for processing a social network feed. -
FIG. 6B is an exemplary user interface illustrating application of the rules fromFIG. 6A to a social network feed. - Corresponding reference characters indicate corresponding parts throughout the drawings.
- Referring to the figures, embodiments of the disclosure enable conditional performance of
actions 210 inincoming data streams 102. In some embodiments, a visual format of the social network feeds is altered perrules 106 defined by auser 108. Aspects of the disclosure enable theuser 108 to create a personalized view of content such as in microblog postings. For example, items (e.g., messages) from a selected person in theincoming data streams 102 may be displayed differently from the items from someone else. - Referring again to
FIG. 1 , an exemplary block diagram illustrates acontent reader 104 processing one or moreincoming data streams 102 based onrules 106. Thecontent reader 104 receives theincoming data streams 102 via any network or combination of networks. In some embodiments, theincoming data streams 102 include one or more of the following: social network feeds, text messages (e.g., short message service), instant messages, and electronic mail messages. Therules 106, as described herein, represent a selection ofvisual programming constructs 214. After applying therules 106 to theincoming data streams 102, thecontent reader 104 presents the processed, incomingdata streams 102 to theuser 108. In some embodiments, applying therules 106 alters theincoming data streams 102. Alternatively or in addition, applying therules 106signals actions 210 to occur (e.g. play audio, video, etc.). - The
content reader 104 executes, for example, on auser computing device 202. Thecontent reader 104 may be a standalone application, executing within a browser, or have other structure. In other embodiments, thecontent reader 104 is accessible by theuser computing device 202 via a network such as the Internet. In such embodiments, thecontent reader 104 is accessible via a network address such as a uniform resource locator (URL). Similarly, therules 106 may be stored locally with thecontent reader 104, or may be stored remotely such as in a cloud computing environment. - Referring next to
FIG. 2 , an exemplary block diagram illustrates theuser computing device 202storing rules 106,icons 212 corresponding tovisual programming constructs 214, and computer-executable components for applying therules 106 to incomingdata streams 102. In the example ofFIG. 2 , the computing device associated with theuser 108 represents a system for conditional formatting of at least one of theincoming data streams 102 on theuser computing device 202. Theuser computing device 202 represents any device executing instructions (e.g., as application programs, operating system functionality, or both) to implement the operations and functionality associated with theuser computing device 202. Theuser computing device 202 may include a mobile computing device or any other portable device. In some embodiments, the mobile computing device includes a mobile telephone, laptop, netbook, gaming device, and/or portable media player. Theuser computing device 202 may also include less portable devices such as desktop personal computers, kiosks, and tabletop devices. Additionally, theuser computing device 202 may represent a group of processing units or other computing devices. - The
user computing device 202 has at least oneprocessor 204 and amemory area 206. Theprocessor 204 includes any quantity of processing units, and is programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by theprocessor 204 or by multiple processors executing within theuser computing device 202, or performed by a processor external to theuser computing device 202. In some embodiments, theprocessor 204 is programmed to execute instructions such as those illustrated in the figures (e.g.,FIG. 3 andFIG. 4 ). - The
user computing device 202 further has one or more computer-readable media such as thememory area 206. Thememory area 206 includes any quantity of media associated with or accessible by theuser computing device 202. Thememory area 206 may be internal to the computing device (as shown inFIG. 2 ), external to the user computing device 202 (not shown), or both (not shown). - The
memory area 206 further stores one or more of therules 106, such asrule # 1 through rule #N. Therule 106 may be user-defined and/or defined by another entity. Each of therules 106 includes one ormore conditions 208 and one or morecorresponding actions 210. For example, theconditions 208 may be nested or connected such as by a Boolean operator. Each of theconditions 208 relates to at least one element possibly present in theincoming data stream 102. In some embodiments, theconditions 208 also include one or more of the following: a timer, a variable, and a counter. - Exemplary elements include, but are not limited to, words, phrases, keywords, objects, images, or other patterns within the
incoming data stream 102. Exemplary elements may also include properties describing the incoming data streams 102, or user-initiated actions (e.g., a click or hover) during display of the incoming data streams 102. - The
memory area 206 further stores one ormore icons 212 each representing one or more visual programming constructs 214 combined to form theconditions 208 andactions 210.Exemplary icons 212 are illustrated inFIG. 5 andFIG. 6 . In some embodiments, the visual programming constructs 214 comprise “if,” “then,” “else,” and other constructs including “not” and user-initiated actions (e.g., clicks). - The
memory area 206 further stores one or more computer-executable components. Exemplary components include auser interface component 216, acommunications interface component 218, acontent reader component 220, and amemory component 222. Theuser interface component 216, when executed by theprocessor 204, causes theprocessor 204 to display a plurality of theicons 212 to theuser 108. Each of theicons 212 corresponds to one or more of the visual programming constructs 214. Theuser interface component 216 receives from the user 108 a selection of the displayedicons 212. The selection represents at least one of theconditions 208 and at least one of theactions 210. In some embodiments, at least one of theconditions 208 relates to at least one element possibly present in theincoming data stream 102. - In some embodiments, the
user interface component 216 includes a graphics card for displaying data to theuser 108 and receiving data from theuser 108. Theuser interface component 216 may also include computer-executable instructions (e.g., a driver) for operating the graphics card. Further, theuser interface component 216 may include a display (e.g., a touch screen display) and/or computer-executable instructions (e.g., a driver) for operating the display. Theuser interface component 216 may also include one or more of the following to provide data to theuser 108 or receive data from the user 108: speakers, a sound card, a camera, a microphone, a vibration motor, and one or more accelerometers. For example, theuser 108 may input commands or manipulate data by moving theuser computing device 202 in a particular way. - The
memory component 222, when executed by theprocessor 204, causes theprocessor 204 to store thecondition 208 and theaction 210 from the selection received by theuser interface component 216 as one of therules 106 in thememory area 206. - The
communications interface component 218, when executed by theprocessor 204, causes theprocessor 204 to receive one of the incoming data streams 102. In some embodiments, thecommunications interface component 218 includes a network interface card and/or computer-executable instructions (e.g., a driver) for operating the network interface card. - When executed by the
processor 204, thecontent reader component 220 causes theprocessor 204 to analyze theincoming data stream 102 based on the selectedcondition 208 to detect the presence of the element corresponding to thecondition 208. For example, thecontent reader component 220 scans theincoming data stream 102 for a particular word, keyword, phrase, or the like. Thecontent reader component 220 analyzes theincoming data stream 102 without compilation of the selectedcondition 208 and/or the selectedaction 210 received by theuser interface component 216. That is, aspects of the disclosure do not separately compile the selectedcondition 208 and/orselection action 210 into executable code. Rather, aspects of the disclosure operate on the selectedcondition 208 and the selectedaction 210 as parameters, operands, arguments, or other input to perform the analysis. - If the element is detected within the
incoming data stream 102, thecontent reader component 220 performs thecorresponding action 210. In some embodiments, thecontent reader component 220 alters a visual format of the element in accordance with theaction 210. Theuser interface component 216 displays to theuser 108 the altered visual format of the element in theincoming data stream 102. - If the element is not detected, then the
content reader component 220 may take no action and leave theincoming data stream 102 intact. Alternatively or in addition, thecontent reader component 220 may perform analternative action 210 specified by therules 106. - In some embodiments, the
user 108 may decide to share one or more of therules 106 with anotheruser 108. Thecommunications interface component 218 transmits the storedrule 106 to anotheruser 108, such as by transmitting a file such as in an extensible markup language (XML) format or other format. After sharing therules 106, the receiving user is able to apply the shared rules to see the same formatting andaction 210 as the sending user, to further share therules 106 with others, or use or modify the rules. - In embodiments in which the
user computing device 202 is a mobile computing device such as a mobile telephone, theuser interface component 216,communications interface component 218, andcontent reader component 220 are packaged as a downloadable application. In such embodiments, theuser 108 navigates to a marketplace or a web site, downloads the package application, installs the application, and executes the installed application to perform the functionality described herein. - The
content reader component 220 may execute as a client-side application communicating with a server-side counterpart application. In such embodiments, at least a portion of the functionality of the content reader is performed by the server-side counterpart application (e.g., in a cloud computing environment). For example, the server-side counterpart application operates as a network-accessible application that scans theincoming data stream 102 and provided output and determinations from the scanning operations to the client-side application. - Operation of embodiments of the disclosure to create the
rules 106 is next described. - Referring next to
FIG. 3 , an exemplary flow chart illustrates operation of the computing device to define therules 106 based on selectedconditions 208 andactions 210. At 302, one or more of the visual programming constructs 214 are provided to theuser 108 asicons 212. For example, theicons 212 may be presented in a library, menu, list, popup or hover window, or the like. In some embodiments, each of the available visual programming constructs 214 is provided to theuser 108. In other embodiments, a subset of the available visual programming constructs 214 is provided to theuser 108. For example, some of the visual programming constructs 214 may apply only to particular types of computing devices or operating systems. - To create one of the
rules 106, theuser 108 selects one or more of the incoming data streams 102 to which therule 106 will apply. The selection is received at 304. Theuser 108 selects theicons 212 corresponding to the visual programming constructs 214 to define at least onecondition 208, and the computing device receives the selection of thecondition 208 at 306. The definedcondition 208 relates to at least one element that may be present in theincoming data stream 102.Exemplary conditions 208 relate to one or more of the following: the presence of a word in theincoming data stream 102, a user associated with theincoming data stream 102, a property of the user associated with theincoming data stream 102, a time associated with theincoming data stream 102, a type of operating system executing on the mobile computing device, and a model/type of the mobile computing device. - The
user 108 selects theicons 212 corresponding to the visual programming constructs 214 to define at least oneaction 210, and the computing device receives the selection of theaction 210 at 308. Based on the received selections, therule 106 is created at 310 and stored, for example, in thememory area 206. - Referring next to
FIG. 4 , an exemplary flow chart illustrates operation of the computing device to applyrules 106 to at least one of the incoming data streams 102. In some embodiments, the operations illustrated inFIG. 4 are performed in real-time as therules 106 are created, without any compilation of the created rules 106. - At 402, without compiling the
rules 106, theincoming data stream 102 is analyzed to determine whether any of theconditions 208 in therules 106 are satisfied. For example, theincoming data stream 102 is scanned or otherwise searched for the presence of the element(s) identified by theconditions 208. If the element is detected in theincoming data stream 102 at 404, thecorresponding action 210 is performed at 406. In some embodiments, theincoming data stream 102 is altered due to performance of thecorresponding action 210 in response to detection of the element. For example, a visual format of the detected element may be altered (e.g., font change, color change, background image displayed, etc.). In such embodiments, the alteredincoming data stream 102 is presented to theuser 108 at 408. For example, theincoming data stream 102 is displayed to theuser 108 with the altered format of the detected element therein. - In some embodiments, the
action 210 performed at 406 includes replacing text in theincoming data stream 102 with other text or an image. In other embodiments, theaction 210 is to hide at least a portion of theincoming data stream 102. For example, a parent user may wish to block or filter messages from a particular sender or pertaining, a particular topic, or a conversation thread. In other examples, performing theaction 210 includes one or more of the following: displaying an animation, playing a sound, changing a font color of text in theincoming data stream 102, and changing a background color of a user interface of theuser computing device 202. - With reference to
FIG. 3 andFIG. 4 , customizations from one computing device may not carry over to another computing device. Rather than creating separate rule sets for each computing device, embodiments of the disclosure enable theuser 108 to define one of the selectedconditions 208 to check a type (e.g., hardware and/or software) of theuser computing device 202 before applyingother rules 106. In this manner, the same set ofrules 106 may be used on a plurality of theuser computing devices 202. In such embodiments, therules 106 specific to a particular type ofuser computing device 202 are applied only when theuser computing device 202 is of the particular type. Exemplary types of theuser computing devices 202 include one or more of the following: a laptop, a mobile computing device, a gaming console, and a television. - Referring next to
FIG. 5A , anexemplary user interface 502 illustrates a set of rules for processing a social network feed. The set of rules is associated with an application entitled “My own social feed.” Three rules are shown in theuser interface 502 inFIG. 5A . In thefirst rule 504, the condition is represented by an eye icon followed by the word “boyfriend.” The corresponding action is represented by the word “show” followed by an italicized letter “I.” As such, thefirst rule 504 corresponds to the following statement: “if see the word ‘boyfriend’ then show the word ‘boyfriend’ in italics.” The condition of thesecond rule 506 is identical to the condition in the first rule. The action for thesecond rule 506, however, is represented by the word “show” followed by an image of a heart. As such, thesecond rule 506 corresponds to the following statement: “if see the word ‘boyfriend’ then show an image of a heart.” - In the
third rule 508, the condition is represented by an eye icon followed by “@jennyp”. The corresponding action is represented by the word “replace” as an icon and then the word “JennyPenny.” As such, thethird rule 508 corresponds to the following statement: “if see a message from jennyp, then replace with JennyPenny.” - In another rule (not shown), the
user 108 may also identify an action to be performed if the element is not found. For example, if the word “boyfriend” does not appear in one of the comments, then theuser 108 may specify that another image be displayed. - In the example of
FIG. 5A (andFIG. 6A below), theuser 108 has created these three rules by selecting and arranging the icons in the user interface. For example, a drop-down menu of the icons may be available, or within a hover window (e.g., accessed via a single- or double-tap of a screen of the computing device). - Referring next to
FIG. 5B , an exemplary user interface illustrates application of the rules fromFIG. 5A to a social network feed. In the example ofFIG. 5B , twocomments third rule 508. Twocomments first rule 504 and thesecond rule 506. - Referring next to
FIG. 6A , anexemplary user interface 602 illustrates another set of rules for processing a social network feed. Three rules are shown in the user interface ofFIG. 6A . In thefirst rule 604, the condition is represented by an eye icon followed by the “#worldcup” hash tag. The corresponding action is represented by the word “show” followed by an image of a soccer ball. As such, thefirst rule 604 corresponds to the following statement: “if see the ‘#worldcup’ hash tag then show an image of a soccer ball.” In thesecond rule 606, the condition is represented by an eye icon followed by the “#USA” hash tag. The corresponding action is represented by the word “show” following by a bolded letter “B”. As such, thesecond rule 606 corresponds to the following statement: “if see the “#USA” hash tag then show the word “#USA” bolded.” The condition of thethird rule 608 is identical to the condition in the second rule. The action for thethird rule 608, however, is represented by the word “show” following by the word “red”. As such, thethird rule 608 corresponds to the following statement: “if see the “#USA” hash tag then show the “#USA” hash tag in red color.” - Referring next to
FIG. 6B , an exemplary user interface illustrates application of the rules fromFIG. 6A to a social network feed. In the example ofFIG. 6B , acomment 612 from Victor has been altered based on thesecond rule 606 and thethird rule 608 fromFIG. 6A to show “#USA” in bold and in red. Acomment 614 from Carlos including the “#worldcup” hash tag has resulted in the display of an image of a soccer ball per thefirst rule 604 fromFIG. 6A . Comment 610 from Scott is displayed without alteration because none of the conditions were satisfied by this comment. - While the
icons 212 and lack of compilation described herein enable theuser 108 to quickly and easily define theconditions 208 andactions 210, aspects of the disclosure are operable with compiled rules. For example, embodiments of the disclosure may have built-in rules defined by a developer or other entity responsible for such embodiments. - In some embodiments, the performance of the
actions 210 alters the look of the content reader. Alternatively or in addition, portions of the functionality or settings of the content reader may be enabled or disabled. For example, a reply button may be disabled or removed in a message from a particular sender. In another example, functionality on theuser computing device 202 such as location services, contact lists, and searching may be invoked. - An additional example of a statement made from the visual programming constructs 214 includes “if I don't see the word ‘awesome’ for
time 1 hour then show message “1 boring hour.” Theactions 210 may also include computations such as in the following example: “when I see the word ‘love’ add 1 to counter, when counter equals 10 then play audio.” - At least a portion of the functionality of the various elements in
FIG. 1 orFIG. 2 may be performed by other elements inFIG. 1 and/orFIG. 2 , or an entity (e.g., processor, web service, server, application program, computing device, etc.) not shown inFIG. 1 orFIG. 2 . - In some embodiments, the operations illustrated in
FIG. 3 andFIG. 4 may be implemented as software instructions encoded on a computer-readable medium, in hardware programmed or designed to perform the operations, or both. For example, aspects of the disclosure may be implemented as a system on a chip. - While no personally identifiable information is tracked by aspects of the disclosure, embodiments have been described with reference to data monitored and/or collected from users such as
user 108. In such embodiments, notice is provided to the users of the collection of the data (e.g., via a dialog box or preference setting) and users are given the opportunity to give or deny consent for the monitoring and/or collection. The consent may take the form of opt-in consent or opt-out consent. - Exemplary computer readable media include flash memory drives, digital versatile discs (DVDs), compact discs (CDs), floppy disks, and tape cassettes. By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Combinations of any of the above are also included within the scope of computer readable media.
- Although described in connection with an exemplary computing system environment, embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. The computer-executable instructions may be organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
- Aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
- The embodiments illustrated and described herein as well as embodiments not specifically described herein but within the scope of aspects of the invention constitute exemplary means for providing a visual programming language enabling the
user 108 to defineconditions 208 andcorresponding actions 210 for processing incoming data streams 102, and exemplary means for processingincoming data streams 102 to performactions 210 based onconditions 208 detected in incoming data streams 102. - The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.
- When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
- Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/967,078 US9449308B2 (en) | 2010-12-14 | 2010-12-14 | Defining actions for data streams via icons |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/967,078 US9449308B2 (en) | 2010-12-14 | 2010-12-14 | Defining actions for data streams via icons |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120151381A1 true US20120151381A1 (en) | 2012-06-14 |
US9449308B2 US9449308B2 (en) | 2016-09-20 |
Family
ID=46200748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/967,078 Active 2032-10-06 US9449308B2 (en) | 2010-12-14 | 2010-12-14 | Defining actions for data streams via icons |
Country Status (1)
Country | Link |
---|---|
US (1) | US9449308B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2963555A4 (en) * | 2013-02-28 | 2016-02-24 | Gree Inc | Server, control method for server, and program |
US20160267156A1 (en) * | 2015-03-10 | 2016-09-15 | Microsoft Technology Licensing. LLC | Transforming data to share across applications |
US20160350398A1 (en) * | 2010-12-17 | 2016-12-01 | Microsoft Technology Licensing, Llc | Hash tag management in a microblogging infrastructure |
EP3107247A4 (en) * | 2014-03-06 | 2017-03-08 | Huawei Technologies Co., Ltd. | Display style adjustment method, device, and system |
USD800760S1 (en) * | 2015-10-30 | 2017-10-24 | Honeywell International Inc. | Display screen or portion thereof with graphical user interface |
US10140274B2 (en) * | 2017-01-30 | 2018-11-27 | International Business Machines Corporation | Automated message modification based on user context |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9746990B2 (en) * | 2012-09-28 | 2017-08-29 | Intel Corporation | Selectively augmenting communications transmitted by a communication device |
US11012403B1 (en) * | 2018-09-04 | 2021-05-18 | Facebook, Inc. | Storylines: collaborative feedback system |
Citations (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572233A (en) * | 1993-10-14 | 1996-11-05 | Casio Computer Co., Ltd. | Data storage apparatus capable of searching and displaying character data according to corresponding pictorial symbol data |
US5918238A (en) * | 1995-04-13 | 1999-06-29 | Fuji Xerox Co., Ltd. | Document processing apparatus which evaluates elements of a document and changes the color/format of elements that satisfy user-defined parameters |
US6441836B1 (en) * | 1998-06-05 | 2002-08-27 | Casio Computer Co., Ltd. | Display apparatus and display control method of displaying data together with icon representing contents of data |
US20020133522A1 (en) * | 2001-03-19 | 2002-09-19 | Greetham Laurence Raymond | Apparatus for facilitating access to information |
US20020193996A1 (en) * | 2001-06-04 | 2002-12-19 | Hewlett-Packard Company | Audio-form presentation of text messages |
US20030011643A1 (en) * | 2000-02-18 | 2003-01-16 | Minoru Nishihata | Representation data control system, and representation data control device constituting it, and recording medium recording its program |
US20030227568A1 (en) * | 2000-05-12 | 2003-12-11 | Stahl Thomas Anthony | Appratus and method for improved device interoperability |
US20040024822A1 (en) * | 2002-08-01 | 2004-02-05 | Werndorfer Scott M. | Apparatus and method for generating audio and graphical animations in an instant messaging environment |
US20040162877A1 (en) * | 2003-02-19 | 2004-08-19 | Van Dok Cornelis K. | User interface and content enhancements for real-time communication |
US20050081150A1 (en) * | 2001-11-02 | 2005-04-14 | Beardow Paul Rowland | Method and apparatus for text messaging |
US20050078804A1 (en) * | 2003-10-10 | 2005-04-14 | Nec Corporation | Apparatus and method for communication |
US20050107127A1 (en) * | 2003-10-30 | 2005-05-19 | Nec Corporation | Data processing device, data processing method, and electronic device |
US20050116956A1 (en) * | 2001-06-05 | 2005-06-02 | Beardow Paul R. | Message display |
US20050143108A1 (en) * | 2003-12-27 | 2005-06-30 | Samsung Electronics Co., Ltd. | Apparatus and method for processing a message using avatars in a wireless telephone |
US20050156873A1 (en) * | 2004-01-20 | 2005-07-21 | Microsoft Corporation | Custom emoticons |
US20060068766A1 (en) * | 2004-09-15 | 2006-03-30 | Min Xu | Communication device with operational response capability and method therefor |
US20060167992A1 (en) * | 2005-01-07 | 2006-07-27 | At&T Corp. | System and method for text translations and annotation in an instant messaging session |
US20060282503A1 (en) * | 2005-06-14 | 2006-12-14 | Microsoft Corporation | Email emotiflags |
US7207009B1 (en) * | 2000-11-01 | 2007-04-17 | Microsoft Corporation | Method and system for displaying an image instead of data |
US20070094156A1 (en) * | 2005-09-28 | 2007-04-26 | Microsoft Corporation | User defined components for content syndication |
US20070094330A1 (en) * | 2002-07-31 | 2007-04-26 | Nicholas Russell | Animated messaging |
US20070101005A1 (en) * | 2005-11-03 | 2007-05-03 | Lg Electronics Inc. | System and method of transmitting emoticons in mobile communication terminals |
US20070171192A1 (en) * | 2005-12-06 | 2007-07-26 | Seo Jeong W | Screen image presentation apparatus and method for mobile phone |
US20080039124A1 (en) * | 2006-08-08 | 2008-02-14 | Samsung Electronics Co., Ltd. | Apparatus, a method, and a system for animating a virtual scene |
US20080120258A1 (en) * | 2006-11-21 | 2008-05-22 | Hee-Sook Shin | Method for expressing emotion and intention in remote interaction and real emoticon system thereof |
US20080134282A1 (en) * | 2006-08-24 | 2008-06-05 | Neustar, Inc. | System and method for filtering offensive information content in communication systems |
US20080158334A1 (en) * | 2006-12-29 | 2008-07-03 | Nokia Corporation | Visual Effects For Video Calls |
US20080319746A1 (en) * | 2007-06-25 | 2008-12-25 | Kabushiki Kaisha Toshiba | Keyword outputting apparatus and method |
US20090019107A1 (en) * | 2007-07-10 | 2009-01-15 | International Business Machines Corporation | Adding syndication feeds to calendar data exchange enabled programs |
US20090117922A1 (en) * | 2007-11-01 | 2009-05-07 | David Rowland Bell | Alerts based on significance of free format text messages |
US20090164573A1 (en) * | 2007-12-20 | 2009-06-25 | International Business Machines Corporation | Method for forming ad hoc social networks in two dimensional collaboration |
US20090181651A1 (en) * | 2008-01-16 | 2009-07-16 | Research In Motion Limited | Method of managing inbound communications based on the current location of a wireless communications device |
US20090233632A1 (en) * | 2008-03-11 | 2009-09-17 | Kyocera Corporation | Mobile Communication Terminal Apparatus |
US7631260B1 (en) * | 2006-10-23 | 2009-12-08 | Adobe Systems Inc. | Application modification based on feed content |
US20100050090A1 (en) * | 2006-09-14 | 2010-02-25 | Freezecrowd, Inc. | System and method for facilitating online social networking |
US20100123724A1 (en) * | 2008-11-19 | 2010-05-20 | Bradford Allen Moore | Portable Touch Screen Device, Method, and Graphical User Interface for Using Emoji Characters |
US20100179991A1 (en) * | 2006-01-16 | 2010-07-15 | Zlango Ltd. | Iconic Communication |
US20100279667A1 (en) * | 2007-05-22 | 2010-11-04 | Wehrs Michael E | Keyword-based services for mobile device messages |
US20110135071A1 (en) * | 2009-12-04 | 2011-06-09 | David Milstein | System And Method For Converting A Message Via A Posting Converter |
US20110296324A1 (en) * | 2010-06-01 | 2011-12-01 | Apple Inc. | Avatars Reflecting User States |
US8117102B1 (en) * | 2004-09-27 | 2012-02-14 | Trading Technologies International, Inc. | System and method for assisted awareness |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819284A (en) | 1995-03-24 | 1998-10-06 | At&T Corp. | Personalized real time information display as a portion of a screen saver |
US20050125375A1 (en) | 2003-07-10 | 2005-06-09 | Lee Patrick R. | System and method for customizing web-enabled data in ticker format |
US8756228B2 (en) | 2006-02-16 | 2014-06-17 | Moreover Acquisition Corporation | Method and apparatus for creating contextualized feeds |
US7900149B2 (en) | 2007-06-08 | 2011-03-01 | Apple Inc. | Methods and systems for editing of web pages in an application capable of displaying web page content |
US8015141B2 (en) | 2008-02-18 | 2011-09-06 | Microsoft Corporation | Rule-based programming languages for entities in environments |
US20100161547A1 (en) | 2008-12-23 | 2010-06-24 | David Carmel | Personalized Web Feed Views |
-
2010
- 2010-12-14 US US12/967,078 patent/US9449308B2/en active Active
Patent Citations (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572233A (en) * | 1993-10-14 | 1996-11-05 | Casio Computer Co., Ltd. | Data storage apparatus capable of searching and displaying character data according to corresponding pictorial symbol data |
US5918238A (en) * | 1995-04-13 | 1999-06-29 | Fuji Xerox Co., Ltd. | Document processing apparatus which evaluates elements of a document and changes the color/format of elements that satisfy user-defined parameters |
US6441836B1 (en) * | 1998-06-05 | 2002-08-27 | Casio Computer Co., Ltd. | Display apparatus and display control method of displaying data together with icon representing contents of data |
US20030011643A1 (en) * | 2000-02-18 | 2003-01-16 | Minoru Nishihata | Representation data control system, and representation data control device constituting it, and recording medium recording its program |
US20030227568A1 (en) * | 2000-05-12 | 2003-12-11 | Stahl Thomas Anthony | Appratus and method for improved device interoperability |
US7207009B1 (en) * | 2000-11-01 | 2007-04-17 | Microsoft Corporation | Method and system for displaying an image instead of data |
US20020133522A1 (en) * | 2001-03-19 | 2002-09-19 | Greetham Laurence Raymond | Apparatus for facilitating access to information |
US20020193996A1 (en) * | 2001-06-04 | 2002-12-19 | Hewlett-Packard Company | Audio-form presentation of text messages |
US20050116956A1 (en) * | 2001-06-05 | 2005-06-02 | Beardow Paul R. | Message display |
US20050081150A1 (en) * | 2001-11-02 | 2005-04-14 | Beardow Paul Rowland | Method and apparatus for text messaging |
US20120030038A1 (en) * | 2002-07-31 | 2012-02-02 | Nicholas Russell | Animated Messaging |
US20070094330A1 (en) * | 2002-07-31 | 2007-04-26 | Nicholas Russell | Animated messaging |
US20040024822A1 (en) * | 2002-08-01 | 2004-02-05 | Werndorfer Scott M. | Apparatus and method for generating audio and graphical animations in an instant messaging environment |
US20040162877A1 (en) * | 2003-02-19 | 2004-08-19 | Van Dok Cornelis K. | User interface and content enhancements for real-time communication |
US20050078804A1 (en) * | 2003-10-10 | 2005-04-14 | Nec Corporation | Apparatus and method for communication |
US20050107127A1 (en) * | 2003-10-30 | 2005-05-19 | Nec Corporation | Data processing device, data processing method, and electronic device |
US20050143108A1 (en) * | 2003-12-27 | 2005-06-30 | Samsung Electronics Co., Ltd. | Apparatus and method for processing a message using avatars in a wireless telephone |
US20050156873A1 (en) * | 2004-01-20 | 2005-07-21 | Microsoft Corporation | Custom emoticons |
US20060068766A1 (en) * | 2004-09-15 | 2006-03-30 | Min Xu | Communication device with operational response capability and method therefor |
US8117102B1 (en) * | 2004-09-27 | 2012-02-14 | Trading Technologies International, Inc. | System and method for assisted awareness |
US20060167992A1 (en) * | 2005-01-07 | 2006-07-27 | At&T Corp. | System and method for text translations and annotation in an instant messaging session |
US20060282503A1 (en) * | 2005-06-14 | 2006-12-14 | Microsoft Corporation | Email emotiflags |
US20070094156A1 (en) * | 2005-09-28 | 2007-04-26 | Microsoft Corporation | User defined components for content syndication |
US20070101005A1 (en) * | 2005-11-03 | 2007-05-03 | Lg Electronics Inc. | System and method of transmitting emoticons in mobile communication terminals |
US20070171192A1 (en) * | 2005-12-06 | 2007-07-26 | Seo Jeong W | Screen image presentation apparatus and method for mobile phone |
US20100179991A1 (en) * | 2006-01-16 | 2010-07-15 | Zlango Ltd. | Iconic Communication |
US20080039124A1 (en) * | 2006-08-08 | 2008-02-14 | Samsung Electronics Co., Ltd. | Apparatus, a method, and a system for animating a virtual scene |
US20080134282A1 (en) * | 2006-08-24 | 2008-06-05 | Neustar, Inc. | System and method for filtering offensive information content in communication systems |
US20100050090A1 (en) * | 2006-09-14 | 2010-02-25 | Freezecrowd, Inc. | System and method for facilitating online social networking |
US7631260B1 (en) * | 2006-10-23 | 2009-12-08 | Adobe Systems Inc. | Application modification based on feed content |
US20080120258A1 (en) * | 2006-11-21 | 2008-05-22 | Hee-Sook Shin | Method for expressing emotion and intention in remote interaction and real emoticon system thereof |
US20080158334A1 (en) * | 2006-12-29 | 2008-07-03 | Nokia Corporation | Visual Effects For Video Calls |
US20100279667A1 (en) * | 2007-05-22 | 2010-11-04 | Wehrs Michael E | Keyword-based services for mobile device messages |
US20080319746A1 (en) * | 2007-06-25 | 2008-12-25 | Kabushiki Kaisha Toshiba | Keyword outputting apparatus and method |
US20090019107A1 (en) * | 2007-07-10 | 2009-01-15 | International Business Machines Corporation | Adding syndication feeds to calendar data exchange enabled programs |
US20090117922A1 (en) * | 2007-11-01 | 2009-05-07 | David Rowland Bell | Alerts based on significance of free format text messages |
US20090164573A1 (en) * | 2007-12-20 | 2009-06-25 | International Business Machines Corporation | Method for forming ad hoc social networks in two dimensional collaboration |
US20090181651A1 (en) * | 2008-01-16 | 2009-07-16 | Research In Motion Limited | Method of managing inbound communications based on the current location of a wireless communications device |
US20090233632A1 (en) * | 2008-03-11 | 2009-09-17 | Kyocera Corporation | Mobile Communication Terminal Apparatus |
US20100123724A1 (en) * | 2008-11-19 | 2010-05-20 | Bradford Allen Moore | Portable Touch Screen Device, Method, and Graphical User Interface for Using Emoji Characters |
US20110135071A1 (en) * | 2009-12-04 | 2011-06-09 | David Milstein | System And Method For Converting A Message Via A Posting Converter |
US20110296324A1 (en) * | 2010-06-01 | 2011-12-01 | Apple Inc. | Avatars Reflecting User States |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160350398A1 (en) * | 2010-12-17 | 2016-12-01 | Microsoft Technology Licensing, Llc | Hash tag management in a microblogging infrastructure |
US10417260B2 (en) * | 2010-12-17 | 2019-09-17 | Microsoft Technology Licensing, Llc | Hash tag management in a microblogging infrastructure |
EP2963555A4 (en) * | 2013-02-28 | 2016-02-24 | Gree Inc | Server, control method for server, and program |
US10122821B2 (en) | 2013-02-28 | 2018-11-06 | Gree, Inc. | Server, method of controlling server, and program |
US11115495B2 (en) | 2013-02-28 | 2021-09-07 | Gree, Inc. | Server, method of controlling server, and program |
US11743361B2 (en) | 2013-02-28 | 2023-08-29 | Gree, Inc. | Server, method of controlling server, and program |
EP3107247A4 (en) * | 2014-03-06 | 2017-03-08 | Huawei Technologies Co., Ltd. | Display style adjustment method, device, and system |
US20160267156A1 (en) * | 2015-03-10 | 2016-09-15 | Microsoft Technology Licensing. LLC | Transforming data to share across applications |
US10909138B2 (en) * | 2015-03-10 | 2021-02-02 | Microsoft Technology Licensing, Llc | Transforming data to share across applications |
USD800760S1 (en) * | 2015-10-30 | 2017-10-24 | Honeywell International Inc. | Display screen or portion thereof with graphical user interface |
US10140274B2 (en) * | 2017-01-30 | 2018-11-27 | International Business Machines Corporation | Automated message modification based on user context |
Also Published As
Publication number | Publication date |
---|---|
US9449308B2 (en) | 2016-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9449308B2 (en) | Defining actions for data streams via icons | |
US11343303B2 (en) | Techniques for identifying issues related to digital interactions on websites | |
Hashimi et al. | Pro Android 3 | |
US10762277B2 (en) | Optimization schemes for controlling user interfaces through gesture or touch | |
US9152219B2 (en) | Creation and context-aware presentation of customized emoticon item sets | |
JP6806894B2 (en) | Systems and methods for detecting improper enforcement of content item presentations by applications running on client devices | |
RU2541191C2 (en) | Content recommendations based on browsing information | |
US8996648B2 (en) | Social networking feed extensibility based on data types | |
EP2915031B1 (en) | Apparatus and method for dynamic actions based on context | |
US20120166522A1 (en) | Supporting intelligent user interface interactions | |
JP2014131736A (en) | Systems and methods for tagging content of shared cloud executed mini-games and tag sharing controls | |
US8775554B2 (en) | Cloud-based web page applications for extending functionality | |
EP3090357B1 (en) | Hosted application marketplaces | |
US9477399B1 (en) | Automated interaction for mobile applications | |
US20150205767A1 (en) | Link appearance formatting based on target content | |
TW202125255A (en) | Applet code scanning method and device | |
CN105872767A (en) | Method and apparatus for guiding sharing based on user behaviors | |
US11811718B2 (en) | System and method for generating and rendering intent-based actionable content using input interface | |
WO2016200715A1 (en) | Transitioning command user interface between toolbar user interface and full menu user interface based on use context | |
Cardoso et al. | Creating web-based interactive public display applications with the PuReWidgets toolkit | |
WO2021183140A1 (en) | System for filtering displayed content at the os level | |
Ramnath | Android 3 SDK Programming for Dummies | |
Korhonen et al. | Creating Mashups with Adobe Flex and AIR | |
Beltran | Getting Started with PhantomJS | |
EP3394806A1 (en) | Providing task oriented organization of communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHIFF, RACHEL;MAO, ZHIHONG;ZARAGOZA, RICHARD IGNACIO;SIGNING DATES FROM 20101208 TO 20101209;REEL/FRAME:025497/0044 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0001 Effective date: 20141014 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |