Skip to main content

Innovation-Oriented Programming: Software Development as a Medium for Exaptation and Implications for the Active Facilitation of Innovation Within Virtual Environments

  • Chapter
  • First Online:
Understanding Innovation Through Exaptation

Part of the book series: The Frontiers Collection ((FRONTCOLL))

  • 553 Accesses

Abstract

The software domain is an environment that has produced a wide variety of exaptation-based innovations through the repurposing of data, algorithms, and visualizations to problems other than the ones they were originally developed to solve. Unfortunately these innovations have largely been the result of serendipity. Because modern software development is fundamentally aligned to the same principles of evolution that lead to biological innovation—modularity, fluidity, community, diversity, translatability, and combinatorial flexibility—it is an ideal environment in which to leverage our understanding of exaptation to actively facilitate innovations instead of leaving them to chance. Achieving this, however, requires a departure from traditional programming paradigms and the implementation of development systems specifically oriented toward innovation. Preliminary experiments show that when explicit innovation-oriented programming systems and practices are leveraged, innovations occur, suggesting opportunities to leverage the advantages of the virtual domain for the production of both repeatable and scaleable radical innovation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The natural domain is simply an analogical domain to the cognitive domain, so our ability to exert control in this domain does not help us facilitate mental exaptation unless the organisms we are exerting control over are somehow analogous to the problem space we are trying to innovate in. Interestingly, if we did encode our problem organically, this would be a form of biological computing and it could be argued that it was, therefore, equivalent to software development using chemistry instead of code. As for the cognitive domain, there are some ways to exert control, through methods like priming and through processes like brainstorming, but since cognition remains a mostly black-box process it is difficult to assess the effects of these interventions or tailor them to the thought process of the individual. The physical domain offers many opportunities to exert control, but these are frequently expensive from a financial, time, and/or process overhead perspective.

  2. 2.

    Programs can be written to be self-modifying or use non-deterministic algorithms that may return different results based on the conditions in which they are run. For example, the object code of a program might generate random numbers based on the time on the clock of the computer it is running on. In these cases, the reproduction of exactly the same object code could exhibit high variation when run. However, I will argue that these variations can be thought of as analogous to source code modifications performed at run-time by the computer instead of at design-time by the programmer. For the purposes of this chapter, I will choose to consider just the simpler case of human-programmed source code.

  3. 3.

    There is much interesting research about the neurology of insight, in which researchers use brain imaging techniques including EEG and fMRI to understand what roles different parts of the brain play during problem-solving, and how brain activity differs when solving “insight” problems versus brute-force problem solving (Kounios and Beeman 2014; Bowden et al. 2005; Kounios et al. 2008; Luo et al. 2004).

  4. 4.

    While Wattenburg recognized, and even demonstrated, the possibility of applying the arc diagram technique to gene sequences, he didn’t view biology as the best use-case. He wrote in the summary of his paper explaining the arc diagram, “We have shown examples of their potential use in domains ranging from text to DNA, although analysis of musical form is perhaps the most promising application.” (Wattenberg 2002).

