{
  "title": "History of p5.js and Creative Coding",
  "events": [
    {
      "start_date": {
        "year": "1975",
        "month": "1",
        "display_date": "1975"
      },
      "text": {
        "headline": "Visual Language Workshop Founded",
        "text": "The Visual Language Workshop (VLW) was founded at MIT, becoming a founding research group at the MIT Media Lab. This early research laid the groundwork for computational approaches to visual design and creative coding."
      },
      "group": "Organizations & Education",
      "notes": "The VLW operated from 1975-1994 and pioneered the intersection of computation and visual design at MIT."
    },
    {
      "start_date": {
        "year": "1985",
        "month": "9",
        "display_date": "September 1985"
      },
      "text": {
        "headline": "MIT Media Lab Founded",
        "text": "The MIT Media Laboratory was founded by Nicholas Negroponte and Jerome Wiesner. It would become the birthplace of Processing and influence generations of creative coders and computational artists."
      },
      "group": "Organizations & Education",
      "notes": "The Media Lab has been home to numerous innovations in human-computer interaction and creative technology."
    },
    {
      "start_date": {
        "year": "1995",
        "month": "5",
        "display_date": "May 1995"
      },
      "text": {
        "headline": "JavaScript Created",
        "text": "Brendan Eich created JavaScript (originally called Mocha, then LiveScript) at Netscape in just 10 days. This scripting language would eventually become the foundation for p5.js and modern web-based creative coding."
      },
      "group": "Web Standards",
      "notes": "JavaScript was initially designed for simple form validation and basic interactivity in web browsers."
    },
    {
      "start_date": {
        "year": "1996",
        "month": "1",
        "display_date": "1996"
      },
      "text": {
        "headline": "Aesthetics and Computation Group Started",
        "text": "John Maeda founded the Aesthetics and Computation Group (ACG) at the MIT Media Lab. This research group would nurture the creators of Processing and establish the foundations of computational design education."
      },
      "group": "Organizations & Education",
      "notes": "Ben Fry and Casey Reas were both graduate students in this group when they created Processing."
    },
    {
      "start_date": {
        "year": "1999",
        "month": "1",
        "display_date": "1999"
      },
      "text": {
        "headline": "Design By Numbers Published",
        "text": "John Maeda published 'Design By Numbers' through MIT Press, introducing the DBN programming language designed to teach visual programming to artists and designers. Ben Fry contributed to DBN versions 2 and 3."
      },
      "group": "Processing",
      "notes": "DBN was the direct predecessor to Processing, sharing many of the same educational goals and design principles."
    },
    {
      "start_date": {
        "year": "2001",
        "month": "8",
        "day": "9",
        "display_date": "August 9, 2001"
      },
      "text": {
        "headline": "Processing First Released",
        "text": "Casey Reas and Ben Fry released the first version of Processing while graduate students at MIT Media Lab. Built on Java, Processing was designed to serve as a software sketchbook and teach programming within a visual context."
      },
      "group": "Processing",
      "notes": "Processing used the domain proce55ing.net initially (hence 'p5'), as processing.net was unavailable."
    },
    {
      "start_date": {
        "year": "2004",
        "month": "1",
        "display_date": "2004"
      },
      "text": {
        "headline": "Processing Gets processing.org Domain",
        "text": "Casey Reas and Ben Fry acquired the processing.org domain and moved the project from proce55ing.net. The abbreviated 'p5' name persisted in the community and would later inspire the p5.js name."
      },
      "group": "Processing",
      "notes": "The domain change marked Processing's maturation as a serious educational and creative tool."
    },
    {
      "start_date": {
        "year": "2004",
        "month": "6",
        "display_date": "June 2004"
      },
      "text": {
        "headline": "HTML5 Work Begins at WHATWG",
        "text": "The Web Hypertext Application Technology Working Group (WHATWG) was formed and began work on HTML5, including the Canvas element that would eventually enable browser-based creative coding without plugins."
      },
      "group": "Web Standards",
      "notes": "WHATWG was formed by Apple, Mozilla, and Opera in response to W3C's focus on XHTML 2.0."
    },
    {
      "start_date": {
        "year": "2005",
        "month": "1",
        "display_date": "2005"
      },
      "text": {
        "headline": "Processing Wins Golden Nica",
        "text": "Processing won a Golden Nica award from the prestigious Prix Ars Electronica in the Net Vision category, recognizing its significant contribution to digital art and creative technology."
      },
      "group": "Processing",
      "notes": "The Prix Ars Electronica is one of the most prestigious awards in electronic and interactive art."
    },
    {
      "start_date": {
        "year": "2005",
        "month": "10",
        "display_date": "October 2005"
      },
      "text": {
        "headline": "Arduino Released",
        "text": "The Arduino microcontroller platform was released, heavily influenced by Processing's design philosophy and IDE. Arduino brought the same accessible approach to physical computing that Processing brought to software."
      },
      "group": "Related Projects",
      "notes": "Arduino's IDE was directly based on the Processing Development Environment, sharing the same simple interface."
    },
    {
      "start_date": {
        "year": "2006",
        "month": "8",
        "day": "26",
        "display_date": "August 26, 2006"
      },
      "text": {
        "headline": "jQuery Released",
        "text": "John Resig released jQuery 1.0, which would revolutionize JavaScript development and make DOM manipulation accessible. Resig would later create Processing.js, the first JavaScript port of Processing."
      },
      "group": "Web Standards",
      "notes": "jQuery made JavaScript programming more accessible, similar to how Processing made Java accessible."
    },
    {
      "start_date": {
        "year": "2008",
        "month": "1",
        "display_date": "January 2008"
      },
      "text": {
        "headline": "HTML5 First Public Draft",
        "text": "The W3C published the first public working draft of HTML5, including the Canvas API specification. This would eventually enable rich graphics and animations directly in the browser without Flash."
      },
      "group": "Web Standards",
      "notes": "The Canvas element was originally developed by Apple for Safari and the Dashboard widget engine."
    },
    {
      "start_date": {
        "year": "2008",
        "month": "5",
        "day": "9",
        "display_date": "May 9, 2008"
      },
      "text": {
        "headline": "Processing.js Released",
        "text": "John Resig released Processing.js, a JavaScript port of Processing that used HTML5 Canvas. He had worked on it for 7 months and released it on his birthday as a 'reverse birthday present' to developers."
      },
      "group": "Processing",
      "notes": "Processing.js was described as 'a first step towards JavaScript being a rival to Flash for online graphics content.'"
    },
    {
      "start_date": {
        "year": "2010",
        "month": "4",
        "day": "29",
        "display_date": "April 29, 2010"
      },
      "text": {
        "headline": "Steve Jobs 'Thoughts on Flash'",
        "text": "Apple CEO Steve Jobs published his open letter 'Thoughts on Flash' explaining why iOS devices would not support Flash. This accelerated the adoption of HTML5 Canvas and open web standards for graphics and animation."
      },
      "group": "Related Projects",
      "notes": "This letter was a pivotal moment in the shift from Flash to HTML5 Canvas for web graphics."
    },
    {
      "start_date": {
        "year": "2011",
        "month": "3",
        "display_date": "March 2011"
      },
      "text": {
        "headline": "WebGL 1.0 Released",
        "text": "The Khronos Group released WebGL 1.0, bringing hardware-accelerated 3D graphics to web browsers without plugins. This would later enable p5.js WEBGL mode for 3D sketches."
      },
      "group": "Web Standards",
      "notes": "WebGL is based on OpenGL ES 2.0 and provides a JavaScript API for rendering 3D graphics in HTML5 Canvas."
    },
    {
      "start_date": {
        "year": "2012",
        "month": "1",
        "display_date": "2012"
      },
      "text": {
        "headline": "Processing Foundation Established",
        "text": "The Processing Foundation was established as a 501(c)(3) nonprofit organization. Daniel Shiffman joined Casey Reas and Ben Fry as a third project lead, supporting the community and expanding educational efforts."
      },
      "group": "Organizations & Education",
      "notes": "The Foundation supports Processing, p5.js, and related projects while promoting software literacy."
    },
    {
      "start_date": {
        "year": "2012",
        "month": "8",
        "day": "1",
        "display_date": "August 1, 2012"
      },
      "text": {
        "headline": "Chrome 21 Adds getUserMedia",
        "text": "Google Chrome 21 became the first major browser to support the getUserMedia API, enabling web applications to access webcams and microphones without plugins. This was a critical step toward WebRTC and browser-based multimedia."
      },
      "group": "Web Standards",
      "notes": "getUserMedia eliminated the need for Flash or Silverlight plugins to access camera and microphone in web browsers."
    },
    {
      "start_date": {
        "year": "2013",
        "month": "1",
        "display_date": "2013"
      },
      "text": {
        "headline": "p5.js Created",
        "text": "Lauren McCarthy created p5.js as a new interpretation of Processing for the modern web. Unlike Processing.js (a direct port), p5.js was designed from the ground up for JavaScript and HTML5 integration."
      },
      "group": "p5.js",
      "notes": "p5.js was designed to be native to JavaScript and work seamlessly with HTML5 features like video, audio, and DOM elements."
    },
    {
      "start_date": {
        "year": "2014",
        "month": "1",
        "display_date": "2014"
      },
      "text": {
        "headline": "p5.js First Public Release",
        "text": "p5.js had its first public release, making it available to the broader creative coding community. The library emphasized accessibility, inclusivity, and ease of use for artists, designers, and beginners."
      },
      "group": "p5.js",
      "notes": "p5.js quickly gained adoption in educational settings and creative coding communities worldwide."
    },
    {
      "start_date": {
        "year": "2014",
        "month": "10",
        "day": "28",
        "display_date": "October 28, 2014"
      },
      "text": {
        "headline": "HTML5 Becomes W3C Recommendation",
        "text": "HTML5 was officially published as a W3C Recommendation, marking its status as a stable, mature web standard. This solidified Canvas and other APIs as the future of web graphics."
      },
      "group": "Web Standards",
      "notes": "The finalization of HTML5 provided a stable foundation for creative coding libraries like p5.js."
    },
    {
      "start_date": {
        "year": "2015",
        "month": "10",
        "display_date": "October 2015"
      },
      "text": {
        "headline": "'Getting Started with p5.js' Published",
        "text": "The book 'Getting Started with p5.js' was published by Make: Media, authored by Lauren McCarthy, Casey Reas, and Ben Fry. It provided an accessible introduction to creative coding with p5.js."
      },
      "group": "p5.js",
      "notes": "The book brought together the creators of Processing and p5.js to support the new library's educational mission."
    },
    {
      "start_date": {
        "year": "2016",
        "month": "5",
        "display_date": "May 2016"
      },
      "text": {
        "headline": "Media Capture API Reaches W3C Candidate Recommendation",
        "text": "The Media Capture and Streams specification (getUserMedia API) reached W3C Candidate Recommendation status. This API defines how web applications access cameras and microphones, enabling p5.js sound and video input features."
      },
      "group": "Web Standards",
      "notes": "This specification standardized MediaStreamTracks and getUserMedia(), providing a stable foundation for browser-based audio/video capture."
    },
    {
      "start_date": {
        "year": "2018",
        "month": "12",
        "display_date": "December 2018"
      },
      "text": {
        "headline": "Processing.js Deprecated",
        "text": "Processing.js was officially deprecated after 10 years of service. The community transitioned to p5.js, which had become the preferred JavaScript solution for Processing-style creative coding."
      },
      "group": "Processing",
      "notes": "Processing.js had ported over 100,000 sketches from Java to JavaScript during its decade of operation."
    },
    {
      "start_date": {
        "year": "2020",
        "month": "2",
        "display_date": "February 2020"
      },
      "text": {
        "headline": "p5.js 1.0 Released",
        "text": "After nearly 7 years of development, p5.js 1.0 was officially released. The milestone version included the Friendly Error System (FES), internationalization support, merged DOM library, and comprehensive unit tests."
      },
      "group": "p5.js",
      "notes": "Kate Hollenbach led the roadmap effort that guided the project to its 1.0 release."
    },
    {
      "start_date": {
        "year": "2020",
        "month": "12",
        "day": "10",
        "display_date": "December 10, 2020"
      },
      "text": {
        "headline": "Adobe Flash End of Life",
        "text": "Adobe Flash Player reached its official end of life, marking the complete transition to HTML5 Canvas and WebGL for web-based graphics and animation."
      },
      "group": "Related Projects",
      "notes": "Flash's demise validated the open web standards approach that p5.js and similar libraries had embraced."
    },
    {
      "start_date": {
        "year": "2021",
        "month": "1",
        "day": "26",
        "display_date": "January 26, 2021"
      },
      "text": {
        "headline": "WebRTC 1.0 Becomes W3C Recommendation",
        "text": "WebRTC 1.0 was published as a W3C Recommendation and IETF standard, enabling real-time audio and video communication directly in web browsers. This standardized peer-to-peer media streaming for the web."
      },
      "group": "Web Standards",
      "notes": "WebRTC transformed web communications, especially during the pandemic, enabling video conferencing without plugins."
    },
    {
      "start_date": {
        "year": "2021",
        "month": "6",
        "day": "17",
        "display_date": "June 17, 2021"
      },
      "text": {
        "headline": "Web Audio API Becomes W3C Recommendation",
        "text": "The Web Audio API was published as a W3C Recommendation after 11 years of development. This high-level JavaScript API enables creating, shaping, and processing audio directly in web browsers."
      },
      "group": "Web Standards",
      "notes": "Web Audio API powers p5.js sound features, enabling music creation, sound effects, and audio visualization in creative coding."
    },
    {
      "start_date": {
        "year": "2021",
        "month": "8",
        "day": "9",
        "display_date": "August 9, 2021"
      },
      "text": {
        "headline": "Processing 20th Anniversary",
        "text": "Processing celebrated its 20th anniversary since the first software release. Over two decades, it had promoted software literacy within the visual arts and visual literacy within technology."
      },
      "group": "Processing",
      "notes": "The anniversary marked two decades of impact on creative coding education and digital art."
    },
    {
      "start_date": {
        "year": "2024",
        "month": "1",
        "display_date": "2024"
      },
      "text": {
        "headline": "p5.js 2.0 Development Begins",
        "text": "Development work began on p5.js 2.0, promising modernized architecture, improved performance, and new features while maintaining the library's commitment to accessibility and ease of use."
      },
      "group": "p5.js",
      "notes": "p5.js 2.0 aims to bring the library into a new era while preserving backward compatibility through addons."
    }
  ]
}
