I've been trying to learn how to use this Shiny thing in R, and today in class the creator of GGPlot starred as a guest lecturer. It was interesting that he named the package GGPlot, GG standing for Grammar of Graphics. In some way, all packages are grammar of something--for example, Python's Numpy is grammar for matrix operations and Matplotlib is grammar for graphing. A lot of people write their own packages and have them available in public in github. I think when writing these packages, it is important to remind yourself that you're constructing grammar for a specific task, and think in the shoes of the users so that the package is easy to learn.