Heroes of software design
Bill Atkinson is probably one of my biggest heroes of software design (Steve Wozniak and Burrell Smith being my heroes of hardware). Another one of my heroes of software (or really computing) design is Douglas Engelbart. In my mind the time frame from one to the other was huge, but it's really only 15 years or so - and Bill met Douglas Engelbart - astonishing!
So, I said at '68, the windows and mouse were invented by Englebert, and I actually went to visit Englebart. It was a wonderful visit, and I think he gave a really good argument which was that when you design for the beginner, sometimes you shortchange the experienced user. If you were designing only for a walk-up-and-use-it experience, you would never design a bicycle because it takes a while to learn to use a bicycle, although it gives you good power. So, he was designing more for a professional knowledge worker, and he's willing for people to learn this five-key chord thing and lots of new ways of working with stuff.
Now very few of the facts in the interview were news to me like that, but discussed as such a compact timeline of the birth of the GUI and desktop application as we know it (taking in the foundational elements of Engelbart's NLS and Xerox Parc's Smalltalk) makes a number of things really stand out. Those notes are below, along with some nice little one liners I have quoted or paraphrased.
- The entire design of what is used productively today on every PC in the world was designed by technology people. I mean *really* technical people, but people who also really cared about the purpose - how it would help peoples' lives. Today many environments don't allow their technology people to design a newsletter without some sort of external designer or consultant, and by organising this way we discourage technology people from becoming engaged and involved - instead restricting themselves to mechanical implementation.
- Sometimes you do a lot of work just to throw it away - but the later things you do wouldn't have happened any other way. And you never know which is going to be the important thing that flops, the thing that just flops, or the thing that succeeds - so you have to put your all into it anyway. The Lisa was a total flop. Everyone knows that. But Apple spent a lot of time investing in the Lisa product, and the legacies of that were Bill Atkinson's (and other's) familiarity with the 68000, the foundations of QuickDraw, the testbed hardware for the mouse driven GUI, etc.
- You're never too busy for a fun outing. Imagine if Steve Jobs et al had been "too busy" to take a tour around Xerox Parc. They would be forgiven for saying their filofax was full.
- Your biggest competitor is not a big corporate, it's a three person research team
- Computer processing cycles aren't valuable. People's time is valuable.
- If you find yourself thinking "what would anyone use that for?" think harder ("Apple was offered lock, stock and barrel exclusive
rights on a spreadsheet for $50,000, and they turned it down. ... What would anyone use it for? They could have owned the whole spreadsheet concept.") - Sometimes the crazy genius is right instead of the conservative committee.
- Sometimes your boss is wrong and he'll thank you later for ignoring him (Steve Jobs insisted that "the Mac would only be 128K ever, and that it was not okay to have it expandable to 512. Actually, Burrell went behind Steve's back to make it so there was one trace you could cut, and you could stick in the 512K chips. Steve later had to apologize and say he was wrong. ")
- Think about things a lot. Try some things. Try different things.
- Some mistakes you make will stick around for a very long time (Atkinson: Well, a design I regret is the double click.)
- Sometimes a non-optimal solution is the best one.
- Brain surgeons are really smart.
- Code should be beautiful (Atkinson: I would spend time rewriting whole sections of
code to make them more cleanly organized, more clear.) - Code comments shouldn't have to say what something does - instead should say why it is being done.
- Employ great graphic designers and writers.
- Having to teach somebody how a piece of software works forces you to clean it up.
- Sometimes you make a product better by leaving features out.
- technology is very cool, and
there's beauty in the software, but software is ultimately a human experience. - If you want to get it smooth, you've got to rewrite it from scratch at least five times.
And have a lot of user testing. Because you can't see the things that you can't see.
Footnote: It's interesting that Grady starts using the word 'heroes' part way through the interview, because I had already come up with the title for this blog before I got that far.
10:41 AM, 21 Aug 2007 by Mark Aufflick Permalink | Comments (0)
Benchmarking a 1986 Mac
Classic - literally.
For the functions that people use most often, the 1986 vintage Mac Plus beats the 2007 AMD Athlon 64 X2 4800+: 9 tests to 8! Out of the 17 tests, the antique Mac won 53% of the time! Including a jaw-dropping 52 second whipping of the AMD from the time the Power button is pushed to the time the Desktop is up and useable....
Is this to say that the Mac Plus is a better computer than the AMD? Of course not. The technological advancements of 21 years have placed modern PCs in a completely different league of varied capacities. But the "User Experience" has not changed much in two decades. Due to bloated code that has to incorporate hundreds of functions that average users don't even know exist, let alone ever utilize, the software companies have weighed down our PCs to effectively neutralize their vast speed advantages. When we compare strictly common, everyday, basic user tasks between the Mac Plus and the AMD we find remarkable similarities in overall speed, thus it can be stated that for the majority of simple office uses, the massive advances in technology in the past two decades have brought zero advance in productivity.
I wouldn't say zero - the pivot table alone has improved savvy spreadsheet users efficiency a lot, and they didn't mention that Word 3 didn't have any real table support. But that's not really the point. It's still outrageous how little improvement the average user of office productivity software has gained from the billions expended on so-called software development.
07:17 AM, 21 Aug 2007 by Mark Aufflick Permalink | Comments (0)
Incongruous search terms
I noticed a disturbing search term this month though:
evolution of programming languages in power point
What are they thinking??!
Of course should they be interested in programming languages they will find a feast in this blog: perl, SQL, ruby, emacs elisp, smalltalk, java, C, 6502, arm,NLS, Cocoa/Objective-C, future issues for theoretical computer science and even visual basic! I'm sure there's more there, and erlang and haskell are sure to follow...
But *never* will there be a good thing to be said about powerpoint on this blog :)
10:13 PM, 19 Aug 2007 by Mark Aufflick Permalink | Comments (0)
Keyspan remote + EyeTV + iTunes
All you need is a mac, some powered speakers, and a screen. Now this is nothing new - people have been doing it with Mac Minis ever since they were released. I prefer a laptop since some things are just easier to do with a keyboard and mouse - and I can do them without stopping playback on the main display.
One thing that was missing was unifying control - by that I mean sitting on my couch, using one remote to do everything without getting up. What point is home entertainment if you can't drive it from your couch?!
There's a bunch of projects that aim to do this, but I wanted something simple. No on-screen menu, just the standard features from a remote.
So I bought the excellent Keyspan Express remote. I would have preferred an RF remote (rather than infra-red), but the affordable RF models have less buttons.
Then the challenge was to use the limited number of buttons to achieve an understandable (to non-technical people) set of functions that would let you do most things.
Over some coming posts I'll explain what actions I chose for what reasons, but the curious can take a look at some applescripts in the mean time.
07:09 PM, 04 Aug 2007 by Mark Aufflick Permalink | Comments (3)
Archive
| August 2007 | ||||||
| S | M | T | W | T | F | S |
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
March 2012
February 2012
November 2011
October 2011
April 2011
March 2011
January 2011
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
September 2003
August 2003
Blog Categories
software (40)..cocoa (21)
..heads up 'tunes (5)
..ruby (6)
..lisp (4)
..perl (4)
..openacs (1)
mac (21)
embedded (2)
..microprocessor (2)
..avr (1)
electronics (3)
design (1)
photography (26)
..black and white (6)
..A day in Sydney (18)
..The Daily Shoot (6)
food (2)
Book Review (2)
Notifications
Request notifications






