r20 - 15 Aug 2005 - 16:43:01 - MimiYinYou are here: OSAF >  Projects Web  >  UIDesignArchives > RuleBuilder

Rule builder

Status Proposal. Need to collect and examine sample data.

Motivation

  • Uniform UX (user experience) for building rules, browsing collections and creating filters to automate processing and triage
  • Visualize rule building to help users build complex rules
  • Rule building interface should harmonize with the Exportable Addresses skeleton
  • Make it easy for users to use rule-based collections to string together an assembly line life cycle to process their items [Not in Canoga]

Use cases

  • Auto-process: Mailing list filters (ie. Mark as archive all messages from devlist) See AutoProcessingWantedMail?
  • Auto-organize: Filing filters (ie. Add all tasks from gerioke.net to the gerioke collection)
  • Auto-organize: Weekly reviews (ie. Show me incomplete tasks older than a week)
  • ORs are more common than ANDs in populating collections, but both are important. [INSERT sample rules]
  • (X+Y+X) / (A+B+C) are probably more common than (X/Y/Z) + (A/B/C)

For Canoga, we've decided to give up the assembly line metaphor... RuleBuilder20040724

Structure

  • Browsing v. Filtering v. Rule-building

  • Browsing is a way to browse your items by attribute (ie. iTunes browse mode). The browser is a visual UI for search. The result set is temporary (ephemeral collection). Users may save the browse results as a filter or as a rule for a new collection. See BrowserDesign

  • Filtering In and only in the Dashboard view, users can create rules to automatically Mark, Move items to Archive / Junk / Trash, or Add items to collections. ie:
    • Mark: Mark tasks from Corinne as Important
    • Move: Junk messages from ChiaHair?.net
    • Label: Add items older than 2 weeks old to the On the way out collection
    • Filters_Worfklow.gif:
      Filters_Worfklow.gif

    • Mark v Move
    • In Filters, there is a significant difference between Marking items and Moving items.
    • Marking an item as "Archive" will only change the Triage status of the item in the Dashboard view from Processing to Archive. The item will remain in the Dashboard view until the user Purges the items.
    • Moving an item to Archive will automatically move the item to the Archive collection so that it basically skips the "Dashboard view" altogether.
    • Move_v_Mark.gif:
      Move_v_Mark.gif

  • Rule-building Users can populate a collection with an attribute-based rule.
    • Add
    • Remove
    • Options: Fine-tuning a rule
      • Label / Mark items with this rule
      • Allow items that violate this rule
    • View menu option to see all the rules overlayed in the Browser at the same time.

  • Further assertions
  • ADD and MOVE filters in the Dashboard view are reflected as ADD rules in their respective collections (see storyboards above)
  • The following collections cannot have user-defined rules:
    • Dashboard
    • In
    • Out

  • Menu items in the Collections menu
  • View inclusions
  • View exclusions

  • Attributes and Attribute values
  • This spreadsheet shows the attributes and attribute values users can choose from to define their rules AS WELL AS verb clauses to fine-tune their rules
  • RuleBuilder_20040713.xls:

Workflows

  • Statements v Browsers

  • Statement to Browser
  • There are two mutually reinforcing ways for users to build filters and rules. The simpler of the two is select from a list of customizable statement templates.
  • Users can customize these templates by clicking and holding and selecting alternate attribute values.
  • Users can further "complicate" their parameters by loading the statement into the Browser and editing it there.

  • Browser to Statement
  • Conversely, users can start by browsing and setting parameters and then Saving it as a Filter or Rule
  • Filters: If users save a set of paramenters as a Filter for the Dashboard view, they must also select the Filter action (ie. Mark, Move, Add to)
  • Rules: Users can choose between saving the parameters as a Rule for the collection they are currently in OR to create a new collection with the rule.

  • Statements_v_Browser.gif:
    Statements_v_Browser.gif

  • Filters_Rules_Workflows.gif:
    Filters_Rules_Workflows.gif

Workflows: Creating filters in the Dashboard view

Starting from scratch with the Browser

  1. Search for / Browse to what you want
  2. Save as filter
  3. Saves rule to "Filters list" above the browser UI
  4. Turn filters on and off with checkboxes

Starting with a template statement

  1. Add filter
  2. Chandler adds templated filter statement (a la rule builder in Vista) to "Filters list"
  3. Customize statement

Starting with an example item

  1. Select item in Dashboard view
  2. Right-click / Menu item: Create filter using this item
  3. Chandler intelligently guesses right statement: Mark as archive if:
    • Message is from mailinglist.net
    • Message is about [mailing list]
  4. Check all that apply, customize statement if you need to
  5. Save as filter. Filter is added to Filters list above the browser UI.

Advanced

  1. Click Edit to edit the "if" parameters of the selected filter in the browser UI
  2. Chandler loads parameters into browser UI
  3. User can make rule more complicated with added AND and OR clauses
  4. Additional clauses are reflected in the selected filter statement
  5. Click save

OOTB Filters

  • Mark unread messages as Important
  • Mark queued messages as Important
  • Mark archived items as FYI
  • Mark messages where you are in the CC or BCC as FYI
  • Mark messages sent to a mailing as FYI
  • Mark messages sent to more than 10 people as FYI

Workflows: Populating collections with a rule

