Implementing VisiCalc
David Leppik writes "The author of VisiCalc, the first spreadsheet program, has
an article about how it was designed. VisiCalc is why businesses started to take the Apple ][ (and personal computers in general) seriously. It also changed accounting forecasts forever, which triggered the investment boom that brought us the "greed is good" era. Oh, and you can still
download VisiCalc in case you run DOS or Windows and have 27,520 bytes to spare."
It also changed accounting forecasts forever, which triggered the investment boom that brought us the "greed is good" era.
I highly doubt that this one application started an era of "greed is good." People have always been greedy, this just let them be greedying is a slighly more sucessful manner.
And all young programmers should be made to sit an exam based on this.
:
:-) )
With concepts like
"VisiCalc was a product, not a program"
"The goal was to give the user a conceptual model which was unsurprising -- it was called the principle of least surprise. We were illusionists synthesizing an experience."
"One guiding principle was to always have functioning code. It was the scaffolding and all I needed to do was flesh it out. Or not. Since the program held together omitting a feature was a choice and it gave us flexibility"
and from the section on 'kidding'
"I doubt if any but the most geeky users were even aware that there was an issue let alone a solution. This is the kind of design detail that makes a program feel good even if you don't know why."
I've tried to tell several younger coders things like this on many occassions, and getting the message through can be hard work !
This article shows not only why these principles are important, but how to approach projects overall. Someone should carve it in stone (then hit newbie programmers over the head with it until it sinks in
-- You can't give it, you can't even buy it, and you just don't get it!
Promise a late delivery date, and verily, the manager shall not bug you whilst you are trying to work. Thus you deliver far sooner than if you give an accurate delivery date.
By following this strategy you will become known as a self-motivated, self-starter who consistently delivers ahead of schedule.
Additionally, your manager will never find himself with his nuts in the fire because of you, and will thus give you more 'manager support' when you need it. (read: performance review).
Good luck! I'm pulling for you. We're all in this together.
I want a new world. I think this one is broken.