SlideShare a Scribd company logo
Conditional Logic,
Variables, & Raised Events
  Presented by Loren Baxter & Fred Beecher
Conditional Logic: WTF is it?

  Conditional logic allows you to prototype dynamic
interactions that respond to user input and actions in
                       real time.
WTF do you use it for?
 Forms                            Streamlining Prototypes

  •   Dynamic feedback             •   Reducing the number of
      messages                         dynamic panels/states
                                       required to prototype
  •   Conditional visibility of        advanced interactions
      functionality

  •   In-field labels               •   Dynamically configuring
                                       navigation masters that
 Advanced Interactions                 appear on all pages

  •   Predictive search            •   Dynamically supporting
                                       different functionality for
  •   Faceted browsing                 different logins (user types)

  •   Filtering & sorting

  •   Personalization
Variables: Isn’t that programming?


 Variables allow you to remember data entered or
selections made by users on one page and use it on
                 one or more pages
Stuff you can do with variables
  •   Store & display usernames       •   Use a shipping address
                                          entered on one page as a
  •   Store states, e.g., whether a       billing address on another
      user is logged in or not            page
  •   Store user types to control
                                      •   Keep track of which pages
      what features are displayed         have been visited during a
  •   Display the selected option         session
      of a dropdown from one
      page within the text of         •   Store user preferences to
                                          mimic sessions
      another page
Raised events? Okay, seriously.

Raised events allow you to create custom interactions
attached to different instances of the same master...

   and if you understand any of that we’re very
impressed and think that you should give the rest of
                     this talk.

   Seriously though.We’ll explain for real. Promise.
Conditional Logic
How to create conditions
You can create one condition per case. Multiple conditions on the
same interaction require multiple cases.
 1. Double-click any interaction to create a new case
 2. Click on “Add Condition” at the top of the case properties dialog
 3. Use the Condition Builder dialog to specify the components of your
    condition
 4. Choose to match all components or any component
Conditions can be set on...
•   The value of a variable
•   Whether a given checkbox or radio button is selected
•   The current selection(s) in drop lists and list boxes
•   Text displayed in a text field or text area
•   The currently displayed state of a dynamic panel (awesome!)
•   Whether a dynamic panel is currently visible (super awesome!)
•   The number of characters in a text field or area (weird but useful)
•   The number of characters in a variable (weird but occasionally useful)
Enough talk! Let’s do stuff!
Login form with feedback
1. Create dynamic panels for each field, with
   one state per error message

2. Set the panels to hidden

3. Add a case for each possible error to the
   OnClick interaction on the Login button, plus
   one for no error

4. If there is an error, change the state of the
   appropriate panel to the appropriate state

Wait... what if I want to display multiple errors at
once?

   We’ll talk about that in the Logic Tricks section
                     coming up.
A little more complex this time...
Login form w/inline validation
1. Create the firsrt field and validation panel.

2. Create all the states of the validation panel.

3. Set up OnLostFocus logic on the first field.

4. Repeat for each new field, including case
   specific errors and logic.

5. Set up logic on submit button.appropriate
   panel to the appropriate state
Conditional Logic Tricks
•   Executing more than one case at a time
•   Choosing which case to execute dynamically
•   Affecting the logic in the OnPageLoad interaction of a master through
    the OnPageLoad interaction of the pages they’re assigned to
Executing Multiple Cases
                Multiple file upload with
                feedback
                1. Create the first file upload field in a dynamic
                   panel.

                2. Create all states for the DP.

                3. Set up the "Browse File" interaction to place
                   text in the field.

                4. Copy the DP a few times, update all labels
                   and values (there are more than you think!)

                5. Set the Upload button to check each field for
                   text and set panel states accordingly. Be sure
                   to change ELSE IF to IF.
Letting the User Choose
               Choosing cases manually
               1. Create the "Weather" panel with empty, day,
                  and night states.

               2. Place the "Check Weather" button.

               3. Create two onclick cases for the button, label
                  each one.

               4. Be sure not to set any conditions.
Variables
Variables let you do 3 things
1. Store a text value
2. Read that value
3. Check how many characters the value is


             But before you do anything, you need to create them!