Q Why is a rule-based program action easier for the user to understand than saved queries defined by inclusions and exclusions?

A More natural to the way people think and describe things.

    • ie. Add all things that are Foo and then Remove all things that are Done
    • Instead of thinking of it as: All things that are Foo and not Done

It allows people to step through a query, add too much, remove what they don't want. Add a little more and then remove a little more. It's like pouring water into a measuring cup. It's easier to be able to overpour and then pour out the extra then to pour exactly the right amount. It gives people the flexibility of having a margin of error that they can reduce slowly through trial and error.

They can also get immediate feedback on their rule. Rather than creating a rule and than keeping their fingers crossed that they're going to end up with what they want. They can watch the collection fill up and filter down with items as they're setting the parameters for the rule. This is an invaluable teaching affordance that allows users to learn by their own example of how rules work and how best to use them.

Maxim: The best way for users to learn UI is to give them immediate, informed, meaningful feedback on their actions.

Starting with a template

  1. Add rule
  2. Chandler adds templated rule statement (a la rule builder in Vista) to "Rules list"
  3. Customize statement

Starting from scratch

  1. Search for / Browse to what you want
  2. Save as rule
  3. Saves rule to "Rules list" above the browser UI
  4. Turn rules on and off with checkbox

Advanced

  1. Click Edit to edit selected rule in browser UI
  2. Chandler loads rule into browser UI
  3. User can make rule more complicated with added AND and OR clauses
  4. Additional clauses are reflected in the selectedn rule statement
  5. Click save

Wireframes and Spreadsheet of Attributes and Attribute values

  • This is a composite view of Filter / Rule statements and the Browser UI below.
  • Both sections are openable and closable
  • Statements above can be "loaded" into the Browser below one at a time to be expanded and made more complex
  • Browser parameters below can be "saved" and added to the list of statements above
  • Save can mean 1 of 3 things:
    • Save as filter for Dashboard view
    • Save as rule for current collection
    • Save as rule for new collection
  • All of this can happen behind the scenes as well by just using the Search bar

  • Browser and Filter builder for Dashboard view
    RuleBuilder_20040713.gif

Simplified workflow proposal for Canoga v.1 Rule builder

  • Trix are for kids
  • Filters are for Dashboard
  • Rules are for user-defined collections

  • Creating a new filter or rule for currently selected collection
  • Select New filter / rule from Collections menu OR
  • Right-click on a collection in Sidebar

  • Creating a new user-defined rule-based collection
  • Type a search term and click Save

  • Editing filters / rules of currently selected collection
  • Select Edit filter / rule from Collections menu OR
  • Right-click on a collection in Sidebar OR
  • Click Edit button (toggles with Save button when there isn't a search term in the Search field)
  • Opens filter / rule builder UI

  • Edit filters / rules to fine-tune statements
  • Check boxes to turn filters / rules on and off
  • Select a filter / rule statement to reveal editable terms
  • Use pulldown to fine-tune statement

  • Filter statement structure
  • [Action] [kind of items] [preposition] [object] as [attribute value]
  • Example: Mark emails from Tom as Deferred until Tomorrow.

  • Rule statement structure
  • Add [Kind of items] [preposition] [object]
  • Example: Add tasks marked as Done

  • Rule-builder-simplified.gif:
    Rule-builder-simplified.gif

Open issues and Corner cases from Stuart and Chao

  • What happens if I explicitly drag in an item that is already a member of the collection by virtue of the rule?
    • Does it get added to the inclusions list? A No
    • Does it appear twice in the collection? A No
  • If I explicitly drag an item into a collection and it violates the rule, then when I drag it out of the collection, does it get put on the exclusions list? or is it simply removed from the inclusions list? A It is put on the exclusions list.
  • If user adds a rule that includes items on the exclude list, we can offer a checkbox for users to re-include previously excluded items.
  • If I explicitly add an item into a collection and then I add a rule to the collection that happens to apply to the explicitly added item, does the item stay in the collection as a member of the inclusions list? or by virtue of satisfying the rule? A By virtue of satisfying the rule.
  • If I then remove the rule, does the explicitly added item get removed along with the rest of the items that are in the collection by virtue of the rule? A Yes
    • [OI?] We could also model it so that removing a rule doesn't actually remove the items that satisfy the rule, it simply stops future items from being added to the collection as a result of the rule. We should probably have a pop-up window to ask the user what they want: To remove both the rule and the items that satisfy the rule? or just to remove the rule.

  • Sentence structure of rules
  • [Mark-up status] [Kind] from / to [Contact] about [Keyword]
  • Deferred messages from Friggle about Cakes from the last 2 weeks
  • OOTB sentence: -All- -items- -from- -Aardvark- -in the last 2 weeks-

Kibble Rule Builder

  • Assumptions
  • Rules are attached to collections
  • To the user, there are 4 kinds of rules: Mark, Add, Remove, Junk
  • All rules in all user-defined collections, In, Out and
  • Users can only edit rules in the All mode

  • Workflow Starting from the rule builder
  • Collection menu >> Edit rule
  • OOTB, Chandler provides template rules that users can edit. By default, none of the rules are selected.
  • Check and uncheck rules to turn them on and off
  • Select a rule and click edit to bring up Detail view of that rule

-- MimiYin - 29 Apr 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r20 < r19 < r18 < r17 < r16 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.