Simple words are best, even for people with an Einstein level IQ
Recently I published a slim book on the basics of using a package "DPLYR," in the R programming language. DPLYR has a detailed and thorough user guide and is open source. Why would anyone need to buy a book about it?
Short explanation: time is a nonexpandable resource for all of us. We need to allocate it wisely.
Long explanation: Virtually all technical manuals for popular, open source software are written by experts who are immersed in the details. The authors are typically bright, hardworking individuals who are doing their best to include all relevant details. Unfortunately, the very abundance of expertise makes them poor writers for people who simply want to use the software as a tool to get something done. Software should be for everyone with a minimum of startup time . Imagine if someone had to study automotive mechanics before they were allowed to drive a car.
Here's an example from another outstanding R package, Lubridate. One of the parameters used is "origin." What does that mean to you? Was your first thought--Oh, that clearly means "starting date and time." I'm betting that definition of origin was not your first thought. And here's the thing--even extremely smart people are slowed down by abstract and complex wording. Both ordinary and brilliant people are slowed down by unnecessary complexity. Why are presentations to executives typically "dumbed down?" Not because the execs are stupid but because they are very, very busy. Time is their scarce resource.
So when writing my DPLYR book, I took concepts from the online manual and converted them into standard English. I built the outline in terms of practical things people do. The package manual has to cover odd ball exceptions, the authors' philosophy, and many other "completeness" sections. But what if you only have a few hours to spend? Can anyone drill down and know everything in business? Or do we pick some things for deep knowledge, or skill acquisition, and intentionally leave everything else for "good enough" knowledge?
So the next time you hear someone insisting that you learn their software the "right way, consider the speaker's hidden assumption -- that you have infinite time to spend on one subject. One writer called the concept "time pornography"--in the same sense that regular pornography has unlimited sex, "time pornography" assumes unlimited time. Unless it is your specialty, you don't have that much time. In the long run, cheat sheets and short guides for nonspecialists help everyone. There's plenty of room at the bottom (to paraphrase Dr. Feynman's speech).
Any thoughts?
Short explanation: time is a nonexpandable resource for all of us. We need to allocate it wisely.
Long explanation: Virtually all technical manuals for popular, open source software are written by experts who are immersed in the details. The authors are typically bright, hardworking individuals who are doing their best to include all relevant details. Unfortunately, the very abundance of expertise makes them poor writers for people who simply want to use the software as a tool to get something done. Software should be for everyone with a minimum of startup time . Imagine if someone had to study automotive mechanics before they were allowed to drive a car.
Here's an example from another outstanding R package, Lubridate. One of the parameters used is "origin." What does that mean to you? Was your first thought--Oh, that clearly means "starting date and time." I'm betting that definition of origin was not your first thought. And here's the thing--even extremely smart people are slowed down by abstract and complex wording. Both ordinary and brilliant people are slowed down by unnecessary complexity. Why are presentations to executives typically "dumbed down?" Not because the execs are stupid but because they are very, very busy. Time is their scarce resource.
So when writing my DPLYR book, I took concepts from the online manual and converted them into standard English. I built the outline in terms of practical things people do. The package manual has to cover odd ball exceptions, the authors' philosophy, and many other "completeness" sections. But what if you only have a few hours to spend? Can anyone drill down and know everything in business? Or do we pick some things for deep knowledge, or skill acquisition, and intentionally leave everything else for "good enough" knowledge?
So the next time you hear someone insisting that you learn their software the "right way, consider the speaker's hidden assumption -- that you have infinite time to spend on one subject. One writer called the concept "time pornography"--in the same sense that regular pornography has unlimited sex, "time pornography" assumes unlimited time. Unless it is your specialty, you don't have that much time. In the long run, cheat sheets and short guides for nonspecialists help everyone. There's plenty of room at the bottom (to paraphrase Dr. Feynman's speech).
Any thoughts?
Comments
By all means, let's keep things simple.