Tuesday Oct. 19, Software Communities

Reading discussion led by Theodora and Tarek.

1 Comment so far

  1. thvard on October 18th, 2010

    ”Programming for …”
    This weekʼs readings refer to two programming environments carrying the legacy of language concepts that act as mediators for the development of computational skills both in a conceptual and technical level. Scratch and Processing synthesize Seymour Papertʼs vision to make programming accessible to collectivities that can benefit from it, with the new dot-com paradigm and the fields of potentiality it opens. The readings offer, on the one hand, the opportunity for further contemplation on the fundamental question “Whatʼs so special about Computers?”, opening at the same time a broad discourse on the area of networked communities and their social, cultural and economic implications.

    ”… All”
    The first reading discusses, through the case of Scratch, how digital fluency can be disseminated and how barriers to entry to the software ʻdomainʼ can be lowered. Scratch, is designed and built as an intuitive platform that transforms programming into an approachable, appealing and collaborative domain. Since its launch in 2007, it has become the center of a solid community, to the extent of being called “the Youtube of interactive media”.
    The Scratch user base is between the ages of eight and sixteen, is distributed globally, and constitutes a vibrant community that uploads more than 1500 new projects each day. The community grows through the initiatives and work of individual contributors that trigger new challenges, exchanges and discussions. This dialogue leads to a new form of digital literacy where the community members do not simply consume (read) digital works but also produce (write) digital content.
    Starting from Papertʼs “Mindstorms”, which presented LOGO as a transformation of education and education through computation. An initiative that was welcome but that was confronted with the limitations and restrictive presentation of the medium at the time: Programming languages were difficult to use, were tightly associated with scientific and mathematical concepts, and were not presented within contexts that encourage exploration.The idea for Scratch came after identifying the need to lower the floor and widen the walls further for software access (as per Papertʼs argument that programming languages should have a “low floor”, a high ceiling, and need “wide walls”).
    As such, Scratch was designed around three core principles: tinkerable, meaningful, and more social. Scratch is tinkerable in that it allows for a Lego like composition of various “programming blocks” (owing to the research of the Lifelong Kindergarten research group at the Media Lab). Block connectors give visual cues as to the possible configurations and help children explore the various possibilities of the toolset. This tinker-ability is further enhanced by the ability to directly execute the logic behind the blocks, making the process of exploration/composition/ creation highly interactive and intuitive. Finally, the idea of an experimental desktop is encouraged by allowing various blocks to be lying around while working on the core code.
    Scratch is more meaningful in that it encourages diversity through the supporting many types of projects and varying interests, and focus on personalization through allowing people to bring in their personal content into their projects (importing images and media, etc…).
    Finally, Scratch is more social in that the software is tightly coupled with the development of the Scratch online community. The idea of sharing code/work is integrated within the platform itself through the “Share” menu. New posted projects are directly featured on the community site and community members can share, rate and expand on each otherʼs work. To date over 1.3 million projects have been posted online, which represents over 100% growth from the number communicated on the date of publication of the article.
    The online Scratch community is expanding at an exponential rate. What is even more interesting is that this community is now manifesting signs of self organization through the establishment of various groups, companies and expertise sectors. Overall, Scratch is to date proving to be an amazing conversion tool. Bringing the power of computational thinking to a young and eager audience. Of course, and as acknowledged by its authors, Scratch does not go far in reaching for a high ceiling and as such might remain a step along the way. Still, it does an outstanding job at empowering a wide audience with the means to express and create through a computational medium.

    ”… the Media Arts”
    The second reading starts with the observation that the omnipresence of information processing in the 21st century digital world, makes the understanding of software and its cultural implications a precondition for awareness and contribution to contemporary society. Within this general context, Processing is introduced as a software language and environment addressing the media arts communities, and constituting the meeting point of software concepts with visual arts principles. Processing is a text programming language oriented towards the generation and manipulation of visual graphics, while also allowing for sound, motion and interaction. Its main objective is to act as a hybrid, functioning simultaneously as a programming language, a development environment and a teaching methodology.
    Although the “low floor-high ceiling” terminology that we encounter in the first reading is not explicitly used by Reas and Fry, the balance between “clarity” and “advanced features” is one of the softwareʼs fundamental objectives, inscribed in a broader approach towards the software medium and its use that influenced the authorsʼ decisions about its development. It is exactly this “conceptual foundation”, drawing both from the authorʼs personal experiences in visual design and software development, as well as their involvement with Media Lab relative projects, that is systematized and discussed in their article.
    For Reas and Fry, software offers unique expressive possibilities that can open new realms of artistic creation that are worth investigating. Processing, taking into consideration the unavoidable limits that programming languages have, acts as the common denominator of multiple programming environments, using a common syntax facilitating the transition to other languages that may be more suitable for specific goals. Extending this transitional role, the authors discuss Processingʼs ability to act as an electronic “working model”, an intermediate medium allowing for tests and refinements and giving designers the ability to “sketch” their program before finalizing it.
    A key point discussed in the paper is the concept of literacy, extending the commonly shared vision in the dawn of computing to eliminate the distinction between a computer user and a computer programmer. Reas and Fry take a critical stand against the user passivity and the purely instrumentalist approach that currently surrounds software and call for the need to become “software literate” to be able not only to “read”(use tools created by others) but also to “write” (generate tools). In this context, Processing acts as a way to familiarize with existing programming languages, with an emphasis to elements that are applicable by the media arts. Its immediate visual results, scalable complexity and online community support make it very accessible to beginners, while at the same time its familiar syntax, libraries and examples allow for users with moderate programming knowledge to quickly develop advanced skills.
    Processing can be inscribed in the broader context of the Open Source Software movement, with all its cultural and economical implications. The issues of voluntary time dedication that enables software evolution without a budget, its cost free distribution, as well as the development of a collective know-how that benefits all the members of the online community enable artists as a collectivity to develop and support independent software initiatives, beyond the limits of the currently available commercial products.
    Processingʼs educational value lies in the fact that it creates a platform for interaction and sharing between two communities and therefore two diverse sets of skills. As very successfully illustrated through the 2003 Hongik University Workshop in Seoul narration, and elaborated through the description of the UCLA Graduate Level Interactive Environments reference, the link established between the world of software and the world of the media arts is two-way, stimulating artists to engage with computation and disseminating artistic concepts in the world of computer science.
    The last point discussed, which is closely interlinked with this weekʼs topic, is the contribution of the web-based community in the development of the software. According to Reas and Fry, the dynamics of software communities allow for developments that could not be foreseen. The website becomes a proteic virtual space, acting at the same time as an extensive database of advanced advice and highly specific knowledge, as an exhibition space, allowing artists to publish their work and gain recognition by the community, as well as a meeting point for thousands of users, both benefiting and contributing in the collaborative project of code development.

Leave a Reply