Leonardi

Leonardi preview image

1 collaborator

Default-person Eleanor Anderson (Author)

Tags

(This model has yet to be categorized with any tags)
Part of project 'Organizational Change Set'
Model group MAM-2013 | Visible to everyone | Changeable by the author
Model was written in NetLogo 5.0.4 • Viewed 176 times • Downloaded 12 times • Run 0 times
Download the 'Leonardi' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


## WHAT IS IT?

This model is based on Leonardi, P. M. (2009). Why do people reject new technologies and stymie organizational changes of which they are in favor? Exploring misalignments between social interactions and materiality. Human Communication Research, 35(3), 407–441.

It is intended to represent the process of social construction of an innovation, as it diffuses through an organization or organizational field; that is, the process whereby people decide what a new tool is and what it's good for (or not good for).

People are represented as turtles, and technology as patches (at least for now).

When agents interact with each other, they exchange information about what they understand the technology is supposed to do.

When agents interact with the technology they compare their information to the technology's information.

If it's right they use the technology for that. If its wrong the don't use the technology and spread the word that the technology is NOT good for what they expected.

## HOW IT WORKS

Turtles and patches both carry information about what the technology does: turtles in the form of expectations and patches in the form of affordances.

When turtles run into each other, they compare their expectations. If I encounter a turtle with a positive expectation about a particular feature, I increment the strength of my expectation up. If I encounter a turtle with a negative expectation about a particular feature (ie they believe the technology does *not* do that), I increment my expectation down.

When turtles encounter the technology they compare their positive expectations to the technology's affordances. They increment their expectations up or down 5 units. They do not ask about their negative expectations. Neutral expectations sometimes learn.

#### NEED TO DECIDE:

* how/when to stop the model?

* do I want to use the "usage" thing?

* do I want to use the "verified" thing

* is there a limit to the positive or negative strength of an expectation?

* ideally it would be great if this could model the spread of adoption as well as just people's expectations . . . how to do this?

* how do I want to treat incrementing from person-person vs. person-technology contact?

* what are the circumstances under which learning directly from the techology should be possible?

* when a turtle has no expectations at all about what the tool does?

* when a turtle has no expectations w/regard to at least one feature of the technology?

* with negative expectations??

* what about learning negative things (ie what the technology doesn't do?)

* it would be nice if there were a single parsimonious rule to handle all cases

* Do I want to get into the network-based stuff?

## HOW TO USE IT

(how to use the model, including a description of each of the items in the Interface tab)

## THINGS TO NOTICE

(suggested things for the user to notice while running the model)

## THINGS TO TRY

(suggested things for the user to try to do (move sliders, switches, etc.) with the model)

## EXTENDING THE MODEL

What if there are more than 2 possible affordances or expectations?

What might affect people's liklihood of learning from other people or from the technology, or from learning certain things? Are some affordances easier to see than others?

## NETLOGO FEATURES

(interesting or unusual features of NetLogo that the model uses, particularly in the Code tab; or where workarounds were needed for missing features)

## RELATED MODELS

(models in the NetLogo Models Library and elsewhere which are of related interest)

## CREDITS AND REFERENCES

(a reference to the model's URL on the web if it has one, as well as any other necessary credits, citations, and links)

Model URL: http://modelingcommons.org/browse/one_model/3776#model_tabs_browse_discuss

Based on:

Leonardi, P. M. (2009). Why do people reject new technologies and stymie organizational changes of which they are in favor? Exploring misalignments between social interactions and materiality. Human Communication Research, 35(3), 407–441.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

patches-own [ affordances ]


breed [people person]
breed [expectations expectation]

;breed [technologies technology]

people-own [ usage verified? ]
expectations-own [feature strength]

directed-link-breed [holds hold]

to setup
  ca
  
  ;; possible expectations: a, ~a, b, ~b, a & b, ~a & ~b or nothing OR a, ~b, b ~a
  
  ;; create people with different kinds of expectations (for now, only positive ones)

; create all people with 2 expectations
; each expectation has a feature and a strength
; strength can be pos, neg or 0


  create-people total-#
  [ setxy random-pxcor random-pycor
    hatch-expectations 1
    [ set feature "a"
      set strength 0    
      create-hold-from myself ]
  hatch-expectations 1
  [ set feature "b"
    set strength 0
    create-hold-from myself ] ]
  
  ask n-of #-expecting-a people with [ all? out-hold-neighbors [strength = 0]  ]
  [ ask out-hold-neighbors with [ feature = "a" ]
    [ ;set valence "+"
      set strength 1 + random 10 ] ]
  
  
  ask n-of #-expecting-b people with [ all? out-hold-neighbors [strength = 0]  ]
  [ ask out-hold-neighbors with [ feature = "b" ]
    [ ;set valence "+"
      set strength 1 + random 10 ] ]
  
  
  ask n-of #-expecting-both people with [ all? out-hold-neighbors [strength = 0]  ]
  [ ask out-hold-neighbors with [ feature = "a" ]
    [ ;set valence "+"
      set strength 1 + random 10 ] 
  ask out-hold-neighbors with [ feature = "b" ]
  [ ;set valence "+"
    set strength 1 + random 10 ] ]
  
  ask people
  [ set usage []
    set shape "person"
    set size 1.6
    set verified? false
    color-code-usage ]
  
  ask expectations
  [ format-expectations ]
  
  
  ;; for these two I want to set something so that it is visually clear who is starting, but then I want them to just set their
  ; usage based on their expectations and their interaction with the technology. HOW TO DO THIS?
  if introduce-technology = 0
  [ adopt-technology]
  
  reset-ticks
end 

to adopt-technology
  
if technology-introduced = "one patch"
[ ask patch 0 0
  [ set affordances (sentence technology-affordances)
    color-code-affordances 
    ask neighbors
    [ set affordances (sentence technology-affordances)    
    color-code-affordances ] ] ]

if technology-introduced = "one person"
[ ask one-of people
  
   [set usage technology-affordances 
   color-code-usage 
   set usage [] 
      
   ask patch-here 
     [ set affordances technology-affordances
       color-code-affordances ] ] ]
   
;       ask neighbors
;       [ set affordances technology-affordances
;         color-code-affordances ] ] ] ]
     

