Views

Main view
Shows list of available situations.
Edit View
Contains situation settings.
Has a When section for conditions and What section for actions.
Features View
Shows the list of available extra features.
Settings View
Shows the list of application wide settings.

Interaction

Main View
  • Create new situation by tapping the button
  • Edit situation by tapping an item
  • Activate/deactivate situation by swiping an item right
  • Enable/disable situation automation by swiping an item left
  • Re-order situations by long pressing & dragging an item
  • Remove situation by long pressing & dragging an item to trash can

Active situations show  icon on the left of the item.
Disabled situations show  icon on the right of the item.
Situation automation can be set disabled for a time period by tapping the icon indicating either Active or Disabled state.
Title bar has a pull-down menu with access to Features, Settings, Help and About.

Edit View

You can move between the When and What sections by swiping horizontally or by tapping the labels.

  • Add conditions or actions by tapping the button
  • Edit condition or action by tapping an item
  • Remove condition or action by long pressing & dragging an item to trash can
  • Switch condition to negative by tapping the = icon
  • Change situation name and icon by tapping the title bar items

Adding condition & action items happens via a carousel dialog that can be scrolled vertically or horizontally depending on the device orientation. Selection happens by tapping an item.

Features View
  • Buy feature by tapping the price button
  • Download free or already purchased feature by tapping the download button
  • Uninstall feature by tapping the uninstall button
  • Upgrade feature by tapping the upgrade button

Title bar has a pull-down menu with access to Refresh and Restore purchases functions.

Settings View
  • Enable/disable the whole application
  • Enable/disable notifications

When application is disabled, it does not run any situations and will shut down all background processing when the UI is closed.

Navigating back

Use either device back button or tap the top left back icon to navigate back to previous view. Dialogs may have ok and cancel buttons or a close button in the upper right corner.


Logic

Multiple Conditions

When a situation contains multiple conditions of different types, they are evaluated using logical AND. That is, each condition has to be active for the situation to be active.

When multiple conditions of same type are used, they are evaluated as a group using logical OR. That is, if any of the conditions is active, the group is considered active.

Negative Conditions

By tapping the equals signs, conditions can be made negative (not equals). This means the condition is negated by considering it active when it normally would be inactive - and vice versa.

As an example, having a WiFi condition for a situation and negating it means that the situations will be active always when the device is not in the range of the given WiFi network.

Power Consumption

Different conditions consume different amounts of energy. The application tries to be as effective as possible but the way different situations are configured can also have a big impact on power consumption.

In general it is a good practice to use for example time and calendar based conditions as much as possible to limit the activity time of other more power consuming conditions. Power consuming conditions are activated only after the less consuming conditions have become active.

Scan Intervals

Some conditions are based on interval based polling instead of receiving events in real time. Such conditions are for example the default WiFi and Bluetooth. In these cases changes in the environment may not be immediately visible to the Situations application.

Common scan interval is 1 minute unless separately made configurable. WiFi and Bluetooth conditions have Pro-versions available where the interval can be adjusted or removed completely for reactive behavior with minimal power consumption.

Action Behavior

Most actions change the state of the device somehow when activated - such as Bluetooth or WiFi setting. These actions will also change the state back when deactivated.

In addition there are actions than perform one time operations that cannot be reverted - such as sending SMS.

Overlapping Situations

Multiple situations can be active at any time. This means that multiple actions of same type can also be active at any time.

In practice, apart from the one time actions, there has to be a way to prioritize the overlapping actions. Situations application does this by using the order of situations. Later appearances of actions in the list of situations always take precedence. In this way the order of situations in the main list can have an effect on the application behavior.