Showing posts with label Blit. Show all posts
Showing posts with label Blit. Show all posts

Wednesday, September 11, 2013

Artists are Stars. Albums are Planets. Tracks are Moons.

Our title is taken from the designers' introduction to Planetary, an iPad app for visualizing your music collection as solar systems. Planetary has been acquired by the Smithsonian Cooper-Hewitt National Design Museum as its first source code installation.

Apps are infinite objects. There is no limit on the number of people who can simultaneous possess a copy (Planetary has been downloaded more that 3.5 million times), each copy is identical, and does not degrade over time. However, no one can create the app without its source code. There is one copy of the source, making it a scarce object. But is it significant? Can source code be, in effect, a weightless digital work of art?

Damn straight.

I speak from first-person perspective, having been an hands-on programmer for more than 20 years. While not sure I ever became an artist, I was at least a skilled craftsman. There is a creative process to software design, whose hallmarks must be celebrated.

Source code has form, composition, the designer's point of view. The best examples have grace, elegance of expression, economy of language. For every line of code present, there are an untold number of lines that were rejected as either inadequate or superfluous. Great source code is as distinctive as fine literature. It informs, illuminates, educates.

Furthermore, source code must be preserved, because it can only be built for a specific period of time. It may depend on libraries that are no longer maintained by their authors. The hardware platform and operating system for which it was designed may be obsolete. As Sebastian Chan and Aaron Cope wrote in the Cooper-Hewitt curatorial statement, "Software and hardware are separate but inescapable companions that exact a sometimes profound and warping, and sometimes destructive, influence on one another." And companies don't last forever. (Bloom, creators of Planetary, closed in November 2012.)

I hope the Cooper Hewitt continues to acquire significant code for this collection. For consideration, I submit Rob Pike's landmark graphics system for the Blit terminal, circa 1983. If you are reading this piece on a computer screen with multiple, overlapping, active windows, you have Mt. Pike to thank. If you are reading this on a mobile device, you should appreciate the need to preserve the generation of interactive techniques that enabled it. And studying the Blit source code taught me everything I ever needed to learn about guru-class programming.

Related: Taxonomy of Objects, Selfish Design.

            Physical-to-Digital Restoration #60            

Artist: Jack DeJohnette
Title: Special Edition
Genre: Jazz
Year: 1979





"The first (and mightiest) of NEA Jazz Master and Grammy Award–winning drummer Jack DeJohnette's Special Edition ensembles offered a sound that in many ways was revolutionary in modern contemporary and creative improvised music circa 1980. This CD deserves a definitive five-star rating for the lofty place it commands in the evolution of jazz headed toward new heights and horizons." [Allmusic] JDJ is one of my musical heroes, AND this release contains the memorable track, Journey to the Twin Planet.

© 2013 Thomas G. Dennehy. All rights reserved.

Thursday, March 29, 2012

What Bell Labs Taught Me About Effective Design

In his book, The Idea Factory: Bell Labs and the Great Age of American Innovation, Jon Gertner offers a sweeping history of Bell Laboratiories (aka "Bell Labs" or "The Labs") that highlights its role as the birthplace of some of the 20th century's most influential technologies.

(Image credit: sixrevisions.com)

For me, Bell Labs is not an abstract American success story. It's personal. I spent the first decade of my career in the Bell Labs Signal Processor Laboratory in Whippany NJ. I can't really say I used The Labs as a springboard to change the world at large, but Bell Labs changed my world by teaching me that selfish design — designing for myself — is the catalyst for creating works that have meaning for others.

The Labs was a great place to be a young engineer. It offered a unique combination of freedom, responsibility, and access to knowledge and expertise. About 18 months after being hired out of grad school, I got the asssignment that would define my career. I was challenged to, within 30 days, design and demonstrate a prototype program for creating dataflow signal processing systems visually, including code generation.

Teletype 5620, nee Blit.
I immediately grasped in my mind what I wanted gred (as it was called) to be, inspired by months of experimenting with the Blit graphics terminal, which ran Bell Labs research scientist  Rob Pike's landmark ovelapping bitmap layers windowing system. Studying the Blit source code taught me everything I ever needed to learn about guru-class programming.

There are two approaches to design. Either make something so simple there are no obvious defects, or make something so complicated there are no obvious defects. (C.A.R. Hoare) The Blit source — compact, elegant, every element stripped to its essence — showed me that the path of simplicity not only satisfies, but also educates and enlightens.

I also came to realize, from studying designs I admired from other Bell Labs researchers, that establishing your own guiding principles for the success of a design and holding to them — selfish design — is the surest path to "fitness for use," a definition for product quality championed by our Laboratory Director, AT&T Fellow Caryl Pettijohn. If something works perfectly for you, chances are it will work for others; conversely, if something doesn't work well for you, it probably won't do better for anyone else.

Armed with these principles, I got the gred prototype for the Blit done on deadline, and it went on to become a great success with many spin-offs, the project that defined my career at The Labs. I was able to continue working on it at least part-time for the better part of 5 years increasing its capabilities and scope until it was perfect. And I can say gred was perfect because I was its #1 power user. I designed it for me. It had effective symbology, the exact number of features it needed, and I could readily defend why every feature was incorporated into the design, and why others were left out. More importantly, gred never went offline during these design iterations, and at every step it was the best solution available.

Rob Pike is famously quoted regarding his team's motiviation to invent the Blit: "it wasn't that we wanted high-performance graphics on everyone's desk; we just wanted high-performance graphics on our desks." I didn't start what has become In Aurem because I wanted everyone to have high-resolution digital restorations of their analog audio titles; I just wanted high-resolution digital restorations of my titles. And, by again selfishly staying true to my guiding principles for audio restoration, the effort has paid benefits to others as well.

            Vinyl-to-Digital Restoration #26           

Title: Building the Perfect Beast
Artist: Don Henley
Genre: Rock
Year: 1984



The same summer I set out to build the perfect visual editor for signal processing graphs, ex-Eagle Don Henley released his first solo record, a hit-making machine. The Boys of Summer became one of the gred project theme songs, eternally linked through my Bell Labs colleagues' rewrite of a line involving "a Dead head sticker on a Cadillac." I can still hear it in my mind.


© 2012 Thomas G. Dennehy. All rights reserved.