if technology-introduced = "everyone"
[ ask people
   [ set usage technology-affordances 
     color-code-usage
     set usage []
     
     ask patch-here 
     [ set affordances technology-affordances
       color-code-affordances ] ] ] 

;wait .5
end 

to color-code-affordances
  if member? "a" affordances and not member? "b" affordances
      [ set pcolor blue - 2.5 ]
  if not member? "a" affordances and member? "b" affordances
      [set pcolor yellow - 2.5]
  if member? "a" affordances and member? "b" affordances
      [ set pcolor green - 2.5]
  if not member? "a" affordances and not member? "b" affordances
      [ set pcolor gray - 2.5 ]
end 

to format-expectations
  
  ;; make expectations color, shape and placement reflect what they indicate
  
;if valence = "+"
if strength > 0
[ set shape "circle"
  set size .5 ]
;if valence = "-"
if strength < 0
[ set shape "x"
  set size .6 ]
if strength = 0
[hide-turtle]
if strength != 0
[show-turtle]
if feature = "a"
[ set color blue + 1.5 
  setxy ( [ xcor ] of one-of in-hold-neighbors - .5) ( [ ycor ] of one-of in-hold-neighbors + .5) ]
if feature = "b"
[ set color yellow + 1.5 
  setxy ( [ xcor ] of one-of in-hold-neighbors + .5) ( [ ycor ] of one-of in-hold-neighbors + .5) ]
ask my-in-holds [hide-link]
end 

;; Set color to reflect the technology's capabilities

to color-code-usage
  if member? "a" usage and not member? "b" usage
    [ set color blue + .8 ] 
  if member? "b" usage and not member? "a" usage
    [ set color yellow + .8 ] 
  if member? "a" usage and member? "b" usage
    [ set color green + .8] 
  if not member? "a" usage and not member? "b" usage
    [ set color gray + .8 ]
end 




;; When all the turtles have decided what they expect of the new technology, stop the model

to go
  if all? people [verified? = true] [ stop ]

  if ticks = introduce-technology and ticks != 0
  [ adopt-technology
    display
    wait .5 ]
  
  interact-with-others 
  interact-with-technology
  ask people  
  [ color-code-usage ]  
  
  if technology-introduced != "one patch"
  [reset-patches]  
  
  move-turtles
  
  tick  
end 

to move-turtles
  ask people 
  [ let path random-normal 0 30
    rt path
    fd 1 
    ask out-hold-neighbors
    [ rt path
      fd 1 ] ]
