How Woz Gets Things Done
lifehacker.com
lifehacker.com
http://www.amazon.com/Founders-Work-Stories-Startups-Problem...
This is Jessica Livingston's (of YC) interview of Woz. Specifically I love the way he talked about designing the Apple II. Even though it was hardware, it totally applied to the design and development of software. Perfectly suited to natural optimizers (aren't we all) who want to keep their finger on the pulse of every detail of their project.
This changed the way I treated my own work. No detail is too small and there's always plenty of room in my personal memory for whatever I need to remember. It's made a big difference.
Avoided local maxima of the at-that-time-doable, while still making -- completing designs on paper = iterating faster. Iterate more times than competition on paper, never build anything, then when time comes to build, you can supersede competition.
This approach may only work for perfectly logical, deterministic systems, like computers.
This pretty much sums it up for me:
"When you design with very few parts, everything is so clean and orderly you can understand it more deeply in your head, and that causes you to have fewer bugs. You live and sleep with every little detail of the product."
But then I saw your quote here, about the need to understand it, and the having very few parts makes that possible, by limiting the complexity.
"...I really urge you not to think you can start a whole company and business with just ideas on paper, because you'll end up owning so few of those ideas. You have to create a working model, something that you can show people and demonstrate that it works, and then you can start building a future for it."
Any feature in the menu list, any action there, can be added as a button. I changed it so I have a vertical menu bar, so I can have tons and tons of pre-made buttons saved right where I want them up top, and I learn where those place are. You can script actions to the buttons, too, so I can quickly copy messages to my assistants.
Aside from the GTD fluff, this is a great article about Woz :)
I disagree in that when learning to program in BASIC on the Apple II, you are a mere PEEK and POKE away from the hardware; go any lower than that and you are no longer talking about abstraction (as we refer to it) but hard realities of electrical engineering. One floor down and you are the common denominator that defines everything we refer to as a "computer" (in the modern vernacular) and mastering this will provide you with insight which spans across all contemporary systems and many in the perceivable future.
Setting the "ground floor" of programming at anything above this level narrows your scope and greatly increases the potential of your knowledge becoming obsolete.
Someday this will change, and the basis of future systems will not be rooted in the hardware models of today, and it will be great because then we'll all have something new to learn.
iWoz: Computer Geek to Cult Icon: How I Invented the Personal Computer, Co-Founded Apple, and Had Fun Doing It http://www.amazon.com/iWoz-Computer-Invented-Personal-Co-Fou...
It's a really interesting look into Woz's mind and his life. It's especially endearing to engineers. I couldn't put it down till I finished it.
One can now change it. "Every phone since the iPhone didn't have a keyboard" :-)