How to create variables
There are two ways...
 1. Go to Wireframe > Manage Variables or
 2. Click on “Add New...” at the bottom of the variable list on the
    Condition Builder dialog or the Set Variable dialog




Variable names must contain 25 characters or less and be alphanumeric
Variables have issues, just like us
 Issues                             Solutions

  •   Internet Explorer chokes if    •   Don’t use IE, or...
      you use too many variables
                                     •   Limit yourself to 25
                                         variables

  •   Navigating through your        •   You can’t do much about
      prototype with the                 this other than be aware of
      generated site map clears          it if your prototype starts
      variable values                    having problems

  •   Variable values can stick      •   Add a hidden button on the
      around between user tests          first page of your prototype
                                         that does nothing but set all
                                         variable values to blank
Enough talk! Let’s do stuff!
Persistent font size selector
1. Create the page structure and fill in
   homepage.

2. Create a DP that contains the diff font sizes.

3. Set up the font size buttons to change the
   DP and set the FontSize variable.

4. Use onPageLoad to set the proper DP state.

5. Make the Article pages similarly and link it all
   together.
Telling people who they are
Persistent username display
1. Create the login UI

2. Make clicking the Log In button store the
   username in a variable and go to another
   page.

3. Create a master with a text panel that will
   display the username

4. Assign that master to every page

5. On OnPageLoad of the master, make it so
   the text panel shows the username if the
   username variable isn't blank
Variable Tricks
•   Inserting variable text into text panels, fields, & areas
•   Recursively inserting variable text into text panels, fields, & areas
•   “Borrowing” variables temporarily
•   Affecting the logic in the OnPageLoad interaction of a master through
    the OnPageLoad interaction of the pages they’re assigned to


         Make sure to check out Loren & Jeff ’s Tips & Tricks panel for
                        INSANE variable weirdness!
Getting Fancier with Variables
Entering a pin via keypad
1. Create the keypad and textfield.

2. Set up the CurrentDigits variable.

3. Create the button logic:

  •   Check for four digits

  •   Insert the new digit

  •   Check for success condition

4. Copy the logic to each button, update the
   specifics.
OnPageLoad Order
•   Masters have OnPageLoad too!
•   When a page loads, the page’s OnPageLoad interaction is executed
    before the OnPageLoad of any masters on the page
•   This lets you streamline dynamic prototypes by allowing you to put
    complex logic & cases on a master once rather than on multiple pages


Okay, so how?
1. On master OnPageLoads, create conditions based on the value of a
   variable
2. On page OnPageLoads, set the value of the variable that master
   OnPageLoads are evaluating
OnPageLoad Order - Example
OnPageLoad - Master   Static accordion navigation
                      1. Create a side-nav master composed of one
                         single-state dynamic panel per main nav item
                      2. Add a transparent rectangle with the link
                         text to the panel state (define selected style)
                      3. Create a second panel & add the sub-
                         navigation links to it & set it to hidden
                      4. Create a variable called NavVar
                      5. Add one case for each main nav item to the
                         master’s OnPageLoad interaction
                      6. Make each case conditional on a different
                         value of NavVar
                      7. On each case, set it to make the nav link
OnPageLoad - Page        selected, show the subnav panel, & move the
                         panels below it down
                      8. Set the appropriate value of NavVar on each
                         page’s OnPageLoad interaction
Raised Events
Crappy name, awesome feature
Raised events allow you to make masters that can affect objects
outside of them through custom interactions
Part 1: Raise an event                             Interactions Pane - Widget on Master

1. Add the “Raise Event” action to any
   interaction on a widget within a master

2. Add an event, paying attention to syntax, and
   select it

Part 2: Use the custom interaction                 Interactions Pane - Master Instance

1. Drag an instance of the master to a page and
   select it

2. Check out the interactions pane... the event
   you raised shows up as an interaction!

3. Assign actions to the interaction like normal
Uses for raising events
1. Re-using interactive functionality that needs to affect widgets outside
   itself
2. Re-using interactive functionality that needs to work slightly
   differently in each instance