end 


;; Turtles who aren't sure what to think about the new technology yet (haven't verified their expectations) 
;; can find out about it from others.

to interact-with-others

ask people with [verified? = false ]
[ if any? other people-here with [ any? out-hold-neighbors with [ strength != 0 ] ]
    [ learn-from-others ] ]
      ;color-code-expectations ] ]
end 



; I want to say that all you look for is whether the other person's expectation is pos or negative--strength doesn't matter, you just increment yours
; but do you look at all of their expectations, or just one?

to learn-from-others
  
  let sender one-of other people-here 
  ask out-hold-neighbors
  [ ;show strength
    let insight one-of expectations with [ in-hold-neighbor? sender and feature = [feature] of myself ]
    if [ strength ] of insight > 0
    [ set strength strength + 1]
    if [ strength ] of insight < 0
    [ set strength strength - 1 ] 
    ;show strength
    format-expectations ]
  
  if technology-introduced = "one person"
  [ if [usage] of sender != []
    [ ask patch-here 
      [ set affordances technology-affordances ] ] ]
end 


;; so whoever is interacting with the technology:
; ask technology: do you do what I expect?
; set usage accordingly



;; Turtles who aren't sure what to think about the new technology yet (haven't verified their expectations) 
;; can also find out about it by interacting with the technology


;; If turtles have no expectations at all, they explore the technology openly and learn from it
;; If turtles have some expectations already, they test them

to interact-with-technology

  ask people with [ verified? = false ]
  [ if [ affordances ] of patch-here != 0
;    [ if any? out-hold-neighbors with [ valence = "+" ]
      [ test-expectations 
      if not any? out-hold-neighbors with [ strength != 0 ]
      [ learn-from-technology ] 
      ; set verified? true
      ] ]
end 

;; If a patch that's already been socially constructed (ie a place that the technology has spread)
;; *doesn't* have the capabilities a turtle expects, the turtle revises its expectations to reflect that.

to test-expectations
  let tool patch-here
  ask out-hold-neighbors with [ strength > 0 ]
  [ if member? feature [ affordances ] of tool
    [ set strength strength + 5 ] 
    if not member? feature [ affordances ] of tool
    [ set strength strength - 5 ]
    format-expectations ]
    

;     set usage (sentence [ feature ] of out-hold-neighbors with [ valence = "+" ] )
;     show usage
;     set verified? true
end 


;; If a turtle has no expectations, it learns what the technology can do from a socially-constructed patch itself

to learn-from-technology
  
  let tool patch-here
  ask out-hold-neighbors
  
  [ if random-float 1 < chance-learn-from-technology
    [ if member? feature [ affordances ] of tool
      [ set strength strength + 2 ] 
    if not member? feature [ affordances ] of tool
      [ set strength strength - 2 ]
    format-expectations ] ]
  
;; do I want there to be something where the more strongly you believe something does something the more likely
; you are to be able to find it there? so it is possible that you'll find out that the technology does something you
; didn't know to look for at all, but unlikely?
end 

to reset-patches
  ask patches 
  [ set affordances 0
    set pcolor black ]
end 

to-report total-#
report #-expecting-a + #-expecting-b + #-expecting-both + #-no-expectations
end 


;to-report %-a
;  report count turtles with [expectations = ["a"]] / count turtles
;end
;
;to-report %-b
;  report count turtles with [expectations = ["b"]] / count turtles
;end
;
;to-report %-both
;  report count turtles with [member? "a" expectations  and member? "b" expectations ] / count turtles
;end
;
;to-report %-none
;  report count turtles with [expectations = []] / count turtles
;end

There are 5 versions of this model.

Uploaded by When Description Download
Eleanor Anderson over 5 years ago expectations are now fully incremented rather than binary Download this version
Eleanor Anderson over 5 years ago people stop changing once verified; learning from technology happens with randomness Download this version
Eleanor Anderson over 5 years ago different patterns of technology introduction; can choose timing of introduction Download this version
Eleanor Anderson over 5 years ago added chooser for technology affordances Download this version
Eleanor Anderson over 5 years ago Initial upload Download this version

Attached files

File Type Description Last updated
Leonardi.png preview Preview for 'Leonardi' over 5 years ago, by Eleanor Anderson Download

This model does not have any ancestors.

This model does not have any descendants.