Everything starts with Smalltalk – Yasheng She / Ruizhong Li

TEAM: BEAUTY♡ PRETTY☆ SOCIETY♀ (Ruizhong & Yasheng)

I (Yasheng) just started learning how to do basic coding on Arduino and, to my surprise, the learning process was actually painless.

Here is an example on why learning to code is easy:

Stuff

Arduino’s software comes with a lot of examples and you can just open them up to practice, and when you feel like you are confident in what you are learning, you can just modify the codes to make a new project. The information in the red block in the right of the graphic shows that the programmers of Arduino explained what how to utilize different classes and their instances. It feels like learning a new language in just minutes and I did not even have to take exams. My experience is consistent with the essence of Kay’s vision: “to provide users with a programming environment, examples of programs, and already written general tools so the users will be able to make their own creative tools. (32)” The reason why I feel the basics of coding is easy to acquire is that coding is not a brand new language, rather it uses “already existing representational formats as their building blocks, while adding many new previously nonexistent properties. (23)” This makes us think, why didn’t we learning computing this way from the beginning? Instead of treating it like a blackbox, we should have studied how programing works from a fundamental level. The interface of Arduino helps me to interact with the hardware directly, and we can see evidence of such system in Kay, Nelson, and others’ theoretical framework. We take advantage of Kay, Nelson, and others’ system of interaction – meta-systems, to “support the processes of thinking, discovery, decision making, and creative expression. (53)”

I (Ruizhong) have been learning Javascript (p5js) for about one year. What impressed me is the “all-in-one” style of this programming language website. The programming environment is easy to manipulate. I started to learn the syntax of the language by playing with it. With bunch of examples, I could adjust some parameters in the code and simultaneously see what changes happened in the output. It is not necessary for me to start from drawing basic shapes to complicated-structured image. I could start from a macro-view of how all these codes function, and acquire the knowledge of syntax through practice. With the libraries imported into the code, I could also make use of to the “mature” “building blocks” which function as a whole with only a few lines of code to create my personalized meaning tool.

The experience of learning p5js contrasts with my learning experience with Python. With a tutor teaching us in a traditional way, I feel it is a little bit “overcautious” while we moving forward to the next stage. With a problem proposed at the beginning, we practice the routine of solving a problem using Python code from drawing flowchart to writing code. We cannot directly see the relation between the code and output. I have no idea of how the code should look like. It seems to me that the codes stay as a conceptual level, and can never be brought into reality. Therefore, for me advantage of GUI and software is enhanced with this contrast in my learning experiences.

It is not surprising to us anymore that how much we can do using computers yet it is surprising to find out how the idea we take granted is formulated by people like Alan Kay. We are especially fascinated by Kay’s concept of Smalltalk. Smalltalk, as an early stage of all object-oriented programming software, is remarkable in the sense that it simplifies the thought process into small building blocks and creating meaning using these building blocks feel just like using our brain – only externally. Thanks to technological advancement, we can now do almost everything on a small laptop, from drawing to making music, or in Alan Kay’s term a “personal dynamic media” system (metamedium) that grants us endless possibilities.

No wonder people call Alan Kay a visionary – he was correct in thinking of a computer as new media generation engine during a time when a computer metamedium was only coming into existence.

According to Alan Kay, “symmetric authoring and consuming is quite lacking in today’s computing for general public.” In Kay’s vision, people are allowed to create, manipulate, sequence and share media across the world with the software. To realize his vision, modern technologies like notebook, tablet, and smartphone have fulfilled his expectation in terms of physical forms. However, the problem lays within the lack of open source. Open source is not a new concept, yet it still receives little attention comparing to massive success of Smartphone, PCs, and other products. Kay’s vision is closer to the Linux system, manifested as Raspberry Pie, Arduino, and other small appliances. These small appliances all have an open source library and easy to understand interface, yet they require a certain level of literacy for users to fully take advantage of it usability. Smartphones and tablets, on the other hand, are made into more and more like black boxes, allowing people to communicate and to create only at a surface level. If there is a way to combine the flexibility of Raspberry Pie with the affordance of smartphone, a Kay-styled Dynabook can be possible.

Speaking of flexibility, Kay’s vison is still not made possible. We still have the overarching notion that technology evolves does not evolve with us, but it continues follows a standard practice. Kay maintains that, “There is also the QWERTY phenomenon, where a good or bad idea becomes really bad and sticks because it is ingrained in usage.” So in terms of usability design, a truly “dynamic” interface should grant users freedom to truly personalize their experience with the machines. Furthermore, literacy of technology should be reduced to teaching people “building blocks” instead of teaching them to “Press to unlock” (formally known as “swipe to unlock”).

  • Lev Manovich, Software Takes Command, pp. 55-239; and Conclusion.Follow Manovich's central arguments about "metamedium", "hybrid media", and "interfaces" and the importance of Allan Kay's "Dynabook" Metamedium concept.
  • Jay David Bolter and Richard Grusin, Remediation: Understanding New Media. Cambridge, MA: The MIT Press, 2000Martin Campbell-Kelly and William Aspray. Computer: A History Of The Information Machine. 3rd ed. Boulder, CO: Westview Press, 2014.
  • Kay, Alan C. “Microelectronics and the Personal Computer.” Scientific American 237, no. 3 (September 1977): 230-44.
  • Alan Kay and Adele Goldberg, “Personal Dynamic Media” (1977), excerpt from The New Media Reader, ed. Noah Wardrip-Fruin and Nick Montfort. Originally published in Computer 10(3):31–41, March 1977. (Cambridge, MA: The MIT Press, 2003), 393–404.
    
  • Kay, Alan C. “Microelectronics and the Personal Computer.” Scientific American 237, no. 3 (September 1977): 230-44.
    
  • Interview with Kay in Time Magazine (April, 2013). Interesting background on the conceptual history of the GUI, computer interfaces for "interaction," and today's computing devices.
    
  • Butler Lampson's original 1972 memo on the Xerox Alto computer, the first "personal" computer implementing a GUI Windows and mouse system and networked via Ethernet.