3. Creating & maintaining a tightly controlled pattern library
Faceted Navigation
Facet Master & Item List   1. Create a master composed of one single-
                              state dynamic panel per facet
                           2. Add a transparent rectangle with the link
                              text to the panel state (define selected style)
                           3. Create a second panel with enough states to
                              accommodate all values that can be selected.
                              Add value links to the default state.
                           4. Add the Raise Event action to EVERY value
                              link
                           5. Add actions for affecting the facets to
                              appropriate value links (setting panel states,
                              moving panels, hiding, toggling selected)
                           6. Add Facets master to a page
                           7. Create a results list dynamic panel
                           8. Assign Set Panel State actions to the raised
                              events to allow choosing a facet value to
                              switch the state of the results panel
Loren Baxter            Fred Beecher
loren.baxter@gmail.com   fbeecher@gmail.com
    @lorenbaxter           @fred_beecher

More Related Content

What's hot

Future Trends in IoT Development for 2024.pdf
Future Trends in IoT Development for 2024.pdfFuture Trends in IoT Development for 2024.pdf
Future Trends in IoT Development for 2024.pdf
AddWeb Solution Pvt. Ltd.
 
Ramesh kutumbaka resume
Ramesh kutumbaka resumeRamesh kutumbaka resume
Ramesh kutumbaka resume
Ramesh Kutumbaka
 
Internet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and ApplicationsInternet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and Applications
Dr. Mazlan Abbas
 
Internet Of Things (IoT)
Internet Of Things (IoT) Internet Of Things (IoT)
Internet Of Things (IoT)
kiran kumar
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
Krishna Patel
 
Get Connected
Get ConnectedGet Connected
Get Connected
Abdul Wahab
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
Edureka!
 
Photonic Integrated Circuit Technology
Photonic Integrated Circuit TechnologyPhotonic Integrated Circuit Technology
Photonic Integrated Circuit Technology
Rinu Antony
 
Internet of things(IoT)
Internet of things(IoT)Internet of things(IoT)
Internet of things(IoT)
NAGUR SHAREEF SHAIK
 
Internet Of Things
Internet Of ThingsInternet Of Things
Internet Of Things
Rohan M
 
Core technologies
Core technologies Core technologies
Core technologies
JJRTEACH
 
業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案
業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案
業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案
e-Patent Co., Ltd.
 
Blockchain and Internet of Things
Blockchain and Internet of ThingsBlockchain and Internet of Things
Blockchain and Internet of Things
Valerie Lampkin
 
Neuromorphic Computing and Sensing 2021 - Sample
Neuromorphic Computing and Sensing 2021 - SampleNeuromorphic Computing and Sensing 2021 - Sample
Neuromorphic Computing and Sensing 2021 - Sample
Yole Developpement
 
Internet of nano things
Internet of nano thingsInternet of nano things
Internet of nano things
CV Kashyap
 
ICT R&D 기술로드맵 2023 총괄보고서
ICT R&D 기술로드맵 2023 총괄보고서ICT R&D 기술로드맵 2023 총괄보고서
ICT R&D 기술로드맵 2023 총괄보고서
주식회사솔루팜
 
DARQ power driving value for the Communications Industry
DARQ power driving value for the Communications Industry DARQ power driving value for the Communications Industry
DARQ power driving value for the Communications Industry
accenture
 
Sigfox Overview
Sigfox OverviewSigfox Overview
Sigfox Overview
Nicolas Lesconnec
 
Understanding IoT
Understanding IoTUnderstanding IoT
Understanding IoT
Md. Shamsul Haque
 

What's hot (20)

Future Trends in IoT Development for 2024.pdf
Future Trends in IoT Development for 2024.pdfFuture Trends in IoT Development for 2024.pdf
Future Trends in IoT Development for 2024.pdf
 
Ramesh kutumbaka resume
Ramesh kutumbaka resumeRamesh kutumbaka resume
Ramesh kutumbaka resume
 
Internet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and ApplicationsInternet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and Applications
 
Internet Of Things (IoT)
Internet Of Things (IoT) Internet Of Things (IoT)
Internet Of Things (IoT)
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Get Connected
Get ConnectedGet Connected
Get Connected
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
 
Photonic Integrated Circuit Technology
Photonic Integrated Circuit TechnologyPhotonic Integrated Circuit Technology
Photonic Integrated Circuit Technology
 
Internet of things(IoT)
Internet of things(IoT)Internet of things(IoT)
Internet of things(IoT)
 
Internet Of Things
Internet Of ThingsInternet Of Things
Internet Of Things
 
