(2007-10-17) Bernstein Neo Victorian Computing

Mark Bernstein is blogging a Neo-Victorian Computing idea parallel to a talk he's giving at OOPSLA. I'm going to talk about why we in computing seem unhappy, and how we might fix it.

  • Almost everyone has pretty much the same software. Our tools and our rhetoric are often concerned with control of cheap, interchangeable labor: reuse, programming teams, patterns, workflow, specifications. Perhaps in consequence, people aren't eager to make software or to study computer science... Scholars interested in arts and humanities computing are strangely obsessed with box office and weirdly uninterested in making software, or making Meaning... I think we want something else: "To follow knowledge like a sinking star, Beyond the utmost bound of human thought."... It speaks to the thought of an earlier age, refracted through the lens of our greater knowledge and our changed circumstances... It's not something we're borrowing from the arts. We are the arts... I think we can learn a tremendous amount by pulling back from The Enterprise and putting our skills in the service of individual knowledge workers, real people doing important work... The Arts And Crafts movement failed in consumer goods, but it could succeed in Software.

  • In software, much of our work and many of our dreams focus on Enterprise. Most of the rest concentrate on tiny tools that are expected to appeal to a mass audience, or grand tools - MsOffice, open or otherwise - that can be imposed as standards on the world of work. This isn't working. We've been stuck for years, the backlog never goes away, and we fight the same old fights with a new generation of management. The Enterprise is too complex, too turbulent, too confused, to be a fruitful place to study the craft of software... I propose that enterprise software is a hard problem that we can understand only after we solve an easier case, one that lies close to hand. Before we can tackle the enterprise, we need to write software for people. Not software for everyone, but software for you and for me (Nobitic)... I mean, simply, that it offers some specific people three specific Virtue-s: commodity, firmness, and delight... It helps to get stuff done: not filling out forms or filing pictures or retrieving records, but the endlessly difficult, challenging, everyday stuff of understanding what is going on around us. (SenseMaking)

  • This is the language of romance and Romanticism, honoring the individual mind and body and its struggle against the elements and the Gods and the crashing VAX. This is the language in which we programmers secretly believe... "Neo-Victorian" is a handy and imprecise placeholder. I'm thinking of a very long 19th century that runs, roughly, from Sir JosephBanks to Heisenberg, Pauli and Dirac. From Isembard Kingdom Brunel to Louis Sullivan. From Austen to Ibsen. From Realism and Romanticism through Impressionism. What connects all these threads? In part, a belief in right answers, in the power of the artist or the designer to find true solutions to questions (Modernity). Before this era, these questions were intractable. Later, it seemed there were no right answers at all. (PostModern).

  • Realism accepts that real people have real work to do. It's not merely filling out forms or looking up facts: these are terrific things to study in the usability lab, but they're not what people need to do. People need to rebuild wrecked museums and wrecked families. They need to make sense of lymphoma, or partial differential equations, or RFC 822. People find themselves in astonishing, unexpected situations: one day you're a travel writer or an unemployed Republican protege, and tomorrow you're going to be a minister in the Iraq reconstruction... This a task for Engineer-s: to build machines that let people do what they can't do with their bare hands. (Change The World)

  • Why do we have so little variety in our software (Monoculture)? One reason is that we ask it to do what it cannot, and we expect to do too little. We should expect to learn (Douglas Engelbart). Sophisticated tools require study and effort, and they repay that effort by letting us do things we could not do otherwise... Users and software designers should embrace personality and style. Software made by committee must adhere to the committee's standards, but software made by people and made for people may be infused with the creator's personal style (Human Voice) just as it is adapted for the user's personal needs... The cult of Usability has enshrined the belief that anything a novice doesn't expect is a defect. If we're just interested in how many copies we can sell to novices, usability matters. If we're interested in utility then novice usability is a smaller component... In the 19th century, Arts And Crafts sought an alternative to the seamless simulacra of Mass Production... It didn't quite work with Arts And Crafts, though plenty of artisan work continues today. The cost difference was too large... We can, and should, embrace the Work Shop, and learn to treat our software as an artifact and also as material we shape to fit our needs.

There are elements of Steve Yegge's Platform thoughts... 2007-01-20-YeggeGreatSoftwareSystems

Actual OOPSLA talk


Edited:    |       |    Search Twitter for discussion