eric t. freeman, the lifestreams software architecture

Upload: marcoatzberger

Post on 30-May-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    1/185

    A b s t r a c t

    T h e L i f e s t r e a m s S o f t w a r e A r c h i t e c t u r e

    E r i c T h o m a s F r e e m a n

    Y a l e U n i v e r s i t y

    M a y 1 9 9 7

    T y p i c a l " c o m p u t e r u s e r s s t r u g g l e t o o r g a n i z e a n d n d t h e i r o w n e l e c t r o n i c d o c u -

    m e n t s , m a n a g e t h e i r s c h e d u l e s a n d c o r r e s p o n d e n c e , a n d l t e r a n e v e r i n c r e a s i n g d e l u g e

    o f i n f o r m a t i o n . T h e p r o c e s s i s m a d e w o r s e a s u s e r s a r e f o r c e d t o c o m b i n e t h e d i s p a r a t e

    f e a t u r e s o f m a n y a p p l i c a t i o n s t o a c h i e v e t h e s e t a s k s . T h e s e p r o b l e m s s u g g e s t t h a t

    o u r c u r r e n t s o f t w a r e s y s t e m s a r e i l l - e q u i p p e d t o h a n d l e t h e d e m a n d s o f t h e t y p i c a l

    c o m p u t e r u s e r . R e s e a r c h h a s s h o w n t h a t c o m m o n d e s k t o p e n v i r o n m e n t s s u c h a s t h e

    M a c i n t o s h d e s k t o p " a r e o f t e n b a d l y t t e d t o u s e r s ' n e e d s .

    I n a n a t t e m p t t o d o b e t t e r w e h a v e r e d u c e d i n f o r m a t i o n m a n a g e m e n t " t o a f e w

    s i m p l e a n d u n i f y i n g c o n c e p t s a n d c r e a t e d L i f e s t r e a m s . " L i f e s t r e a m s i s a s o f t w a r e a r -

    c h i t e c t u r e b a s e d o n a s i m p l e d a t a s t r u c t u r e , a t i m e - o r d e r e d s t r e a m o f d o c u m e n t s , t h a t

    c a n b e m a n i p u l a t e d w i t h a s m a l l n u m b e r o f p o w e r f u l o p e r a t o r s t o l o c a t e , o r g a n i z e ,

    s u m m a r i z e a n d m o n i t o r i n f o r m a t i o n .

    I n t h i s d i s s e r t a t i o n w e r s t p r o v i d e m o t i v a t i o n f o r L i f e s t r e a m s . W e t h e n p r e s e n t

    t h e m o d e l a n d d i s c u s s t h e d e v e l o p m e n t o f o u r r e s e a r c h p r o t o t y p e . O u r p r o t o t y p e r e -

    a l i z e s m a n y o f t h e s y s t e m ' s d e n i n g f e a t u r e s a n d h a s a l l o w e d u s t o e x p e r i m e n t w i t h

    t h e m o d e l ' s k e y i d e a s w i t h a c t u a l u s e r s o f d i e r i n g l e v e l s o f c o m p u t e r e x p e r i e n c e

    o v e r t h e c o u r s e o f i t s d e v e l o p m e n t . R e s u l t s f r o m i t s u s e s u g g e s t t h a t L i f e s t r e a m s i s

    a n e e c t i v e s o f t w a r e a r c h i t e c t u r e f o r m a n a g i n g c o m m o n c o m p u t e r t a s k s ; i t s s i m p l e

    o r g a n i z a t i o n a l s t o r a g e s y s t e m t h e s t r e a m c o m b i n e d w i t h a s m a l l n u m b e r o f p o w -

    e r f u l o p e r a t o r s p r o v i d e s a u n i e d f r a m e w o r k t h a t s u b s u m e s m a n y s e p a r a t e d e s k t o p

    a p p l i c a t i o n s t o a c c o m p l i s h a n d h a n d l e t h e m o s t c o m m o n p e r s o n a l c o m m u n i c a t i o n , r e -

    m i n d i n g , a n d s t o r a g e a n d r e t r i e v a l t a s k s . I n a d d i t i o n , L i f e s t r e a m s s u g g e s t s v a l u a b l e

    n e w c a p a b i l i t i e s f o r e l e c t r o n i c s y s t e m s .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    2/185

    T h e L i f e s t r e a m s S o f t w a r e A r c h i t e c t u r e

    A D i s s e r t a t i o n

    P r e s e n t e d t o t h e F a c u l t y o f t h e G r a d u a t e S c h o o l

    o f

    Y a l e U n i v e r s i t y

    i n C a n d i d a c y f o r t h e D e g r e e o f

    D o c t o r o f P h i l o s o p h y

    b y

    E r i c T h o m a s F r e e m a n

    M a y 1 9 9 7

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    3/185

    C o p y r i g h t

    c

    1 9 9 7 b y E r i c T h o m a s F r e e m a n

    A l l R i g h t s R e s e r v e d

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    4/185

    i i i

    A c k n o w l e d g e m e n t s

    T h i s d i s s e r t a t i o n c o u l d n o t h a v e b e e n c o m p l e t e d w i t h o u t t h e s u p p o r t a n d c o n t r i -

    b u t i o n s o f m y c o l l e a g u e s a n d f r i e n d s . F i r s t a n d f o r e m o s t I o w e t h a n k s t o m y t h e s i s

    c o m m i t t e e : m y a d v i s o r , D a v i d G e l e r n t e r , p r o v i d e d i n s p i r a t i o n , e n d l e s s i d e a s a n d e n -

    c o u r a g e m e n t t h r o u g h o u t m y g r a d u a t e c a r e e r . N i c k C a r r i e r o a c t e d a s a c o - a d v i s o r a n d

    t h r o u g h t e c h n i c a l d i s c u s s i o n s a n d h i s c a r e f u l r e a d i n g o f t h e d i s s e r t a t i o n g r e a t l y i m -

    p r o v e d t h e q u a l i t y o f t h e n a l w o r k . B e n B e d e r s o n , m y e x t e r n a l r e a d e r , p r o v i d e d

    o u t s i d e e n c o u r a g e m e n t a n d c r i t i c i s m a n d w a s p a r t i c u l a r l y h e l p f u l w i t h h i s g u i d a n c e i n

    t h e e v a l u a t i o n a s p e c t s o f t h i s d i s s e r t a t i o n . L a s t , M a r t i n S c h u l t z w a s s u p p o r t i v e a n d

    i n t e r e s t e d i n t h e p r o j e c t t h r o u g h o u t .

    I a l s o o w e s i n c e r e g r a t i t u d e t o S c o t t F e r t i g w h o a c t e d a s a m e n t o r a n d m a d e m a n y

    c o n t r i b u t i o n s t o t h e w o r k a s w e l l a s b e i n g a g o o d f r i e n d . M y w i f e , E l i s a b e t h , n o t o n l y

    p r o v i d e d l o v e a n d s u p p o r t , b u t a l s o e n d u r e d u s i n g t h e e a r l y L i f e s t r e a m s s y s t e m s a n d

    w a s a l w a y s t h e r s t t o r e a d r o u g h d i s s e r t a t i o n d r a f t s . D a v i d K a m i n s k y i n t e r e s t e d m e

    i n c o m i n g t o Y a l e a n d a c t e d a s a m e n t o r e a r l y o n . S u s a n n e H u p f e r a n d R o b B j o r n s o n

    w e r e f r i e n d s a n d c o l l e a g u e s a n d l l e d m a n y d a y s w i t h i n t e r e s t i n g d i s c u s s i o n .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    5/185

    C o n t e n t s

    1 I n t r o d u c t i o n 1

    1 . 1 P r o b l e m s w i t h C u r r e n t S o f t w a r e S y s t e m s : : : : : : : : : : : : : : : : : 2

    1 . 1 . 1 F i n d i n g a n d F i l i n g : : : : : : : : : : : : : : : : : : : : : : : : : : 2

    1 . 1 . 2 R e m i n d i n g : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4

    1 . 1 . 3 A r c h i v i n g : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5

    1 . 1 . 4 S u m m a r i z i n g I n f o r m a t i o n : : : : : : : : : : : : : : : : : : : : : : 6

    1 . 1 . 5 I n c o m p a t i b l e a n d D i s p a r a t e A p p l i c a t i o n s : : : : : : : : : : : : : 6

    1 . 2 T y p i c a l U s e r s a n d C o m m o n T a s k s : : : : : : : : : : : : : : : : : : : : : 7

    1 . 3 N e w D i r e c t i o n s f o r S o f t w a r e S y s t e m s : : : : : : : : : : : : : : : : : : : : 8

    1 . 4 O u t l i n e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 0

    2 T h e M o d e l 1 2

    2 . 1 T h e C o n c e p t : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2

    2 . 1 . 1 W h a t i s a l i f e s t r e a m ? : : : : : : : : : : : : : : : : : : : : : : : : 1 4

    2 . 1 . 2 D o c u m e n t C r e a t i o n a n d S t o r a g e : : : : : : : : : : : : : : : : : : 1 4

    2 . 1 . 3 O n D e m a n d " O r g a n i z a t i o n : : : : : : : : : : : : : : : : : : : : : 1 6

    2 . 1 . 4 O v e r v i e w s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 6

    2 . 1 . 5 A g e n t s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 6

    2 . 1 . 6 C h r o n o l o g y a s a S t o r a g e M o d e l : : : : : : : : : : : : : : : : : : : 1 7

    2 . 2 T h e F o r m a l M o d e l : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 7

    2 . 2 . 1 T h e L i n d a C o o r d i n a t i o n L a n g u a g e : : : : : : : : : : : : : : : : : 1 8

    2 . 2 . 2 D o c u m e n t s a n d A t t r i b u t e s : : : : : : : : : : : : : : : : : : : : : 1 9

    2 . 2 . 3 S t r e a m s a n d S u b s t r e a m s : : : : : : : : : : : : : : : : : : : : : : : 2 1

    2 . 2 . 4 L i f e s t r e a m s R e n e m e n t : : : : : : : : : : : : : : : : : : : : : : : 2 6

    2 . 2 . 5 C o n s t r u c t i n g a U s e r I n t e r f a c e " : : : : : : : : : : : : : : : : : : : 3 2

    2 . 3 S u m m a r y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 9

    3 T h e I m p l e m e n t a t i o n 4 0

    3 . 1 G e n e r a l A r c h i t e c t u r e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 0

    3 . 2 S e r v e r I n f r a s t r u c t u r e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 1

    3 . 2 . 1 D o c u m e n t C o l l e c t i o n S u b s y s t e m : : : : : : : : : : : : : : : : : : 4 1

    i v

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    6/185

    C O N T E N T S v

    3 . 2 . 2 I n d e x i n g S u b s y s t e m : : : : : : : : : : : : : : : : : : : : : : : : : 4 2

    3 . 2 . 3 S u b s t r e a m s S t o r a g e S u b s y s t e m : : : : : : : : : : : : : : : : : : : 4 7

    3 . 2 . 4 P u t t i n g i t A l l T o g e t h e r : : : : : : : : : : : : : : : : : : : : : : : 4 9

    3 . 2 . 5 R e a l i t y C h e c k : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 3

    3 . 3 C l i e n t I n f r a s t r u c t u r e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 4

    3 . 3 . 1 O u r D o c u m e n t M o d e l : : : : : : : : : : : : : : : : : : : : : : : : 5 4

    3 . 3 . 2 C o m m u n i c a t i o n : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 5

    3 . 4 E m b e d d e d C o m p u t a t i o n : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 7

    3 . 4 . 1 T h e A g e n t L a n g u a g e : : : : : : : : : : : : : : : : : : : : : : : : : 5 7

    3 . 4 . 2 I m p l e m e n t i n g E m b e d d e d P r o c e s s e s : : : : : : : : : : : : : : : : : 5 9

    3 . 5 T h e S u m m a r i z e " A r c h i t e c t u r e : : : : : : : : : : : : : : : : : : : : : : : 6 0

    3 . 6 S u m m a r y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 2

    4 T h e I n t e r f a c e 6 3

    4 . 1 I n t e r f a c e D e s i g n : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 3

    4 . 2 T h e X W i n d o w s I n t e r f a c e : : : : : : : : : : : : : : : : : : : : : : : : : : 6 4

    4 . 2 . 1 N a v i g a t i n g t h r o u g h T i m e : : : : : : : : : : : : : : : : : : : : : : 6 6

    4 . 2 . 2 B a s i c O p e r a t i o n s : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 7

    4 . 2 . 3 C o l o r a n d A n i m a t i o n : : : : : : : : : : : : : : : : : : : : : : : : : 6 9

    4 . 2 . 4 F u t u r e T i m e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 0

    4 . 2 . 5 O p e n i n g , V i e w i n g a n d E d i t i n g D o c u m e n t s : : : : : : : : : : : : : 7 2

    4 . 3 T h e C o m m a n d - l i n e I n t e r f a c e : : : : : : : : : : : : : : : : : : : : : : : : 8 1

    4 . 3 . 1 V i e w i n g E d i t i n g D o c u m e n t s : : : : : : : : : : : : : : : : : : : : 8 1

    4 . 3 . 2 S u b s t r e a m s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 1

    4 . 3 . 3 T i m e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 3

    4 . 3 . 4 N e w , C l o n e a n d T r a n s f e r : : : : : : : : : : : : : : : : : : : : : : 8 3

    4 . 3 . 5 S u m m a r i e s a n d P e r s o n a l A g e n t s : : : : : : : : : : : : : : : : : : 8 3

    4 . 4 T h e P D A C l i e n t : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 6

    4 . 4 . 1 C o m m u n i c a t i o n : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 7

    4 . 4 . 2 T h e N e w t o n I n t e r f a c e : : : : : : : : : : : : : : : : : : : : : : : : 8 7

    4 . 5 S u m m a r y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2

    5 C o m m o n T a s k s 9 4

    5 . 1 F i n d i n g a n d F i l i n g P r a c t i c e s : : : : : : : : : : : : : : : : : : : : : : : : : 9 4

    5 . 2 E l e c t r o n i c M a i l : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 6

    5 . 3 C o n t a c t M a n a g e m e n t : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 7

    5 . 4 M a n a g i n g B o o k m a r k s : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 0 1

    5 . 5 C a l e n d a r A p p l i c a t i o n s : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 0 2

    5 . 6 P e r s o n a l F i n a n c e s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 0 7

    5 . 7 S u m m a r y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 0 9

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    7/185

    C O N T E N T S v i

    6 E v a l u a t i o n 1 1 1

    6 . 1 S c o p e a n d M e t h o d o l o g y : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 1

    6 . 2 S u b j e c t s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 3

    6 . 3 P r o c e d u r e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 4

    6 . 3 . 1 I n t r o d u c t i o n a n d T r a i n i n g : : : : : : : : : : : : : : : : : : : : : : 1 1 4

    6 . 3 . 2 E v a l u a t i o n : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 4

    6 . 4 O v e r a l l S u b j e c t i v e R e a c t i o n : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 5

    6 . 4 . 1 R e a c t i o n t o c h r o n o l o g y : : : : : : : : : : : : : : : : : : : : : : : 1 1 6

    6 . 4 . 2 U n d e r s t a n d i n g t h e m e t a p h o r " : : : : : : : : : : : : : : : : : : : 1 1 7

    6 . 4 . 3 H o w d o e s i t c o m p a r e t o o t h e r s y s t e m s m e t a p h o r s ? : : : : : : : : 1 1 7

    6 . 5 L e a r n i n g : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 8

    6 . 6 I n t e r f a c e L a y o u t a n d D e s i g n : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 9

    6 . 7 S y s t e m C a p a b i l i t i e s a n d P e r f o r m a n c e : : : : : : : : : : : : : : : : : : : : 1 2 0

    6 . 7 . 1 O v e r v i e w o f S y s t e m U s e : : : : : : : : : : : : : : : : : : : : : : : 1 2 0

    6 . 7 . 2 U s e o f S u b s t r e a m s : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 2

    6 . 7 . 3 S u b s t r e a m A c c u r a c y : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 4

    6 . 7 . 4 S u b s t r e a m S i z e : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 5

    6 . 7 . 5 S u b s t r e a m R e s p o n s e T i m e : : : : : : : : : : : : : : : : : : : : : : 1 2 5

    6 . 7 . 6 S u b s t r e a m M a n a g e m e n t S t y l e s : : : : : : : : : : : : : : : : : : : 1 2 6

    6 . 8 S u m m a r y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 7

    7 I n f o r m a t i o n M a n a g e m e n t R e v i s i t e d 1 2 9

    7 . 1 I n f o r m a t i o n T y p e s " : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 9

    7 . 2 M a l o n e R e v i s i t e d : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 3 1

    7 . 2 . 1 F i n d i n g : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 3 1

    7 . 2 . 2 R e m i n d i n g : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 3 2

    7 . 3 T a s k A n a l y s i s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 3 2

    7 . 3 . 1 W h i t t a k e r a n d S i d n e r : : : : : : : : : : : : : : : : : : : : : : : : 1 3 2

    7 . 3 . 2 E r i c k s o n : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 3 4

    7 . 3 . 3 T a s k s f r o m t h e K n o w l e d g e N a v i g a t o r : : : : : : : : : : : : : : : : 1 3 6

    7 . 4 L a n s d a l e R e v i s i t e d : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 3 6

    7 . 5 S u m m a r y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 3 9

    8 R e l a t e d W o r k 1 4 0

    8 . 1 I n f o r m a t i o n R e t r i e v a l S y s t e m s : : : : : : : : : : : : : : : : : : : : : : : : 1 4 0

    8 . 1 . 1 W A I S : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 0

    8 . 1 . 2 T a p e s t r y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 1

    8 . 1 . 3 M I T S e m a n t i c F i l e S y s t e m : : : : : : : : : : : : : : : : : : : : : 1 4 1

    8 . 1 . 4 G l i m p s e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 2

    8 . 1 . 5 A p p l e F i n d : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 3

    8 . 2 D a t a b a s e M a n a g e m e n t S y s t e m s : : : : : : : : : : : : : : : : : : : : : : : 1 4 3

    8 . 3 P e r s o n a l I n f o r m a t i o n M a n a g e r s : : : : : : : : : : : : : : : : : : : : : : : 1 4 3

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    8/185

    C O N T E N T S v i i

    8 . 3 . 1 T o D o L i s t M a n a g e r s : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 4

    8 . 3 . 2 C o n t a c t M a n a g e r s a n d T i m e T r a c k e r s : : : : : : : : : : : : : : : 1 4 4

    8 . 3 . 3 T h e N e w t o n : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 4

    8 . 3 . 4 G u y F r i d a y : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 5

    8 . 4 S c h e d u l e r s a n d M e e t i n g M a k e r s : : : : : : : : : : : : : : : : : : : : : : : 1 4 6

    8 . 5 C o r p o r a t e D o c u m e n t S y s t e m s : : : : : : : : : : : : : : : : : : : : : : : : 1 4 6

    8 . 5 . 1 D o c u m e n t S y s t e m s : L o t u s N o t e s : : : : : : : : : : : : : : : : : : 1 4 6

    8 . 5 . 2 W o r k o w S y s t e m s : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 7

    8 . 6 N e w P a r a d i g m s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 7

    8 . 6 . 1 M e m o i r s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 7

    8 . 6 . 2 D y n a m i c Q u e r i e s : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 8

    8 . 6 . 3 L i f e L i n e s : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 8

    8 . 7 S u m m a r y | S u r v e y i n g t h e L a n d s c a p e : : : : : : : : : : : : : : : : : : : 1 4 9

    9 C o n c l u s i o n s 1 5 3

    A L i f e s t r e a m s P r i m i t i v e s 1 6 1

    B U s e r Q u e s t i o n n a i r e 1 6 4

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    9/185

    L i s t o f F i g u r e s

    2 . 1 T h e B a s i c L i f e s t r e a m s O p e r a t i o n s . : : : : : : : : : : : : : : : : : : : : : 1 5

    2 . 2 T h e d e n i t i o n o f e x t r a c t . : : : : : : : : : : : : : : : : : : : : : : : : : : 2 0

    2 . 3 T h e d e n i t i o n o f r e p l a c e . : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1

    2 . 4 T h e d e n i t i o n o f f r e e z e . : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1

    2 . 5 L i f e s t r e a m s T u p l e S p a c e . : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 3

    2 . 6 T h e d e n i t i o n o f a p p e n d . : : : : : : : : : : : : : : : : : : : : : : : : : : 2 4

    2 . 7 T h e d e n i t i o n o f r e a d . : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 4

    2 . 8 T h e d e n i t i o n o f w r i t e . : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 5

    2 . 9 T h e d e n i t i o n o f l t e r . : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 6

    2 . 1 0 T h e d e n i t i o n o f r e t r i e v e . : : : : : : : : : : : : : : : : : : : : : : : : : : 2 7

    2 . 1 1 T h e d e n i t i o n o f i n c r e m e n t a l l t e r . : : : : : : : : : : : : : : : : : : : : : 2 7

    2 . 1 2 T h e d e n i t i o n o f i n c r e m e n t a l r e t r i e v e . : : : : : : : : : : : : : : : : : : : 2 8

    2 . 1 3 T h e t i m e - a w a r e d e n i t i o n o f a p p e n d . : : : : : : : : : : : : : : : : : : : 3 0

    2 . 1 4 T h e t i m e - a w a r e d e n i t i o n o f w r i t e . : : : : : : : : : : : : : : : : : : : : 3 1

    2 . 1 5 T h e d e n i t i o n o f a d d a g e n t . : : : : : : : : : : : : : : : : : : : : : : : : : 3 1

    2 . 1 6 T h e d e n i t i o n o f a p p e n d w i t h a g e n t s . : : : : : : : : : : : : : : : : : : : : 3 2

    2 . 1 7 E x p r e s s i o n o f L i f e s t r e a m s u s e r i n t e r f a c e i n t e r m s o f t h e p r i m i t i v e s . 3 4

    2 . 1 8 E x p r e s s i o n o f L i f e s t r e a m s u s e r i n t e r f a c e i n t e r m s o f t h e p r i m i t i v e s c o n t . 3 5

    2 . 1 9 T h e s i m p l e s u m m a r y . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 6

    2 . 2 0 T h e d e n i t i o n o f a p p l y . : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 6

    2 . 2 1 T h e d e n i t i o n o f s u b s t r e a m c o p y . : : : : : : : : : : : : : : : : : : : : : : 3 7

    2 . 2 2 T h e d e n i t i o n o f a r e c e i p t a g e n t . : : : : : : : : : : : : : : : : : : : : : : 3 8

    2 . 2 3 T h e d e n i t i o n o f a s u b s c r i p t i o n a g e n t . : : : : : : : : : : : : : : : : : : : 3 9

    3 . 1 T h e D o c u m e n t S t o r a g e S u b s y s t e m . : : : : : : : : : : : : : : : : : : : : : 4 2

    3 . 2 T h e I n d e x i n g S u b s y s t e m . : : : : : : : : : : : : : : : : : : : : : : : : : : 4 3

    3 . 3 I n s e a r c h : c o m p u t i n g a s u b s t r e a m . : : : : : : : : : : : : : : : : : : : : : 4 6

    3 . 4 T h e S u b s t r e a m D a t a S t r u c t u r e . : : : : : : : : : : : : : : : : : : : : : : : 4 8

    3 . 5 I n m a t c h : c o m p u t i n g a d o c u m e n t s m e m b e r s h i p i n a s u b s t r e a m . : : : : : 4 9

    3 . 6 D e n i t i o n o f t h e S e r v e r R e a d a n d W r i t e R o u t i n e s . : : : : : : : : : : : : 5 0

    3 . 7 D e n i t i o n o f t h e S e r v e r A p p e n d R o u t i n e . : : : : : : : : : : : : : : : : : 5 1

    3 . 8 D e n i t i o n o f t h e S e r v e r F i l t e r R o u t i n e . : : : : : : : : : : : : : : : : : : : 5 2

    v i i i

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    10/185

    L I S T O F F I G U R E S i x

    3 . 9 D e n i t i o n o f t h e S e r v e r R e t r i e v e R o u t i n e . : : : : : : : : : : : : : : : : : 5 3

    3 . 1 0 A n e x a m p l e M I M E - e n c o d e L i f e s t r e a m s d o c u m e n t . : : : : : : : : : : : : 5 8

    3 . 1 1 E m b e d d e d P r o c e s s A r c h i t e c t u r e . : : : : : : : : : : : : : : : : : : : : : : 6 0

    4 . 1 T h e X W i n d o w s I n t e r f a c e . : : : : : : : : : : : : : : : : : : : : : : : : : : 6 5

    4 . 2 B r o w s i n g B a c k i n T i m e . : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 6

    4 . 3 B r o w s i n g B a c k i n T i m e w i t h a S u b s t r e a m . : : : : : : : : : : : : : : : : : 6 8

    4 . 4 T r a n s f e r r i n g a D o c u m e n t . : : : : : : : : : : : : : : : : : : : : : : : : : : 6 9

    4 . 5 U s i n g F i n d . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 9

    4 . 6 S e l e c t i n g a S u b s t r e a m . : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 0

    4 . 7 U s e o f A n i m a t i o n w i t h i n X W i n d o w s I n t e r f a c e . : : : : : : : : : : : : : : 7 1

    4 . 8 S p e c i f y i n g T i m e . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 2

    4 . 9 T h e C a l e n d a r D i a l o g B o x . : : : : : : : : : : : : : : : : : : : : : : : : : : 7 3

    4 . 1 0 F u t u r e D o c u m e n t s o n S t r e a m . : : : : : : : : : : : : : : : : : : : : : : : : 7 4

    4 . 1 1 A n E x a m p l e M a i l c a p F i l e . : : : : : : : : : : : : : : : : : : : : : : : : : : 7 5

    4 . 1 2 T h e X W i n d o w s I n t e r f a c e H a n d l e s M I M E - t y p e d D o c u m e n t s . : : : : : : 7 7

    4 . 1 3 E d i t i n g D o c u m e n t A t t r i b u t e s . : : : : : : : : : : : : : : : : : : : : : : : : 7 8

    4 . 1 4 C h o o s i n g a M i m e T y p e . : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 9

    4 . 1 5 E d i t i n g a n A g e n t . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 9

    4 . 1 6 T h e C o m m a n d - l i n e I n t e r f a c e . : : : : : : : : : : : : : : : : : : : : : : : : 8 2

    4 . 1 7 S u b s t r e a m s i n t h e C L I : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 4

    4 . 1 8 T i m e i n t h e C L I : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 5

    4 . 1 9 R e m i n d e r p e r s o n a l a g e n t i n t h e c o m m a n d - l i n e c l i e n t . : : : : : : : : : : : 8 6

    4 . 2 0 T h e N e w t o n I n t e r f a c e . : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 8

    4 . 2 1 D o c u m e n t s i n a s t r e a m a r e d i s p l a y e d a s a n o v e r v i e w . : : : : : : : : : : : 8 9

    4 . 2 2 S u b s t r e a m s a r e d i s p l a y e d i n p l a c e o f f o l d e r s . : : : : : : : : : : : : : : : : 9 0

    4 . 2 3 T h e c l o c k g l a n c e h a s b e e n r e p l a c e d b y a d a t e t i m e e d i t o r . : : : : : : : : 9 1

    4 . 2 4 T h e T r a n s f e r d i a l o g . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2

    4 . 2 5 T h e F i n d d i a l o g . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2

    5 . 1 A S u m m a r y o f E m a i l . : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 8

    5 . 2 A B u s i n e s s c a r d D o c u m e n t . : : : : : : : : : : : : : : : : : : : : : : : : : 9 9

    5 . 3 A P h o n e c a l l D o c u m e n t . : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 9

    5 . 4 T h e P h o n e C a l l P e r s o n a l A g e n t . : : : : : : : : : : : : : : : : : : : : : : 1 0 0

    5 . 5 A S u m m a r y o f P h o n e C a l l s . : : : : : : : : : : : : : : : : : : : : : : : : : 1 0 1

    5 . 6 A S u m m a r y o f B o o k m a r k s . : : : : : : : : : : : : : : : : : : : : : : : : : 1 0 3

    5 . 7 D a y a t a G l a n c e S u m m a r i z e r . : : : : : : : : : : : : : : : : : : : : : : : : 1 0 4

    5 . 8 W e e k a t a G l a n c e S u m m a r i z e r . : : : : : : : : : : : : : : : : : : : : : : : 1 0 5

    5 . 9 T h e X W i n d o w s C a l e n d a r I n t e r f a c e . : : : : : : : : : : : : : : : : : : : : 1 0 6

    5 . 1 0 M e e t i n g M a k e r R e q u e s t i n g R e c i p i e n t s . : : : : : : : : : : : : : : : : : : : 1 0 7

    5 . 1 1 M e e t i n g M a k e r S c h e d u l e r . : : : : : : : : : : : : : : : : : : : : : : : : : : 1 0 7

    5 . 1 2 M e e t i n g M a k e r D o c u m e n t A g e n t . : : : : : : : : : : : : : : : : : : : : : : 1 0 8

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    11/185

    L I S T O F F I G U R E S x

    5 . 1 3 A S u m m a r y o f S t o c k P e r f o r m a n c e . : : : : : : : : : : : : : : : : : : : : : 1 0 9

    6 . 1 S i z e o f s u b s t r e a m s r e t u r n e d f r o m F I N D s . : : : : : : : : : : : : : : : : : 1 2 3

    6 . 2 A v e r a g e t i m e t o c o m p u t e a n d d i s p l a y a s u b s t r e a m . : : : : : : : : : : : : 1 2 6

    7 . 1 D i a l o g f r o m A p p l e ' s K n o w l e d g e N a v i g a t o r " . : : : : : : : : : : : : : : : 1 3 7

    A . 1 T h e c o m p l e t e s t r e a m p r i m i t i v e s . : : : : : : : : : : : : : : : : : : : : : : 1 6 1

    A . 2 T h e c o m p l e t e s t r e a m p r i m i t i v e s c o n t . : : : : : : : : : : : : : : : : : : : 1 6 2

    A . 3 T h e c o m p l e t e s t r e a m p r i m i t i v e s c o n t . : : : : : : : : : : : : : : : : : : : 1 6 3

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    12/185

    L i s t o f T a b l e s

    2 . 1 T h e d o c u m e n t a t t r i b u t e s a l o n g w i t h t h e i r t y p e a n d f u n c t i o n . : : : : : : 2 0

    3 . 1 C o m p a r i s o n o f W A I S a n d L i f e s t r e a m s i n d e x i n g . : : : : : : : : : : : : : 5 4

    6 . 1 S u b j e c t s ' o v e r a l l r e a c t i o n s t o L i f e s t r e a m s . : : : : : : : : : : : : : : : : : 1 1 5

    6 . 2 S u b j e c t s ' r e a c t i o n s t o l e a r n i n g i n L i f e s t r e a m s . : : : : : : : : : : : : : : 1 1 8

    6 . 3 S u b j e c t s ' r e a c t i o n s t o s c r e e n l a y o u t a n d d e s i g n . : : : : : : : : : : : : : 1 1 9

    6 . 4 S u b j e c t s ' r e a c t i o n s t o s y s t e m c a p a b i l i t i e s . : : : : : : : : : : : : : : : : : 1 2 1

    6 . 5 U s e o f L i f e s t r e a m s o p e r a t i o n s . : : : : : : : : : : : : : : : : : : : : : : : 1 2 2

    6 . 6 Q u e r y u s e o v e r t e s t i n g p e r i o d . : : : : : : : : : : : : : : : : : : : : : : : 1 2 3

    6 . 7 S i z e o f S u b s t r e a m s . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2 6

    6 . 8 L o c a t i n g i n f o r m a t i o n t h r o u g h p e r s i s t e n t s u b s t r e a m s . : : : : : : : : : : 1 2 7

    8 . 1 C o m p a r i s o n f e a t u r e s o v e r l a n d s c a p e o f s y s t e m s . : : : : : : : : : : : : : : 1 5 2

    x i

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    13/185

    C h a p t e r 1

    I n t r o d u c t i o n

    D e s p i t e r a p i d a d v a n c e s i n m a n y a r e a s o f c o m p u t e r s c i e n c e u s e r i n t e r f a c e s , c o m m u -

    n i c a t i o n s t e c h n o l o g i e s , o b j e c t - o r i e n t e d s y s t e m s o v e r t h e l a s t s e v e r a l d e c a d e s , c o m -

    p u t e r s a r e w i d e l y a c k n o w l e d g e d t o b e h a r d e r t o u s e t h a n t h e y c o u l d o r s h o u l d b e

    K a p 9 1 , M H 9 2 , H i l 9 5 , C o r 9 6 . T y p i c a l c o m p u t e r u s e r s s t r u g g l e t o o r g a n i z e a n d n d

    t h e i r e l e c t r o n i c d o c u m e n t s , m a n a g e t h e i r s c h e d u l e s a n d c o r r e s p o n d e n c e a n d l t e r a n

    e v e r i n c r e a s i n g d e l u g e o f d a t a f r o m t h e I n t e r n e t . M a t t e r s g e t w o r s e w h e n u s e r s a r e

    f o r c e d t o d r a w o n t h e d i s p a r a t e f e a t u r e s o f m a n y a p p l i c a t i o n s t o a c h i e v e t h e s e t a s k s .

    T h e s e p r o b l e m s s u g g e s t t h a t o u r c u r r e n t o p e r a t i n g s y s t e m i n t e r f a c e s " a r e i l l -

    e q u i p p e d t o h a n d l e t h e d e m a n d s o f t h e t y p i c a l " c o m p u t e r u s e r . B y o p e r a t i n g s y s t e m

    i n t e r f a c e w e a r e r e f e r r i n g t o t h e p r e d o m i n a n t c o m p u t e r i n t e r f a c e s a n d s y s t e m s u s e d

    b y t y p i c a l c o m p u t e r u s e r s ; n a m e l y , t h o s e b a s e d o n t h e d e s k t o p m e t a p h o r . T h r o u g h -

    o u t t h e d i s s e r t a t i o n w e w i l l r e f e r t o t h e s e s y s t e m s g e n e r i c a l l y a s c u r r e n t s o f t w a r e

    s y s t e m s , " d e s k t o p s y s t e m s " a n d o p e r a t i n g s y s t e m i n t e r f a c e s . " W e w i l l a l s o d e n e

    t y p i c a l u s e r s " l a t e r i n t h i s c h a p t e r .

    T h e L i f e s t r e a m s s o f t w a r e a r c h i t e c t u r e i s a n a t t e m p t t o d o b e t t e r t h a n c u r r e n t s y s -

    t e m s . L i f e s t r e a m s i s a n e w s o f t w a r e a r c h i t e c t u r e f o r m a n a g i n g p e r s o n a l e l e c t r o n i c i n -

    f o r m a t i o n b a s e d o n a s i m p l e d a t a s t r u c t u r e | a t i m e - o r d e r e d s t r e a m o f d o c u m e n t s |

    c o m b i n e d w i t h a s m a l l n u m b e r o f p o w e r f u l o p e r a t o r s f o r l o c a t i n g , o r g a n i z i n g , s u m m a -

    r i z i n g a n d m o n i t o r i n g i n f o r m a t i o n . O u r p r o t o t y p e i m p l e m e n t a t i o n w h i c h w e p r e s e n t

    a s a p r o o f o f c o n c e p t " r e a l i z e s m a n y o f t h e s y s t e m ' s d e n i n g f e a t u r e s a n d h a s a l l o w e d

    u s t o e x p e r i m e n t w i t h t h e m o d e l ' s k e y i d e a s .

    T h i s d i s s e r t a t i o n g i v e s m o t i v a t i o n f o r L i f e s t r e a m s , p r e s e n t s a f o r m a l L i f e s t r e a m s

    m o d e l , a n d r e p o r t s o n t h e d e v e l o p m e n t o f a n d o u r p r a c t i c a l e x p e r i e n c e s w i t h t h e

    r e s e a r c h p r o t o t y p e . O u r r e s u l t s s h o w t h a t L i f e s t r e a m s i s a n e e c t i v e s o f t w a r e a r c h i t e c -

    t u r e f o r m a n a g i n g c o m m o n c o m p u t e r t a s k s ; i t s s i m p l e o r g a n i z a t i o n a l s t o r a g e s y s t e m

    t h e s t r e a m a n d p o w e r f u l o p e r a t o r s p r o v i d e a u n i e d f r a m e w o r k t h a t s u b s u m e s m a n y

    s e p a r a t e d e s k t o p a p p l i c a t i o n s t o a c c o m p l i s h a n d h a n d l e t h e m o s t c o m m o n p e r s o n a l

    1

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    14/185

    C h a p t e r 1 . I n t r o d u c t i o n 2

    c o m m u n i c a t i o n , r e m i n d i n g , a n d s t o r a g e a n d r e t r i e v a l t a s k s .

    1

    1 . 1 P r o b l e m s w i t h C u r r e n t S o f t w a r e S y s t e m s

    T o d a y c o m p u t e r u s e r s p r e d o m i n a n t l y u s e s o f t w a r e s y s t e m s b a s e d o n t h e d e s k t o p

    m e t a p h o r , " w h i c h a t t e m p t s t o s i m p l i f y c o m m o n l e o p e r a t i o n s b y p r e s e n t i n g t h e m

    i n t h e f a m i l i a r l a n g u a g e o f t h e p a p e r - b a s e d w o r l d p a p e r d o c u m e n t s a s l e s , f o l d e r s a s

    d i r e c t o r i e s , t h e t r a s h c a n f o r d e l e t i o n . W h i l e t h i s m e t a p h o r h a s b e e n s u c c e s s f u l t o a

    p o i n t g r a n t e d o n e u s u a l l y h a s t o e x p l a i n t o a n e w u s e r h o w t h e c o m p u t e r d e s k t o p i s

    l i k e a r e a l d e s k t o p , a s w e s h a l l s e e , t h e p a p e r - b a s e d m o d e l i s a r a t h e r p o o r b a s i s f o r

    m a n a g i n g e l e c t r o n i c i n f o r m a t i o n .

    P r e v i o u s w o r k h a s c o n s i d e r e d t h e w a y s p e o p l e u s e i n f o r m a t i o n a n d e l e c t r o n i c s y s -

    t e m s a n d i d e n t i e d a n u m b e r o f p r o b l e m s M a l 8 3 , L a n 8 8 b , C a r 8 2 , C o o 9 5 , D L 8 3 , J D 8 3 ,

    C o l 8 2 , M S W 9 2 , N e l 9 0 , B N 9 5 , E r i 9 6 , W S 9 6 , P e m 9 6 , K a y 9 0 . U s e r s h a v e t r o u b l e l i n g ,

    n d i n g a n d o r g a n i z i n g i n f o r m a t i o n ; i n c o r p o r a t i n g r e m i n d i n g " i n t o t h e i r e l e c t r o n i c e n -

    v i r o n m e n t ; a r c h i v i n g a n d m a k i n g u s e o f a r c h i v e d i n f o r m a t i o n ; o b t a i n i n g o v e r v i e w s "

    o r s u m m a r i e s o f i n f o r m a t i o n ; m a n a g i n g m a n y s e p a r a t e , i n c o m p a t i b l e a p p l i c a t i o n s a n d

    d a t a f o r m a t s n e e d e d t o a c h i e v e c o m m o n , e v e r y d a y t a s k s . T h e s e p r o b l e m s p o i n t o u t

    w h e r e d e s k t o p s y s t e m s f a l l s h o r t o f u s e r ' s n e e d s a n d s u g g e s t d i r e c t i o n s f o r i m p r o v i n g

    t h e m . L e t ' s e x a m i n e e a c h p o i n t .

    1 . 1 . 1 F i n d i n g a n d F i l i n g

    L a n s d a l e L a n 8 8 b h a s s t u d i e d t h e p r o c e s s e s o f r e c a l l , r e c o g n i t i o n a n d c a t e g o r i z a t i o n i n

    a n a t t e m p t t o p r o p o s e s o f t w a r e f r a m e w o r k s t h a t h a v e a b a s i s i n p s y c h o l o g i c a l t h e o r y .

    H e d e s c r i b e s i n f o r m a t i o n c a t e g o r i z a t i o n a s t h e p r o b l e m t h a t l i e s i n d e c i d i n g w h i c h

    c a t e g o r i z a t i o n s t o u s e , a n d i n r e m e m b e r i n g l a t e r e x a c t l y w h a t l a b e l w a s a s s i g n e d t o

    a c a t e g o r i z a t i o n . " M u c h o f L a n s d a l e ' s w o r k b u i l d s o n T o m M a l o n e ' s s e m i n a l s t u d y o f

    t h e w a y p e o p l e u s e i n f o r m a t i o n : H o w D o P e o p l e O r g a n i z e T h e i r D e s k s ? I m p l i c a t i o n s

    f o r t h e D e s i g n o f O c e I n f o r m a t i o n S y s t e m s M a l 8 3 . I n h i s s t u d y M a l o n e a i m e d t o

    o b t a i n a s y s t e m a t i c u n d e r s t a n d i n g o f h o w p e o p l e a c t u a l l y u s e t h e i r d e s k s a n d h o w t h e y

    o r g a n i z e t h e i r p e r s o n a l i n f o r m a t i o n e n v i r o n m e n t s " i n a n a t t e m p t t o i m p r o v e e l e c t r o n i c

    s y s t e m s . M a l o n e ' s w o r k s u g g e s t e d t h a t c a t e g o r i z i n g i n f o r m a t i o n i s p e r h a p s t h e m o s t

    d i c u l t i n f o r m a t i o n m a n a g e m e n t t a s k p e o p l e e n c o u n t e r .

    W h a t m a k e s c a t e g o r i z i n g i n f o r m a t i o n s o h a r d a n d w h y i s i n f o r m a t i o n s o h a r d t o

    n d a f t e r i t i s c a t e g o r i z e d ? L a n s d a l e f o u n d t h a t q u i t e s i m p l y , i n f o r m a t i o n d o e s n o t

    f a l l i n t o n e a t c a t e g o r i z a t i o n s t h a t c a n b e i m p l e m e n t e d o n a s y s t e m b y u s i n g s i m p l e

    l a b e l s . " T h e w o r k o f D u m a i s a n d L a n d a u e r D L 8 3 i d e n t i e d t w o s p e c i c r e a s o n s : 1

    i n f o r m a t i o n f a l l s i n t o o v e r l a p p i n g a n d f u z z y c a t e g o r i e s a n d 2 i t i s i m p o s s i b l e f o r u s e r s

    t o g e n e r a t e c a t e g o r i e s t h a t r e m a i n u n a m b i g u o u s o v e r t i m e . B o t h o f t h e s e r e a s o n s a r e

    1

    T h e T h e s i s

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    15/185

    C h a p t e r 1 . I n t r o d u c t i o n 3

    p r o b l e m a t i c f o r e l e c t r o n i c l e a n d f o l d e r s y s t e m s b e c a u s e t h e y c a n n o t r e p r e s e n t t h e

    t r u e r e l a t i o n s h i p s b e t w e e n t h e i n f o r m a t i o n t h e y s t o r e . H i e r a r c h i e s o r g a n i z e d o c u m e n t s

    i n t o s t r i c t r e l a t i o n s h i p s , b u t m o s t d o c u m e n t s a r e r e l a t e d t o o t h e r d o c u m e n t s i n u i d ,

    m u l t i - d i m e n s i o n a l w a y s . T h e f o l l o w i n g e x a m p l e s a r e s u g g e s t i v e f r o m L a n 8 8 b :

    M y b o s s w a n t s t o s e e a l l t h e p r o j e c t r e v i e w s I h a v e c a r r i e d o u t o v e r t h e

    l a s t s i x m o n t h s . T h e t r o u b l e i s , t h e y a r e l e d u n d e r e a c h o f t h e i n d i v i d u a l

    p r o j e c t s . I t w i l l t a k e m e a g e s t o w o r k t h r o u g h a n d d i g t h e m a l l o u t . "

    Y e s I r e m e m b e r t h a t p a p e r . I t c a m e a t t h e s a m e t i m e a s t h e p r o d u c t

    a u d i t . I c a n ' t r e m e m b e r w h a t h a p p e n e d t o i t , t h o u g h . "

    W h i t t a k e r a n d S i d n e r W S 9 6 g i v e m o r e e x a m p l e s f r o m u s e r i n t e r v i e w s :

    I d o n ' t k n o w w h e r e t o p u t i t . A n d . . b y m a k i n g t h e w r o n g d e c i s i o n , I c o u l d

    r e a l l y f o r g e t a b o u t i t . "

    I w i s h I v i e w e d c r e a t i n g a c a t e g o r y a s a l i g h t w e i g h t a c t i v i t y . A n d f o r s o m e

    r e a s o n I d o n ' t . . . i t s e e m s l i k e , y o u k n o w t h e m o r e o f t h e m I c r e a t e , t h e

    h a r d e r i t i s t o n d a n y o f t h e m t h a t a r e t h e r e . "

    a n y p i e c e o f i n f o r m a t i o n l o n g e r t h a n v e l i n e s h a s a t l e a s t s e v e r a l a x e s

    a l o n g w h i c h y o u m i g h t w a n t t o l o o k i t u p a n d i t r e a l l y d e p e n d s o n h o w

    y o u ' r e c o m i n g a t i t a n d w h a t y o u ' r e t h i n k i n g a b o u t a t t h e t i m e . F i l i n g

    i s n ' t r e l i a b l e . "

    T h e s e e x a m p l e s s u g g e s t t h a t u s e r s o f t e n l e i n f o r m a t i o n i n a m a n n e r t h a t i s u n h e l p f u l

    w h e n i t n e e d s t o b e r e t r i e v e d . T h e p r o b l e m o c c u r s b e c a u s e , o v e r t i m e , t h e w a y w e

    u s e i n f o r m a t i o n c h a n g e s . W e o f t e n w a n t t o r e t r i e v e i n f o r m a t i o n i n a c o n t e x t t h a t i s

    d i e r e n t f r o m t h e o n e i n w h i c h i t w a s c r e a t e d .

    R e t r i e v i n g i n f o r m a t i o n w i t h i n a t r a d i t i o n a l l e s y s t e m a m o u n t s t o r e m e m b e r i n g t h e

    c o n t e x t o f u s e a t t h e t i m e o f c r e a t i o n

    2

    . T h i s a p p r o a c h s c a l e s b a d l y . O n c e t h e n u m b e r

    o f l e s w i t h i n a p e r s o n a l l e s p a c e a p p r o a c h e s o n t h e o r d e r o f a f e w h u n d r e d , t h e u s e r

    c a n n o l o n g e r r e m e m b e r l e l o c a t i o n s a n d i s f o r c e d t o u s e a n d " a p p l i c a t i o n i f o n e

    e x i s t s t o s e a r c h f o r i n f o r m a t i o n . W h i t t a k e r a n d S i d n e r p r o v i d e a n o t h e r g o o d e x a m p l e

    f r o m a u s e r i n t e r v i e w :

    S o w h a t h a p p e n e d w a s t h a t s i z e o f c h u n k s a s s o c i a t e d w i t h t h e c a t e g o r i e s

    g o t l a r g e . S o n o w o n e k e y s t r o k e w o u l d g e t m e t o a h u n d r e d t h i n g s . S o I

    r e a l l y w a s n o b e t t e r o l i n g i n f o r m a t i o n . "

    2

    T h i s a p p r o a c h h a s b e e n c a l l e d l o c a t i o n - b a s e d n d i n g " s i n c e i t i n v o l v e s r e m e m b e r i n g t h e p l a c e "

    i n t h e d e s k t o p l e s y s t e m w h e r e t h e i n f o r m a t i o n w a s s t o r e d B N 9 5 .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    16/185

    C h a p t e r 1 . I n t r o d u c t i o n 4

    T h e d i c u l t y o f m a i n t a i n i n g i n f o r m a t i o n o v e r t i m e h a s b a d c o n s e q u e n c e s : u s e r s o f -

    t e n t h r o w a w a y o l d i n f o r m a t i o n a s a c o p i n g s t r a t e g y o r , a s L a n s d a l e o b s e r v e d , s p e n d

    l i t t l e t i m e l i n g i n f o r m a t i o n b e c a u s e t h e r e i s n o i m m e d i a t e p a y - b a c k . I n e i t h e r c a s e ,

    i n f o r m a t i o n i s e i t h e r l o s t " b e c a u s e i t w a s t h r o w n a w a y o r d i c u l t t o n d i n a n u n o r -

    g a n i z e d c l u t t e r . O n t h e w h o l e t h e r e i s a n e g a t i v e f e e d b a c k l o o p : " u s e r s h a v e d i c u l t y

    c a t e g o r i z i n g i n f o r m a t i o n w h i c h , i n t u r n , d e f e a t s r e t r i e v a l . L i k e w i s e , e l e c t r o n i c d e s k t o p

    s y s t e m s d o n o t a i d i n r e t r i e v a l s o u s e r s a r e n o t l i k e l y t o m a i n t a i n d i s c i p l i n e d l i n g .

    U s e r s a r e a l s o f o r c e d t o c a t e g o r i z e i n f o r m a t i o n i n a n o t h e r s u b t l e w a y : b y m e a n s

    o f l e n a m e s . L a n s d a l e ' s w o r k h a s s h o w n t h a t n a m e s a r e a n i n e e c t i v e m e a n s o f c a t -

    e g o r i z i n g i n f o r m a t i o n . W h i l e n a m e s a c t a s a m n e m o n i c d e v i c e , o v e r t i m e t h e i r v a l u e

    d e c a y s . C a r r o l l C a r 8 2 h a s s t u d i e d t h e u s e o f n a m i n g a n d f o u n d t h a t w i t h i n a s m a l l

    p e r i o d o f t i m e , p e o p l e ' s u s e o f l e n a m e s r e s u l t s i n i n c o n s i s t e n t p a t t e r n s w h i c h l e a d t o

    r e t r i e v a l d i c u l t i e s .

    T h e d i c u l t y o f c a t e g o r i z i n g i n f o r m a t i o n a n d t h e l a c k o f r e w a r d s f o r d o i n g s o

    t y p i c a l l y l e a d s u s e r s a s M a l o n e d i s c o v e r e d n o t t o l e i n f o r m a t i o n a t a l l

    3

    i n o r d e r t o

    o v e r c o m e t h e d i c u l t y o f m a k i n g a d e c i s i o n b e t w e e n a n u m b e r o f e v i l s , a n d a v o i d

    t h e c o n s e q u e n c e s o f h a v i n g m a d e i t . "

    4

    L a n s d a l e a l s o p o i n t s o u t b a s e d o n e m p i r i c a l

    e v i d e n c e t h a t h u m a n s a r e n o t g o o d a t c a t e g o r i z i n g i n f o r m a t i o n " a n d t h a t r e q u i r i n g

    u s e r s t o d o s o i s a a w e d p s y c h o l o g i c a l p r o c e s s . " W h i t t a k e r a n d S i d n e r f o u n d t h a t

    f o l d e r s m a y b e o f l i t t l e u s e f o r r e t r i e v a l . " C o l e C o l 8 2 f o u n d t h a t u s e r s p r e f e r t o

    s p e n d a s l i t t l e t i m e a s p o s s i b l e a c t u a l l y l i n g " a n d c o n c l u d e s t h a t t h e l e s s t i m e s p e n t

    l i n g t h e b e t t e r . "

    1 . 1 . 2 R e m i n d i n g

    E l e c t r o n i c r e m i n d i n g " i s t h e u s e o f t h e c o m p u t e r t o a i d a u s e r i n r e m e m b e r i n g t a s k s

    o r e v e n t s . I n t h e r e a l w o r l d w e u s e a v a r i e t y o f a r t i f a c t s | c a l e n d a r s , P o s t I t

    T M

    n o t e s ,

    d a y p l a n n e r s | h e l p u s r e m e m b e r . I n 1 9 8 3 M a l o n e p o i n t e d o u t t h e i m p o r t a n c e o f

    r e m i n d i n g i n o u r p a p e r - b a s e d o c e s y s t e m s a n d s u g g e s t s t h e i r i n c l u s i o n i n c o m p u t e r -

    b a s e d s y s t e m s M a l 8 3 . Y e t d e s k t o p s y s t e m s s t i l l p r o v i d e l i t t l e s u p p o r t f o r r e m i n d i n g ;

    w h i l e a n u m b e r o f t i m e m a n a g e m e n t , s c h e d u l i n g , a n d t o d o " l i s t a p p l i c a t i o n s h a v e

    c o m e t o m a r k e t , t h e y d o n ' t r e p r e s e n t a g e n e r a l s o l u t i o n t o p r o v i d e u s e r s w i t h t h i s

    b a s i c c a p a b i l i t y .

    I n m o r e r e c e n t w o r k , B a r r e a u a n d N a r d i B N 9 5 o b s e r v e d t h a t d e s k t o p c o m p u t e r

    u s e r s o f t e n u s e a l e ' s l o c a t i o n o n t h e d e s k t o p a s a c r i t i c a l r e m i n d i n g f u n c t i o n . F o r

    i n s t a n c e , a t t h e e n d o f t h e d a y a M a c i n t o s h u s e r m a y l e a v e l e s o n h i s d e s k t o p a s a

    r e m i n d e r o f w o r k t o b e d o n e t h e n e x t m o r n i n g . O t h e r u s e r s l e a v e e l e c t r o n i c m a i l m e s -

    s a g e s i n t h e i r i n - b o x e s W S 9 6 . L a n s d a l e f o u n d t h i s b e h a v i o r l a r g e l y i d i o s y n c r a t i c " ; w e

    n d t h e u s e o f l o c a t i o n - b a s e d s t o r a g e u n s a t i s f y i n g a n d a n e a s i l y u n d e r m i n e d m e t h o d o f

    3

    R a t h e r t h a n c a t e g o r i z i n g a n d l i n g t h e i n f o r m a t i o n t h e y o f t e n p r e f e r t o p l a c e a l l l e s i n t o a t o p -

    l e v e l " d i r e c t o r y , m a i n t a i n t h e m w i t h i n m a i l a p p l i c a t i o n s o r t o d e l e t e t h e m .

    4

    T h i s i s L a n s d a l e ' s p a r a p h r a s e L a n 8 8 b o f M a l o n e .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    17/185

    C h a p t e r 1 . I n t r o d u c t i o n 5

    c r e a t i n g r e m i n d e r s . T h e d e s k t o p m e t a p h o r h a s n o s e m a n t i c n o t i o n o f r e m i n d i n g ; s u c h

    u s e b y u s e r s a m o u n t s t o a c o p i n g s t r a t e g y f o r l a c k o f a n y t h i n g b e t t e r . L o c a t i o n - b a s e d

    r e m i n d i n g i s a n a d h o c u s e r c o n v e n t i o n a n d i t s p r o b l e m s a r e o b v i o u s : t h e r e i s n o w a y t o

    i n s u r e t h a t a r e m i n d e r a c t u a l l y r e m i n d s y o u . W h i t t a k e r a n d S i d n e r a l s o s u g g e s t t h a t

    t h e n e e d f o r r e m i n d i n g i s a n o t h e r d e t e r r e n t t o l i n g , a s l i n g i n f o r m a t i o n m e a n s i t i s

    l e s s a v a i l a b l e t o r e m i n d u s e r s a b o u t t h a t t o p i c " t h e i r e m p h a s i s . M a l o n e s u g g e s t e d i n

    1 9 8 3 t h a t e l e c t r o n i c s y s t e m s s h o u l d h e l p i n r e m i n d i n g a n d i m p r o v e o v e r p h y s i c a l - w o r l d

    s y s t e m s : F a i l i n g t o s u p p o r t r e m i n d i n g m a y s e r i o u s l y i m p a i r t h e u s e f u l n e s s o f e l e c -

    t r o n i c o c e s y s t e m s a n d e x p l i c i t l y f a c i l i t a t i n g i t m a y p r o v i d e a n i m p o r t a n t a d v a n t a g e

    f o r a u t o m a t e d o c e s y s t e m s o v e r t h e i r n o n - a u t o m a t e d p r e d e c e s s o r s . "

    1 . 1 . 3 A r c h i v i n g

    O l d i n f o r m a t i o n i s g e n e r a l l y l e s s v a l u a b l e t h a n n e w , b u t r e g u l a r l y s i t u a t i o n s o c c u r i n

    w h i c h o l d i n f o r m a t i o n i s e s s e n t i a l . E v e r y o n e c a n r e c a l l t i m e s w h e n h e n e e d e d i n f o r -

    m a t i o n h e t h r e w a w a y a m o n t h a g o . U n f o r t u n a t e l y c u r r e n t s o f t w a r e s y s t e m s d o n o t

    m a k e i t e a s y t o a r c h i v e p e r s o n a l i n f o r m a t i o n . T h e y g i v e t h e u s e r s n o g o o d m e a n s o f

    s t o r i n g o l d i n f o r m a t i o n a n d n o c o n v e n i e n t m e t h o d f o r r e t r i e v i n g i n f o r m a t i o n . A s a

    r e s u l t , u s e r s a r e l e f t t o i n v e n t t h e i r o w n s c h e m e s o r u s e t h i r d - p a r t y a p p l i c a t i o n s , b o t h

    o f w h i c h s t i l l f a l l s h o r t w i t h r e s p e c t t o r e t r i e v a l . W h i t t a k e r a n d S i d n e r W S 9 6 q u o t e

    o n e u s e r d e s c r i b i n g h i s d i c u l t i e s :

    I ' m r e l u c t a n t t o a r c h i v e j u n k . . . I k n o w t h a t t h e c o n s e q u e n c e o f a r c h i v i n g

    j u n k i s t o m a k e i t t h a t m u c h h a r d e r t o n d g o o d s t u . . .

    T h e p r o b l e m i s t h a t i t i s d i c u l t t o d e c i d e w h a t t h e g o o d s t u " i s a p r i o r i . T h e

    u n d e r l y i n g p r o b l e m w i t h c u r r e n t s o f t w a r e s y s t e m s i s t h a t l o c a t i o n - b a s e d s t o r a g e a n d

    a r c h i v i n g a r e c o n i c t i n g g o a l s . L o c a t i o n - b a s e d s t o r a g e a s s u m e s a s m a l l i n f o r m a t i o n

    c o l l e c t i o n b a s i c a l l y w h a t t h e u s e r c a n r e m e m b e r a n d d o e s n o t s c a l e t o l a r g e c o l l e c -

    t i o n s o f i n f o r m a t i o n , a s J o n e s a n d D u m a i s J D 8 3 f o u n d i n t h e i r s t u d y o f t h e s p a t i a l

    m e t a p h o r . T h e y c o n c l u d e d t h a t a s t r i c t l y s p a t i a l l y - b a s e d i n f o r m a t i o n r e t r i e v a l s y s t e m

    w i l l b e p a r t i c u l a r l y v u l n e r a b l e t o i n c r e a s e s i n t h e s i z e o f d a t a b a s e . " I n f a c t , t h e y f o u n d

    t h a t s u b j e c t r e c a l l o v e r t i m e w a s e s p e c i a l l y p o o r a n d i n d i c a t e d t h a t t h e l o c a t i o n - b a s e d

    a p p r o a c h i s s i m p l y m o r e v u l n e r a b l e t o g e n e r a l f a c t o r s o f d e c a y a s s o c i a t e d w i t h t h e

    p a s s a g e o f t i m e " t h a n o t h e r s y m b o l i c m e a n s o f r e t r i e v a l . L o c a t i o n - b a s e d s t o r a g e i s

    p a r t i c u l a r l y i l l - s u i t e d t o r e t r i e v a l b e c a u s e a s w e h a v e d i s c u s s e d i n f o r m a t i o n i s n o t

    a l w a y s n e e d e d i n t h e s a m e w a y i t w a s o r i g i n a l l y .

    A s w e h a v e s e e n , i n t h e e n d m o s t u s e r s r e m o v e o l d i n f o r m a t i o n r a t h e r t h a n b e f o r c e d

    t o d e a l w i t h t h e i m p l i c a t i o n s o f s t o r i n g i t o r i n v e n t i n g a r c h i v i n g s c h e m e s E r i 9 1 , B N 9 5 .

    I n a s t u d y o f t h e p r a c t i c e s o f s e v e r a l g r o u p s o f i n f o r m a t i o n u s e r s , " E r i c k s o n f o u n d

    t h a t u s e r s o f t e n d i s c a r d e d a l l b u t t h e m o s t i m p o r t a n t i n f o r m a t i o n ; s p a c e c o n s t r a i n t s ,

    a s w e l l a s t h e d i c u l t y o f d e c i d i n g w h i c h l e f o l d e r w a s m o s t a p p r o p r i a t e , d e t e r r e d

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    18/185

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    19/185

    C h a p t e r 1 . I n t r o d u c t i o n 7

    d e s k t o p l e a n d f o l d e r s y s t e m . P r o d u c t s s u c h a s C l a r i s W o r k s a n d M i c r o s o f t O c e

    a i m t o i m p r o v e t h e s i t u a t i o n , h o w e v e r , o n c l o s e r e x a m i n a t i o n , t h e s e p r o d u c t s d o l i t t l e

    t o u n i f y t h e u s e r ' s e l e c t r o n i c e n v i r o n m e n t b e c a u s e t h e y s i m p l y b u n d l e t y p i c a l l y f o u r

    a p p l i c a t i o n s i n t o a c o m m o n p a c k a g e . W h i l e t h e u s e r c a n u s u a l l y c u t a n d p a s t e b e -

    t w e e n a p p l i c a t i o n s , t h e s e p a c k a g e s s t i l l r e l y o n t h e u n d e r l y i n g l e s y s t e m a n d d o n o t

    p r o v i d e t r u e i n t e g r a t i o n . S y s t e m s s u c h a s t h e N e w t o n a r e a s t e p i n t h e r i g h t d i r e c t i o n ,

    p r o v i d i n g a c o m m o n s t o r e a n d t h u s i m p r o v e d c o m p a t i b i l i t y " a m o n g a p p l i c a t i o n s , y e t

    t h e r e s i d e n t a p p l i c a t i o n s a r e s t i l l r e m n a n t s o f t h e d e s k t o p s y s t e m s s e e C h a p t e r 8 .

    1 . 2 T y p i c a l U s e r s a n d C o m m o n T a s k s

    B e f o r e s u g g e s t i n g n e w d i r e c t i o n s f o r s o f t w a r e s y s t e m s i t i s i m p o r t a n t t o k n o w f o r w h o m

    t h e s e s y s t e m s a r e i n t e n d e d a n d w h a t k i n d s o f t a s k s t h e s e u s e r s u n d e r t a k e . T h u s f a r w e

    h a v e l o o s e l y u s e d t h e t e r m s t y p i c a l u s e r s " a n d c o m m o n t a s k s . " W h a t d o t h e y m e a n ?

    E d H i l p e r t , i n a r e c e n t I B M P e r s o n a l S y s t e m s a r t i c l e H i l 9 5 , h a s s u g g e s t e d t h a t b e -

    f o r e c o m p u t e r s c a n b e c o m e a u b i q u i t o u s c o n s u m e r - l e v e l p r o d u c t , " t h e y m u s t b e m a d e

    e a s i e r f o r t h e b r o a d r a n g e o f c o n s u m e r s " w h o u s e t h e m . A c c o r d i n g t o H i l p e r t , t h i s

    g r o u p i n c l u d e s a l a r g e g r o u p o f u s e r s w h o h a v e n o c o m p u t e r t r a i n i n g , w h o a r e p o s s i b l y

    a f r a i d o f c o m p u t e r s a n d w h o a r e n o t i n c l i n e d t o r e a d m a n u a l s o r a t t e n d t r a i n i n g c l a s s e s .

    F o r t h e p u r p o s e s o f t h i s d i s s e r t a t i o n , w e d e n e t y p i c a l " o r c o m m o n " c o m p u t e r u s e r s

    t h e s a m e w a y a s H i l p e r t ; i n g e n e r a l , w e b e l i e v e t h i s c l a s s o f u s e r s i n c l u d e s p e o p l e w h o

    h a v e l i t t l e o r n o t e c h n i c a l c o m p u t e r t r a i n i n g a n d y e t u s e a c o m p u t e r r e g u l a r l y . T o d a y

    t h i s s e g m e n t r e p r e s e n t s t h e m a j o r i t y o f c o m p u t e r u s e r s , y e t s o f t w a r e s y s t e m s f a i l t o

    p r o v i d e t h e m e e c t i v e i n f o r m a t i o n e n v i r o n m e n t s . L i f e s t r e a m s i s d e s i g n e d t o a d d r e s s

    t h e n e e d s o f t h e s e u s e r s . W e a l s o b e l i e v e t h e u t i l i t y o f L i f e s t r e a m s e x t e n d s f u r t h e r

    t h a n t h i s p a r t i c u l a r c l a s s o f u s e r s . O u r l o n g - t e r m g o a l i s t o i m p r o v e c o m p u t i n g " a n d

    i n f o r m a t i o n m a n a g e m e n t f o r n e a r l y a l l u s e r s , t r a i n e d o r u n t r a i n e d .

    B y c o m m o n t a s k s " w e a r e r e f e r r i n g t o t h e e v e r y d a y a c t i v i t i e s o f t h e t y p i c a l u s e r .

    T o a m a s s a b r o a d c o l l e c t i o n o f c o m m o n t a s k s w e t u r n e d t o t h r e e s o u r c e s : p r e v i o u s w o r k

    i n t h e i n f o r m a t i o n m a n a g e m e n t c o m m u n i t y t h a t h a s c l a s s i e d t a s k s a n d i n f o r m a t i o n

    u s a g e p a t t e r n s W S 9 6 , E r i 9 6 , E r i 9 1 , M a l 8 3 , L a n 8 8 b , C o l 8 2 , B N 9 5 , P e m 9 6 , H a l , r e l a t e d

    s y s t e m s t h a t t a r g e t t h e s a m e c l a s s o f u s e r s m a n y a r e d e s c r i b e d i n C h a p t e r 8 , a n d o u r

    e x p e r i e n c e a n d t h a t o f o u r c o l l e a g u e s . W h i l e t h i s l a t t e r s o u r c e o f t a s k s i s s o m e w h a t

    b i a s e d g i v e n t h a t w e a r e a d v a n c e d c o m p u t e r u s e r s n o t r e p r e s e n t a t i v e o f t h e n o r m ,

    w e b r o a d e n t h e s c o p e o f s t u d y b y i n c l u d i n g i t . L e t u s b r i e y l o o k a t t h e s e t h r e e .

    F i r s t , t h e i n f o r m a t i o n m a n a g e m e n t c o m m u n i t y h a s a n a l y z e d a n d p r o d u c e d c l a s s i -

    c a t i o n s f o r t h e t a s k s t h a t t y p i c a l u s e r s p e r f o r m a n d t h e t y p e s o f i n f o r m a t i o n u s e r s

    p r o c e s s . T h e s e c l a s s i c a t i o n s a r e h e l p f u l b e c a u s e t h e y c o n d e n s e i n f o r m a t i o n m a n a g e -

    m e n t " i n t o a f e w p r i m a r y f u n c t i o n s a n d i n f o r m a t i o n " i n t o a f e w p r i m a r y t y p e s . W e

    w i l l c o v e r t h e s e c l a s s i c a t i o n s i n d e p t h i n C h a p t e r 7 . H o w e v e r , t o s u m m a r i z e b r i e y :

    U s e r s b y a n d l a r g e p e r f o r m t h e f o l l o w i n g t a s k s : w o r k i n g t a s k s , " w h i c h i n c l u d e l i n g

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    20/185

    C h a p t e r 1 . I n t r o d u c t i o n 8

    a n d n d i n g , t a s k m a n a g e m e n t s u c h a s t o d o l i s t s a n d r e m i n d i n g ; p e r s o n a l a r c h i v i n g , "

    w h i c h i n c l u d e s o r g a n i z a t i o n a n d c a t e g o r i z a t i o n o f l o n g - t e r m i n f o r m a t i o n ; a n d c o m -

    m u n i c a t i o n , " w h i c h i n c l u d e s i n t e r a c t i o n b e t w e e n u s e r s o v e r s p a c e a n d t i m e a n d m a y b e

    o n e - s h o t " o r a n o n g o i n g c o n v e r s a t i o n a l t h r e a d . I n a d d i t i o n , u s e r s s p e n d a g r e a t d e a l

    o f t i m e p r o c e s s i n g d o c u m e n t s | c r e a t i n g n e w d o c u m e n t s t h a t a r e s t o r e d i n a w o r k

    a r e a , c r e a t i n g d o c u m e n t s b a s e d o n e x i s t i n g d o c u m e n t s , o r c r e a t i n g d o c u m e n t s b a s e d

    o n m u l t i p l e s o u r c e s o f i n f o r m a t i o n a s i n L a n s d a l e ' s m u l t i - p r o j e c t e x a m p l e .

    S e c o n d , w e t a k e i n t o a c c o u n t t h e t a s k s p r o v i d e d b y r e l a t e d s y s t e m s . F o r i n s t a n c e ,

    M i c r o s o f t ' s B o b " w a s c r e a t e d w i t h t h e i n t e n t i o n o f m a k i n g c o m p u t i n g e a s y " A z a 9 5

    a n d i n c l u d e s s e v e n c o m m o n f u n c t i o n s | a l e t t e r w r i t e r , a c a l e n d a r , a n e m a i l a p p l i c a t i o n ,

    a n a l a r m c l o c k , a n d a d d r e s s b o o k , a c h e c k b o o k a n d a g a m e .

    5

    M o r e o v e r , w e i n c o r p o r a t e

    t h e m a n y t a s k s p r o v i d e d b y s y s t e m s c o v e r e d i n C h a p t e r 8 s u c h a s p e r s o n a l t o d o - l i s t

    m a n a g e r s , c o n t a c t m a n a g e r s , p e r s o n a l d i g i t a l a s s i s t a n t s s u c h a s t h e N e w t o n , h o t l i s t

    m a n a g e r s , a n d c a l e n d a r a p p l i c a t i o n s . W e a l s o i n c l u d e t h e t a s k s s u g g e s t e d b y p r o t o t y p e s

    s u c h a s A p p l e ' s K n o w l e d g e N a v i g a t o r , " w h i c h p r e s e n t s a s o f t w a r e p r o t o t y p e t h a t

    s u p p o r t s a n a t u r a l s t y l e " o f c o m p u t i n g .

    L a s t , w e i n c l u d e t a s k s f r o m o u r l o c a l c o m p u t i n g e n v i r o n m e n t . W e p e r f o r m m a n y

    o f t h e s a m e t a s k s a s t y p i c a l u s e r s . W e w i l l p o i n t o u t s o m e o f t h e d i e r e n c e s b e t w e e n

    o u r u s e a n d t h a t o f n o v i c e u s e r s a n d p r e s e n t a n e c d o t e s f r o m o u r l o c a l s y s t e m u s e i n

    C h a p t e r 5 .

    N o w t h a t w e h a v e a b a s i s f o r t h e u s e r s a n d t a s k s w e w i s h t o s u p p o r t w e p r o c e e d t o

    s u g g e s t n e w d i r e c t i o n s f o r s o f t w a r e s y s t e m s .

    1 . 3 N e w D i r e c t i o n s f o r S o f t w a r e S y s t e m s

    M a n y o f t h e p r o b l e m s h i g h l i g h t e d i n S e c t i o n 1 . 1 p o i n t t o a r e a s w h e r e d e s k t o p s y s t e m s

    d o n ' t m a t c h t h e e x i b i l i t y o f p a p e r - b a s e d s y s t e m s n a m i n g . O t h e r s s u g g e s t a r e a s

    w h e r e o u r s o f t w a r e s y s t e m s c a n d o b e t t e r r e m i n d i n g . I n e i t h e r c a s e , w e n e e d n e w

    s y s t e m s t h a t i m p r o v e t h e u s e r ' s i n f o r m a t i o n h a n d l i n g m e t h o d s . O u r p r o p o s a l i s t o

    l e a v e t h e p a p e r - b a s e d m o d e l s b e h i n d a n d i n v e n t n e w o n e s . W e a r e n o t t h e r s t t o

    s u g g e s t t h i s a p p r o a c h . E a r l y o n , C o l e C o l 8 2 s u g g e s t e d t h a t w e m u s t n o t s i m p l y

    a u t o m a t e e x i s t i n g o c e p r a c t i c e s | i n s o m e c a s e s t h i s w i l l p e r p e t u a t e a n e x i s t i n g

    m e s s . " L a n s d a l e h a s m a d e a m o r e i n t r i g u i n g a r g u m e n t | a l t h o u g h t h e o b j e c t i v e s o f

    t w o s y s t e m s m a y b e i d e n t i c a l e . g . , i n f o r m a t i o n s t o r a g e a n d r e t r i e v a l , t h e s t r a t e g i e s

    u s e d w i t h i n o n e t e c h n o l o g y a r e n ' t n e c e s s a r i l y a p p r o p r i a t e f o r a d i e r e n t t e c h n o l o g y .

    J o n e s a n d D u m a i s a p p l i e d t h i s p h i l o s o p h y t o d e s k t o p s y s t e m s s u g g e s t i n g t h a t t h e

    e l e c t r o n i c s y s t e m s o f t o m o r r o w s h o u l d n o t b e b o u n d b y t h e s a m e c o n s t r a i n t s w e f a c e

    i n r e t r i e v i n g t h e t a n g i b l e o b j e c t s i n o u r w o r l d . " I n a n y c a s e , t h e s e s t u d i e s i n p e r s o n a l

    i n f o r m a t i o n m a n a g e m e n t p r o v i d e i n s i g h t i n t o t h e w a y s p e o p l e m a n a g e t h e i r e l e c t r o n i c

    5

    S i n c e g a m e s h a v e l i t t l e t o d o w i t h p e r s o n a l i n f o r m a t i o n m a n a g e m e n t w e i g n o r e i t s i n c l u s i o n i n

    B o b .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    21/185

    C h a p t e r 1 . I n t r o d u c t i o n 9

    e n v i r o n m e n t s a n d i n f o r m a t i o n , a n d c l u e s a s t o w h a t p e o p l e a r e g o o d a n d b a d a t .

    O u r g o a l w i t h L i f e s t r e a m s i s t o r e d u c e t h e t i m e u s e r s s p e n d m a n a g i n g i n f o r m a t i o n

    w h i l e i n c r e a s i n g t h e i r a b i l i t y t o n d a n d m a k e u s e o f t h e i r d o c u m e n t s a n d e l e c t r o n i c

    e v e n t s . W e h o p e t o c r e a t e a s o f t w a r e e n v i r o n m e n t t h a t m o r e n a t u r a l l y s u p p o r t s t h e

    w a y s p e o p l e w o r k w i t h e l e c t r o n i c i n f o r m a t i o n a n d s i m p l i e s t h e i r e l e c t r o n i c i n t e r a c -

    t i o n s .

    B a s e d o n t h e r e s u l t s o f t h e s t u d i e s w e h a v e v i s i t e d i n t h i s c h a p t e r , w e h a v e c o n c l u d e d

    t h a t t h e f o l l o w i n g a r e e s s e n t i a l :

    S t o r a g e s h o u l d b e t r a n s p a r e n t .

    N a m i n g " a l e a s i t i s c r e a t e d a n d c h o o s i n g a l o c a t i o n a r e u n n e c e s s a r y o v e r h e a d .

    W h e n s o m e o n e s t a r t s w r i t i n g o n a p i e c e o f p a p e r h e d o e s n ' t h a v e t o g i v e i t a n a m e

    a n d c h o o s e a f o l d e r t o s t o r e i t i n . F i l e n a m e s a r e s o m e t i m e s p o i n t l e s s a n d o v e r

    t i m e o f t e n b e c o m e u s e l e s s f o r r e t r i e v a l p u r p o s e s ; n a m e s s h o u l d o n l y b e r e q u i r e d

    w h e n a u s e r e x p l i c i t l y w a n t s o n e . L i k e w i s e , s t o r a g e l o c a t i o n s i n t h e s e n s e o f

    f o l d e r s a r e e e c t i v e o n l y a s l o n g a s t h e u s e r r e m e m b e r s t h e m ; t h e d e t a i l s o f

    s t o r a g e s h o u l d b e h a n d l e d a u t o m a t i c a l l y b y t h e s y s t e m .

    T r a n s p a r e n t s t o r a g e a l s o a p p l i e s t o t h e n e t w o r k ; d a t a s h o u l d b e a c c e s s i b l e e v -

    e r y w h e r e , r e g a r d l e s s o f t h e v i e w i n g d e v i c e . U s e r s s h o u l d b e a b l e t o a c c e s s t h e i r

    p e r s o n a l i n f o r m a t i o n f r o m a n y a v a i l a b l e p l a t f o r m | f r o m a U n i x m a c h i n e a t w o r k ,

    a M a c o r P C a t h o m e , a P D A o n t h e r o a d , e v e n a s e t - t o p b o x v i a c a b l e .

    C o n v e n t i o n a l d i r e c t o r i e s a r e i n a d e q u a t e a s a n o r g a n i z i n g d e v i c e , i n f o r m a t i o n

    s h o u l d b e o r g a n i z e d o n d e m a n d .

    C o m m o n l e s y s t e m s a r e t o o f a i t h f u l t o t h e p a p e r - b a s e d w o r l d ; p a p e r c a n ' t b e

    i n m o r e t h a n o n e p l a c e , b u t e l e c t r o n i c d o c u m e n t s c a n o r c a n b e h a v e t h a t w a y .

    D e s k t o p s y s t e m s f o r c e u s e r s t o s t o r e n e w i n f o r m a t i o n i n x e d c a t e g o r i e s n a m e l y ,

    d i r e c t o r i e s . B u t i n f o r m a t i o n s h o u l d b e o r g a n i z e d a s n e e d e d , n o t o n c e a n d f o r a l l

    w h e n c r e a t e d . D i r e c t o r i e s s h o u l d b e c r e a t e d o n d e m a n d , a n d d o c u m e n t s s h o u l d

    b e l o n g t o a s m a n y o f t h e m a s s e e m s r e a s o n a b l e , o r t o n o n e . D i r e c t o r i e s s h o u l d

    b e c r e a t e d b a s e d o n t h e s e m a n t i c " i n f o r m a t i o n i n t h e d o c u m e n t . T h i s s e m a n t i c

    i n f o r m a t i o n p r o v i d e s a r i c h e r s p a c e f o r u s e r s t o e x p l o r e t h a n i s p r o v i d e d b y t h e

    2 D o r 3 D s p a c e i n m o s t d e s k t o p s y s t e m s , e s p e c i a l l y o v e r t i m e D u m 9 6 .

    C o m p u t e r s s h o u l d m a k e r e m i n d i n g " c o n v e n i e n t a n d e e c t i v e .

    S t u d i e s c o n r m s t h a t r e m i n d i n g i s a c r i t i c a l f u n c t i o n o f c o m p u t e r - b a s e d s y s t e m s ,

    y e t d e s k t o p s y s t e m s s u p p l y l i t t l e o r n o s u p p o r t f o r i t . U s e r s a r e f o r c e d e i t h e r

    t o u s e l o c a t i o n o n t h e i r g r a p h i c a l d e s k t o p s a s r e m i n d i n g c u e s o r t o u s e a d d - o n

    a p p l i c a t i o n s s u c h a s c a l e n d a r m a n a g e r s . W e h a v e a r g u e d t h a t t h e f o r m e r i s a

    m e r e c o p i n g s t r a t e g y f o r l a c k o f a b e t t e r m e t h o d , w h i l e t h e l a t t e r c o u l d c l e a r l y

    b e i m p r o v e d i f s o f t w a r e s y s t e m s p r o v i d e d b u i l t - i n n a t u r a l s u p p o r t f o r r e m i n d i n g .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    22/185

    C h a p t e r 1 . I n t r o d u c t i o n 1 0

    A r c h i v i n g " s h o u l d b e a u t o m a t i c .

    O f t e n , u s e r s t h r o w o u t o l d d a t a r a t h e r t h a n u n d e r t a k i n g t h e t a s k o f a r c h i v i n g i t .

    I n t h e p r o c e s s t h e y t h r o w o u t p o t e n t i a l l y v a l u a b l e i n f o r m a t i o n . S o f t w a r e s y s t e m s

    s h o u l d a u t o m a t e " a r c h i v i n g , m o v i n g o l d d a t a o u t o f t h e f o r e g r o u n d a s i t a g e s ,

    y e t k e e p i n g i t r e a d i l y a v a i l a b l e f o r r e t r i e v a l .

    S o f t w a r e s y s t e m s s h o u l d b e a b l e t o s u m m a r i z e a s e t o f d o c u m e n t s , y i e l d i n g a

    c o n c i s e o v e r v i e w q u i c k l y .

    W i t h t h e r a p i d g r o w t h i n o n l i n e e l e c t r o n i c d a t a w e m u s t a l l d e a l w i t h a g r e a t e r

    a m o u n t o f i n f o r m a t i o n e v e r y d a y , y e t p e o p l e c a n ' t r e a d o r p r o c e s s i n f o r m a t i o n

    a n y f a s t e r t h a n t h e y c o u l d b e f o r e H u t 9 5 . T h e f u l l t e x t r e v o l u t i o n

    6

    " i m p l i e s a

    p r e s s i n g n e e d f o r a u t o m a t i c s u m m a r i z i n g " J o n , y e t c o n v e n t i o n a l u s e r s y s t e m s

    d o n o t s u p p o r t a g e n e r a l m e c h a n i s m f o r s u m m a r i e s . I t i s v i t a l t h a t s o f t w a r e s y s -

    t e m s a l l o w u s e r s t o s u m m a r i z e o r c o m p r e s s a l a r g e g r o u p o f r e l a t e d d o c u m e n t s

    i n t o a c o n c i s e o v e r v i e w q u i c k l y ; s o f t w a r e s y s t e m s s h o u l d p r o v i d e a g e n e r a l p u r -

    p o s e f a c i l i t y f o r s u m m a r i z i n g d o c u m e n t s , g i v i n g u s e r s b e t t e r c o n t r o l o v e r t h e i r

    i n f o r m a t i o n c o l l e c t i o n s .

    S o f t w a r e s y s t e m s s h o u l d s i m p l i f y t h e u s e r ' s c o m p u t e r i n t e r a c t i o n s , n o t c o m p l i c a t e

    t h e m .

    P e r f o r m i n g c o m m o n c o m p u t e r t a s k s r e q u i r e s t o o m a n y s e p a r a t e a p p l i c a t i o n s a n d

    f o r m a t t r a n s l a t i o n s . S y s t e m s s h o u l d p r o v i d e a n i n t e g r a t e d e n v i r o n m e n t f o r p e r -

    s o n a l d a t a t h a t s i m p l i e s a n d s u b s u m e s m a n y a p p l i c a t i o n s a n d t h e n e e d f o r

    e x p l i c i t i m p o r t i n g , e x p o r t i n g o r f o r m a t t r a n s l a t i o n o f d a t a .

    W e a d d o n e a d d i t i o n a l c h a r a c t e r i s t i c b a s e d o n p r e v i o u s w o r k i n c o m p u t e r s c i e n c e

    s y s t e m s " r e s e a r c h :

    S o f t w a r e s y s t e m s s h o u l d p r o v i d e t h e c a p a b i l i t y f o r u s e r s t o c u s t o m i z e a n d c r e a t e

    t h e i r o w n e x t e n s i o n s .

    W h i l e t h e r e i s a l o n g t r a d i t i o n o f p r o v i d i n g e x t e n s i b l e s y s t e m s i n t h e c o m p u t e r

    s c i e n c e c o m m u n i t y U N I X t o o l s , e m a c s , e t c . , h u m a n - c o m p u t e r i n t e r a c t i o n r e -

    s e a r c h e r s s u c h a s E r i c k s o n E r i 9 6 h a v e a l s o d i s c u s s e d t h e n e e d f o r e x i b l e e n v i -

    r o n m e n t s t h a t c a n b e c u s t o m i z e d a n d e x t e n d e d t o m e e t t h e u s e r ' s n e e d s .

    1 . 4 O u t l i n e

    T h e r e m a i n d e r o f t h i s d i s s e r t a t i o n p r o c e e d s a s f o l l o w s : i n C h a p t e r 2 w e p r o v i d e a f o r -

    m a l d e s c r i p t i o n o f L i f e s t r e a m s , w h i c h a c t s a s a f o u n d a t i o n f o r t h e d e v e l o p m e n t o f o u r

    6

    T h e p h r a s e f u l l t e x t r e v o l u t i o n " i s u s e d b y t h e t e x t s u m m a r i z a t i o n c o m m u n i t y t o d e s c r i b e t h e

    t r e n d f r o m m a i n t a i n i n g o n l y a b s t r a c t s a n d k e y w o r d s t y p i c a l l y i n i n f o r m a t i o n r e t r i e v a l s y s t e m s o f

    d o c u m e n t s o n l i n e t o s t o r i n g t h e e n t i r e t e x t o f t h e d o c u m e n t .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    23/185

    C h a p t e r 1 . I n t r o d u c t i o n 1 1

    r e s e a r c h p r o t o t y p e . T h e r e s e a r c h p r o t o t y p e i s d e s c r i b e d o v e r t w o c h a p t e r s : C h a p t e r 3

    d e s c r i b e s t h e L i f e s t r e a m s i n f r a s t r u c t u r e a n d s e r v e r , i n c l u d i n g a d i s c u s s i o n o f t h e p r a g -

    m a t i c i s s u e s i n v o l v e d i n a d a p t i n g o u r m o d e l f o r r e a l - w o r l d " u s e ; C h a p t e r 4 d e s c r i b e s

    t h r e e u s e r i n t e r f a c e s t o t h e L i f e s t r e a m s s y s t e m i n c l u d i n g a n X W i n d o w s b a s e d U N I X

    w o r k s t a t i o n c l i e n t , a c o m m a n d - l i n e i n t e r f a c e a n d a n i n t e r f a c e t h a t r u n s o n a N e w t o n

    p e r s o n a l d i g i t a l a s s i s t a n t . C h a p t e r 5 p r e s e n t s L i f e s t r e a m s i n c o n t e x t , d e s c r i b i n g h o w

    c o m m o n t a s k s a r e a c c o m p l i s h e d a n d t h e n d e m o n s t r a t i n g h o w L i f e s t r e a m s i s e a s i l y e x -

    t e n d e d t o s u p p o r t n e w b e h a v i o r s . W e t h e n p r e s e n t t h e e v a l u a t i o n o f o u r p r o t o t y p e i n

    C h a p t e r 6 . I n C h a p t e r 7 w e r e v i s i t t h e w o r k o f M a l o n e , L a n s d a l e a n d o t h e r s f r o m t h e

    i n f o r m a t i o n m a n a g e m e n t c o m m u n i t y a n d e x a m i n e L i f e s t r e a m s i n t h e c o n t e x t o f t h e i r

    w o r k . C h a p t e r 8 s u r v e y s t h e l a n d s c a p e o f r e l a t e d s y s t e m s a n d a p p l i c a t i o n s , c o m p a r -

    i n g a n d c o n t r a s t i n g e a c h w i t h L i f e s t r e a m s . F i n a l l y c h a p t e r 9 p r e s e n t s c o n c l u s i o n s a n d

    s u g g e s t s d i r e c t i o n s f o r f u t u r e w o r k .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    24/185

    C h a p t e r 2

    T h e M o d e l

    I n t h i s s e c t i o n w e p r e s e n t t h e L i f e s t r e a m s m o d e l . W e b e g i n w i t h a c o n c e p t u a l d e s c r i p -

    t i o n a n d t h e n d e s c r i b e t h e m o d e l i n f o r m a l l y i n l i g h t o f t h e o p e r a t i o n a l c h a r a c t e r i s t i c s

    t h a t w e d e t e r m i n e d n e c e s s a r y f o r s u c h s y s t e m s i n C h a p t e r 1 . W e t h e n p r o v i d e a f o r m a l

    d e s c r i p t i o n o f L i f e s t r e a m s . T h e r e a d e r m a y s k i p t h e f o r m a l s e c t i o n w i t h o u t l o s s o f

    c o n t i n u i t y , b u t i t i s r e c o m m e n d e d f o r r e a d e r s w h o c a r e a b o u t i m p l e m e n t a t i o n d e t a i l s .

    2 . 1 T h e C o n c e p t

    L i f e s t r e a m s h a v e t h e i r b e g i n n i n g s i n t h e c h r o n i c a l s t r e a m s " o f G e l e r n t e r i n G e l 9 1

    a n d w e r e r s t d e s c r i b e d a s a s t r u c t u r e f o r m a n a g i n g p e r s o n a l e l e c t r o n i c i n f o r m a t i o n

    i n G e l 9 4 . T h i s d i s s e r t a t i o n i s t h e r s t e o r t t o d e n e L i f e s t r e a m s i n c o n c r e t e t e r m s

    a n d t o d e m o n s t r a t e i t s u s e f u l n e s s v i a a w o r k i n g p r o t o t y p e . I n t h e s p i r i t o f t h e i n i t i a l

    w r i t i n g s a b o u t L i f e s t r e a m s , l e t u s r s t e x a m i n e L i f e s t r e a m s a s i t m i g h t l o o k i n 1 9 9 9

    a d a p t e d f r o m C F F G 9 6 :

    H e r e ' s y o u r c o m p u t e - e n v i r o n m e n t c i r c a 1 9 9 9 : e v e r y d o c u m e n t y o u ' v e e v e r

    c r e a t e d o r r e c e i v e d s t r e t c h e s b e f o r e y o u i n a t i m e - o r d e r e d s t r e a m , r e a c h i n g

    f r o m r i g h t n o w b a c k w a r d s t o t h e d a t e y o u w e r e b o r n . Y o u c a n s i t b a c k

    a n d w a t c h n e w d o c u m e n t s a r r i v e : t h e y ' r e p l u n k e d d o w n a t t h e h e a d o f t h e

    s t r e a m . Y o u b r o w s e t h e s t r e a m b y r u n n i n g y o u r c u r s o r d o w n i t | t o u c h a

    d o c u m e n t i n t h e d i s p l a y a n d i t p o p s o u t f a r e n o u g h f o r y o u t o g l a n c e a t i t s

    c o n t e n t s . Y o u c a n g o b a c k i n t i m e , o r g o t o t h e f u t u r e a n d s e e w h a t y o u ' r e

    s u p p o s e d t o b e d o i n g n e x t w e e k o r n e x t d e c a d e .

    E v e r y c h u n k o f i n f o r m a t i o n e v e r y d o c u m e n t , e m a i l m e s s a g e , a p p l i c a t i o n

    t r a n s c r i p t , r o l o d e x c a r d , a p p o i n t m e n t - c a l e n d a r i t e m . . . i s s t o r e d i n a s i n g l e

    t i m e - o r d e r e d s t r e a m . W h e n y o u t u n e i n , y o u s e e a s t r e a m o f d o c u m e n t s

    r e c e d i n g i n t o t h e d i s t a n c e ; f a r t h e r a w a y i n i m a g i n a r y s p a c e m e a n s f a r t h e r

    b a c k i n t i m e . T o c r e a t e a n e w d o c u m e n t , y o u c a n p r e s s t h e n e w " b u t t o n

    1 2

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    25/185

    C h a p t e r 2 . T h e M o d e l 1 3

    a n d g e t a n e m p t y b o x r e a d y t o l l , o r c l o n e a n o l d d o c u m e n t a n d g e t a n e w

    c o p y t o a l t e r a s y o u c h o o s e . Y o u d o n ' t n e e d t o n a m e d o c u m e n t s a l t h o u g h

    y o u c a n ; d o c u m e n t s a r e l o c a t e d b y a t t r i b u t e a n d c h r o n o l o g y . W h e n y o u

    w a n t t o c r e a t e a n e w d o c u m e n t , y o u s p e n d z e r o t i m e d e c i d i n g w h e r e t o p u t

    i t a n d w h a t t o n a m e i t .

    Y o u m i g h t b e i n d a n g e r o f b e i n g o v e r w h e l m e d b y a l l t h e d o c u m e n t s o n

    y o u r s c r e e n | b u t y o u u s e s u b s t r e a m i n g " b y p r e s s i n g n d " a n d d e s c r i b i n g

    t h e d o c u m e n t s y o u w a n t , a n d e v e r y t h i n g e l s e t e m p o r a r i l y d i s a p p e a r s .

    A s u b s t r e a m p e r s i s t s u n t i l y o u k i l l i t . A n e w l y - a r r i v i n g d o c u m e n t g e t s

    d u m p e d i n t h e m a i n s t r e a m a n d a l s o a p p e a r s o n e v e r y s u b s t r e a m w h e r e i t

    t s .

    W h e n y o u p r e s s t h e s q u i s h " b u t t o n y o u g e t a s u m m a r y o f a s u b s t r e a m .

    T h e t y p e o f s u m m a r y d e p e n d s o n t h e t y p e o f i n f o r m a t i o n i n t h e s u b s t r e a m |

    t e x t u a l f o r p l a i n d o c u m e n t s , g r a p h s o r p i c t u r e s o r a n i m a t i o n s f o r t h e a p p r o -

    p r i a t e m o r e - s p e c i a l i z e d t y p e s . T h e s q u i s h " b u t t o n a u t o m a t i c a l l y i n v o k e s

    a n a p p r o p r i a t e s q u i s h f o r t h i s s u b s t r e a m o r o e r s y o u a c h o i c e o f r e a s o n -

    a b l e s q u i s h e r s . I n s o m e c a s e s , h i g h l y c o m p l e x a n d s o p h i s t i c a t e d s q u i s h e r s

    w i l l b e d e s i r a b l e . T h e l i f e s t r e a m s y s t e m ' s c o n t r i b u t i o n i s n ' t t o s a y h o w

    t h e s e s q u i s h e r s s h o u l d b e b u i l t | r a t h e r t o s u g g e s t t h a t t h e y b e b u i l t , a n d

    t o p r o v i d e a u n i f o r m f r a m e w o r k i n w h i c h t h e y c a n b e i n s t a l l e d .

    T h e s t r e a m h a s a f u t u r e a s w e l l a s a p a s t . A p p o i n t m e n t s a n d c a l e n d a r i t e m s

    a r e s t o r e d i n t h e f u t u r e , a n d b e c o m e v i s i b l e w h e n t h e i r c r e a t i o n - t i m e s r o l l

    a r o u n d o r w h e n y o u g o t o t h e f u t u r e o n p u r p o s e t o l o o k a r o u n d .

    D o c u m e n t s i n t h e p r e s e n t " a r e w r i t a b l e . F a r t h e r b a c k , i n t h e p a s t , " t h e y

    h a v e f r o z e n i n t o h i s t o r y a n d b e c o m e r e a d - o n l y . E a c h u s e r d e c i d e s w h e n

    t h e p r e s e n t e n d s a n d t h e p a s t b e g i n s | a t w h a t p o i n t , i n o t h e r w o r d s , d o c -

    u m e n t s f r e e z e . O n e p o s s i b i l i t y a n d t h e s y s t e m d e f a u l t i s t o f r e e z e t o d a y ' s

    d o c u m e n t s a t t h e s t a r t o f t o m o r r o w . I n t h a t c a s e y o u c a n w o r k o n a d o c -

    u m e n t a l l d a y , b u t t o c o n t i n u e t h e n e x t d a y y o u n e e d t o u s e c l o n e " t o

    c r e a t e a n e w c o p y o n t h e s t r e a m h e a d . O r a u s e r m i g h t p o s t p o n e f r e e z i n g

    f o r a w e e k , o r f o r e v e r . T h e f a r - t a i l o f t h e s t r e a m | f o r e x a m p l e , d o c u m e n t s

    t h a t a r e m o r e t h a n t w o y e a r s o l d | m a y d i s a p p e a r a t t h e i m p l e m e n t a t i o n ' s

    d i s c r e t i o n i n t o a r c h i v a l s t o r a g e . T h e u s e r s p e c i e s w h e r e t h e f a r t a i l " b e -

    g i n s , b u t t h e L i f e s t r e a m s - p r o v i d e r w i l l p r e s u m a b l y s e t c h a r g e s t h a t d e p e n d

    o n a u s e r ' s w i l l i n g n e s s t o h a v e o l d m a t e r i a l d u m p e d i n t o d a t a w a r e h o u s e s .

    A g e n t s c a n t r o l l d o w n l i f e s t r e a m s ; a n a g e n t c a n c r u i s e t o t h e h e a d o f a

    s t r e a m f o r e x a m p l e a n d g o t o s l e e p a f t e r p o s t i n g i n s t r u c t i o n s t h a t i t b e

    a w a k e n e d w h e n e v e r a d o c u m e n t a r r i v e s . A g e n t s a r e i m p o r t a n t t o m a n y

    a s p e c t s o f t h e s y s t e m ; c u s t o m a g e n t s a r e t h e m a i n w a y s i n w h i c h t h e s y s t e m

    i s d e s i g n e d t o a c c o m m o d a t e e x t e n s i o n s a n d r e n e m e n t s .

  • 8/14/2019 Eric T. Freeman, The Lifestreams Software Architecture

    26/185

    C h a p t e r 2 . T h e M o d e l 1 4

    N o w t h a t w e h a v e p r e s e n t e d t h e c o n c e p t o f L i f e s t r e a m s i n t h e l a r g e , " w e p r e s e n t

    t h e m o d e l m o r e c o n c r e t e l y . W e d o s o i n t e r m s o f i t s s t o r a g e p a r a d i g m a n d i t s b a s i c

    o p e r a t i o n s . I n t h e p r o c e s s w e s u g g e s t h o w L i f e s t r e a m s p r o v i d e s t r a n s p a r e n t s t o r a g e ,

    o r g a n i z a t i o n t h r o u g h o n - d e m a n d d i r e c t o r i e s , a n d t h e a b i l i t y t o c r e a t e o v e r v i e w s . W e

    t h e n e x a m i n e t h e u n d e r l y i n g t i m e - b a s e d s t o r a g e m o d e l a n d , i n t h e p r o c e s s , s h o w h o w

    L i f e s t r e a m s a c c o m p l i s h e s a r c h i v i n g a n d r e m i n d i n g i n a n a t u r a l w a y .

    W e s h o u l d b e c l e a r a t t h e o n s e t t h a t t h e p r o t o t y p e i m p l e m e n t s t h e i d e a s n e e d e d t o

    p r o v e t h e t h e s i s . I t i s n o t a c o m p l e t e e m b o d i m e n t o f t h e i d e a s .

    2 . 1 . 1 W h a t i s a l i f e s t r e a m ?

    A l i f e s t r e a m i s a t i m e - o r d e r e d s t r e a m o f d o c u m e n t s t h a t f u n c t i o n s a s a d i a r y o f y o u r

    e l e c t r o n i c l i f e ; e v e r y d o c u m e n t y o u c r e a t e o r o t h e r p e o p l e s e n d y o u i s s t o r e d i n y o u r

    l i f e s t r e a m . T h e t a i l o f y o u r s t r e a m c o n t a i n s d o c u m e n t s f r o m t h e p a s t s t a r t i n g w i t h

    y o u r e l e c t r o n i c b i r t h c e r t i c a t e , p e r h a p s . M o v i n g a w a y f r o m t h e t a i l a n d t o w a r d t h e

    p r e s e n t , y o u r s t r e a m c o n t a i n s m o r e r e c e n t d o c u m e n t s | p a p e r s i n p r o g r e s s o r n e w

    e l e c t r o n i c m a i l ; o t h e r d o c u m e n t s p i c t u r e s , c o r r e s p o n d e n c e , b i l l s , m o v i e s , v o i c e m a i l ,

    s o f t w a r e a r e s t o r e d i n b e t w e e n . M o v i n g b e y o n d t h e p r e s e n t a n d i n t o t h e f u t u r e , t h e

    s t r e a m c o n t a i n s d o c u m e n t s y o u w i l l n e e d : r e m i n d e r s , c a l e n d a r i t e m s , t o - d o l i s t s .

    U s e r s i n t e r a c t w i t h L i f e s t r e a m s v i a v e o p e r a t i o n s : n e w , c l o n e , t r a n s f e r , f i n d

    a n d s u m m a r i z e d e p i c t e d i n F i g u r e 2 . 1 . W e w i l l e x a m i n e e a c h o p e r a t i o n .

    2 . 1 . 2 D o c u m e n t C r e a t i o n a n d S t o r a g e

    U s e r s c r e a t e d o c u m e n t s b y m e a n s o f n e w a n d c l o n e N e w c r e a t e s a n e w , e m p t y d o c u -

    m e n t r e a d y f o r e d i t i n g a n d a d d s i t t o y o u r s t r e a m ; t h e u s e r m a y b e g i v e n t h e c h o i c e

    b e t w e e n a s e l e c t i o n o f d o c u m e n t t y p e s a n d o r t e m p l a t e s d e p e n d i n g o n t h e d o c u m e n t

    m o d e l . T h e u s e r d o e s n o t e x p l i c i t l y m a n a g e t h e d o c u m e n t ' s s t o r a g e i n t e r m s o f i t s

    l o c a t i o n | d o c u m e n t s a r e a l w a y s a d d e d t o t h e h e a d o f t h e s t r e a m a n d d o n ' t r e q u i r e

    n a m e s u n l e s s t h e u s e r s o d e s i r e s . E a c h d o c u m e n t c o m e s w i t h a n u m b e r o f a t t r i b u t e s