Core technologies
Core technologies Core technologies
Core technologies
 
業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案
業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案
業界・業種による特許価値の違いと”知的財産・知的資産”価値評価の試案
 
Blockchain and Internet of Things
Blockchain and Internet of ThingsBlockchain and Internet of Things
Blockchain and Internet of Things
 
IT Jobs Ppt
IT Jobs PptIT Jobs Ppt
IT Jobs Ppt
 
Neuromorphic Computing and Sensing 2021 - Sample
Neuromorphic Computing and Sensing 2021 - SampleNeuromorphic Computing and Sensing 2021 - Sample
Neuromorphic Computing and Sensing 2021 - Sample
 
Internet of nano things
Internet of nano thingsInternet of nano things
Internet of nano things
 
ICT R&D 기술로드맵 2023 총괄보고서
ICT R&D 기술로드맵 2023 총괄보고서ICT R&D 기술로드맵 2023 총괄보고서
ICT R&D 기술로드맵 2023 총괄보고서
 
DARQ power driving value for the Communications Industry
DARQ power driving value for the Communications Industry DARQ power driving value for the Communications Industry
DARQ power driving value for the Communications Industry
 
Sigfox Overview
Sigfox OverviewSigfox Overview
Sigfox Overview
 
Understanding IoT
Understanding IoTUnderstanding IoT
Understanding IoT
 

Viewers also liked

Axure Predictive Search Demo
Axure Predictive Search DemoAxure Predictive Search Demo
Axure Predictive Search Demo
Jonathan Lupo
 
How to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and moreHow to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and more
Sandra González
 
How to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilityHow to Extend Axure's Animation Capability
How to Extend Axure's Animation Capability
Svetlin Denkov
 
Managing Visual Design in Axure
Managing Visual Design in AxureManaging Visual Design in Axure
Managing Visual Design in Axure
Fred Beecher
 
Level-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping PowerhouseLevel-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Daniel Newman
 
Prototyping invision vs axure
Prototyping invision vs axurePrototyping invision vs axure
Prototyping invision vs axure
Andrii Rusakov
 
Card sorting exercise
Card sorting exerciseCard sorting exercise
Card sorting exercise
HiraminDallas
 
Axure for dummies, that don't even know they are
Axure for dummies, that don't even know they areAxure for dummies, that don't even know they are
Axure for dummies, that don't even know they are
Oscar Gonzalez Garza
 
Sorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card SortingSorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card Sorting
Stephen Anderson
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability Testing
Andy Budd
 
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazosDjango - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
Igor Sobreira
 
advance auto parts 2004_ar
advance auto parts 2004_aradvance auto parts 2004_ar
advance auto parts 2004_arfinance48
 
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...
Clive Maclean
 
Fetish Furniture Portfolio
Fetish Furniture  PortfolioFetish Furniture  Portfolio
Fetish Furniture PortfolioCharles Powers
 
jose juan
jose juanjose juan
jose juan
guest5653c8
 
omnicare annual reports 1999
omnicare annual reports 1999omnicare annual reports 1999
omnicare annual reports 1999finance46
 
SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011
Johan Lapidaire
 
Development and Testing of a Conceptual Framework for Asking about Intoxication
Development and Testing of a Conceptual Framework for Asking about IntoxicationDevelopment and Testing of a Conceptual Framework for Asking about Intoxication
Development and Testing of a Conceptual Framework for Asking about Intoxication
Christine Maddern (Market & Social Researcher)
 
liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003finance48
 

Viewers also liked (20)

Axure Predictive Search Demo
Axure Predictive Search DemoAxure Predictive Search Demo
Axure Predictive Search Demo
 
How to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and moreHow to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and more
 
How to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilityHow to Extend Axure's Animation Capability
How to Extend Axure's Animation Capability
 
Managing Visual Design in Axure
Managing Visual Design in AxureManaging Visual Design in Axure
Managing Visual Design in Axure
 
Level-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping PowerhouseLevel-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
 
Prototyping invision vs axure
Prototyping invision vs axurePrototyping invision vs axure
Prototyping invision vs axure
 
Card sorting exercise
Card sorting exerciseCard sorting exercise
Card sorting exercise
 
