ABSTRACT
While there are many reasons to create your own software if you teach writing,
fundamental to all of these is an idea that often goes unstated: whoever writes the
software encodes a vision of the way writing works into the product. Simply put,
for every piece of writing software there is a theory of writing and also a pedagogy,
ideas about who and how people should write (Selfe & Selfe, 1994). These ideas
not only manifest in the user interface, but form the basis of the internal structure as
well: data models, programming design patterns, flow logic, as well as information
architecture and interaction design.