In the past few weeks, I’ve ramped up development of ReportingOn.
Of course, for me, that means I’m spending time early in the morning and late at night exploring different options, creating mockups, ditching everything I’ve done and starting over again.
Here’s a few paths of exploration I’ve been down lately:
- Drupal: Drupal 6 isn’t ready for what I need it to do. The Views and CCK modules aren’t up to speed yet, or maybe I just haven’t found the right set of instructions yet. That brings me to my biggest complaint about Drupal: Although there’s a huge open source community gelling around it, no one seems to be writing documentation that makes anything terribly clear, from installation to creating content types in CCK.
- Django: This is certainly the most challenging track of development I’ve taken, starting to learn Django from online tutorials and the Django Book (the free online version at the moment). One of my problems with Drupal is that it’s over-featured by default. I find myself trying to undo a lot of default Drupal behavior. Hence, the Django path. I figure I can write the views and models myself, only including the puzzle pieces I need to get the job done.
- WordPress: Speaking of getting the job done, the WordPress Prologue theme combined with a few other elements (maybe bbPress?) could do it. But at a cost, and I think the cost is both in extensibility and repeatability of the application. Either way, doing the small amount of work necessary in WordPress to get a prototype running might be worth it to put up a proof of concept and let one group of reporters or bloggers have at it to beat on the theory behind ReportingOn, if not necessarily the final branch of code.
- HTML mockups: This is something I highly recommend. If you have the skill to write a simple, flat HTML page with a stylesheet, you have a working template for your project that any developer can understand. If your skills are sharp enough, the mockups you build can serve as the templates of your final design, wrapping the database-driven code that’s doing the heavy lifting. The crucial purpose of these mockups for me is to get a better idea of which features belong in the core of the site at the first public launch, and which should roll out later if necessary or logical.
Which leads to a word on iterative development:
At the birds-of-a-feather group at the MIT meeting of Knight News Challenge winners in June, the conversation covered iterative development, choosing a platform, and hiring developers, among other sidebars.
While the conversation was going on, I was crossing features off the back-of-a-napkin sketches I had been working on. That Digg-esque scoreboard of topics in various mockups I’ve put together over the last year? Probably not in play. A list of featured reporters on the homepage? Doesn’t seem necessary.
So now I’m working on fresh HTML mockups to try and finalize which features I’ll bake into the first release of ReportingOn. That way, I can make a decision about a development platform with a solid specification in my hands. Normally, that’s the sort of thing I’d need to create to pass on to a developer.
In my case, I’m planning to do the majority of the coding myself, but that doesn’t mean I can skip any steps in the process.