Axure for dummies, that don't even know they are
Axure for dummies, that don't even know they areAxure for dummies, that don't even know they are
Axure for dummies, that don't even know they are
 
Sorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card SortingSorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card Sorting
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability Testing
 
Tootsie
TootsieTootsie
Tootsie
 
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazosDjango - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
 
advance auto parts 2004_ar
advance auto parts 2004_aradvance auto parts 2004_ar
advance auto parts 2004_ar
 
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...
 
Fetish Furniture Portfolio
Fetish Furniture  PortfolioFetish Furniture  Portfolio
Fetish Furniture Portfolio
 
jose juan
jose juanjose juan
jose juan
 
omnicare annual reports 1999
omnicare annual reports 1999omnicare annual reports 1999
omnicare annual reports 1999
 
SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011
 
Development and Testing of a Conceptual Framework for Asking about Intoxication
Development and Testing of a Conceptual Framework for Asking about IntoxicationDevelopment and Testing of a Conceptual Framework for Asking about Intoxication
Development and Testing of a Conceptual Framework for Asking about Intoxication
 
liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003
 

Similar to Conditional Logic, Variables, & Raised Events in Axure

Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2
Tim Huang
 
Win8 development lessons learned jayway
Win8 development lessons learned jaywayWin8 development lessons learned jayway
Win8 development lessons learned jayway
Andreas Hammar
 
5 free tools for web accessibility testing
5 free tools for web accessibility testing5 free tools for web accessibility testing
5 free tools for web accessibility testing
John McNabb
 
Beginning jQuery Mobile
Beginning jQuery MobileBeginning jQuery Mobile
Beginning jQuery Mobile
Troy Miles
 
Hsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdfHsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdf
AAFREEN SHAIKH
 
WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)
Prashanth Shivakumar
 
Visual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdfVisual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdf
sheenmarie0212
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE Introduction
Ahllen Javier
 
React learning in the hard way
React   learning in the hard wayReact   learning in the hard way
React learning in the hard way
Chen Feldman
 
iOS storyboard
iOS storyboardiOS storyboard
iOS storyboard
MinHyeok Kim
 
##dd12 sviluppo mobile XPages
##dd12 sviluppo mobile XPages##dd12 sviluppo mobile XPages
##dd12 sviluppo mobile XPages
Dominopoint - Italian Lotus User Group
 
React more than just components
React   more than just componentsReact   more than just components
React more than just components
Chen Feldman
 
Intro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast BriefingIntro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast Briefing
Stephen Denning
 
Axure 7 breakfast briefing slides
Axure 7 breakfast briefing slidesAxure 7 breakfast briefing slides
Axure 7 breakfast briefing slidesUser Vision
 
Javascript spaghetti stirtrek_5_17
Javascript  spaghetti stirtrek_5_17Javascript  spaghetti stirtrek_5_17
Javascript spaghetti stirtrek_5_17Jared Faris
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
Sargis Sargsyan
 
Fm pro migrator quickeys installation
Fm pro migrator quickeys installationFm pro migrator quickeys installation
Fm pro migrator quickeys installation
fmcloud
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
Dave Haeffner
 

Similar to Conditional Logic, Variables, & Raised Events in Axure (20)

Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2
 
Win8 development lessons learned jayway
Win8 development lessons learned jaywayWin8 development lessons learned jayway
Win8 development lessons learned jayway
 
5 free tools for web accessibility testing
5 free tools for web accessibility testing5 free tools for web accessibility testing
5 free tools for web accessibility testing
 
Beginning jQuery Mobile
Beginning jQuery MobileBeginning jQuery Mobile
Beginning jQuery Mobile
 
Hsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdfHsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdf
 
Unit2
Unit2Unit2
Unit2
 
WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)
 
Dreamweaver8
Dreamweaver8Dreamweaver8
Dreamweaver8
 
Visual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdfVisual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdf
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE Introduction
 
React learning in the hard way
React   learning in the hard wayReact   learning in the hard way
React learning in the hard way
 
iOS storyboard
iOS storyboardiOS storyboard
iOS storyboard
 
##dd12 sviluppo mobile XPages
##dd12 sviluppo mobile XPages##dd12 sviluppo mobile XPages
##dd12 sviluppo mobile XPages
 
