So, this blog will be going into deep-freeze for a while (and I’ll regrettably have to close all comments shortly, because I don’t want to deal with the spam; email if you want to chat about what you find here). While I launch Fictionsuit, Cornucopt is going to take some time off to have an identity crisis. See, back when I first thought of the name Cornucopt, I actually envisioned it as an easier-to-install Ecore. With some push-button setup options for common social-software patterns, and in PHP. That’s about it. Oddly, as I retrace the development of Wicker, now rechristened Cornucopt, it has gotten closer and closer to Ecore. Let me give you a hazy sketch of what I think Cornucopt might look like if I get around to it after Fictionsuit, here in the post-Ruby on Rails world, where there are monorails through wide, green public parks with nary a trace of litter or cramped tennis courts.
(more…)
April 18th, 2005
It’s official: Fictionsuit is now a Ruby on Rails project rather than a Cornucopt project. Sometime after we are satisfied with the footing of Fictionsuit, Cornucopt itself will become a Ruby on Rails project, likely with some subtle shifts in focus as the new language and framework afford.
We may actually get Fictionsuit into beta in April due to this.
March 20th, 2005
So there’s this interview with Alan Kay, an old-school Apple guy and frequent denigrator of today’s computers. Jes was talking the other day about how Kay’s metaphor of contemporary apps being like the pyramids - brute-force stacks of blocks made possible only by large numbers of Egyptian slaves - was so depressing for an ambitious coder. What we need is not more pyramids, but cathedrals. But no one has discovered the arch yet.
When the architects of Everything2 attempted to productize their core code (along with some other stuff), they named their company Blockstackers Intergalactic. In the best case, programming feels pretty much just like that: stacking blocks, like a happy or at least distracted kid sitting on a shag rug in the middle of the family room. In the worst cases, it feels a little more like being a slave in Egypt. Big fucking blocks, those were.
So that was on my mind when I concluded my post yesterday. I think I’ve been slacking off on 0.2 milestones because what’s left to do - adding a feature to the admin pages, then adding another one, et cetera - feels very much like mindlessly putting one thing on top of another. Many of the distractions I’ve been employing lately have actually been themed around (hopefully) eliminating some of this kind of busywork. Funny enough, not long ago I linked to one of them - Ruby on Rails, a web framework that promises, and seems to deliver, dramatically faster development of database-backed web apps - as a joke about the other context of “on rails:” that of being bored and having nothing to do but mindlessly move forward. I am hoping that RoR promises the opposite, but there’s no time to waste exploring it now.
Must. Stack. Blocks.
February 17th, 2005
What’s to be done for 0.2, zoomed in a bit:
Better admin - about a third done, I’d say.
Refactored page object - we’ll include db schema and methods for children/hierarchy and permissions right there on Page by default, instead of relying on pagevars and pagetypes. Some other things might shift around as well. This is not started yet.
More permissions UI - If I get ambitious I might want to do something like, say, give the creator of a page the authority to delete comments (at least for some pagetypes). I’ll need that anyway for weblogs when we get around to those, and just generally need to think through how such pagetype features are going to interact with permissions. Help would be welcome on this and I’ll try to rustle some.
We’re behind schedule for Fictionsuit and I have spent too much time fretting about design issues. Need to start stacking the blocks again.
February 16th, 2005
Found this paper on something Drupal is preparing or possibly not preparing, called the Content Construction Kit. I don’t know enough about the technical underpinnings of Drupal to be able to say exactly what’s going on here, for example, but even just the beginning of the next page tells me that there is some useful thinking there for how to extend Cornucopt’s content model out to the next level.
See, it turns out to actually be pretty hard to deal with things like search. So far, searching CoCo has been limited to title searches, but once you do full text search, how do you give users and/or admins a manageable way to say what it’s appropriate to search and what isn’t? Another way of looking at search is from the perspective of application-wiki problems. How do you tell your in-page widget to do something to a given set of pages? And truthfully, even title search is complex - I’ve already special-cased Corny’s database to keep track of what’s a comment so that they don’t appear in title searches. It’s not as if I should have to tell the changes table what every pagetype is, and write special SQL code for them all. And search isn’t the only such problem - RSS feeds are starting to look similarly tough.
So I’m hoping something in this document is gonna save my ass. The hope is that I will end up with an easy way for admins and/or users to define new pagetypes without writing PHP, and in some way consistent with permissions and generally not naughty.
February 3rd, 2005
So I wrote full-text display of articles into the Cornucopt RSS feed after reading this… but before I read the comments. So now I’m wondering why wikis don’t implement a URL blacklisting approach. I’ve been planning to write such a thing for Corny for a while, to support the weblogging functionality, but now I think I might move it up in the schedule.
I’m also thinking about how else we can make effective use of RSS (yes, and Atom) in CoCo, in ways that are at least a little bit generalizable. Subscribing to a page is a no-brainer, but can we integrate page changes with page comments in a way that makes sense on the technical end - that is, a way that allows for arbitrary extensions to basic page-y stuff?
It might be time to stop thinking of feeds as a check-box add-on feature and consider what we’d do with them if they were our main way of delivering content - which they might soon be.
January 8th, 2005
Preliminary tests on comments are going quite well on the test site, ho ho ho, and I should have some more integrated means of letting people play with them there shortly after new years. 0.2 will likely have a little more development of the adminny stuff, particularly user pages, comment deletion and usergroups, and then we’ll call it a point release. 0.3 will be weblogs, maybe some other hierarchic thingies, and probably wikified templates now that I’ve seen how easy that ought to be.
This maps pretty well to the needs of Operation: Sleeping Princess, except for some even more abstractified hierarchy that cuts to the core of Corny and will likely not be making it back into the source tree. We’re aiming for a beta of Op:SP in April.
It’s been a great year for the writing of unnecessary software! Here’s to more perverse notions and utterly compromised hackery leading the way to a better world in 2005.
December 27th, 2004
Work is proceeding apace on the new hierarchy-related pagetypes, as well as the new-ish pagetype architecture (that is, the total rewrite of the one aspect of Cornucopt that really makes it unique… er, actually, the second total rewrite of said aspect). It turns out that when you make a new pagetype architecture, it’s a really good idea to finish it. Also, we (the assembled… currently three of us noodling about on the test site) have been distracted by shiny brain-destroyers of the PHP phylum.
You want hints about the seekrit projekt, don’t you. Fine.
December 21st, 2004
Like every implementation of Cornucopt (or at least, so I imagine), the seekrit projekt (Codename: Sleeping Princess) will be a mix of actual, formal changes to Cornucopt (that is, pagetypes and libraries that will be part of the distribution) and custom code that remains specific to the project (that is, ugly-ass hacks). The information architecture of Codename:SP is pretty much done, although I’m sure we will make changes once we have a running prototype; what’s in question is which of those IA features are appropriate to be generalized into the CoCo codebase. And, as I alluded in the previous post, a lot of those features have to do with hierarchy.
(more…)
November 22nd, 2004
1) We now have in mind, and in the design process, the first major site that will be built on top of Cornucopt. Its needs are fairly specific, as the needs of most CoCo sites will be, so it will distort development in interesting ways.
2) Case in point: I’ll be developing hierarchy more fully for 0.2 instead of wikifying templates. (Work on the core pagetype architecture is complete for now, knock wood.)
November 20th, 2004
Previous Posts