Distributed Knowledge System
DKS is just a working title for this project, and may change.
Mike's Original Explanation
(10:16:10 AM) Mike Howsden: i want to get at least one of my political type projects off the ground
(10:16:30 AM) fugue88@…/Home: I was going to burn the .org site to (2) dvds for you, if you like that.
(10:16:42 AM) Mike Howsden: sure, that sounds good
(10:17:28 AM) Mike Howsden: i have about 3 essays to write before i work on other side projects though
(10:17:47 AM) fugue88@…/Home: I've been enjoying your blog posts, btw.
(10:17:50 AM) Mike Howsden: and a friend of mine is on Sabbatical this year so if he wants to do something together i'll probably do that next
(10:17:59 AM) fugue88@…/Home: Okay.
(10:18:10 AM) fugue88@…/Home: What's he into?
(10:18:29 AM) Mike Howsden: philosophy, Charlie Huenemann
(10:19:03 AM) Mike Howsden: the idea i've thought to do with him is build an educational resource around one of his texts
(10:19:11 AM) fugue88@…/Home: Ah!
(10:19:16 AM) Mike Howsden: it's a short history of western civilization
(10:19:32 AM) Mike Howsden: did i ever show you cnx.org?
(10:20:26 AM) Mike Howsden: it allows you to create small educational building blocks that you can connect together with different lenses
(10:20:27 AM) fugue88@…/Home: Yeah, I've still got it bookmarked to "look at later." ;)
(10:20:37 AM) Mike Howsden: so i was thinking to build a lens on top of it
(10:20:51 AM) Mike Howsden: turn his book into those educational units and build a lens just for him
(10:21:11 AM) fugue88@…/Home: I'd like to see that when you've got something to show.
(10:21:40 AM) Mike Howsden: in the end i'd like to make an online book where the first edition can be done by the author and the second edition done by the author and the web
(10:21:52 AM) Mike Howsden: so it'd have to build in creative commons licensing and all that
(10:22:01 AM) Mike Howsden: there's probably some stuff out there though that i could string together
(10:22:03 AM) fugue88@…/Home: That's an interesting idea.
(10:22:20 AM) fugue88@…/Home: You could probably tie things up so that the web version is also available in print format.
(10:22:25 AM) fugue88@…/Home: Hard-bound or whatever.
(10:22:28 AM) Mike Howsden: righ
(10:22:29 AM) Mike Howsden: exactly
(10:22:35 AM) fugue88@…/Home: Cool.
(10:22:37 AM) Mike Howsden: so they can get the output in whatever form they want
(10:22:44 AM) Mike Howsden: latex
(10:22:46 AM) Mike Howsden: perhaps
(10:22:59 AM) Mike Howsden: whatever lends itself given the other tools i'll be plugging into really
(10:23:15 AM) Mike Howsden: so half of the project is making a good tool for the author
(10:23:24 AM) fugue88@…/Home: latex->pdf, then upload to lulu.com and you've got print-on-demand.
(10:23:29 AM) Mike Howsden: the other half is making an educational resource that matches what the author is trying to do with that text
(10:23:49 AM) Mike Howsden: i'd like every user to have editorial control
(10:24:12 AM) Mike Howsden: so say a teacher in New York wants to use the same text but integrate other educational nodes, they could do that
(10:24:37 AM) fugue88@…/Home: Would those changes be on the global copy, or saved as a branch?
(10:24:37 AM) Mike Howsden: this would all be open source
(10:24:47 AM) Mike Howsden: branch
(10:24:52 AM) fugue88@…/Home: Awesome!!
(10:25:02 AM) Mike Howsden: good idea?
(10:25:05 AM) fugue88@…/Home: I'm giddy over this idea!
(10:25:21 AM) fugue88@…/Home: The source code for launchpad is available now.
(10:25:22 AM) Mike Howsden: it seems pretty necessary and useful in this day and age
(10:25:39 AM) fugue88@…/Home: It might have some good ideas at a web interface to push and pull between branches.
(10:25:59 AM) Mike Howsden: i'll let you know as i start to tackle it
(10:26:03 AM) fugue88@…/Home: Great.
(10:26:20 AM) Mike Howsden: his text was exactly what i'd been looking for as the type of text to build form
(10:26:22 AM) Mike Howsden: from
(10:26:32 AM) Mike Howsden: because each chapter is a pretty isolated unit
(10:26:38 AM) Mike Howsden: focused on one or two individuals
(10:27:07 AM) Mike Howsden: or a particular common idea (like say, the Renaissance --not sure i can spell that word)
(10:27:16 AM) fugue88@…/Home: I think you got it.
(10:27:36 AM) fugue88@…/Home: That *is* a cool idea.
(10:27:49 AM) Mike Howsden: he doesn't have expertise in all of western history (of course)
(10:27:54 AM) fugue88@…/Home: Cherry picking would be essential I think.
(10:28:01 AM) Mike Howsden: but say he can collaborate with someone in another state
(10:28:05 AM) Mike Howsden: they can work on the parts he doesn't know
(10:28:15 AM) Mike Howsden: and their changes become available to him
(10:28:30 AM) Mike Howsden: he can publish his updated version incorporating their new content
(10:28:39 AM) Mike Howsden: i think you get the idea
(10:28:42 AM) fugue88@…/Home: Yeah.
module: an article, essay, etc., that may be studied and understood on its own, assuming the reader is familiar with any prerequisites
collection: a (possibly strictly-ordered) set of modules, to explore a subject in detail
It seems like a module has a fairly good almost 1-to-1 mapping with a file. The exceptions would be that a module might include an image or other data that would be stored in a separate file.
Typically, a writer/designer would create an collection as opposed to a single module on a subject. The collection seems to map well with a version-controlled repository. If I were to change a module, I would probably like to make slight adjustments to other modules of my authorship in the same collection, so it makes sense to version them together.
However, I would like more flexibility than current versioning system offer. First, when branching an existing collection/repository, I would like for that relationship to be selective---ie, only pull in modules/files from the parent that I specify. Second, I would like multiple inheritance, so that I could pull modules from multiple collections and multiple authors to create my own collection.
So the workflow is something like picking the parent collections, selecting the modules to import, making changes to those modules and writing your own new modules, commit.
Later on, refresh or pull from the parents, merge, save, commit.
It's useful to include quotes from other modules without necessarily pulling in the entire module to your collection, so it would be nice if embedding selections from modules were supported too. It should also tie in the the update/merge cycle, so that the quote in your module gets updated (when you're ready for it) when the source module is modified.