References

  • Anderson PW (1972) More is different. Science 177(4047):393–396

    Article  ADS  Google Scholar 

  • Bays C (2010) Introduction to cellular automata and Conway’s Game of Life Bloom N, Jones C, Reenen JV, Webb M (2017) Are ideas getting harder to find?

    Google Scholar 

  • Borkin M (2011) Astronomical Medicine TEDx Boston. https://www.youtube.com/watch?v=kU7veyGGps4

  • Borkin M, Ridge N, Goodman A, Halle M (2005) Demonstration of the applicability of 3D slicer to astronomical data using 13CO and C18O observations of IC 348 Junior Thesis. Harvard University, Cambridge

    Google Scholar 

  • Borkin M, Goodman A, Halle M, Alan D (2007) Application of medical imaging software to 3D visualization of astronomical data. ASP Conference Series 376

    Google Scholar 

  • Bowden EM, Jung-Beeman M, Fleck J, Kounios J (2005) New approaches to demystifying insight. Trends Cogn Sci 9(7):322–328

    Article  Google Scholar 

  • Clark A (2011) Supersizing the mind: embodiment, action, and cognitive extension. OUP USA

    Google Scholar 

  • Clark A, Chalmers D (1998) The extended mind. Analysis 58(1):7–19. Feynman R, Weiner C (1973) Oral history interview with Richard Phillips

    Google Scholar 

  • Feynman, Session V. https://www.aip.org/history-programs/nielsbohr-library/oral-histories/5020-5

  • FLOPS (2020) Cost of computing. https://en.wikipedia.org/wiki/FLOPS

  • Gering DT, Nabavi A, Kikinis R, Grimson WEL, Hata N, Everett P, Jolesz F, Wells WM (1999) An integrated visualization system for surgical planning and guidance using image fusion and interventional imaging. Medical image computing and computer-assisted intervention—MICCAI’99 pp 809–819

    Google Scholar 

  • Gildenhuys P (2019) Natural selection

    Google Scholar 

  • Goodman A (2004) Visualization challenges in astrophysics, Powerpoint presentation

    Google Scholar 

  • Gowlett JAJ (2016) The discovery of fire by humans: a long and convoluted process. Philos Trans R Soc Lond B Biol Sci 371(1696)

    Google Scholar 

  • Harper R (2017) What, if anything, is a programming paradigm?

    Google Scholar 

  • James SR, Dennell RW, Gilbert AS, Lewis HT, Gowlett JAJ, Lynch TF, McGrew WC, Peters CR, Pope GG, Stahl AB, James SR (1989) Hominid use of fire in the lower and middle pleistocene: a review of the evidence [and Comments and Replies]. Curr Anthropol 30(1):1–26

    Article  Google Scholar 

  • Johnson C, Moorhead R, Munzner T, Pfister H, Rheingans P, Yoo TS (2006) NIH-NSF visualization research challenges final report. In NIH-NSF visualization research challenges, IEEE Computer Society

    Google Scholar 

  • Johnston WM, Hanna JRP, Millar RJ (2004) Advances in dataflow programming languages. No 1:1–34

    Google Scholar 

  • Johnston J (2015) Personal conversation. Why the shape of the sticker on the air conditioner he was moving would not “make an awesome Tetris piece”: modular isn’t the same as combinatorial.

    Google Scholar 

  • Kay A (2003) Meaning of “Object-Oriented Programming” according to Dr. Alan Kay. http://www.purl.org/stefan_ram/pub/doc_kay_oop_en

  • Kay A, Ingalls D, Ohshima Y, Piumarta I, Raab A (2006) Steps toward the reinvention of programming—NSF proposal

    Google Scholar 

  • King D (2020) Combinatorial application framework for interoperability and repurposing of code components

    Google Scholar 

  • Klein T (2020) Puzzle montage art. https://puzzlemontage.crevado.com/puzzle-montage-art-by-tim-klein

  • Kounios J, Beeman M (2014) The cognitive neuroscience of insight. Annu Rev Psychol 65:71–93

    Article  Google Scholar 

  • Kounios J, Fleck JI, Green DL, Payne L, Stevenson JL, Bowden EM, Jung- Beeman M (2008) The origins of insight in resting-state brain activity. Neuropsychologia 46(1):281–291

    Article  Google Scholar 

  • Lakoff G, Johnson M (2003) Metaphors we live by. University of Chicago Press

    Google Scholar 

  • Éric LĂ©vĂ©nez (2019) Computer languages timeline. https://www.levenez.com/lang/

  • Luo J, Niki K, Phillips S (2004) The function of the anterior cingulate cortex (ACC) in the insightful solving of puzzles: the ACC Is activated less when the structure of the puzzle is known. J Psychol Chinese Societies 5

    Google Scholar 

  • Melo D, Porto A, Cheverud JM, Marroig G (2016) Modularity: genes, development and evolution. Annu Rev Ecol Evol Syst 47:463–486

    Article  Google Scholar 

  • Museum CH (2020) Timeline of computer history. https://www.computerhistory.org/timeline/1946/

  • Naur P, Randell B (1969) Software engineering: report on a conference sponsored by the NATO science committee

    Google Scholar 

  • Olson-Manning CF, Wagner MR, Mitchell-Olds T (2012) Adaptive evolution: evaluating empirical support for theoretical predictions. Nat Rev Genet 13(12):867–877

    Article  Google Scholar 

  • Pigott D (2015) Historical encyclopaedia of programming languages. http://hopl.info/

  • Popova M (2020) How Einstein Thought: Why “Combinatory Play” Is the Secret of Genius. https://www.brainpickings.org/2013/08/14/how-einstein-thought-combinatorial-creativity/

  • Raff RA (1996) The shape of life: genes, development, and the evolution of animal form. University of Chicago Press

    Google Scholar 

  • Rigaux P (2020) Diagram and history of programming languages. http://rigaux.org/language-study/diagram.html

  • Rogers K (2019) Horizontal gene transfer. https://www.britannica.com/science/horizontal-gene-transfer

  • Roser M (2020) Global economic inequality. Our World in Data

    Google Scholar 

  • Satell G (2016) It’s time to bury the idea of the lone genius innovator. Harv Bus Rev

    Google Scholar 

  • Seo HK (2008) Brains shed light on the stars. Harvard crimson Shenk JW (2014) The End of ’Genius’. The New York Times

    Google Scholar 

  • Spell R, Brady R, Dierich F (2003) BARD: a visualization tool for biological sequence analysis

    Google Scholar 

  • Steinberg J (2013) Hello, World!: the history of programming. CreateSpace Independent Publishing Platform

    Google Scholar 

  • ViĂ©gas F, Wattenberg M (2011) Fernanda ViĂ©gas & Martin Wattenberg: Keynote on Design. https://vimeo.com/26208254

  • VIZBI (2011) VIZBI 2011 conference program. https://vizbi.org/2011/Program/

  • Vullum E (2020) Programming languages timeline. http://www.vullum.io/timeline/programming-languages/

  • Waller I (1965) Physics nobel prize presentation speech

    Google Scholar 

  • Wattenberg M (2002) Arc diagrams: visualizing structure in strings. In {IEEE} Symposium on information visualization, INFOVIS 2002, pp 110–116

    Google Scholar 

  • Weisberger M (2016) The Bizarre History of ’Tetris’. https://www.livescience.com/56481-strange-history-of-tetris.html

  • Whitley D (1993) A genetic algorithm tutorial

    Google Scholar 

  • Woese C (1998) The universal ancestor. Proc Natl Acad Sci U S A 95(12):6854–6859

    Article  ADS  Google Scholar 

  • Woese CR (2002) On the Evolution of Cells. Proc Natl Acad Sci U S A 99(13):8742–8747

    Article  ADS  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David King .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

King, D. (2020). Innovation-Oriented Programming: Software Development as a Medium for Exaptation and Implications for the Active Facilitation of Innovation Within Virtual Environments. In: La Porta, C., Zapperi, S., Pilotti, L. (eds) Understanding Innovation Through Exaptation. The Frontiers Collection. Springer, Cham. https://doi.org/10.1007/978-3-030-45784-6_10

Download citation

Publish with us

Policies and ethics