Leonardi
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
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.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Leonardi.png | preview | Preview for 'Leonardi' | about 12 years ago, by Eleanor Anderson | Download |
This model does not have any ancestors.
This model does not have any descendants.