# Presentation: 591566

## Getting Back to Back

- Saul Greenberg*University of Calgary**Canada*

**HFWEB**  *June 3, 1999*

- Andy Cockburn*University of Canterbury**New Zealand*

## Why Bother?

- People revisit pages with surprising frequency
- Greenberg and Tauscher:  58%  ( = 9%)
- Catledge and Pitkow: 	     61%  ( = 9%)

## The Lowly Back Button

- Pressing Back accounts for
- 30% of *all* navigational acts!

## Why Back is Good (in principle)

- Recency effect

## Why Back is Good (in principle)

- Recency effect
- Robust use with naïve models

## Why Back is Good (in principle)

- Recency effect
- Robust use
- Visual economy

## Why Back is Good (in principle)

- Recency effect
- Robust use
- Visual economy
- Recognition *vs**   *decision making

## Back Behaviours

- Stack

## Back Behaviours

- Stack
- automatically prunes branches
- popped pages cannot be returned to via Back
- model poorly communicated
- surprises

## Back Behaviours

- Pure Recency
- start with 	*a****b****c****d*		{*a, b, c, d*}
- expects	*d****c****b*
- but actually	*d****c**	**	*	{*a, b, c, d, c*}		*c****d**	**	*	{*a, b, c, d, c, d*}* **	*
- Removing duplicates
* **	**	**	**d****c**	**	*	{*a, b, d, c*}		*c****d**	**	*	{*a, b, c, d*}

## Back Behaviours

- Recency by adding spokes
- Back moves pointer through list
- add only non-Back URLs to the history list
- ...***d **** e *		      	{*... d, e*}
*e****  d ****  f**	**	**      **	*{*... d, e, f*}
*f****  e ****  d ****  g**	**      **	*{*... d, e, f, g*}
*g ****  f ****  e ****  d ****  h   **	*{*... d, e, f, g, h*}

## Back Behaviours

- Recency by adding spokes
- history list is complete
- history list order can differ from visit order
- visiting *n *spokes              *vs.*  stack: 2*n *- 1
- navigating back up the tree goes through intervening children

## Back Behaviours

- Recency with hub and spoke enhancement
- adds non-Back URLs *and *its parent hub
- ...***d **** e *		      {*... d, e*}
*e****  d ****  f**	**	**      *{*... e, d, f*}
*f****  d ****  g**	**      **	**      *{*... e, f, d, g*}
*g****  d****  h **	**	**      *{*... e, f, g, d, h*}
- visiting *n *spokes = 2*n *- 1 *(same as stack)*

## Back Behaviours

- Recency with hub and spoke enhancement
- improved efficiency for hub and spoke browsing
- temporal order not maintained
*a**b**c**d**e**d**c**i**	*{*a,b,e,d,c,i*} *order seen*
- 					{*a,b,d,e,c,i*} *history list*
- navigating back up the tree goes through intervening children

## Back Behaviours

- Recency with temporal ordering
- Back/Forward actions -> sequential history list
- on new navigation
- add back/forward pages
- add new page
-  *a**b**c**d**e**	*{*a,b,c,d,e*}	{}
* **e**d**c **	**	*{*a,b,c,d,e*}	{*d, c*}
* **c**i**	**	**	*{*a,b,e,d,c*}	{}
- 				{*a,b,e,d,c,i*}	{}

## Back Behaviours

- Recency with temporal ordering
- ‘correct’ order of pages on list (after new page)
- (but not when using Back/Forward)
- navigating back up the tree still goes through intervening children

## Back Behaviours

- Hybrid
- Recency:
- Back / Forward
- Stack
- Up / Down
- merge with file systems?
- Visits
- History list of spokes from current page

## Back Summary

- Minor improvements worth it
- No clear answer
- stack *vs. *recency with temporal ordering
- needs user testing
- Further design innovations possible
- hybrids