React more than just components
React   more than just componentsReact   more than just components
React more than just components
 
Intro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast BriefingIntro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast Briefing
 
Axure 7 breakfast briefing slides
Axure 7 breakfast briefing slidesAxure 7 breakfast briefing slides
Axure 7 breakfast briefing slides
 
Javascript spaghetti stirtrek_5_17
Javascript  spaghetti stirtrek_5_17Javascript  spaghetti stirtrek_5_17
Javascript spaghetti stirtrek_5_17
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
 
Fm pro migrator quickeys installation
Fm pro migrator quickeys installationFm pro migrator quickeys installation
Fm pro migrator quickeys installation
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
 

Recently uploaded

一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
h7j5io0
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
cy0krjxt
 
Research 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdfResearch 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdf
ameli25062005
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid them
madhavlakhanpal29
 
Top Israeli Products and Brands - Plan it israel.pdf
Top Israeli Products and Brands - Plan it israel.pdfTop Israeli Products and Brands - Plan it israel.pdf
Top Israeli Products and Brands - Plan it israel.pdf
PlanitIsrael
 
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
708pb191
 
RTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,DRTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,D
cy0krjxt
 
7 Alternatives to Bullet Points in PowerPoint
7 Alternatives to Bullet Points in PowerPoint7 Alternatives to Bullet Points in PowerPoint
7 Alternatives to Bullet Points in PowerPoint
Alvis Oh
 
原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样
原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样
原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样
gpffo76j
 
Book Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for DesignersBook Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for Designers
Confidence Ago
 
Portfolio.pdf
Portfolio.pdfPortfolio.pdf
Portfolio.pdf
garcese
 
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Mansi Shah
 
Let's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons ShirtLet's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons Shirt
TeeFusion
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
cy0krjxt
 
Borys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior designBorys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior design
boryssutkowski
 
20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf
ameli25062005
 
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
smpc3nvg
 
一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理
一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理
一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理
9a93xvy
 
projectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdfprojectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdf
farazahmadas6
 
Transforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting ProfitabilityTransforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting Profitability
aaryangarg12
 

Recently uploaded (20)

一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
一比一原版(Bolton毕业证书)博尔顿大学毕业证成绩单如何办理
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
 
Research 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdfResearch 20 slides Amelia gavryliuks.pdf
Research 20 slides Amelia gavryliuks.pdf
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid them
 
Top Israeli Products and Brands - Plan it israel.pdf
Top Israeli Products and Brands - Plan it israel.pdfTop Israeli Products and Brands - Plan it israel.pdf
Top Israeli Products and Brands - Plan it israel.pdf
 
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
一比一原版(UAL毕业证书)伦敦艺术大学毕业证成绩单如何办理
 
RTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,DRTUYUIJKLDSADAGHBDJNKSMAL,D
RTUYUIJKLDSADAGHBDJNKSMAL,D
 
7 Alternatives to Bullet Points in PowerPoint
7 Alternatives to Bullet Points in PowerPoint7 Alternatives to Bullet Points in PowerPoint
7 Alternatives to Bullet Points in PowerPoint
 
原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样
原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样
原版定做(penn毕业证书)美国宾夕法尼亚大学毕业证文凭学历证书原版一模一样
 
Book Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for DesignersBook Formatting: Quality Control Checks for Designers
Book Formatting: Quality Control Checks for Designers
 
Portfolio.pdf
Portfolio.pdfPortfolio.pdf
Portfolio.pdf
 
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...
 
Let's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons ShirtLet's Summon Demons Shirt Let's Summon Demons Shirt
Let's Summon Demons Shirt Let's Summon Demons Shirt
 
Design Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinkingDesign Thinking Design thinking Design thinking
Design Thinking Design thinking Design thinking
 
Borys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior designBorys Sutkowski portfolio interior design
Borys Sutkowski portfolio interior design
 
20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf20 slides of research movie and artists .pdf
20 slides of research movie and artists .pdf
 
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
一比一原版(Bristol毕业证书)布里斯托大学毕业证成绩单如何办理
 
一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理
一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理
一比一原版(RHUL毕业证书)伦敦大学皇家霍洛威学院毕业证如何办理
 
projectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdfprojectreportnew-170307082323 nnnnnn(1).pdf
projectreportnew-170307082323 nnnnnn(1).pdf
 
Transforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting ProfitabilityTransforming Brand Perception and Boosting Profitability
Transforming Brand Perception and Boosting Profitability
 

Conditional Logic, Variables, & Raised Events in Axure

  • 1. Conditional Logic, Variables, & Raised Events Presented by Loren Baxter & Fred Beecher
  • 2. Conditional Logic: WTF is it? Conditional logic allows you to prototype dynamic interactions that respond to user input and actions in real time.
  • 3. WTF do you use it for? Forms Streamlining Prototypes • Dynamic feedback • Reducing the number of messages dynamic panels/states required to prototype • Conditional visibility of advanced interactions functionality • In-field labels • Dynamically configuring navigation masters that Advanced Interactions appear on all pages • Predictive search • Dynamically supporting different functionality for • Faceted browsing different logins (user types) • Filtering & sorting • Personalization
  • 4. Variables: Isn’t that programming? Variables allow you to remember data entered or selections made by users on one page and use it on one or more pages
  • 5. Stuff you can do with variables • Store & display usernames • Use a shipping address entered on one page as a • Store states, e.g., whether a billing address on another user is logged in or not page • Store user types to control • Keep track of which pages what features are displayed have been visited during a • Display the selected option session of a dropdown from one page within the text of • Store user preferences to mimic sessions another page
  • 6. Raised events? Okay, seriously. Raised events allow you to create custom interactions attached to different instances of the same master... and if you understand any of that we’re very impressed and think that you should give the rest of this talk. Seriously though.We’ll explain for real. Promise.
  • 8. How to create conditions You can create one condition per case. Multiple conditions on the same interaction require multiple cases. 1. Double-click any interaction to create a new case 2. Click on “Add Condition” at the top of the case properties dialog 3. Use the Condition Builder dialog to specify the components of your condition 4. Choose to match all components or any component
  • 9. Conditions can be set on... • The value of a variable • Whether a given checkbox or radio button is selected • The current selection(s) in drop lists and list boxes • Text displayed in a text field or text area • The currently displayed state of a dynamic panel (awesome!) • Whether a dynamic panel is currently visible (super awesome!) • The number of characters in a text field or area (weird but useful) • The number of characters in a variable (weird but occasionally useful)
  • 10. Enough talk! Let’s do stuff! Login form with feedback 1. Create dynamic panels for each field, with one state per error message 2. Set the panels to hidden 3. Add a case for each possible error to the OnClick interaction on the Login button, plus one for no error 4. If there is an error, change the state of the appropriate panel to the appropriate state Wait... what if I want to display multiple errors at once? We’ll talk about that in the Logic Tricks section coming up.
  • 11. A little more complex this time... Login form w/inline validation 1. Create the firsrt field and validation panel. 2. Create all the states of the validation panel. 3. Set up OnLostFocus logic on the first field. 4. Repeat for each new field, including case specific errors and logic. 5. Set up logic on submit button.appropriate panel to the appropriate state
  • 12. Conditional Logic Tricks • Executing more than one case at a time • Choosing which case to execute dynamically • Affecting the logic in the OnPageLoad interaction of a master through the OnPageLoad interaction of the pages they’re assigned to
  • 13. Executing Multiple Cases Multiple file upload with feedback 1. Create the first file upload field in a dynamic panel. 2. Create all states for the DP. 3. Set up the "Browse File" interaction to place text in the field. 4. Copy the DP a few times, update all labels and values (there are more than you think!) 5. Set the Upload button to check each field for text and set panel states accordingly. Be sure to change ELSE IF to IF.
  • 14. Letting the User Choose Choosing cases manually 1. Create the "Weather" panel with empty, day, and night states. 2. Place the "Check Weather" button. 3. Create two onclick cases for the button, label each one. 4. Be sure not to set any conditions.
  • 16. Variables let you do 3 things 1. Store a text value 2. Read that value 3. Check how many characters the value is But before you do anything, you need to create them!
  • 17. How to create variables There are two ways... 1. Go to Wireframe > Manage Variables or 2. Click on “Add New...” at the bottom of the variable list on the Condition Builder dialog or the Set Variable dialog Variable names must contain 25 characters or less and be alphanumeric
  • 18. Variables have issues, just like us Issues Solutions • Internet Explorer chokes if • Don’t use IE, or... you use too many variables • Limit yourself to 25 variables • Navigating through your • You can’t do much about prototype with the this other than be aware of generated site map clears it if your prototype starts variable values having problems • Variable values can stick • Add a hidden button on the around between user tests first page of your prototype that does nothing but set all variable values to blank
  • 19. Enough talk! Let’s do stuff! Persistent font size selector 1. Create the page structure and fill in homepage. 2. Create a DP that contains the diff font sizes. 3. Set up the font size buttons to change the DP and set the FontSize variable. 4. Use onPageLoad to set the proper DP state. 5. Make the Article pages similarly and link it all together.
  • 20. Telling people who they are Persistent username display 1. Create the login UI 2. Make clicking the Log In button store the username in a variable and go to another page. 3. Create a master with a text panel that will display the username 4. Assign that master to every page 5. On OnPageLoad of the master, make it so the text panel shows the username if the username variable isn't blank
  • 21. Variable Tricks • Inserting variable text into text panels, fields, & areas • Recursively inserting variable text into text panels, fields, & areas • “Borrowing” variables temporarily • Affecting the logic in the OnPageLoad interaction of a master through the OnPageLoad interaction of the pages they’re assigned to Make sure to check out Loren & Jeff ’s Tips & Tricks panel for INSANE variable weirdness!
  • 22. Getting Fancier with Variables Entering a pin via keypad 1. Create the keypad and textfield. 2. Set up the CurrentDigits variable. 3. Create the button logic: • Check for four digits • Insert the new digit • Check for success condition 4. Copy the logic to each button, update the specifics.
  • 23. OnPageLoad Order • Masters have OnPageLoad too! • When a page loads, the page’s OnPageLoad interaction is executed before the OnPageLoad of any masters on the page • This lets you streamline dynamic prototypes by allowing you to put complex logic & cases on a master once rather than on multiple pages Okay, so how? 1. On master OnPageLoads, create conditions based on the value of a variable 2. On page OnPageLoads, set the value of the variable that master OnPageLoads are evaluating
  • 24. OnPageLoad Order - Example OnPageLoad - Master Static accordion navigation 1. Create a side-nav master composed of one single-state dynamic panel per main nav item 2. Add a transparent rectangle with the link text to the panel state (define selected style) 3. Create a second panel & add the sub- navigation links to it & set it to hidden 4. Create a variable called NavVar 5. Add one case for each main nav item to the master’s OnPageLoad interaction 6. Make each case conditional on a different value of NavVar 7. On each case, set it to make the nav link OnPageLoad - Page selected, show the subnav panel, & move the panels below it down 8. Set the appropriate value of NavVar on each page’s OnPageLoad interaction
  • 26. Crappy name, awesome feature Raised events allow you to make masters that can affect objects outside of them through custom interactions Part 1: Raise an event Interactions Pane - Widget on Master 1. Add the “Raise Event” action to any interaction on a widget within a master 2. Add an event, paying attention to syntax, and select it Part 2: Use the custom interaction Interactions Pane - Master Instance 1. Drag an instance of the master to a page and select it 2. Check out the interactions pane... the event you raised shows up as an interaction! 3. Assign actions to the interaction like normal
  • 27. Uses for raising events 1. Re-using interactive functionality that needs to affect widgets outside itself 2. Re-using interactive functionality that needs to work slightly differently in each instance 3. Creating & maintaining a tightly controlled pattern library
  • 28. Faceted Navigation Facet Master & Item List 1. Create a master composed of one single- state dynamic panel per facet 2. Add a transparent rectangle with the link text to the panel state (define selected style) 3. Create a second panel with enough states to accommodate all values that can be selected. Add value links to the default state. 4. Add the Raise Event action to EVERY value link 5. Add actions for affecting the facets to appropriate value links (setting panel states, moving panels, hiding, toggling selected) 6. Add Facets master to a page 7. Create a results list dynamic panel 8. Assign Set Panel State actions to the raised events to allow choosing a facet value to switch the state of the results panel
  • 29. Loren Baxter Fred Beecher loren.baxter@gmail.com fbeecher@gmail.com @lorenbaxter @fred_beecher