$30 off During Our Annual Pro Sale. View Details »

Interactive Software Archival

wilkie
August 19, 2016

Interactive Software Archival

Over the years, computation has substantially increased our creativity and opportunity. Computers constantly improve along with our ability to create and collaborate toward new art, science, and furthering existing technology. However, there's also a danger in that software becomes difficult to run over time. This fragility leaves us with a tech field that is somehow simultaneously growing and yet narrowing: Word documents become difficult to open, video games on specialized hardware become difficult to play, a researcher's simulator of protein synthesis becomes difficult to find-- these represent a loss of perspective and culture, an inability to revisit the past, and a lack of scientific accountability. In response, librarians have created a collection of digital libraries that archive images, video, and even the most vibrant of GeoCities websites. In the end this is not enough. We have media that is interactive and real-time. We have tools that can create new content at any point. Scientists have a dire need for accountability in research as experiments become harder to replicate. How do we make archives and libraries that can handle the preservation of code while allowing us to -- 100 years from now -- build, run, and archive anything new we create with that code? Where are our museums of interactive art? To answer that, we will take a look at the libraries and archives of the hypothetical, ones that exist now, and those in development. Focusing on the motivations and technology behind them, we will look at what they could do better and how. You will leave with an appreciation for the concept of provenance and how librarians can teach us the importance of systems that can trace an object back to the code that generated it. Finally, a look at the state-of-the-art and how Pittsburgh is leading the effort with two such interactive archives in development centered around using various levels of virtualization to preserve interactive art, games, and scientific experimentation. Our discussion will culminate with a demonstration of these new interactive archive systems, how they work, and what the future looks like.

wilkie

August 19, 2016
Tweet

More Decks by wilkie

Other Decks in Technology

Transcript

  1. Interactive Software
    Archival
    wilkie
    @ wilkieii
    [email protected]
    (cc) Transcript: blah/blah/etc

    View Slide

  2. Me
    Computers Make
    Me So Happy
    Sometimes

    View Slide

  3. Me
    Computers Make
    Me So Grumpy
    Sometimes

    View Slide

  4. Systems + OSes
    Application
    File System Abstraction
    Drivers
    IPC
    Kernel
    Software
    Is Too
    Complex

    View Slide

  5. Systems + Archives
    Application
    Figure It Out, Genius
    Reliable Storage
    Hardware
    The Ideal
    System Is
    an Archive

    View Slide

  6. Archival

    View Slide

  7. Artifacts Mona Lisa
    Rosetta Stone

    View Slide

  8. Leaning Tower
    of Pisa
    3.99° of
    PRESERVED
    TILT

    View Slide

  9. Provenance

    Even if you’ve never heard the word, we developers have created a
    culture around using provenance.

    Software development is sometimes aptly referred to as a Garbage
    Fire.

    Bundler, npm, pip, CPAN… etc… all solving the problem of the
    chaos of development through maintaining a record of where and
    when and who dependencies come from.

    View Slide

  10. Digital Artifacts
    0010
    1011
    0110
    Which Lives Longer?

    View Slide

  11. Digital Archives

    View Slide

  12. HD-Rosetta Disks
    Rosetta Disk
    Documentary:
    scottoller.com/rosetta

    View Slide

  13. Software As
    An Artifact

    View Slide

  14. What is Software?
    < ? >

    View Slide

  15. Ada Lovelace
    ...the Analytical Engine might act
    upon other things besides
    numbers…
    the engine might compose
    elaborate and scientific pieces of
    music of any degree of complexity
    or extent.
    -- "Notes" Section A, 1842

    View Slide

  16. Ada Lovelace
    … scientific
    pieces of music
    of any degree of
    complexity or
    extent.

    View Slide

  17. Code as Art

    View Slide

  18. Software Piracy
    Becomes Art

    View Slide

  19. Demoscene
    Second Reality by FUTURE CREW

    View Slide

  20. Software as an Artifact
    Is software preserved
    if it cannot be
    executed?

    View Slide

  21. The Internet Archive
    https://archive.org

    View Slide

  22. View Slide

  23. نب نسحلا ،يلع وبأ
    مثيهلا نب نسحلا
    Abū Alī al- asan ibn
    ʿ Ḥ
    al- asan ibn al-Haytham

    c. 965 – c. 1040 CE

    View Slide

  24. Scientific Method
    Form a Question
    Propose Hypothesis
    Predict Outcome
    Test
    Analysis
    Record, Reflect,
    Repeat

    View Slide

  25. Repeatablilty
    Running the same experiment

    View Slide

  26. Reproducibility
    Running the same experiment
    but altering the conditions

    View Slide

  27. Science + Software
    Is science
    reproducible if you
    can't run the code?

    View Slide

  28. Sorry...
    Pessimistic CS Statistics
    Reproducibility Rate
    32%
    Of Scientists Believe
    Slight/Significant
    Reproducibility Crisis
    90%

    View Slide

  29. Dang it
    Code Publicly Available
    35%
    Asked and received code
    22%
    Asked but told NO
    36%
    Asked but no response
    7%

    View Slide

  30. That’s a Little Better
    Got it to Build: <30 minutes
    58%
    Got it to Build: >30 minutes
    28%
    Couldn't build it; told it should
    10%
    Couldn't build it; told it sucks
    4%

    View Slide

  31. Excuses
    “ Student graduated;
    Nobody knows how it
    works ”

    View Slide

  32. Science is an
    Interactive
    Narrative

    View Slide

  33. View Slide

  34. Solution:
    Archival

    View Slide

  35. Interactive
    Archival

    View Slide

  36. Solution: Virtualization
    “Not a Graveyard” – Erika Linke and Dan Ryan introducing the
    concept of Olive and executable archives.

    View Slide

  37. Olive Archive
    CMU (Pittsburgh!)
    QEMU+KVM
    Emulation On Top
    olivearchive.org

    View Slide

  38. VmNetX: Internet
    Suspend/Resume
    Virtual Machine Network eXecution; GPLv2
    VM Archive Your Computer
    Executes VM
    Stream VM
    (HTTP)

    View Slide

  39. bwFLA
    University of Freiburg

    View Slide

  40. bwFLA
    VM Archive Your Computer
    Sees Video Stream
    Stream Video
    (SPICE, etc)

    View Slide

  41. http://bw-fla.uni-freiburg.de/demo-cloud.html

    View Slide

  42. Olive/bwFLA: Drawbacks
    Inflexible
    What if VM tech is
    obsoleted?

    View Slide

  43. Solution: Satisfaction
    Application
    Figure It Out, Genius
    Reliable Storage
    Hardware

    View Slide

  44. Ex: Commander Keen
    Reliable Storage
    Hardware
    1991

    View Slide

  45. Native DOS -> Impractical
    Figure It Out, Genius
    Reliable Storage
    Hardware
    2016

    View Slide

  46. DOSBox
    Hardware

    View Slide

  47. Decide How To Run
    Hardware

    View Slide

  48. University of Pittsburgh
    https://occam.software

    View Slide

  49. React To The Future
    x86-64 Javascript

    View Slide

  50. Javascript Emulation
    Reliable Storage
    Browser

    View Slide

  51. Adaptable (NES, SNES, etc)
    x86-64 Javascript
    XNES
    OR

    View Slide

  52. Scientific Workflows

    View Slide

  53. Active Curation
    Image
    Filter

    View Slide

  54. Lessons
    Think about how the
    heck your code works
    in the future

    View Slide

  55. AND HAVE FUN!
    http://wilkie.io
    /abstractions

    View Slide